Package xcat.container

Source Code of xcat.container.ContainerLauncher

/*
* Indiana University Extreme! Lab Software License, Version 1.2
*
* Copyright (C) 2002 The Trustees of Indiana University.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are
* met:
*
* 1) All redistributions of source code must retain the above
*    copyright notice, the list of authors in the original source
*    code, this list of conditions and the disclaimer listed in this
*    license;
*
* 2) All redistributions in binary form must reproduce the above
*    copyright notice, this list of conditions and the disclaimer
*    listed in this license in the documentation and/or other
*    materials provided with the distribution;
*
* 3) Any documentation included with all redistributions must include
*    the following acknowledgement:
*
*      "This product includes software developed by the Indiana
*      University Extreme! Lab.  For further information please visit
*      http://www.extreme.indiana.edu/"
*
*    Alternatively, this acknowledgment may appear in the software
*    itself, and wherever such third-party acknowledgments normally
*    appear.
*
* 4) The name "Indiana Univeristy" or "Indiana Univeristy
*    Extreme! Lab" shall not be used to endorse or promote
*    products derived from this software without prior written
*    permission from Indiana University.  For written permission,
*    please contact http://www.extreme.indiana.edu/.
*
* 5) Products derived from this software may not use "Indiana
*    Univeristy" name nor may "Indiana Univeristy" appear in their name,
*    without prior written permission of the Indiana University.
*
* Indiana University provides no reassurances that the source code
* provided does not infringe the patent or any other intellectual
* property rights of any other entity.  Indiana University disclaims any
* liability to any recipient for claims brought by any other entity
* based on infringement of intellectual property rights or otherwise.
*
* LICENSEE UNDERSTANDS THAT SOFTWARE IS PROVIDED "AS IS" FOR WHICH
* NO WARRANTIES AS TO CAPABILITIES OR ACCURACY ARE MADE. INDIANA
* UNIVERSITY GIVES NO WARRANTIES AND MAKES NO REPRESENTATION THAT
* SOFTWARE IS FREE OF INFRINGEMENT OF THIRD PARTY PATENT, COPYRIGHT, OR
* OTHER PROPRIETARY RIGHTS.  INDIANA UNIVERSITY MAKES NO WARRANTIES THAT
* SOFTWARE IS FREE FROM "BUGS", "VIRUSES", "TROJAN HORSES", "TRAP
* DOORS", "WORMS", OR OTHER HARMFUL CODE.  LICENSEE ASSUMES THE ENTIRE
* RISK AS TO THE PERFORMANCE OF SOFTWARE AND/OR ASSOCIATED MATERIALS,
* AND TO THE PERFORMANCE AND VALIDITY OF INFORMATION GENERATED USING
* SOFTWARE.
*/

/**
* @version $Revision: 1.5 $ $Author: srikrish $ $Date: 2004/03/05 22:35:09 $ (GMT)
* @author Sriram Krishnan [mailto:srikrish@extreme.indiana.edu]
*/

package xcat.container;

import intf.services.XCATBuilderService;
import intf.container.XCATContainer;
import xcat.util.HandleResolver;

import soaprmi.util.logging.Logger;
import soaprmi.ogsi.xsoap_interface.XSoapHandleResolverInterface;

/**
* The ContainerLauncher which is responsible for instantiating
* the appropriate container
*/
public class ContainerLauncher {

  private static Logger logger = Logger.getLogger();

  /**
   * The main method which bootstraps creation of the Component
   *
   * args[0] componentType
   * args[1] instanceName
   * args[2] className
   * args[3] URL of the HandleResolver
   * args[4] GSH of the BuilderService
   */
  public static void main(String[] args) {

    // verify number of arguments
    if (args.length != 7) {
      System.out.println("Usage: java xcat.container.BasicContainer " +
       "componentType instanceName className " +
       "handleResolverURL builderGSH instanceGSH " +
       "isMigrated");
      System.exit(1);
    }
     
    try {
      // initialize arguments
      String componentType = args[0];
      String instanceName = args[1];
      String className = args[2];
      String handleResolverURL = args[3];
      String builderHandle = args[4];
      String instanceGSH = args[5];
      boolean isMigrated = Boolean.valueOf(args[6]).booleanValue();

      if (!(componentType.equals("basic") || componentType.equals("mobile"))) {
  System.out.println("Unknown componentType: " + componentType);
  System.exit(1);
      }

      System.out.println("Saving the URL for the Handle Resolver");
      HandleResolver.setHandleResolverURL(handleResolverURL);

      System.out.println("Instantiating a Container");
      XCATContainer container = null;
      if (componentType.equals("basic"))
  container = new BasicContainer();
      else if (componentType.equals("mobile")) {
  container = new MobileContainer();
  if (isMigrated)
    ((MobileContainer) container).setIsMigrated();
      }

      System.out.println("Instantiating the Component");
      container.createComponentInstance(instanceName,
          instanceGSH,
          className);

      System.out.println("Creating a reference to the BuilderService");
      XCATBuilderService builder = (XCATBuilderService)
  HandleResolver.resolveHandle(builderHandle,
             XCATBuilderService.class.getName());

      System.out.println("Notifying the Builder that instantiation is complete");
      builder.instantiationComplete(instanceName,
            instanceGSH);
    } catch (Exception e) {
      logger.severe(e.toString(), e);
      System.exit(1);
    }
  }
}
TOP

Related Classes of xcat.container.ContainerLauncher

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.