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);
     }


Reply via email to