equal
deleted
inserted
replaced
1 /* |
1 /* |
2 * Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved. |
2 * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
4 * |
4 * |
5 * This code is free software; you can redistribute it and/or modify it |
5 * This code is free software; you can redistribute it and/or modify it |
6 * under the terms of the GNU General Public License version 2 only, as |
6 * under the terms of the GNU General Public License version 2 only, as |
7 * published by the Free Software Foundation. Oracle designates this |
7 * published by the Free Software Foundation. Oracle designates this |
84 |
84 |
85 import com.sun.corba.se.impl.encoding.CDRInputStream_1_0; |
85 import com.sun.corba.se.impl.encoding.CDRInputStream_1_0; |
86 import com.sun.corba.se.impl.encoding.EncapsOutputStream; |
86 import com.sun.corba.se.impl.encoding.EncapsOutputStream; |
87 |
87 |
88 import com.sun.corba.se.impl.orbutil.ORBUtility; |
88 import com.sun.corba.se.impl.orbutil.ORBUtility; |
89 import com.sun.corba.se.impl.orbutil.ORBClassLoader; |
|
90 |
89 |
91 import com.sun.corba.se.impl.util.RepositoryId; |
90 import com.sun.corba.se.impl.util.RepositoryId; |
92 |
91 |
93 import com.sun.corba.se.impl.logging.InterceptorsSystemException; |
92 import com.sun.corba.se.impl.logging.InterceptorsSystemException; |
94 import com.sun.corba.se.impl.logging.OMGSystemException; |
93 import com.sun.corba.se.impl.logging.OMGSystemException; |
|
94 |
|
95 import sun.corba.SharedSecrets; |
95 |
96 |
96 /** |
97 /** |
97 * Implementation of the RequestInfo interface as specified in |
98 * Implementation of the RequestInfo interface as specified in |
98 * orbos/99-12-02 section 5.4.1. |
99 * orbos/99-12-02 section 5.4.1. |
99 */ |
100 */ |
450 appException.getId() ); |
451 appException.getId() ); |
451 String className = repId.getClassName(); |
452 String className = repId.getClassName(); |
452 |
453 |
453 // Find the read method on the helper class: |
454 // Find the read method on the helper class: |
454 String helperClassName = className + "Helper"; |
455 String helperClassName = className + "Helper"; |
455 Class helperClass = ORBClassLoader.loadClass( helperClassName ); |
456 Class<?> helperClass = |
|
457 SharedSecrets.getJavaCorbaAccess().loadClass( helperClassName ); |
456 Class[] readParams = new Class[1]; |
458 Class[] readParams = new Class[1]; |
457 readParams[0] = org.omg.CORBA.portable.InputStream.class; |
459 readParams[0] = org.omg.CORBA.portable.InputStream.class; |
458 Method readMethod = helperClass.getMethod( "read", readParams ); |
460 Method readMethod = helperClass.getMethod( "read", readParams ); |
459 |
461 |
460 // Invoke the read method, passing in the input stream to |
462 // Invoke the read method, passing in the input stream to |
510 // helper class. |
512 // helper class. |
511 if( userException != null ) { |
513 if( userException != null ) { |
512 Class exceptionClass = userException.getClass(); |
514 Class exceptionClass = userException.getClass(); |
513 String className = exceptionClass.getName(); |
515 String className = exceptionClass.getName(); |
514 String helperClassName = className + "Helper"; |
516 String helperClassName = className + "Helper"; |
515 Class helperClass = ORBClassLoader.loadClass( helperClassName ); |
517 Class<?> helperClass = |
|
518 SharedSecrets.getJavaCorbaAccess().loadClass( helperClassName ); |
516 |
519 |
517 // Find insert( Any, class ) method |
520 // Find insert( Any, class ) method |
518 Class[] insertMethodParams = new Class[2]; |
521 Class[] insertMethodParams = new Class[2]; |
519 insertMethodParams[0] = org.omg.CORBA.Any.class; |
522 insertMethodParams[0] = org.omg.CORBA.Any.class; |
520 insertMethodParams[1] = exceptionClass; |
523 insertMethodParams[1] = exceptionClass; |