Author: burn
Date: Mon May  9 20:52:55 2016
New Revision: 1743049

URL: http://svn.apache.org/viewvc?rev=1743049&view=rev
Log:
UIMA-4909 Print stack trace before exiting on all_in_one errors.  Try to remove 
dependencies on other DUCC jars

Modified:
    
uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/aio/AllInOne.java
    
uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/aio/CasGenerator.java
    
uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/aio/CasPipeline.java

Modified: 
uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/aio/AllInOne.java
URL: 
http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/aio/AllInOne.java?rev=1743049&r1=1743048&r2=1743049&view=diff
==============================================================================
--- 
uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/aio/AllInOne.java
 (original)
+++ 
uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/aio/AllInOne.java
 Mon May  9 20:52:55 2016
@@ -18,16 +18,13 @@
 */
 package org.apache.uima.ducc.cli.aio;
 
+import java.util.Properties;
+
 import org.apache.uima.cas.CAS;
 import org.apache.uima.cas.impl.XmiSerializationSharedData;
-import org.apache.uima.ducc.cli.CliBase;
-import org.apache.uima.ducc.cli.DuccJobSubmit;
-import org.apache.uima.ducc.cli.aio.IMessageHandler.Level;
-import org.apache.uima.ducc.cli.aio.IMessageHandler.Toggle;
-import org.apache.uima.ducc.transport.event.cli.JobRequestProperties;
 import org.apache.uima.ducc.user.common.DuccUimaSerializer;
 
