FileDocCategorySizeDatePackage
_ServerManagerImplBase.javaAPI DocJava SE 5 API17384Fri Aug 26 17:56:50 BST 2005com.sun.corba.se.PortableActivationIDL

_ServerManagerImplBase

public abstract class _ServerManagerImplBase extends ObjectImpl implements com.sun.corba.se.PortableActivationIDL.ServerManager, InvokeHandler
Interface used to combine the Activator and Locator when both are implemented together in the same process, as is currently the case for our implementation.

Fields Summary
private static Hashtable
_methods
private static String[]
__ids
Constructors Summary
public _ServerManagerImplBase()

  
Methods Summary
public java.lang.String[]_ids()


     
  
    return (String[])__ids.clone ();
  
public org.omg.CORBA.portable.OutputStream_invoke(java.lang.String $method, org.omg.CORBA.portable.InputStream in, org.omg.CORBA.portable.ResponseHandler $rh)

  
  
    _methods.put ("registerServer", new java.lang.Integer (0));
    _methods.put ("serverGoingDown", new java.lang.Integer (1));
    _methods.put ("registerORB", new java.lang.Integer (2));
    _methods.put ("registerPOA", new java.lang.Integer (3));
    _methods.put ("poaDestroyed", new java.lang.Integer (4));
    _methods.put ("activate", new java.lang.Integer (5));
    _methods.put ("shutdown", new java.lang.Integer (6));
    _methods.put ("install", new java.lang.Integer (7));
    _methods.put ("uninstall", new java.lang.Integer (8));
    _methods.put ("getActiveServers", new java.lang.Integer (9));
    _methods.put ("getORBNames", new java.lang.Integer (10));
    _methods.put ("lookupPOATemplate", new java.lang.Integer (11));
    _methods.put ("locateServer", new java.lang.Integer (12));
    _methods.put ("locateServerForORB", new java.lang.Integer (13));
    _methods.put ("getEndpoint", new java.lang.Integer (14));
    _methods.put ("getServerPortForType", new java.lang.Integer (15));
  
    org.omg.CORBA.portable.OutputStream out = null;
    java.lang.Integer __method = (java.lang.Integer)_methods.get ($method);
    if (__method == null)
      throw new org.omg.CORBA.BAD_OPERATION (0, org.omg.CORBA.CompletionStatus.COMPLETED_MAYBE);

    switch (__method.intValue ())
    {

  /** A new ORB started server registers itself with the Activator
	*/
       case 0:  // PortableActivationIDL/Activator/registerServer
       {
         try {
           String serverId = org.omg.PortableInterceptor.ServerIdHelper.read (in);
           com.sun.corba.se.PortableActivationIDL.ServerProxy serverObj = com.sun.corba.se.PortableActivationIDL.ServerProxyHelper.read (in);
           this.registerServer (serverId, serverObj);
           out = $rh.createReply();
         } catch (com.sun.corba.se.PortableActivationIDL.ServerNotRegistered $ex) {
           out = $rh.createExceptionReply ();
           com.sun.corba.se.PortableActivationIDL.ServerNotRegisteredHelper.write (out, $ex);
         }
         break;
       }


  /** A server is shutting down that was started by this activator.
	* Complete termination of the server is detected by the death of the
	* process implementing the server.
	*/
       case 1:  // PortableActivationIDL/Activator/serverGoingDown
       {
         String serverId = org.omg.PortableInterceptor.ServerIdHelper.read (in);
         this.serverGoingDown (serverId);
         out = $rh.createReply();
         break;
       }


  /** Called whenever an ORB instance is created.  This registers
	* the transport endpoints and the ORB proxy callback object.
	* Note that we cannot detect when an ORB shuts down, although
	* all of the POA shutdowns should still be reported.
	*/
       case 2:  // PortableActivationIDL/Activator/registerORB
       {
         try {
           String serverId = org.omg.PortableInterceptor.ServerIdHelper.read (in);
           String orbId = org.omg.PortableInterceptor.ORBIdHelper.read (in);
           com.sun.corba.se.PortableActivationIDL.ORBProxy orb = com.sun.corba.se.PortableActivationIDL.ORBProxyHelper.read (in);
           com.sun.corba.se.PortableActivationIDL.EndPointInfo endPointInfo[] = com.sun.corba.se.PortableActivationIDL.EndpointInfoListHelper.read (in);
           this.registerORB (serverId, orbId, orb, endPointInfo);
           out = $rh.createReply();
         } catch (com.sun.corba.se.PortableActivationIDL.ServerNotRegistered $ex) {
           out = $rh.createExceptionReply ();
           com.sun.corba.se.PortableActivationIDL.ServerNotRegisteredHelper.write (out, $ex);
         } catch (com.sun.corba.se.PortableActivationIDL.NoSuchEndPoint $ex) {
           out = $rh.createExceptionReply ();
           com.sun.corba.se.PortableActivationIDL.NoSuchEndPointHelper.write (out, $ex);
         } catch (com.sun.corba.se.PortableActivationIDL.ORBAlreadyRegistered $ex) {
           out = $rh.createExceptionReply ();
           com.sun.corba.se.PortableActivationIDL.ORBAlreadyRegisteredHelper.write (out, $ex);
         }
         break;
       }


  /** Construct or find an ORBD object template corresponding to the 
	* server's object template and return it.  Called whenever a 
	* persistent POA is created.
	*/
       case 3:  // PortableActivationIDL/Activator/registerPOA
       {
         String serverId = org.omg.PortableInterceptor.ServerIdHelper.read (in);
         String orbId = org.omg.PortableInterceptor.ORBIdHelper.read (in);
         org.omg.PortableInterceptor.ObjectReferenceTemplate poaTemplate = org.omg.PortableInterceptor.ObjectReferenceTemplateHelper.read (in);
         org.omg.PortableInterceptor.ObjectReferenceTemplate $result = null;
         $result = this.registerPOA (serverId, orbId, poaTemplate);
         out = $rh.createReply();
         org.omg.PortableInterceptor.ObjectReferenceTemplateHelper.write (out, $result);
         break;
       }


  /** Called whenever a POA is destroyed.
	*/
       case 4:  // PortableActivationIDL/Activator/poaDestroyed
       {
         String serverId = org.omg.PortableInterceptor.ServerIdHelper.read (in);
         String orbId = org.omg.PortableInterceptor.ORBIdHelper.read (in);
         org.omg.PortableInterceptor.ObjectReferenceTemplate poaTemplate = org.omg.PortableInterceptor.ObjectReferenceTemplateHelper.read (in);
         this.poaDestroyed (serverId, orbId, poaTemplate);
         out = $rh.createReply();
         break;
       }


  /** If the server is not running, start it up.  This is allowed
	* whether or not the server has been installed.
	*/
       case 5:  // PortableActivationIDL/Activator/activate
       {
         try {
           String serverId = org.omg.PortableInterceptor.ServerIdHelper.read (in);
           this.activate (serverId);
           out = $rh.createReply();
         } catch (com.sun.corba.se.PortableActivationIDL.ServerAlreadyActive $ex) {
           out = $rh.createExceptionReply ();
           com.sun.corba.se.PortableActivationIDL.ServerAlreadyActiveHelper.write (out, $ex);
         } catch (com.sun.corba.se.PortableActivationIDL.ServerNotRegistered $ex) {
           out = $rh.createExceptionReply ();
           com.sun.corba.se.PortableActivationIDL.ServerNotRegisteredHelper.write (out, $ex);
         } catch (com.sun.corba.se.PortableActivationIDL.ServerHeldDown $ex) {
           out = $rh.createExceptionReply ();
           com.sun.corba.se.PortableActivationIDL.ServerHeldDownHelper.write (out, $ex);
         }
         break;
       }


  /** If the server is running, shut it down
	*/
       case 6:  // PortableActivationIDL/Activator/shutdown
       {
         try {
           String serverId = org.omg.PortableInterceptor.ServerIdHelper.read (in);
           this.shutdown (serverId);
           out = $rh.createReply();
         } catch (com.sun.corba.se.PortableActivationIDL.ServerNotActive $ex) {
           out = $rh.createExceptionReply ();
           com.sun.corba.se.PortableActivationIDL.ServerNotActiveHelper.write (out, $ex);
         } catch (com.sun.corba.se.PortableActivationIDL.ServerNotRegistered $ex) {
           out = $rh.createExceptionReply ();
           com.sun.corba.se.PortableActivationIDL.ServerNotRegisteredHelper.write (out, $ex);
         }
         break;
       }


  /** Invoke the server install hook.  If the server is not 
	* currently running, this method will activate it.
	*/
       case 7:  // PortableActivationIDL/Activator/install
       {
         try {
           String serverId = org.omg.PortableInterceptor.ServerIdHelper.read (in);
           this.install (serverId);
           out = $rh.createReply();
         } catch (com.sun.corba.se.PortableActivationIDL.ServerNotRegistered $ex) {
           out = $rh.createExceptionReply ();
           com.sun.corba.se.PortableActivationIDL.ServerNotRegisteredHelper.write (out, $ex);
         } catch (com.sun.corba.se.PortableActivationIDL.ServerHeldDown $ex) {
           out = $rh.createExceptionReply ();
           com.sun.corba.se.PortableActivationIDL.ServerHeldDownHelper.write (out, $ex);
         } catch (com.sun.corba.se.PortableActivationIDL.ServerAlreadyInstalled $ex) {
           out = $rh.createExceptionReply ();
           com.sun.corba.se.PortableActivationIDL.ServerAlreadyInstalledHelper.write (out, $ex);
         }
         break;
       }


  /** Invoke the server uninstall hook.  If the server is not
	* currently running, this method will activate it.
	* After this hook completes, the server may still be running.
	*/
       case 8:  // PortableActivationIDL/Activator/uninstall
       {
         try {
           String serverId = org.omg.PortableInterceptor.ServerIdHelper.read (in);
           this.uninstall (serverId);
           out = $rh.createReply();
         } catch (com.sun.corba.se.PortableActivationIDL.ServerNotRegistered $ex) {
           out = $rh.createExceptionReply ();
           com.sun.corba.se.PortableActivationIDL.ServerNotRegisteredHelper.write (out, $ex);
         } catch (com.sun.corba.se.PortableActivationIDL.ServerHeldDown $ex) {
           out = $rh.createExceptionReply ();
           com.sun.corba.se.PortableActivationIDL.ServerHeldDownHelper.write (out, $ex);
         } catch (com.sun.corba.se.PortableActivationIDL.ServerAlreadyUninstalled $ex) {
           out = $rh.createExceptionReply ();
           com.sun.corba.se.PortableActivationIDL.ServerAlreadyUninstalledHelper.write (out, $ex);
         }
         break;
       }


  /** list active servers
	*/
       case 9:  // PortableActivationIDL/Activator/getActiveServers
       {
         String $result[] = null;
         $result = this.getActiveServers ();
         out = $rh.createReply();
         com.sun.corba.se.PortableActivationIDL.ServerIdsHelper.write (out, $result);
         break;
       }


  /** list all registered ORBs for a server
	*/
       case 10:  // PortableActivationIDL/Activator/getORBNames
       {
         try {
           String serverId = org.omg.PortableInterceptor.ServerIdHelper.read (in);
           String $result[] = null;
           $result = this.getORBNames (serverId);
           out = $rh.createReply();
           com.sun.corba.se.PortableActivationIDL.ORBidListHelper.write (out, $result);
         } catch (com.sun.corba.se.PortableActivationIDL.ServerNotRegistered $ex) {
           out = $rh.createExceptionReply ();
           com.sun.corba.se.PortableActivationIDL.ServerNotRegisteredHelper.write (out, $ex);
         }
         break;
       }


  /** Find the server template that corresponds to the ORBD's
	* adapter id.
	*/
       case 11:  // PortableActivationIDL/Activator/lookupPOATemplate
       {
         String serverId = org.omg.PortableInterceptor.ServerIdHelper.read (in);
         String orbId = org.omg.PortableInterceptor.ORBIdHelper.read (in);
         String orbAdapterName[] = org.omg.PortableInterceptor.AdapterNameHelper.read (in);
         org.omg.PortableInterceptor.ObjectReferenceTemplate $result = null;
         $result = this.lookupPOATemplate (serverId, orbId, orbAdapterName);
         out = $rh.createReply();
         org.omg.PortableInterceptor.ObjectReferenceTemplateHelper.write (out, $result);
         break;
       }


  /** locate server - returns the port with a specific type for all registered
	* ORBs of an active server.
	* Starts the server if it is not already running.
	*/
       case 12:  // PortableActivationIDL/Locator/locateServer
       {
         try {
           String serverId = org.omg.PortableInterceptor.ServerIdHelper.read (in);
           String endPoint = in.read_string ();
           com.sun.corba.se.PortableActivationIDL.LocatorPackage.ServerLocationPerType $result = null;
           $result = this.locateServer (serverId, endPoint);
           out = $rh.createReply();
           com.sun.corba.se.PortableActivationIDL.LocatorPackage.ServerLocationPerTypeHelper.write (out, $result);
         } catch (com.sun.corba.se.PortableActivationIDL.NoSuchEndPoint $ex) {
           out = $rh.createExceptionReply ();
           com.sun.corba.se.PortableActivationIDL.NoSuchEndPointHelper.write (out, $ex);
         } catch (com.sun.corba.se.PortableActivationIDL.ServerNotRegistered $ex) {
           out = $rh.createExceptionReply ();
           com.sun.corba.se.PortableActivationIDL.ServerNotRegisteredHelper.write (out, $ex);
         } catch (com.sun.corba.se.PortableActivationIDL.ServerHeldDown $ex) {
           out = $rh.createExceptionReply ();
           com.sun.corba.se.PortableActivationIDL.ServerHeldDownHelper.write (out, $ex);
         }
         break;
       }


  /** locate server - returns all ports registered with a specified ORB for
	* an active server
	* Starts the server if it is not already running.
	*/
       case 13:  // PortableActivationIDL/Locator/locateServerForORB
       {
         try {
           String serverId = org.omg.PortableInterceptor.ServerIdHelper.read (in);
           String orbId = org.omg.PortableInterceptor.ORBIdHelper.read (in);
           com.sun.corba.se.PortableActivationIDL.LocatorPackage.ServerLocationPerORB $result = null;
           $result = this.locateServerForORB (serverId, orbId);
           out = $rh.createReply();
           com.sun.corba.se.PortableActivationIDL.LocatorPackage.ServerLocationPerORBHelper.write (out, $result);
         } catch (com.sun.corba.se.PortableActivationIDL.InvalidORBid $ex) {
           out = $rh.createExceptionReply ();
           com.sun.corba.se.PortableActivationIDL.InvalidORBidHelper.write (out, $ex);
         } catch (com.sun.corba.se.PortableActivationIDL.ServerNotRegistered $ex) {
           out = $rh.createExceptionReply ();
           com.sun.corba.se.PortableActivationIDL.ServerNotRegisteredHelper.write (out, $ex);
         } catch (com.sun.corba.se.PortableActivationIDL.ServerHeldDown $ex) {
           out = $rh.createExceptionReply ();
           com.sun.corba.se.PortableActivationIDL.ServerHeldDownHelper.write (out, $ex);
         }
         break;
       }


  /** get the port for the endpoint of the locator
	*/
       case 14:  // PortableActivationIDL/Locator/getEndpoint
       {
         try {
           String endPointType = in.read_string ();
           int $result = (int)0;
           $result = this.getEndpoint (endPointType);
           out = $rh.createReply();
           out.write_long ($result);
         } catch (com.sun.corba.se.PortableActivationIDL.NoSuchEndPoint $ex) {
           out = $rh.createExceptionReply ();
           com.sun.corba.se.PortableActivationIDL.NoSuchEndPointHelper.write (out, $ex);
         }
         break;
       }


  /** Useful from external BadServerIdHandlers which need
	* to pick a particular port type.
	*/
       case 15:  // PortableActivationIDL/Locator/getServerPortForType
       {
         try {
           com.sun.corba.se.PortableActivationIDL.LocatorPackage.ServerLocationPerORB location = com.sun.corba.se.PortableActivationIDL.LocatorPackage.ServerLocationPerORBHelper.read (in);
           String endPointType = in.read_string ();
           int $result = (int)0;
           $result = this.getServerPortForType (location, endPointType);
           out = $rh.createReply();
           out.write_long ($result);
         } catch (com.sun.corba.se.PortableActivationIDL.NoSuchEndPoint $ex) {
           out = $rh.createExceptionReply ();
           com.sun.corba.se.PortableActivationIDL.NoSuchEndPointHelper.write (out, $ex);
         }
         break;
       }

       default:
         throw new org.omg.CORBA.BAD_OPERATION (0, org.omg.CORBA.CompletionStatus.COMPLETED_MAYBE);
    }

    return out;