- /*
- * @(#)ServerTool.java 1.38 03/12/19
- *
- * Copyright 2004 Sun Microsystems, Inc. All rights reserved.
- * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
- */
-
- package com.sun.corba.se.impl.activation;
-
- import java.io.BufferedReader;
- import java.io.InputStreamReader;
- import java.io.PrintStream;
- import java.util.Vector;
- import java.util.Properties;
- import java.util.StringTokenizer;
-
- import org.omg.CORBA.ORB;
- import org.omg.CORBA.INITIALIZE;
- import org.omg.CORBA.CompletionStatus;
- import com.sun.corba.se.impl.orbutil.ORBConstants;
- import com.sun.corba.se.impl.orbutil.CorbaResourceUtil;
- import com.sun.corba.se.spi.activation.*;
- import com.sun.corba.se.spi.activation.ServerHeldDown;
- import com.sun.corba.se.spi.activation.RepositoryPackage.ServerDef;
- import com.sun.corba.se.spi.activation.LocatorPackage.ServerLocation;
- import com.sun.corba.se.spi.activation.LocatorPackage.ServerLocationPerORB;
-
- /**
- *
- * @version 1.7, 97/10/19
- * @author Anita Jindal
- * @since JDK1.3
- */
- public class ServerTool
- {
- final static String helpCommand = "help";
- final static String toolName = "servertool";
- final static String commandArg = "-cmd";
-
- static int getServerIdForAlias( ORB orb, String applicationName ) throws ServerNotRegistered
- {
- try {
- Repository rep = RepositoryHelper.narrow(
- orb.resolve_initial_references( ORBConstants.SERVER_REPOSITORY_NAME ) ) ;
- int serverid = rep.getServerID(applicationName);
-
- return rep.getServerID( applicationName ) ;
- } catch (Exception ex) {
- throw (new ServerNotRegistered());
- }
- }
-
- void run(String[] args)
- {
- String[] cmd = null;
-
- // if command specified in the args, get it
- for (int i=0; i < args.length; i++) {
-
- if (args[i].equals(commandArg)) {
- // get the command
- int cmdLen = args.length - i - 1;
- cmd = new String[cmdLen];
- for (int j=0; j < cmdLen; j++) cmd[j] = args[++i];
-
- break;
- }
- }
-
- try {
- // create the POA ORB
- Properties props = System.getProperties() ;
- props.put("org.omg.CORBA.ORBClass",
- "com.sun.corba.se.impl.orb.ORBImpl" );
- orb = (ORB) ORB.init(args, props);
-
- // if command specified in the args, process it
- if (cmd != null) executeCommand(cmd);
- else { // process commands interactively
-
- // create a buffered reader to read commands from standard in
- BufferedReader in = new
- BufferedReader(new InputStreamReader(System.in));
-
- // print tool banner
- System.out.println(CorbaResourceUtil.getText("servertool.banner"));
-
- // process commands until user quits
- while (true) {
- cmd = readCommand(in);
- if (cmd != null) executeCommand(cmd);
- else printAvailableCommands();
- }
- }
- } catch (Exception ex) {
- System.out.println(CorbaResourceUtil.getText("servertool.usage", "servertool"));
- System.out.println();
- ex.printStackTrace();
- }
- }
-
- public static void main(String[] args)
- {
- ServerTool tool = new ServerTool();
- tool.run(args);
- }
-
- String[] readCommand(BufferedReader in)
- {
- System.out.print(toolName + " > ");
-
- try {
- int i = 0;
- String cmd[] = null;
-
- String cmdLine = in.readLine();
-
- if (cmdLine != null) {
- StringTokenizer st = new StringTokenizer(cmdLine);
- if (st.countTokens() != 0) {
- cmd = new String[st.countTokens()];
- while (st.hasMoreTokens()) cmd[i++] = st.nextToken();
- }
- }
-
- return cmd;
- } catch (Exception ex) {
- System.out.println(CorbaResourceUtil.getText("servertool.usage", "servertool"));
- System.out.println();
- ex.printStackTrace();
- }
-
- return null;
- }
-
- void printAvailableCommands()
- {
- CommandHandler handler;
-
- // print short help
- System.out.println(CorbaResourceUtil.getText("servertool.shorthelp"));
-
- for (int i=0; i < handlers.size(); i++) {
- handler = (CommandHandler) handlers.elementAt(i);
- System.out.print("\t" + handler.getCommandName());
- for (int j=handler.getCommandName().length();
- j < maxNameLen; j++) System.out.print(" ");
- System.out.print(" - ");
- handler.printCommandHelp(System.out,
- CommandHandler.shortHelp);
- }
-
- System.out.println();
- }
-
- void executeCommand(String[] cmd)
- {
- boolean result;
- CommandHandler handler;
-
- // handle the help command
- if (cmd[0].equals(helpCommand)) {
- if (cmd.length == 1) printAvailableCommands();
- else {
- // print long help for a specific command
- for (int i=0; i < handlers.size(); i++) {
- handler = (CommandHandler) handlers.elementAt(i);
- if (handler.getCommandName().equals(cmd[1])) {
- handler.printCommandHelp(System.out,
- CommandHandler.longHelp);
- }
- }
- }
-
- return;
- }
-
- // determine the subcommand and execute it
- for (int i=0; i < handlers.size(); i++) {
- handler = (CommandHandler) handlers.elementAt(i);
- if (handler.getCommandName().equals(cmd[0])) {
- String[] cmdArgs = new String[cmd.length - 1];
-
- // construct args to the command
- for (int j=0; j < cmdArgs.length; j++)
- cmdArgs[j] = cmd[j+1];
-
- // execute the command
- try {
- System.out.println();
-
- result = handler.processCommand(cmdArgs, orb, System.out);
-
- if (result == CommandHandler.parseError) {
- handler.printCommandHelp(System.out,
- CommandHandler.longHelp);
- }
-
- System.out.println();
-
- } catch (Exception ex) {}
-
- return;
- }
- }
-
- // unknown command - print available commands
- printAvailableCommands();
- }
-
- final private static boolean debug = false;
-
- ORB orb = null;
-
- static Vector handlers;
- static int maxNameLen;
-
- static {
- handlers = new Vector();
- handlers.addElement(new RegisterServer());
- handlers.addElement(new UnRegisterServer());
- handlers.addElement(new GetServerID());
- handlers.addElement(new ListServers());
- handlers.addElement(new ListAliases());
- handlers.addElement(new ListActiveServers());
- handlers.addElement(new LocateServer());
- handlers.addElement(new LocateServerForORB());
- handlers.addElement(new ListORBs());
- handlers.addElement(new ShutdownServer());
- handlers.addElement(new StartServer());
- handlers.addElement(new Help());
- handlers.addElement(new Quit());
-
- // determine longest command name
- maxNameLen = 0;
- int cmdNameLen;
- for (int i=0; i < handlers.size(); i++) {
- CommandHandler handler = (CommandHandler) handlers.elementAt(i);
- cmdNameLen = handler.getCommandName().length();
- if (cmdNameLen > maxNameLen) maxNameLen = cmdNameLen;
- }
- }
- }
-
- class RegisterServer implements CommandHandler
- {
- public String getCommandName() {return "register";}
-
- public void printCommandHelp(PrintStream out, boolean helpType)
- {
- if (helpType == longHelp) {
- out.println(CorbaResourceUtil.getText("servertool.register"));
- } else {
- out.println(CorbaResourceUtil.getText("servertool.register1"));
- }
- }
-
- public boolean processCommand(String[] cmdArgs, ORB orb, PrintStream out)
- {
- int i=0;
- String applicationName = "";
- String name = "";
- String classpath = "";
- String args = "";
- String vmargs = "";
- int serverId = 0;
-
- // parse register server command
- String arg;
- while (i < cmdArgs.length) {
-
- arg = cmdArgs[i++];
-
- if (arg.equals("-server")) {
- if (i < cmdArgs.length) name = cmdArgs[i++];
- else return parseError;
- } else if (arg.equals("-applicationName")) {
- if (i < cmdArgs.length) applicationName = cmdArgs[i++];
- else return parseError;
- } else if (arg.equals("-classpath")) {
- if (i < cmdArgs.length) classpath = cmdArgs[i++];
- else return parseError;
- } else if (arg.equals("-args")) {
- while ((i < cmdArgs.length) && !cmdArgs[i].equals("-vmargs")){
- args = args.equals("") ? cmdArgs[i] :
- args + " " + cmdArgs[i];
- i++;
- }
- if (args.equals("")) return parseError;
- } else if (arg.equals("-vmargs")) {
- while ((i < cmdArgs.length) && !cmdArgs[i].equals("-args")){
- vmargs = vmargs.equals("") ? cmdArgs[i] :
- vmargs + " " + cmdArgs[i];
- i++;
- }
- if (vmargs.equals("")) return parseError;
- } else return parseError;
- }
-
- // minimally the server class name has to be specified
- if (name.equals("")) return parseError;
-
- // register server and activate it
- try {
- // register the server with the repository
- Repository repository = RepositoryHelper.narrow(
- orb.resolve_initial_references( ORBConstants.SERVER_REPOSITORY_NAME ));
-
- ServerDef server = new ServerDef(applicationName, name, classpath, args, vmargs);
- serverId = repository.registerServer(server);
-
- // activate the server
- Activator activator = ActivatorHelper.narrow(
- orb.resolve_initial_references( ORBConstants.SERVER_ACTIVATOR_NAME ));
- activator.activate(serverId);
- activator.install(serverId);
-
- // print success message
- out.println(CorbaResourceUtil.getText("servertool.register2", serverId));
- } catch (ServerNotRegistered ex) {
- } catch (ServerAlreadyActive ex) {
- } catch (ServerHeldDown ex) {
- out.println(CorbaResourceUtil.getText("servertool.register3", serverId));
- } catch (ServerAlreadyRegistered ex) {
- out.println(CorbaResourceUtil.getText("servertool.register4", serverId));
- } catch (BadServerDefinition ex) {
- out.println(CorbaResourceUtil.getText("servertool.baddef", ex.reason));
- } catch (Exception ex) {
- ex.printStackTrace();
- }
-
- return commandDone;
- }
- }
-
- class UnRegisterServer implements CommandHandler
- {
- public String getCommandName() {return "unregister";}
-
- public void printCommandHelp(PrintStream out, boolean helpType)
- {
- if (helpType == longHelp) {
- out.println(CorbaResourceUtil.getText("servertool.unregister"));
- } else {
- out.println(CorbaResourceUtil.getText("servertool.unregister1"));
- }
- }
-
- final static int illegalServerId = -1;
-
- public boolean processCommand(String[] cmdArgs, ORB orb, PrintStream out)
- {
- int serverId = illegalServerId;
-
- try {
- if (cmdArgs.length == 2) {
- if (cmdArgs[0].equals("-serverid"))
- serverId = (Integer.valueOf(cmdArgs[1])).intValue();
- else if (cmdArgs[0].equals("-applicationName"))
- serverId = ServerTool.getServerIdForAlias( orb, cmdArgs[1] ) ;
- }
-
- // the server id has to be specified
- if (serverId == illegalServerId)
- return parseError;
-
- // deactivate server, hold it down and and unregister it
- // deactivate the server
- try {
- Activator activator = ActivatorHelper.narrow(
- orb.resolve_initial_references( ORBConstants.SERVER_ACTIVATOR_NAME ));
- activator.uninstall(serverId);
- } catch (ServerHeldDown ex) {}
-
- // unregister the server from the repository
- Repository repository = RepositoryHelper.narrow(
- orb.resolve_initial_references( ORBConstants.SERVER_REPOSITORY_NAME ));
- repository.unregisterServer(serverId);
-
- // print success message
- out.println(CorbaResourceUtil.getText("servertool.unregister2"));
- } catch (ServerNotRegistered ex) {
- out.println(CorbaResourceUtil.getText("servertool.nosuchserver"));
- } catch (Exception ex) {
- ex.printStackTrace();
- }
-
- return commandDone;
- }
- }
-
- class LocateServer implements CommandHandler
- {
- public String getCommandName() {return "locate";}
-
- public void printCommandHelp(PrintStream out, boolean helpType)
- {
- if (helpType == longHelp) {
- out.println(CorbaResourceUtil.getText("servertool.locate"));
- } else {
- out.println(CorbaResourceUtil.getText("servertool.locate1"));
- }
- }
-
- final static int illegalServerId = -1;
-
- public boolean processCommand(String[] cmdArgs, ORB orb, PrintStream out)
- {
- int serverId = illegalServerId;
-
- String endPointType = IIOP_CLEAR_TEXT.value;
- try {
-
- // parse command
- String arg;
- int i = 0;
- while (i < cmdArgs.length) {
-
- arg = cmdArgs[i++];
-
- if (arg.equals("-serverid")) {
- if (i < cmdArgs.length)
- serverId = (Integer.valueOf(cmdArgs[i++])).intValue();
- else
- return parseError;
- } else if (arg.equals("-applicationName")) {
- if (i < cmdArgs.length)
- serverId = ServerTool.getServerIdForAlias( orb, cmdArgs[i++] ) ;
- else
- return parseError;
- } else if (arg.equals("-endpointType")) {
- if (i < cmdArgs.length)
- endPointType = cmdArgs[i++];
- }
- }
-
- // the server id has to be specified
- if (serverId == illegalServerId)
- return parseError;
-
- // locate the server
- // deactivate the server
- Locator locator = LocatorHelper.narrow(
- orb.resolve_initial_references( ORBConstants.SERVER_LOCATOR_NAME ));
-
- ServerLocation location = locator.locateServer(serverId, endPointType);
-
- // print success message
- out.println(CorbaResourceUtil.getText("servertool.locate2", location.hostname));
- int numEntries = location.ports.length;
- for (i = 0; i < numEntries; i++) {
- ORBPortInfo orbPort = location.ports[i];
- out.println("\t\t"+ orbPort.port + "\t\t" + endPointType + "\t\t" + orbPort.orbId );
- }
- } catch (NoSuchEndPoint ex) {
- } catch (ServerHeldDown ex) {
- out.println(CorbaResourceUtil.getText("servertool.helddown"));
- } catch (ServerNotRegistered ex) {
- out.println(CorbaResourceUtil.getText("servertool.nosuchserver"));
- } catch (Exception ex) {
- ex.printStackTrace();
- }
-
- return commandDone;
- }
- }
-
- class LocateServerForORB implements CommandHandler
- {
- public String getCommandName() {return "locateperorb";}
-
- public void printCommandHelp(PrintStream out, boolean helpType)
- {
- if (helpType == longHelp) {
- out.println(CorbaResourceUtil.getText("servertool.locateorb"));
- } else {
- out.println(CorbaResourceUtil.getText("servertool.locateorb1"));
- }
- }
-
- final static int illegalServerId = -1;
-
- public boolean processCommand(String[] cmdArgs, ORB orb, PrintStream out)
- {
- int serverId = illegalServerId;
-
- String orbId = "";
- try {
-
- // parse command
- String arg;
- int i = 0;
- while (i < cmdArgs.length) {
-
- arg = cmdArgs[i++];
-
- if (arg.equals("-serverid")) {
- if (i < cmdArgs.length)
- serverId = (Integer.valueOf(cmdArgs[i++])).intValue();
- else
- return parseError;
- } else if (arg.equals("-applicationName")) {
- if (i < cmdArgs.length)
- serverId = ServerTool.getServerIdForAlias( orb, cmdArgs[i++] ) ;
- else
- return parseError;
- } else if (arg.equals("-orbid")) {
- if (i < cmdArgs.length)
- orbId = cmdArgs[i++];
- }
- }
-
- // the server id has to be specified
- if (serverId == illegalServerId)
- return parseError;
-
- // locate the server
- // deactivate the server
- Locator locator = LocatorHelper.narrow(
- orb.resolve_initial_references( ORBConstants.SERVER_LOCATOR_NAME ));
-
- ServerLocationPerORB location = locator.locateServerForORB(serverId,
- orbId);
-
- // print success message
- out.println(CorbaResourceUtil.getText("servertool.locateorb2", location.hostname));
- int numEntries = location.ports.length;
- for (i = 0; i < numEntries; i++) {
- EndPointInfo Port = location.ports[i];
- out.println("\t\t"+ Port.port + "\t\t" + Port.endpointType + "\t\t" + orbId );
- }
- } catch (InvalidORBid ex) {
- out.println(CorbaResourceUtil.getText("servertool.nosuchorb"));
- } catch (ServerHeldDown ex) {
- out.println(CorbaResourceUtil.getText("servertool.helddown"));
- } catch (ServerNotRegistered ex) {
- out.println(CorbaResourceUtil.getText("servertool.nosuchserver"));
- } catch (Exception ex) {
- ex.printStackTrace();
- }
-
- return commandDone;
- }
- }
-
- class GetServerID implements CommandHandler
- {
- public String getCommandName() {return "getserverid" ; }
-
- public void printCommandHelp( PrintStream out, boolean helpType )
- {
- if (helpType == longHelp) {
- out.println(CorbaResourceUtil.getText("servertool.getserverid"));
- } else {
- out.println(CorbaResourceUtil.getText("servertool.getserverid1"));
- }
- }
-
- public boolean processCommand( String[] cmdArgs, ORB orb, PrintStream out )
- {
- if ((cmdArgs.length == 2) && cmdArgs[0].equals( "-applicationName" )) {
- String str = (String)cmdArgs[1] ;
-
- try {
- Repository repository = RepositoryHelper.narrow(
- orb.resolve_initial_references( ORBConstants.SERVER_REPOSITORY_NAME ));
-
- try {
- int result = repository.getServerID( str ) ;
- out.println() ;
- out.println(CorbaResourceUtil.getText("servertool.getserverid2", str, Integer.toString(result)));
- out.println() ;
- } catch (ServerNotRegistered e) {
- out.println(CorbaResourceUtil.getText("servertool.nosuchserver"));
- }
- } catch (Exception ex) {
- ex.printStackTrace() ;
- }
-
- return commandDone ;
- } else
- return parseError ;
- }
- }
-
- class ListServers implements CommandHandler
- {
- public String getCommandName() {return "list";}
-
- public void printCommandHelp(PrintStream out, boolean helpType)
- {
- if (helpType == longHelp) {
- out.println(CorbaResourceUtil.getText("servertool.list"));
- } else {
- out.println(CorbaResourceUtil.getText("servertool.list1"));
- }
- }
-
- final static int illegalServerId = -1;
-
- public boolean processCommand(String[] cmdArgs, ORB orb, PrintStream out)
- {
- int serverId = illegalServerId;
- boolean listOneServer = false;
- ServerDef serverDef;
-
- // determine if list single server or all servers
- listOneServer = (cmdArgs.length!=0) ;
- if ((cmdArgs.length == 2) && cmdArgs[0].equals("-serverid"))
- serverId = (Integer.valueOf(cmdArgs[1])).intValue();
-
- if ((serverId == illegalServerId) && listOneServer)
- return parseError;
-
- // process the list server command
- try {
- Repository repository = RepositoryHelper.narrow(
- orb.resolve_initial_references( ORBConstants.SERVER_REPOSITORY_NAME ));
-
- if (listOneServer) {
-
- try {
- serverDef = repository.getServer(serverId);
- out.println();
- printServerDef(serverDef, serverId, out);
- out.println();
- } catch (ServerNotRegistered e) {
- out.println(CorbaResourceUtil.getText("servertool.nosuchserver"));
- }
-
- } else {
- int[] servers = repository.listRegisteredServers();
- out.println(CorbaResourceUtil.getText("servertool.list2"));
-
- sortServers(servers);
- for (int i=0; i < servers.length; i++) {
- try {
- serverDef = repository.getServer(servers[i]);
- out.println("\t " + servers[i] + "\t\t" +
- serverDef.serverName + "\t\t"
- + serverDef.applicationName);
- } catch (ServerNotRegistered e) {}
- }
-
- }
- } catch (Exception ex) {
- ex.printStackTrace();
- }
-
- return commandDone;
- }
-
- static void printServerDef(ServerDef serverDef, int serverId,
- PrintStream out)
- {
- out.println(CorbaResourceUtil.getText("servertool.appname", serverDef.applicationName));
- out.println(CorbaResourceUtil.getText("servertool.name", serverDef.serverName));
- out.println(CorbaResourceUtil.getText("servertool.classpath", serverDef.serverClassPath));
- out.println(CorbaResourceUtil.getText("servertool.args", serverDef.serverArgs));
- out.println(CorbaResourceUtil.getText("servertool.vmargs", serverDef.serverVmArgs));
- out.println(CorbaResourceUtil.getText("servertool.serverid", serverId));
- }
-
- /**
- * Do a simple bubble sort to sort the server ids in ascending
- * order.
- */
- static void sortServers(int[] serverIds)
- {
- int size = serverIds.length;
- int lowest;
-
- for (int i=0; i < size; i++) {
-
- lowest = i;
-
- for (int j=i+1; j < size; j++) {
- if (serverIds[j] < serverIds[lowest]) lowest = j;
- }
-
- if (lowest != i) {
- int temp = serverIds[i];
- serverIds[i] = serverIds[lowest];
- serverIds[lowest] = temp;
- }
- }
- }
- }
-
- class ListActiveServers implements CommandHandler
- {
- public String getCommandName() {return "listactive";}
-
- public void printCommandHelp(PrintStream out, boolean helpType)
- {
- if (helpType == longHelp) {
- out.println(CorbaResourceUtil.getText("servertool.listactive"));
- } else {
- out.println(CorbaResourceUtil.getText("servertool.listactive1"));
- }
- }
-
- public boolean processCommand(String[] cmdArgs, ORB orb, PrintStream out)
- {
- ServerDef serverDef;
-
- // process the list active servers command
- try {
- Repository repository = RepositoryHelper.narrow(
- orb.resolve_initial_references( ORBConstants.SERVER_REPOSITORY_NAME ));
-
- Activator activator = ActivatorHelper.narrow(
- orb.resolve_initial_references( ORBConstants.SERVER_ACTIVATOR_NAME ));
-
- int[] servers = activator.getActiveServers();
-
- out.println(CorbaResourceUtil.getText("servertool.list2"));
-
- ListServers.sortServers(servers);
- for (int i=0; i < servers.length; i++) {
- try {
- serverDef = repository.getServer(servers[i]);
- out.println("\t " + servers[i] + "\t\t" +
- serverDef.serverName + "\t\t" +
- serverDef.applicationName);
- } catch (ServerNotRegistered e) {}
- }
- } catch (Exception ex) {
- ex.printStackTrace();
- }
-
- return commandDone;
- }
- }
-
- class ListAliases implements CommandHandler
- {
- public String getCommandName() {return "listappnames";}
-
- public void printCommandHelp(PrintStream out, boolean helpType)
- {
- if (helpType == longHelp) {
- out.println(CorbaResourceUtil.getText("servertool.listappnames"));
- } else {
- out.println(CorbaResourceUtil.getText("servertool.listappnames1"));
- }
- }
-
- public boolean processCommand(String[] cmdArgs, ORB orb, PrintStream out)
- {
- try {
- Repository repository = RepositoryHelper.narrow(
- orb.resolve_initial_references( ORBConstants.SERVER_REPOSITORY_NAME ));
-
- String[] applicationNames = repository.getApplicationNames();
-
- out.println(CorbaResourceUtil.getText("servertool.listappnames2"));
- out.println();
- for (int i=0; i < applicationNames.length; i++)
- out.println( "\t" + applicationNames[i] ) ;
- } catch (Exception ex) {
- ex.printStackTrace();
- }
-
- return commandDone;
- }
- }
-
- class ShutdownServer implements CommandHandler
- {
- public String getCommandName() {return "shutdown";}
-
- public void printCommandHelp(PrintStream out, boolean helpType)
- {
- if (helpType == longHelp) {
- out.println(CorbaResourceUtil.getText("servertool.shutdown"));
- } else {
- out.println(CorbaResourceUtil.getText("servertool.shutdown1"));
- }
- }
-
- final static int illegalServerId = -1;
-
- public boolean processCommand(String[] cmdArgs, ORB orb, PrintStream out)
- {
- int serverId = illegalServerId;
-
- try {
- // determine the server id
- if (cmdArgs.length == 2)
- if (cmdArgs[0].equals("-serverid"))
- serverId = (Integer.valueOf(cmdArgs[1])).intValue();
- else if (cmdArgs[0].equals("-applicationName"))
- serverId = ServerTool.getServerIdForAlias( orb, cmdArgs[1] ) ;
-
- if (serverId == illegalServerId)
- return parseError;
-
- // shutdown the server
- Activator activator = ActivatorHelper.narrow(
- orb.resolve_initial_references( ORBConstants.SERVER_ACTIVATOR_NAME ));
- activator.shutdown(serverId);
-
- out.println(CorbaResourceUtil.getText("servertool.shutdown2"));
- } catch (ServerNotActive ex) {
- out.println(CorbaResourceUtil.getText("servertool.servernotrunning"));
- } catch (ServerNotRegistered ex) {
- out.println(CorbaResourceUtil.getText("servertool.nosuchserver"));
- } catch (Exception ex) {
- ex.printStackTrace();
- }
-
- return commandDone;
- }
- }
-
- class StartServer implements CommandHandler
- {
- public String getCommandName() {return "startup";}
-
- public void printCommandHelp(PrintStream out, boolean helpType)
- {
- if (helpType == longHelp) {
- out.println(CorbaResourceUtil.getText("servertool.startserver"));
- } else {
- out.println(CorbaResourceUtil.getText("servertool.startserver1"));
- }
- }
-
- final static int illegalServerId = -1;
-
- public boolean processCommand(String[] cmdArgs, ORB orb, PrintStream out)
- {
- int serverId = illegalServerId;
-
- try {
- // determine the server id
- if (cmdArgs.length == 2)
- if (cmdArgs[0].equals("-serverid"))
- serverId = (Integer.valueOf(cmdArgs[1])).intValue();
- else if (cmdArgs[0].equals("-applicationName"))
- serverId = ServerTool.getServerIdForAlias( orb, cmdArgs[1] ) ;
-
- if (serverId == illegalServerId)
- return parseError;
-
- // startup the server
- Activator activator = ActivatorHelper.narrow(
- orb.resolve_initial_references( ORBConstants.SERVER_ACTIVATOR_NAME ));
- activator.activate(serverId);
-
- out.println(CorbaResourceUtil.getText("servertool.startserver2"));
- } catch (ServerNotRegistered ex) {
- out.println(CorbaResourceUtil.getText("servertool.nosuchserver"));
- } catch (ServerAlreadyActive ex) {
- out.println(CorbaResourceUtil.getText("servertool.serverup"));
- } catch (ServerHeldDown ex) {
- out.println(CorbaResourceUtil.getText("servertool.helddown"));
- } catch (Exception ex) {
- ex.printStackTrace();
- }
- return commandDone;
- }
- }
-
- class Quit implements CommandHandler
- {
- public String getCommandName() {return "quit";}
-
- public void printCommandHelp(PrintStream out, boolean helpType)
- {
- if (helpType == longHelp) {
- out.println(CorbaResourceUtil.getText("servertool.quit"));
- } else {
- out.println(CorbaResourceUtil.getText("servertool.quit1"));
- }
- }
-
- public boolean processCommand(String[] cmdArgs, ORB orb, PrintStream out)
- {
- System.exit(0);
-
- return commandDone;
- }
- }
-
- class Help implements CommandHandler
- {
- public String getCommandName() {return "help";}
-
- public void printCommandHelp(PrintStream out, boolean helpType)
- {
- if (helpType == longHelp) {
- out.println(CorbaResourceUtil.getText("servertool.help"));
- } else {
- out.println(CorbaResourceUtil.getText("servertool.help1"));
- }
- }
-
- public boolean processCommand(String[] cmdArgs, ORB orb, PrintStream out)
- {
- return commandDone;
- }
- }
-
- class ListORBs implements CommandHandler
- {
- public String getCommandName() {return "orblist";}
-
- public void printCommandHelp(PrintStream out, boolean helpType)
- {
- if (helpType == longHelp) {
- out.println(CorbaResourceUtil.getText("servertool.orbidmap"));
- } else {
- out.println(CorbaResourceUtil.getText("servertool.orbidmap1"));
- }
- }
-
- final static int illegalServerId = -1;
-
- public boolean processCommand(String[] cmdArgs, ORB orb, PrintStream out)
- {
-
- int serverId = illegalServerId;
-
- try {
- if (cmdArgs.length == 2) {
- if (cmdArgs[0].equals("-serverid"))
- serverId = (Integer.valueOf(cmdArgs[1])).intValue();
- else if (cmdArgs[0].equals("-applicationName"))
- serverId = ServerTool.getServerIdForAlias( orb, cmdArgs[1] ) ;
- }
-
- // the server id has to be specified
- if (serverId == illegalServerId)
- return parseError;
- // activate the server
- Activator activator = ActivatorHelper.narrow(
- orb.resolve_initial_references( ORBConstants.SERVER_ACTIVATOR_NAME ));
-
- String[] orbList = activator.getORBNames(serverId);
-
- out.println(CorbaResourceUtil.getText("servertool.orbidmap2"));
-
- for (int i = 0; i < orbList.length ; i++) {
- out.println("\t "+ orbList[i]);
- }
- } catch (ServerNotRegistered ex) {
- out.println("\tno such server found.");
- } catch (Exception ex) {
- ex.printStackTrace();
- }
-
- return commandDone;
- }
- }