diff options
Diffstat (limited to 'java/JACE/tests/ServiceConfigurator/Main.java')
-rw-r--r-- | java/JACE/tests/ServiceConfigurator/Main.java | 113 |
1 files changed, 113 insertions, 0 deletions
diff --git a/java/JACE/tests/ServiceConfigurator/Main.java b/java/JACE/tests/ServiceConfigurator/Main.java new file mode 100644 index 00000000000..2b57d5ad429 --- /dev/null +++ b/java/JACE/tests/ServiceConfigurator/Main.java @@ -0,0 +1,113 @@ +package JACE.tests.ServiceConfigurator; + +import java.io.*; +import java.util.*; +import JACE.OS.*; +import JACE.ServiceConfigurator.*; + +/** + * Runs the service configurator, allowing the user to interact with it. + */ +public class Main +{ + public static void main (String args[]) + throws FileNotFoundException, IOException, ClassNotFoundException, + IllegalAccessException, InstantiationException + { + ACE.enableDebugging (); + + if (ServiceConfig.open (args) < 0) { + System.err.println ("Error opening ServiceConfig"); + return; + } + + processCommands (args); + + // close everything down + ServiceConfig.close (); + } + + public static void report(String s) { + System.out.println(s); + } + + static InputStreamReader stdin = new InputStreamReader (System.in); + + public static void showMenu () + { + report ("\n[C]lose all"); + report ("[S]uspend all"); + report ("[R]esume all"); + report ("[Re[l]oad all"); + report ("List [n]ames"); + + report ("\n[Q]uit"); + System.out.print ("\nOption (CSRLNQ): "); + } + + public static void processCommands (String [] args) + throws FileNotFoundException, IOException, ClassNotFoundException, + IllegalAccessException, InstantiationException + { + int ch = 0; + Enumeration svcs; + + showMenu (); + + do { + + ch = stdin.read (); + + switch (ch) + { + case 'c': + case 'C': + ServiceConfig.close (); + break; + case 's': + case 'S': + svcs = ServiceConfig.serviceNames (); + while (svcs.hasMoreElements ()) + ServiceConfig.suspend ((String)svcs.nextElement ()); + break; + case 'r': + case 'R': + svcs = ServiceConfig.serviceNames (); + while (svcs.hasMoreElements ()) + ServiceConfig.resume ((String)svcs.nextElement ()); + break; + case 'l': + case 'L': + ServiceConfig.close (); + svcs = ServiceConfig.serviceNames (); + while (svcs.hasMoreElements ()) + ServiceConfig.remove ((String)svcs.nextElement ()); + ServiceConfig.open (args); + break; + case 'n': + case 'N': + report ("\nService names:\n"); + svcs = ServiceConfig.services (); + while (svcs.hasMoreElements ()) { + Service sv = (Service)svcs.nextElement (); + report (sv.name () + " : " + sv.info ()); + } + break; + case 'q': + case 'Q': + report ("\nExiting..."); + return; + case -1: + case 10: + case 13: + continue; + default: + break; + } + + showMenu (); + + } while (true); + } + +} |