Author: burn Date: Tue Aug 6 14:31:18 2013 New Revision: 1510971 URL: http://svn.apache.org/r1510971 Log: UIMA-3150 Make DuccMonitor thread-safe
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/DuccMonitor.java uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/MonitorListener.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=1510971&r1=1510970&r2=1510971&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 Aug 6 14:31:18 2013 @@ -198,7 +198,10 @@ public abstract class CliBase } } - protected Options makeOptions(UiOption[] optlist) + /* + * Also used by DuccMonitor + */ + static public Options makeOptions(UiOption[] optlist) { 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/DuccMonitor.java URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccMonitor.java?rev=1510971&r1=1510970&r2=1510971&view=diff ============================================================================== --- uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccMonitor.java (original) +++ uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccMonitor.java Tue Aug 6 14:31:18 2013 @@ -158,37 +158,13 @@ public abstract class DuccMonitor { break; } } - options = makeOptions(opts, false); + options = CliBase.makeOptions(opts); // message processor if (messageProcessor != null) { this.messageProcessor = messageProcessor; } } - protected Options makeOptions(UiOption[] optlist, boolean strict) { - Options opts = new Options(); - for (UiOption opt : optlist) { - OptionBuilder.withDescription(opt.makeDesc()); - OptionBuilder.withLongOpt(opt.pname()); - if (opt.argname() == null) { - OptionBuilder.hasArg(false); - } else { - OptionBuilder.withArgName(opt.argname()); - if (opt.multiargs()) { - OptionBuilder.hasArgs(); - } else { - OptionBuilder.hasArgs(1); - } - } - if (strict && opt.required()) { - OptionBuilder.isRequired(); - } - Option o = OptionBuilder.create(); - opts.addOption(o); - } - return opts; - } - protected void trace(String message) { if (flag_trace.get()) { messageProcessor.status(timestamp(message)); @@ -506,7 +482,7 @@ public abstract class DuccMonitor { try { code = runInternal(args); } catch (Exception e) { - messageProcessor.status(e.toString()); + messageProcessor.status("ERROR: " + e.toString()); } debug("rc=" + code); return code; Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/MonitorListener.java URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/MonitorListener.java?rev=1510971&r1=1510970&r2=1510971&view=diff ============================================================================== --- uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/MonitorListener.java (original) +++ uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/MonitorListener.java Tue Aug 6 14:31:18 2013 @@ -87,8 +87,8 @@ class MonitorListener } retVal = monitor.run(argList); } catch (Exception e) { - base.message(e.toString()); - retVal = DuccUiConstants.ERROR; + base.message("ERROR:" + e.toString()); + retVal = 999; // error rc's usually positive! // DuccUiConstants.ERROR; } base.monitorExits(retVal); }