This commit is contained in:
Lana Steuck 2013-10-31 16:30:42 -07:00
commit 1691400329
5 changed files with 27 additions and 41 deletions

View file

@ -580,7 +580,7 @@ public class AnyImpl extends Any
java.lang.Object[] objholder = new java.lang.Object[1]; java.lang.Object[] objholder = new java.lang.Object[1];
objholder[0] = object; objholder[0] = object;
long[] longholder = new long[1]; long[] longholder = new long[1];
TCUtility.unmarshalIn(in, typeCode, longholder, objholder); TCUtility.unmarshalIn(in, realType(), longholder, objholder);
value = longholder[0]; value = longholder[0];
object = objholder[0]; object = objholder[0];
stream = null; stream = null;

View file

@ -61,13 +61,11 @@ public abstract class Stub extends ObjectImpl
private transient StubDelegate stubDelegate = null; private transient StubDelegate stubDelegate = null;
private static Class stubDelegateClass = null; private static Class stubDelegateClass = null;
private static final String StubClassKey = "javax.rmi.CORBA.StubClass"; private static final String StubClassKey = "javax.rmi.CORBA.StubClass";
private static final String defaultStubImplName = "com.sun.corba.se.impl.javax.rmi.CORBA.StubDelegateImpl";
static { static {
Object stubDelegateInstance = (Object) createDelegateIfSpecified(StubClassKey, defaultStubImplName); Object stubDelegateInstance = createDelegate(StubClassKey);
if (stubDelegateInstance != null) if (stubDelegateInstance != null)
stubDelegateClass = stubDelegateInstance.getClass(); stubDelegateClass = stubDelegateInstance.getClass();
} }
@ -207,7 +205,7 @@ public abstract class Stub extends ObjectImpl
// are in different packages and the visibility needs to be package for // are in different packages and the visibility needs to be package for
// security reasons. If you know a better solution how to share this code // security reasons. If you know a better solution how to share this code
// then remove it from PortableRemoteObject. Also in Util.java // then remove it from PortableRemoteObject. Also in Util.java
private static Object createDelegateIfSpecified(String classKey, String defaultClassName) { private static Object createDelegate(String classKey) {
String className = (String) String className = (String)
AccessController.doPrivileged(new GetPropertyAction(classKey)); AccessController.doPrivileged(new GetPropertyAction(classKey));
if (className == null) { if (className == null) {
@ -218,7 +216,7 @@ public abstract class Stub extends ObjectImpl
} }
if (className == null) { if (className == null) {
className = defaultClassName; return new com.sun.corba.se.impl.javax.rmi.CORBA.StubDelegateImpl();
} }
try { try {

View file

@ -60,14 +60,11 @@ import com.sun.corba.se.impl.orbutil.GetPropertyAction;
public class Util { public class Util {
// This can only be set at static initialization time (no sync necessary). // This can only be set at static initialization time (no sync necessary).
private static javax.rmi.CORBA.UtilDelegate utilDelegate = null; private static final javax.rmi.CORBA.UtilDelegate utilDelegate;
private static final String UtilClassKey = "javax.rmi.CORBA.UtilClass"; private static final String UtilClassKey = "javax.rmi.CORBA.UtilClass";
private static final String defaultUtilImplName =
"com.sun.corba.se.impl.javax.rmi.CORBA.Util";
static { static {
utilDelegate = (javax.rmi.CORBA.UtilDelegate) utilDelegate = (javax.rmi.CORBA.UtilDelegate)createDelegate(UtilClassKey);
createDelegateIfSpecified(UtilClassKey, defaultUtilImplName);
} }
private Util(){} private Util(){}
@ -338,9 +335,7 @@ Tie#deactivate}
// are in different packages and the visibility needs to be package for // are in different packages and the visibility needs to be package for
// security reasons. If you know a better solution how to share this code // security reasons. If you know a better solution how to share this code
// then remove it from PortableRemoteObject. Also in Stub.java // then remove it from PortableRemoteObject. Also in Stub.java
private static Object createDelegateIfSpecified(String classKey, private static Object createDelegate(String classKey) {
String defaultClassName)
{
String className = (String) String className = (String)
AccessController.doPrivileged(new GetPropertyAction(classKey)); AccessController.doPrivileged(new GetPropertyAction(classKey));
if (className == null) { if (className == null) {
@ -351,7 +346,7 @@ Tie#deactivate}
} }
if (className == null) { if (className == null) {
className = defaultClassName; return new com.sun.corba.se.impl.javax.rmi.CORBA.Util();
} }
try { try {

View file

@ -65,17 +65,14 @@ import com.sun.corba.se.impl.orbutil.GetPropertyAction;
*/ */
public class PortableRemoteObject { public class PortableRemoteObject {
private static javax.rmi.CORBA.PortableRemoteObjectDelegate proDelegate = null; private static final javax.rmi.CORBA.PortableRemoteObjectDelegate proDelegate;
private static final String PortableRemoteObjectClassKey = private static final String PortableRemoteObjectClassKey =
"javax.rmi.CORBA.PortableRemoteObjectClass"; "javax.rmi.CORBA.PortableRemoteObjectClass";
private static final String defaultPortableRemoteObjectImplName =
"com.sun.corba.se.impl.javax.rmi.PortableRemoteObject";
static { static {
proDelegate = (javax.rmi.CORBA.PortableRemoteObjectDelegate) proDelegate = (javax.rmi.CORBA.PortableRemoteObjectDelegate)
createDelegateIfSpecified(PortableRemoteObjectClassKey); createDelegate(PortableRemoteObjectClassKey);
} }
/** /**
@ -181,7 +178,7 @@ public class PortableRemoteObject {
// are in different packages and the visibility needs to be package for // are in different packages and the visibility needs to be package for
// security reasons. If you know a better solution how to share this code // security reasons. If you know a better solution how to share this code
// then remove it from here. // then remove it from here.
private static Object createDelegateIfSpecified(String classKey) { private static Object createDelegate(String classKey) {
String className = (String) String className = (String)
AccessController.doPrivileged(new GetPropertyAction(classKey)); AccessController.doPrivileged(new GetPropertyAction(classKey));
if (className == null) { if (className == null) {
@ -191,7 +188,7 @@ public class PortableRemoteObject {
} }
} }
if (className == null) { if (className == null) {
className = defaultPortableRemoteObjectImplName; return new com.sun.corba.se.impl.javax.rmi.PortableRemoteObject();
} }
try { try {

View file

@ -173,15 +173,6 @@ abstract public class ORB {
private static final String ORBClassKey = "org.omg.CORBA.ORBClass"; private static final String ORBClassKey = "org.omg.CORBA.ORBClass";
private static final String ORBSingletonClassKey = "org.omg.CORBA.ORBSingletonClass"; private static final String ORBSingletonClassKey = "org.omg.CORBA.ORBSingletonClass";
//
// The last resort fallback ORB implementation classes in case
// no ORB implementation class is dynamically configured through
// properties or applet parameters. Change these values to
// vendor-specific class names.
//
private static final String defaultORB = "com.sun.corba.se.impl.orb.ORBImpl";
private static final String defaultORBSingleton = "com.sun.corba.se.impl.orb.ORBSingleton";
// //
// The global instance of the singleton ORB implementation which // The global instance of the singleton ORB implementation which
// acts as a factory for typecodes for generated Helper classes. // acts as a factory for typecodes for generated Helper classes.
@ -294,10 +285,11 @@ abstract public class ORB {
String className = getSystemProperty(ORBSingletonClassKey); String className = getSystemProperty(ORBSingletonClassKey);
if (className == null) if (className == null)
className = getPropertyFromFile(ORBSingletonClassKey); className = getPropertyFromFile(ORBSingletonClassKey);
if (className == null) if (className == null) {
className = defaultORBSingleton; singleton = new com.sun.corba.se.impl.orb.ORBSingleton();
} else {
singleton = create_impl(className); singleton = create_impl(className);
}
} }
return singleton; return singleton;
} }
@ -347,10 +339,12 @@ abstract public class ORB {
className = getSystemProperty(ORBClassKey); className = getSystemProperty(ORBClassKey);
if (className == null) if (className == null)
className = getPropertyFromFile(ORBClassKey); className = getPropertyFromFile(ORBClassKey);
if (className == null) if (className == null) {
className = defaultORB; orb = new com.sun.corba.se.impl.orb.ORBImpl();
} else {
orb = create_impl(className);
}
orb = create_impl(className);
orb.set_parameters(args, props); orb.set_parameters(args, props);
return orb; return orb;
} }
@ -375,10 +369,12 @@ abstract public class ORB {
className = getSystemProperty(ORBClassKey); className = getSystemProperty(ORBClassKey);
if (className == null) if (className == null)
className = getPropertyFromFile(ORBClassKey); className = getPropertyFromFile(ORBClassKey);
if (className == null) if (className == null) {
className = defaultORB; orb = new com.sun.corba.se.impl.orb.ORBImpl();
} else {
orb = create_impl(className);
}
orb = create_impl(className);
orb.set_parameters(app, props); orb.set_parameters(app, props);
return orb; return orb;
} }