You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by ch...@apache.org on 2013/03/12 20:23:51 UTC
svn commit: r1455675 - in
/uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli:
CliBase.java DuccServiceApi.java IUiOptions.java
Author: challngr
Date: Tue Mar 12 19:23:51 2013
New Revision: 1455675
URL: http://svn.apache.org/r1455675
Log:
UIMA-2687
Add cli help function for DuccServicesApi.
Modified:
uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/CliBase.java
uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccServiceApi.java
uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/IUiOptions.java
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/CliBase.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/CliBase.java?rev=1455675&r1=1455674&r2=1455675&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/CliBase.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/CliBase.java Tue Mar 12 19:23:51 2013
@@ -197,7 +197,7 @@ public abstract class CliBase
* @param args - array of arguments to the cli parser
* @param boolean - if true, then add tick to insure required args are present
*/
- private Options makeOptions(UiOption[] optlist, boolean strict)
+ protected Options makeOptions(UiOption[] optlist, boolean strict)
{
Options opts = new Options();
for ( UiOption opt : optlist ) {
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccServiceApi.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccServiceApi.java?rev=1455675&r1=1455674&r2=1455675&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccServiceApi.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccServiceApi.java Tue Mar 12 19:23:51 2013
@@ -22,6 +22,8 @@ import java.util.ArrayList;
import java.util.List;
import java.util.Properties;
+import org.apache.commons.cli.HelpFormatter;
+import org.apache.commons.cli.Options;
import org.apache.uima.ducc.common.Pair;
import org.apache.uima.ducc.common.utils.DuccProperties;
import org.apache.uima.ducc.transport.event.ServiceModifyEvent;
@@ -47,6 +49,71 @@ public class DuccServiceApi
String sm_host = "ducc.sm.http.node";
String endpoint = null;
+ UiOption[] registration_options = {
+ UiOption.Help,
+ UiOption.Debug,
+ UiOption.Register,
+ UiOption.Autostart,
+ UiOption.Instances,
+ UiOption.ClasspathOrder,
+ UiOption.Description,
+ UiOption.ProcessDD,
+ UiOption.ProcessMemorySize,
+ UiOption.ProcessClasspath,
+ UiOption.ProcessJvmArgs,
+ UiOption.ProcessEnvironment,
+ UiOption.ProcessFailuresLimit,
+ UiOption.SchedulingClass,
+ UiOption.WorkingDirectory,
+ UiOption.LogDirectory,
+ UiOption.Jvm,
+ UiOption.ServiceDependency,
+ UiOption.ServiceLinger,
+ UiOption.ServiceRequestEndpoint,
+ UiOption.ServicePingClass,
+ UiOption.ServicePingJvmArgs,
+ UiOption.ServicePingDoLog,
+ UiOption.ServicePingTimeout,
+ };
+
+ UiOption[] unregister_options = {
+ UiOption.Help,
+ UiOption.Debug,
+ UiOption.Unregister,
+ };
+
+
+ UiOption[] start_options = {
+ UiOption.Help,
+ UiOption.Debug,
+ UiOption.Start,
+ UiOption.Instances,
+ UiOption.Update,
+ };
+
+ UiOption[] stop_options = {
+ UiOption.Help,
+ UiOption.Debug,
+ UiOption.Stop,
+ UiOption.Instances,
+ UiOption.Update,
+ };
+
+ UiOption[] modify_options = {
+ UiOption.Help,
+ UiOption.Debug,
+ UiOption.Modify,
+ UiOption.Instances,
+ UiOption.Autostart,
+ UiOption.Activate,
+ };
+
+ UiOption[] query_options = {
+ UiOption.Help,
+ UiOption.Debug,
+ UiOption.Query,
+ };
+
public DuccServiceApi()
{
}
@@ -154,34 +221,8 @@ public class DuccServiceApi
public IServiceReply register(String[] args)
throws Exception
{
- UiOption[] opts = {
- UiOption.Help,
- UiOption.Debug,
- UiOption.Register,
- UiOption.Autostart,
- UiOption.Instances,
- UiOption.ClasspathOrder,
- UiOption.Description,
- UiOption.ProcessDD,
- UiOption.ProcessMemorySize,
- UiOption.ProcessClasspath,
- UiOption.ProcessJvmArgs,
- UiOption.ProcessEnvironment,
- UiOption.ProcessFailuresLimit,
- UiOption.SchedulingClass,
- UiOption.WorkingDirectory,
- UiOption.LogDirectory,
- UiOption.Jvm,
- UiOption.ServiceDependency,
- UiOption.ServiceLinger,
- UiOption.ServiceRequestEndpoint,
- UiOption.ServicePingClass,
- UiOption.ServicePingJvmArgs,
- UiOption.ServicePingDoLog,
- UiOption.ServicePingTimeout,
- };
DuccProperties dp = new DuccProperties();
- init(this.getClass().getName(), opts, args, dp, sm_host, sm_port, "sm", null, "services");
+ init(this.getClass().getName(), registration_options, args, dp, sm_host, sm_port, "sm", null, "services");
// A few spurious properties are set as an artifact of parsing the overly-complex command line, and need removal
dp.remove(UiOption.SubmitPid.pname());
@@ -257,14 +298,8 @@ public class DuccServiceApi
public IServiceReply unregister(String[] args)
throws Exception
{
- UiOption[] opts = {
- UiOption.Help,
- UiOption.Debug,
- UiOption.Unregister,
- };
-
DuccProperties dp = new DuccProperties();
- init(this.getClass().getName(), opts, args, dp, sm_host, sm_port, "sm", null, "services");
+ init(this.getClass().getName(), unregister_options, args, dp, sm_host, sm_port, "sm", null, "services");
Pair<Integer, String> id = getId(UiOption.Unregister);
String user = dp.getProperty(UiOption.User.pname());
@@ -287,16 +322,8 @@ public class DuccServiceApi
public IServiceReply start(String[] args)
throws Exception
{
- UiOption[] opts = {
- UiOption.Help,
- UiOption.Debug,
- UiOption.Start,
- UiOption.Instances,
- UiOption.Update,
- };
-
DuccProperties dp = new DuccProperties();
- init(this.getClass().getName(), opts, args, dp, sm_host, sm_port, "sm", null, "services");
+ init(this.getClass().getName(), start_options, args, dp, sm_host, sm_port, "sm", null, "services");
Pair<Integer, String> id = getId(UiOption.Start);
String user = dp.getProperty(UiOption.User.pname());
@@ -325,16 +352,8 @@ public class DuccServiceApi
public IServiceReply stop(String[] args)
throws Exception
{
- UiOption[] opts = {
- UiOption.Help,
- UiOption.Debug,
- UiOption.Stop,
- UiOption.Instances,
- UiOption.Update,
- };
-
DuccProperties dp = new DuccProperties();
- init(this.getClass().getName(), opts, args, dp, sm_host, sm_port, "sm", null, "services");
+ init(this.getClass().getName(), stop_options, args, dp, sm_host, sm_port, "sm", null, "services");
Pair<Integer, String> id = getId(UiOption.Stop);
String user = dp.getProperty(UiOption.User.pname());
@@ -361,17 +380,8 @@ public class DuccServiceApi
public IServiceReply modify(String[] args)
throws Exception
{
- UiOption[] opts = {
- UiOption.Help,
- UiOption.Debug,
- UiOption.Modify,
- UiOption.Instances,
- UiOption.Autostart,
- UiOption.Activate,
- };
-
DuccProperties dp = new DuccProperties();
- init(this.getClass().getName(), opts, args, dp, sm_host, sm_port, "sm", null, "services");
+ init(this.getClass().getName(), modify_options, args, dp, sm_host, sm_port, "sm", null, "services");
Pair<Integer, String> id = getId(UiOption.Modify);
String user = dp.getProperty(UiOption.User.pname());
@@ -400,17 +410,8 @@ public class DuccServiceApi
public IServiceReply query(String[] args)
throws Exception
{
- UiOption[] opts = {
- UiOption.Help,
- UiOption.Debug,
- UiOption.Query,
- UiOption.Instances,
- UiOption.Autostart,
- UiOption.Activate,
- };
-
DuccProperties dp = new DuccProperties();
- init(this.getClass().getName(), opts, args, dp, sm_host, sm_port, "sm", null, "services");
+ init(this.getClass().getName(), query_options, args, dp, sm_host, sm_port, "sm", null, "services");
Pair<Integer, String> id = null;
String sid = cli_props.getProperty(UiOption.Query.pname()).trim();
@@ -432,15 +433,41 @@ public class DuccServiceApi
}
}
- //
- // single common exit point for CL invoction
- //
- protected void doExit(int rc)
+ void help()
{
- System.exit(rc);
+ HelpFormatter formatter = new HelpFormatter();
+ Options options;
+
+ formatter.setWidth(IUiOptions.help_width);
+
+ System.out.println("------------- Register Options ------------------");
+ options = makeOptions(registration_options, true);
+ formatter.printHelp(this.getClass().getName(), options);
+
+ System.out.println("\n\n------------- Unregister Options ------------------");
+ options = makeOptions(unregister_options, true);
+ formatter.printHelp(this.getClass().getName(), options);
+
+ System.out.println("\n\n------------- Start Options ------------------");
+ options = makeOptions(start_options, true);
+ formatter.printHelp(this.getClass().getName(), options);
+
+ System.out.println("\n\n------------- Stop Options ------------------");
+ options = makeOptions(stop_options, true);
+ formatter.printHelp(this.getClass().getName(), options);
+
+ System.out.println("\n\n------------- Modify Options ------------------");
+ options = makeOptions(modify_options, true);
+ formatter.printHelp(this.getClass().getName(), options);
+
+ System.out.println("\n\n------------- Query Options ------------------");
+ options = makeOptions(query_options, true);
+ formatter.printHelp(this.getClass().getName(), options);
+
+ System.exit(1);
}
- boolean execute() {return false;}
+ boolean execute() { return false; }
static boolean format_reply(UiOption verb, IServiceReply reply)
{
@@ -512,6 +539,13 @@ public class DuccServiceApi
return format_reply(UiOption.Query, reply);
}
+ static void Help()
+ {
+ DuccServiceApi api = new DuccServiceApi();
+ api.help();
+ System.exit(1);
+ }
+
static UiOption getVerb(String[] args)
{
// need to scan args for the verb, and insure only one verb
@@ -529,6 +563,9 @@ public class DuccServiceApi
for ( String s : args ) {
if ( ! s.startsWith("--") ) continue;
s = s.substring(2);
+
+ if ( s.equals("help") ) Help();
+
for ( UiOption v : verbs ) {
if ( s.equals(v.pname() ) ) {
reply = v;
@@ -544,6 +581,7 @@ public class DuccServiceApi
}
throw new IllegalArgumentException("Duplicate service actions " + msg + ": not allowed.");
}
+
return reply;
}
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/IUiOptions.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/IUiOptions.java?rev=1455675&r1=1455674&r2=1455675&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/IUiOptions.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/IUiOptions.java Tue Mar 12 19:23:51 2013
@@ -42,7 +42,7 @@ public interface IUiOptions
// argname() is a name for the argument for the usage() part of cli parser
//
-
+ public static final int help_width = 120;
public enum UiOption
{