You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by bu...@apache.org on 2013/04/22 22:35:00 UTC
svn commit: r1470707 - in
/uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli:
CliBase.java IUiOptions.java
Author: burn
Date: Mon Apr 22 20:35:00 2013
New Revision: 1470707
URL: http://svn.apache.org/r1470707
Log:
UIMA-2792 Fixed the services --register & --query options to take an optional argument. Also attempt again to avoid cannot-create-log-dir problem
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/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=1470707&r1=1470706&r2=1470707&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 Mon Apr 22 20:35:00 2013
@@ -110,13 +110,13 @@ public abstract class CliBase
/*
* make sure the logdir is actually legal.
+ * JD may also be creating it so to reduce any race or NFS delay blindly create and then test
*/
File f = new File(log_directory);
+ f.mkdirs();
if ( ! f.exists() ) {
- if (! f.mkdirs() ) {
- throw new IllegalArgumentException("Cannot create log directory " + log_directory);
- }
+ throw new IllegalArgumentException("getLogDirectory: Cannot create log directory " + log_directory);
}
if ( ! f.isDirectory() ) {
@@ -204,8 +204,9 @@ public abstract class CliBase
Options opts = new Options();
for ( UiOption opt : optlist ) {
String arg = opt.argname();
- Option o = new Option(null, opt.pname(), (arg != null), opt.makeDesc());
+ Option o = new Option(opt.sname(), opt.pname(), (arg != null), opt.makeDesc());
o.setArgName(arg);
+ o.setOptionalArg(arg != null && arg.endsWith("(optional)"));
o.setRequired(strict && opt.required());
if (opt.multiargs()) {
o.setArgs(Option.UNLIMITED_VALUES); // (Untested as we have no multiarg options)
@@ -391,7 +392,7 @@ public abstract class CliBase
f.mkdirs();
if ( ! f.exists() ) {
- throw new IllegalStateException("Cannot create log directory: " + f.toString());
+ throw new IllegalStateException("saveSpec: Cannot create log directory: " + f.toString());
}
String comments = null;
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=1470707&r1=1470706&r2=1470707&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 Mon Apr 22 20:35:00 2013
@@ -171,7 +171,7 @@ public interface IUiOptions
public String pname() { return JobSpecificationProperties.key_description; }
public String argname() { return "string"; }
public String description() { return "Description of the run."; }
- public String example() { return "--description My excellent job!"; }
+ public String example() { return "My excellent job!"; }
public String deflt() { return null; }
public String label() { return "Description"; }
public boolean multiargs() { return false; }
@@ -389,13 +389,10 @@ public interface IUiOptions
Register {
public String pname() { return "register"; }
- public String argname() { return null; }
+ public String argname() { return "specification-file (optional)"; }
public String description() { return "Register a service."; }
public String example() { return null; }
- public String deflt() { return null; }
public String label() { return name(); }
- public boolean multiargs() { return false; }
- public boolean required() { return false; }
},
ServicePingClass {
@@ -534,8 +531,8 @@ public interface IUiOptions
ProcessDebug {
public String pname() { return "process_debug"; }
public String argname() { return "debugger-port-number"; }
- public String description() { return "Append JVM debug flags to the jvm arguments to start the Job Process in remobe debug mode."; }
- public String example() { return "--process_debug 8000"; }
+ public String description() { return "Listening port number the remote process is to connect to."; }
+ public String example() { return "8000"; }
public String deflt() { return null; }
public String label() { return "ProcessDebug"; }
public boolean multiargs() { return false; }
@@ -753,13 +750,10 @@ public interface IUiOptions
Query {
public String pname() { return "query"; }
- public String argname() { return null; }
- public String description() { return "Query registered services." ; }
+ public String argname() { return "service-id-or-endpoint (optional)" ; }
+ public String description() { return "Query a registered service, or all." ; }
public String example() { return null; }
- public String deflt() { return null; }
public String label() { return name(); }
- public boolean multiargs() { return false; }
- public boolean required() { return false; }
},
Reason {
@@ -812,7 +806,7 @@ public interface IUiOptions
public String pname() { return JobSpecificationProperties.key_scheduling_class; }
public String argname() { return "scheduling class name"; }
public String description() { return "The class to run the job in."; }
- public String example() { return "A=B MYENV=foo"; }
+ public String example() { return "normal"; }
public String deflt() { return null; }
public String label() { return "SchedulingClass"; }
public boolean multiargs() { return false; }
@@ -823,7 +817,7 @@ public interface IUiOptions
public String pname() { return "service_linger"; }
public String argname() { return "seconds"; }
public String description() { return "Time in milliseconds to wait after last referring job or service exits before stopping a non-autostarted service."; }
- public String example() { return "--service_linger 1000"; }
+ public String example() { return null; }
public String deflt() { return "300000"; } // 5 minutes
public String label() { return name(); }
public boolean multiargs() { return false; }
@@ -867,6 +861,7 @@ public interface IUiOptions
Specification {
public String pname() { return JobSpecificationProperties.key_specification; }
+ public String sname() { return "f"; }
public String argname() { return "file"; }
public String description() { return "Properties file comprising the specification, where the keys are names of parameters. Individual parameters take precedence over those specified in properties file, if any."; }
public String example() { return null; }
@@ -966,15 +961,17 @@ public interface IUiOptions
public boolean required() { return false; }
},
;
-
- public abstract String pname(); // name of the option, e.g. --description
- public abstract String argname(); // type of its argument, or null if none
- public abstract boolean multiargs(); // the option can have >1 arg
- public abstract boolean required(); // this option is required
- public abstract String description(); // description of what it is
- public abstract String example(); // example of usage
- public abstract String deflt(); // defalt, or ""
- public abstract String label(); // Parameter name for label in web form
+
+ // Each option must implement the first few methods,
+ public abstract String pname(); // name of the option, e.g. --description
+ public abstract String argname(); // type of its argument, or null if none
+ public abstract String description(); // description of what it is
+ public abstract String example(); // example of usage
+ public boolean multiargs() { return false; } // the option can have >1 arg
+ public boolean required() { return false; } // this option is required
+ public String deflt() { return null; } // default, or ""
+ public String label() { return null; } // Parameter name for label in web form
+ public String sname() { return null; } // short name of option
public String makeDesc()
{