diff options
Diffstat (limited to 'org/omg/CORBA/ServiceDetailHelper.java')
-rw-r--r-- | org/omg/CORBA/ServiceDetailHelper.java | 40 |
1 files changed, 16 insertions, 24 deletions
diff --git a/org/omg/CORBA/ServiceDetailHelper.java b/org/omg/CORBA/ServiceDetailHelper.java index 58000f2c5..76fbda610 100644 --- a/org/omg/CORBA/ServiceDetailHelper.java +++ b/org/omg/CORBA/ServiceDetailHelper.java @@ -39,6 +39,7 @@ exception statement from your version. */ package org.omg.CORBA; import gnu.CORBA.Minor; +import gnu.CORBA.OrbRestricted; import gnu.CORBA.ServiceDetailHolder; import org.omg.CORBA.portable.InputStream; @@ -57,11 +58,6 @@ public abstract class ServiceDetailHelper private static String _id = "IDL:omg.org/CORBA/ServiceDetail:1.0"; /** - * The cached typecode value, computed once. - */ - private static TypeCode typeCode; - - /** * Extract the service detail info from the given {@link Any} * * @param a the Any to extract from. @@ -137,25 +133,21 @@ public abstract class ServiceDetailHelper */ public static TypeCode type() { - if (typeCode == null) - { - ORB orb = ORB.init(); - - StructMember[] members = new StructMember[ 2 ]; - - TypeCode type = - orb.create_alias_tc(_id, "ServiceDetailType", - orb.get_primitive_tc(TCKind.tk_ulong) - ); - members [ 0 ] = new StructMember("service_detail_type", type, null); - - TypeCode data = - orb.create_sequence_tc(0, orb.get_primitive_tc(TCKind.tk_octet)); - members [ 1 ] = new StructMember("service_detail", data, null); - - typeCode = orb.create_struct_tc(id(), "ServiceDetail", members); - } - return typeCode; + ORB orb = OrbRestricted.Singleton; + + StructMember[] members = new StructMember[ 2 ]; + + TypeCode type = + orb.create_alias_tc(_id, "ServiceDetailType", + orb.get_primitive_tc(TCKind.tk_ulong) + ); + members [ 0 ] = new StructMember("service_detail_type", type, null); + + TypeCode data = + orb.create_sequence_tc(0, orb.get_primitive_tc(TCKind.tk_octet)); + members [ 1 ] = new StructMember("service_detail", data, null); + + return orb.create_struct_tc(id(), "ServiceDetail", members); } /** |