Class 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.
    • 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: Operation
        Apply some function to a value and return the result.
        Specified by:
        operate in interface Operation
        Parameters:
        arg - value to apply function to
        Returns:
        result of function
      • resolveINSURL

        private Object resolveINSURL​(INSURL theURLObject)
      • 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,