-public class AllInOne extends CliBase {
+public class AllInOne {
     
        private static String cid = AllInOne.class.getSimpleName();
        
@@ -35,66 +32,51 @@ public class AllInOne extends CliBase {
        
        private static XmiSerializationSharedData xmiSerializationSharedData = 
new XmiSerializationSharedData();
        
-       private IMessageHandler mh = new MessageHandler();
-       
-       private JobRequestProperties jobRequestProperties = new 
JobRequestProperties(); 
-       
-       private boolean showStats = true;
-       
+    private MsgHandler mh = new MsgHandler();
+    
+    private Properties jobRequestProperties = new Properties();
+
+    private boolean showStats = true;
+
+       // Avoid a dependency on the CLI's UiOptions by duplicating these 
option nanes
+    static String DriverDescriptorCR = "driver_descriptor_CR";
+    static String DriverDescriptorCROverrides = 
"driver_descriptor_CR_overrides";
+    static String ProcessDD = "process_descriptor_DD";
+    static String ProcessDescriptorCM = "process_descriptor_CM";
+    static String ProcessDescriptorCMOverrides = 
"process_descriptor_CM_overrides";
+    static String ProcessDescriptorAE = "process_descriptor_AE";
+    static String ProcessDescriptorAEOverrides = 
"process_descriptor_AE_overrides";
+    static String ProcessDescriptorCC = "process_descriptor_CC";
+    static String ProcessDescriptorCCOverrides = 
"process_descriptor_CC_overrides";
+    static String Timestamp = "timestamp";
+    static String Debug = "debug";
+  
        CasGenerator casGenerator;
        CasPipeline casPipeline;
+
+    private boolean timestamp;
+
+    private boolean debug;
        
        public AllInOne(String[] args) throws Exception {
-               UiOption[] opts = DuccJobSubmit.opts;
-               init(this.getClass().getName(), opts, args, 
jobRequestProperties, consoleCb);
-       }
-       
-       private void examine_debug() {
-               String mid = "examine_debug";
-               debug = 
jobRequestProperties.containsKey(UiOption.Debug.pname());
-               if(debug) {
-                       mh.setLevel(Level.FrameworkInfo, Toggle.On);
-                       mh.setLevel(Level.FrameworkDebug, Toggle.On);
-                       mh.setLevel(Level.FrameworkError, Toggle.On);
-                       mh.setLevel(Level.FrameworkWarn, Toggle.On);
-                       String message = "true";
-                       mh.frameworkDebug(cid, mid, message);
-               }
-               else {
-                       String message = "false";
-                       mh.frameworkDebug(cid, mid, message);
-               }
+           for (int i = 0; i < args.length; ++i) {
+               if (i+1 < args.length && !args[i+1].startsWith("--")) {
+                   jobRequestProperties.put(args[i].substring(2), args[i+1]);
+                   ++i;
+               } else {
+                   jobRequestProperties.put(args[i].substring(2), "");
+               }
+         }
+      // Properties will have been validated in AllInOneLauncher
+      timestamp = jobRequestProperties.containsKey(Timestamp);
+      debug = jobRequestProperties.containsKey(Debug);
        }
        
-       private void examine_timestamp() {
-               String mid = "examine_timestamp";
-               boolean timestamp = 
jobRequestProperties.containsKey(UiOption.Timestamp.pname());
-               if(timestamp) {
-                       mh.setTimestamping(Toggle.On);
-                       String message = "true";
-                       mh.frameworkDebug(cid, mid, message);
-               }
-               else {
-                       String message = "false";
-                       mh.frameworkDebug(cid, mid, message);
-               }
-       }
-       
-       private void examine() throws IllegalArgumentException {
-               String mid = "examine";
-               mh.frameworkTrace(cid, mid, "enter");
-               examine_debug();
-               examine_timestamp();
-               mh.frameworkTrace(cid, mid, "exit");
-       }
-
        private class NoWorkItems extends Exception {
                private static final long serialVersionUID = 1L;
        }
        
        private void initialize() throws Exception {
-               String mid = "initialize";
-               mh.frameworkTrace(cid, mid, "enter");
                // Generator
                casGenerator = new CasGenerator(jobRequestProperties, mh);
                casGenerator.initialize();
@@ -107,12 +89,10 @@ public class AllInOne extends CliBase {
                else {
                        throw new NoWorkItems();
                }
-               mh.frameworkTrace(cid, mid, "exit");
        }
        
        private void process() throws Exception {
                String mid = "process";
-               mh.frameworkTrace(cid, mid, "enter");
                int count = 0;
                int total = casGenerator.getTotal();
                mh.frameworkDebug(cid, mid, "total:"+total);
@@ -130,7 +110,6 @@ public class AllInOne extends CliBase {
                        count++;
                }
                casPipeline.destroy();
-               mh.frameworkTrace(cid, mid, "exit");
        }
        
        private void statistics() {
@@ -140,19 +119,15 @@ public class AllInOne extends CliBase {
        }
        
        public void go() throws Exception {
-               String mid = "go";
-               mh.frameworkTrace(cid, mid, "enter");
                try {
-                       examine();
                        initialize();
                        process();
                        statistics();
                }
                catch(NoWorkItems e) {
                        String message = "no work items";
-                       mh.warn(cid, mid, message);
+                       System.err.println("AllInOne.go " + message);
                }
-               mh.frameworkTrace(cid, mid, "exit");
        }
        
        
@@ -162,13 +137,17 @@ public class AllInOne extends CliBase {
                        allInOne.go();
                } catch (Exception e) {
                        // Indicate that something went wrong
+                   e.printStackTrace();
                        System.exit(1);
                }
        }
 
-       @Override
-       public boolean execute() throws Exception {
-               return false;
+       class MsgHandler {
+              public void frameworkInfo(String klass, String method, String 
message) {
+                   System.out.println(klass + "." + method + " " + message);
+               }
+           public void frameworkDebug(String klass, String method, String 
message) {
+               if (debug) System.out.println(klass + "." + method + " " + 
message);
+           }
        }
-
 }

Modified: 
uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/aio/CasGenerator.java
URL: 
http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/aio/CasGenerator.java?rev=1743049&r1=1743048&r2=1743049&view=diff
==============================================================================
--- 
uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/aio/CasGenerator.java
 (original)
+++ 
uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/aio/CasGenerator.java
 Mon May  9 20:52:55 2016
@@ -28,7 +28,6 @@ import org.apache.uima.UIMAFramework;
 import org.apache.uima.cas.CAS;
 import org.apache.uima.collection.CollectionException;
 import org.apache.uima.collection.CollectionReader;
-import org.apache.uima.ducc.cli.IUiOptions.UiOption;
 import org.apache.uima.ducc.common.utils.QuotedOptions;
 import org.apache.uima.ducc.user.common.UimaUtils;
 import org.apache.uima.resource.ResourceConfigurationException;
@@ -51,7 +50,7 @@ public class CasGenerator {
 
        public static String cid = CasGenerator.class.getSimpleName();
        
-       protected IMessageHandler mh = new MessageHandler();
+       protected AllInOne.MsgHandler mh;
        protected Properties properties = new Properties();
 
        private CollectionReader cr;
@@ -62,7 +61,7 @@ public class CasGenerator {
        
        private int total;
        
-       public CasGenerator(Properties properties, IMessageHandler mh) {
+       public CasGenerator(Properties properties, AllInOne.MsgHandler mh) {
                if(properties != null) {
                        this.properties = properties;
                }
@@ -73,18 +72,10 @@ public class CasGenerator {
        
        public void initialize() throws InvalidXMLException, 
ResourceConfigurationException, ResourceInitializationException {
                String mid = "initialize";
-               mh.frameworkTrace(cid, mid, "enter");
-               String crDescriptor = 
properties.getProperty(UiOption.DriverDescriptorCR.pname());
-               String crOverrides = 
properties.getProperty(UiOption.DriverDescriptorCROverrides.pname());
+               String crDescriptor = 
properties.getProperty(AllInOne.DriverDescriptorCR);
+               String crOverrides = 
properties.getProperty(AllInOne.DriverDescriptorCROverrides);
                XMLParser xmlParser = UIMAFramework.getXMLParser();
-               XMLInputSource in = null;
-               try {
-                       in = UimaUtils.getXMLInputSource(crDescriptor);
-               }
-               catch (InvalidXMLException e) {
-                       mh.error(e);
-                       throw e;
-               }
+               XMLInputSource in = UimaUtils.getXMLInputSource(crDescriptor);
                ResourceSpecifier crrs = 
xmlParser.parseCollectionReaderDescription(in);
                // CR overrides - throw up if trying to override an undefined 
parameter
         ResourceCreationSpecifier specifier = (ResourceCreationSpecifier) crrs;
@@ -119,53 +110,37 @@ public class CasGenerator {
         cr_fid = cr.getProcessingResourceMetaData().getFsIndexes();
         initTotal();
         mh.frameworkInfo(cid, mid, "total:"+getTotal());
-        mh.frameworkInfo("total:"+getTotal());
-               mh.frameworkTrace(cid, mid, "exit");
        }
        
        public Progress[] getProgressArray() {
-               String mid = "getProgressArray";
-               mh.frameworkTrace(cid, mid, "enter");
                Progress[] retVal;
                synchronized(cr) {
                        retVal = cr.getProgress();
                }
-               mh.frameworkTrace(cid, mid, "exit");
                return retVal;
        }
        
        public Progress getProgress() {
-               String mid = "getProgress";
-               mh.frameworkTrace(cid, mid, "enter");
                Progress progress = null;
                Progress[] progressArray = getProgressArray();
                if(progressArray != null) {
                        progress = progressArray[0];
                }
-               mh.frameworkTrace(cid, mid, "exit");
                return progress;
        }
        
        private void initTotal() {
-               String mid = "initTotal";
-               mh.frameworkTrace(cid, mid, "enter");
                Progress progress = getProgress();
                if(progress != null) {
                        total = (int)progress.getTotal();
                }
-               mh.frameworkTrace(cid, mid, "exit");
        }
        
        public int getTotal() {
-               String mid = "getTotal";
-               mh.frameworkTrace(cid, mid, "enter");
-               mh.frameworkTrace(cid, mid, "exit");
                return total;
        }
        
        private CAS getEmptyCas() throws ResourceInitializationException {
-               String mid = "getEmptyCas";
-               mh.frameworkTrace(cid, mid, "enter");
                CAS cas = null;
                while(cas == null) {
                        //      Use class level locking to serialize access to 
CasCreationUtils
@@ -176,25 +151,18 @@ public class CasGenerator {
                                cas = CasCreationUtils.createCas(cr_tsd, cr_tp, 
cr_fid, cr_properties);
                        }
                }
-               mh.frameworkTrace(cid, mid, "exit");
                return cas;
        }
        
        private CAS getNewCas() throws ResourceInitializationException, 
CollectionException, IOException {
-               String mid = "getNewCas";
-               mh.frameworkTrace(cid, mid, "enter");
                CAS cas = getEmptyCas();
                cr.getNext(cas);
-               mh.frameworkTrace(cid, mid, "exit");
                return cas;
        }
        
        public CAS getUsedCas(CAS cas) throws CollectionException, IOException, 
ResourceInitializationException {
-               String mid = "getUsedCas";
-               mh.frameworkTrace(cid, mid, "enter");
                cas.reset();
                cr.getNext(cas);
-               mh.frameworkTrace(cid, mid, "exit");
                return cas;
        }
        

Modified: 
uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/aio/CasPipeline.java
URL: 
http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/aio/CasPipeline.java?rev=1743049&r1=1743048&r2=1743049&view=diff
==============================================================================
--- 
uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/aio/CasPipeline.java
 (original)
+++ 
uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/aio/CasPipeline.java
 Mon May  9 20:52:55 2016
@@ -33,7 +33,7 @@ import org.apache.uima.analysis_engine.A
 import org.apache.uima.analysis_engine.AnalysisEngineManagement;
 import org.apache.uima.analysis_engine.AnalysisEngineProcessException;
 import org.apache.uima.cas.CAS;
-import org.apache.uima.ducc.cli.IUiOptions.UiOption;
+import org.apache.uima.ducc.cli.aio.AllInOne.MsgHandler;
 import org.apache.uima.ducc.common.uima.UimaHelper;
 import org.apache.uima.ducc.common.utils.QuotedOptions;
 import org.apache.uima.resource.ResourceInitializationException;
@@ -48,7 +48,7 @@ public class CasPipeline {
 
        public static String cid = CasPipeline.class.getSimpleName();
        
-       protected IMessageHandler mh = new MessageHandler();
+       protected MsgHandler mh;
        protected Properties properties = new Properties();
        
        private AnalysisEngineDescription aed = null;
@@ -56,21 +56,14 @@ public class CasPipeline {
 
        private CAS cas = null;
        
-       public CasPipeline(Properties properties, IMessageHandler mh) {
-               if(properties != null) {
-                       this.properties = properties;
-               }
-               if(mh != null) {
-                       this.mh = mh;
-               }
+       public CasPipeline(Properties properties, AllInOne.MsgHandler mh) {
+           this.properties = properties;
+               this.mh = mh;
        }
        
        private ArrayList<String> toArrayList(String overrides) {
-               String mid = "toArrayList";
-               mh.frameworkTrace(cid, mid, "enter");
                // To match other lists tokenize on blanks & strip any quotes 
around values.
         ArrayList<String> list = QuotedOptions.tokenizeList(overrides, true);
-               mh.frameworkTrace(cid, mid, "exit");
                return list;
        }
        
@@ -78,7 +71,7 @@ public class CasPipeline {
                String mid = "getFile";
                File file;
                if(descriptor.endsWith(".xml")) {
-                       mh.frameworkTrace(cid, mid, descriptor);
+                       mh.frameworkDebug(cid, mid, descriptor);
                        file = new File(descriptor);
                }
                else {
@@ -87,7 +80,7 @@ public class CasPipeline {
                        if(url == null) {
                                throw new 
IllegalArgumentException(relativePath+" not found in classpath");
                        }
-                       mh.frameworkTrace(cid, mid, url.getFile());
+                       mh.frameworkDebug(cid, mid, url.getFile());
                        file = new File(url.getFile());
                }
                return file;
@@ -95,40 +88,36 @@ public class CasPipeline {
        
        private void initializeByDD() throws Exception {
                String mid = "initializeByDD";
-               mh.frameworkTrace(cid, mid, "enter");
-               String dd = properties.getProperty(UiOption.ProcessDD.pname());
+               String dd = properties.getProperty(AllInOne.ProcessDD);
                File ddFile = getFile(dd);
                DDParser ddParser = new DDParser(ddFile);
                String ddImport = ddParser.getDDImport();
-               mh.frameworkTrace(cid, mid, ddImport);
+               mh.frameworkDebug(cid, mid, ddImport);
                File uimaFile = getFile(ddImport);
                XMLInputSource xis = new XMLInputSource(uimaFile);
                ResourceSpecifier specifier = 
UIMAFramework.getXMLParser().parseResourceSpecifier(xis);
            ae = UIMAFramework.produceAnalysisEngine(specifier);
-               mh.frameworkTrace(cid, mid, "exit");
        }
        
        private void initializeByParts() throws Exception {
-               String mid = "initializeByParts";
-               mh.frameworkTrace(cid, mid, "enter");
                ByteArrayOutputStream baos = new ByteArrayOutputStream();
                List<List<String>> overrides = new ArrayList<List<String>>();
                List<String> descriptors = new ArrayList<String>();
-               String cmDescriptor = 
properties.getProperty(UiOption.ProcessDescriptorCM.pname());
+               String cmDescriptor = 
properties.getProperty(AllInOne.ProcessDescriptorCM);
                if(cmDescriptor != null) {
-                       ArrayList<String> cmOverrides = 
toArrayList(properties.getProperty(UiOption.ProcessDescriptorCMOverrides.pname()));
+                       ArrayList<String> cmOverrides = 
toArrayList(properties.getProperty(AllInOne.ProcessDescriptorCMOverrides));
                        overrides.add(cmOverrides);
                        descriptors.add(cmDescriptor);
                }
-               String aeDescriptor = 
properties.getProperty(UiOption.ProcessDescriptorAE.pname());
+               String aeDescriptor = 
properties.getProperty(AllInOne.ProcessDescriptorAE);
                if(aeDescriptor != null) {
-                       ArrayList<String> aeOverrides = 
toArrayList(properties.getProperty(UiOption.ProcessDescriptorAEOverrides.pname()));
+                       ArrayList<String> aeOverrides = 
toArrayList(properties.getProperty(AllInOne.ProcessDescriptorAEOverrides));
                        overrides.add(aeOverrides);
                        descriptors.add(aeDescriptor);
                }
-               String ccDescriptor = 
properties.getProperty(UiOption.ProcessDescriptorCC.pname());
+               String ccDescriptor = 
properties.getProperty(AllInOne.ProcessDescriptorCC);
                if(ccDescriptor != null) {
-                       ArrayList<String> ccOverrides = 
toArrayList(properties.getProperty(UiOption.ProcessDescriptorCCOverrides.pname()));
+                       ArrayList<String> ccOverrides = 
toArrayList(properties.getProperty(AllInOne.ProcessDescriptorCCOverrides));
                        overrides.add(ccOverrides);
                        descriptors.add(ccDescriptor);
                }
@@ -150,20 +139,16 @@ public class CasPipeline {
                XMLInputSource xis = new XMLInputSource(bais, file);
                ResourceSpecifier specifier = 
UIMAFramework.getXMLParser().parseResourceSpecifier(xis);
            ae = UIMAFramework.produceAnalysisEngine(specifier);
-               mh.frameworkTrace(cid, mid, "exit");
        }
        
        public void initialize() throws Exception {
-               String mid = "initialize";
-               mh.frameworkTrace(cid, mid, "enter");
-               String dd = properties.getProperty(UiOption.ProcessDD.pname());
+               String dd = properties.getProperty(AllInOne.ProcessDD);
                if(dd != null) {
                        initializeByDD();
                }
                else {
                        initializeByParts();
                }
-               mh.frameworkTrace(cid, mid, "exit");
        }
        
        public CAS process(CAS cas) throws AnalysisEngineProcessException {


Reply via email to