Package com.sun.corba.ee.impl.resolver
Class INSURLOperationImpl
- java.lang.Object
-
- com.sun.corba.ee.impl.resolver.INSURLOperationImpl
-
- All Implemented Interfaces:
Operation
public class INSURLOperationImpl extends java.lang.Object implements Operation
This class provides an Operation that converts from CORBA INS URL strings into CORBA object references. It will eventually become extensible, but for now it simply encapsulates the existing implementation. Once the full extensibility is in place, we want this operation to convert string to INSURL, which has mainly a public resolver method that returns an object reference.
-
-
Field Summary
Fields Modifier and Type Field Description private INSURLHandlerinsURLHandlerprivate static intNIBBLES_PER_BYTEprivate static OMGSystemExceptionomgWrapperprivate ORBorbprivate java.lang.ObjectrootContextCacheLockprivate NamingContextExtrootNamingContextExtprivate static intUN_SHIFTprivate static ORBUtilSystemExceptionwrapper
-
Constructor Summary
Constructors Constructor Description INSURLOperationImpl(ORB orb)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private voidclearRootNamingContextCache()A utility method to clear the RootNamingContext, if there is an exception in resolving CosNaming:Name from the RootNamingContext,private NamingContextExtgetDefaultRootNamingContext()This is required for corbaname: resolution.private ObjectgetIORFromString(java.lang.String str)This static method takes a Stringified IOR and converts it into IOR object.private ObjectgetIORUsingCorbaloc(INSURL corbalocObject)This is an internal method to get the IOR from the CorbalocURL object.java.lang.Objectoperate(java.lang.Object arg)Apply some function to a value and return the result.private ObjectresolveCorbaloc(CorbalocURL theCorbaLocObject)resolves a corbaloc: url that is encapsulated in a CorbalocURL object.private ObjectresolveCorbaname(CorbanameURL theCorbaName)resolves a corbaname: url that is encapsulated in a CorbanameURL object.private ObjectresolveINSURL(INSURL theURLObject)
-
-
-
Field Detail
-
orb
private ORB orb
-
wrapper
private static final ORBUtilSystemException wrapper
-
omgWrapper
private static final OMGSystemException omgWrapper
-
rootNamingContextExt
private NamingContextExt rootNamingContextExt
-
rootContextCacheLock
private java.lang.Object rootContextCacheLock
-
insURLHandler
private INSURLHandler insURLHandler
-
NIBBLES_PER_BYTE
private static final int NIBBLES_PER_BYTE
- See Also:
- Constant Field Values
-
UN_SHIFT
private static final int UN_SHIFT
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
INSURLOperationImpl
public INSURLOperationImpl(ORB orb)
-
-
Method Detail
-
getIORFromString
private Object getIORFromString(java.lang.String str)
This static method takes a Stringified IOR and converts it into IOR object. It is the caller's responsibility to only pass strings that start with "IOR:".
-
operate
public java.lang.Object operate(java.lang.Object arg)
Description copied from interface:OperationApply some function to a value and return the result.
-
resolveCorbaloc
private Object resolveCorbaloc(CorbalocURL theCorbaLocObject)
resolves a corbaloc: url that is encapsulated in a CorbalocURL object.- Returns:
- the CORBA.Object if resolution is successful
-
resolveCorbaname
private Object resolveCorbaname(CorbanameURL theCorbaName)
resolves a corbaname: url that is encapsulated in a CorbanameURL object.- Returns:
- the CORBA.Object if resolution is successful
-
getIORUsingCorbaloc
private Object getIORUsingCorbaloc(INSURL corbalocObject)
This is an internal method to get the IOR from the CorbalocURL object.- Returns:
- the CORBA.Object if resolution is successful
-
getDefaultRootNamingContext
private NamingContextExt getDefaultRootNamingContext()
This is required for corbaname: resolution. Currently we are not caching RootNamingContext as the reference to rootNamingContext may not be Persistent in all the implementations. _REVISIT_ to clear the rootNamingContext in case of COMM_FAILURE.- Returns:
- the org.omg.COSNaming.NamingContextExt if resolution is successful
-
clearRootNamingContextCache
private void clearRootNamingContextCache()
A utility method to clear the RootNamingContext, if there is an exception in resolving CosNaming:Name from the RootNamingContext,
-
-