Author: degenaro
Date: Thu Nov 13 13:57:53 2014
New Revision: 1639325

URL: http://svn.apache.org/r1639325
Log:
UIMA-4069 Redesign of JD toward the main goal of classpath separation for 
container (system) code.

Use System properties for configuration.

Removed:
    
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/config/
Modified:
    
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/JobDriver.java
    
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/cas/CasManager.java
    
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/classload/ProxyJobDriverCollectionReader.java
    
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/classload/ProxyJobDriverErrorHandler.java
    
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/test/java/org/apache/uima/ducc/container/jd/test/ATest.java
    
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/test/java/org/apache/uima/ducc/container/jd/test/TestClassLoading.java
    
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/test/java/org/apache/uima/ducc/container/jd/test/TestDispatcher.java
    
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/test/java/org/apache/uima/ducc/container/jd/test/TestSuite.java
    
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/test/java/org/apache/uima/ducc/container/jd/test/helper/Utilities.java

Modified: 
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/JobDriver.java
URL: 
http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/JobDriver.java?rev=1639325&r1=1639324&r2=1639325&view=diff
==============================================================================
--- 
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/JobDriver.java
 (original)
+++ 
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/JobDriver.java
 Thu Nov 13 13:57:53 2014
@@ -25,7 +25,6 @@ import org.apache.uima.ducc.container.co
 import org.apache.uima.ducc.container.common.IEntityId;
 import org.apache.uima.ducc.container.jd.cas.CasManager;
 import org.apache.uima.ducc.container.jd.classload.ProxyJobDriverErrorHandler;
-import org.apache.uima.ducc.container.jd.config.IJobDriverConfig;
 import org.apache.uima.ducc.container.jd.mh.iface.remote.IRemoteWorkerIdentity;
 import org.apache.uima.ducc.container.jd.wi.IWorkItem;
 import org.apache.uima.ducc.container.jd.wi.IWorkItemStatistics;
@@ -35,14 +34,17 @@ public class JobDriver {
 
        private static IContainerLogger logger = 
ContainerLogger.getLogger(JobDriver.class, 
IContainerLogger.Component.JD.name());
        
-       private static JobDriver instance = new JobDriver();
+       private static JobDriver instance = null;
        
        public static JobDriver getInstance() {
+               if(instance == null) {
+                       instance = new JobDriver();
+               }
                return instance;
        }
        
-       public static void setInstance(IJobDriverConfig jobDriverConfig) {
-               instance.initialize(jobDriverConfig);
+       public static void resetInstance() {
+               instance = null;
        }
        
        private ConcurrentHashMap<IRemoteWorkerIdentity, IWorkItem> map = null;
@@ -50,13 +52,17 @@ public class JobDriver {
        private CasManager cm = null;
        private ProxyJobDriverErrorHandler pjdeh = null;
        
-       public void initialize(IJobDriverConfig jdCfg) {
+       public JobDriver() {
+               initialize();
+       }
+       
+       public void initialize() {
                String location = "initialize";
                try {
                        map = new ConcurrentHashMap<IRemoteWorkerIdentity, 
IWorkItem>();
                        wis = new WorkItemStatistics();
-                       cm = new CasManager(jdCfg.getUserClasspath(), 
jdCfg.getCrXml(), jdCfg.getCrCfg());
-                       pjdeh = new 
ProxyJobDriverErrorHandler(jdCfg.getUserClasspath(), 
jdCfg.getErrorHandlerClassName(), 
jdCfg.getErrorHandlerConfigurationParameters());
+                       cm = new CasManager();
+                       pjdeh = new ProxyJobDriverErrorHandler();
                }
                catch(Exception e) {
                        logger.error(location, IEntityId.null_id, e);

Modified: 
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/cas/CasManager.java
URL: 
http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/cas/CasManager.java?rev=1639325&r1=1639324&r2=1639325&view=diff
==============================================================================
--- 
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/cas/CasManager.java
 (original)
+++ 
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/cas/CasManager.java
 Thu Nov 13 13:57:53 2014
@@ -18,7 +18,6 @@
 */
 package org.apache.uima.ducc.container.jd.cas;
 
-import java.net.URL;
 import java.util.concurrent.LinkedBlockingQueue;
 
 import org.apache.uima.ducc.container.common.ContainerLogger;
@@ -39,20 +38,14 @@ public class CasManager {
        
        private CasManagerStats casManagerStats = new CasManagerStats();
 
-       public CasManager(String[] classpath, String crXml, String crCfg) 
throws JobDriverException {
-               initialize(classpath, crXml, crCfg);
+       public CasManager() throws JobDriverException {
+               initialize();
        }
        
-       public void initialize(String[] classpath, String crXml, String crCfg) 
throws JobDriverException {
+       public void initialize() throws JobDriverException {
                String location = "initialize";
                try {
-                       URL[] classLoaderUrls = new URL[classpath.length];
-                       int i = 0;
-                       for(String item : classpath) {
-                               classLoaderUrls[i] = 
this.getClass().getResource(item);
-                               i++;
-                       }
-                       pjdcr = new 
ProxyJobDriverCollectionReader(classLoaderUrls, crXml, crCfg);
+                       pjdcr = new ProxyJobDriverCollectionReader();
                        casManagerStats.setCrTotal(pjdcr.getTotal());
                }
                catch(JobDriverException e) {

Modified: 
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/classload/ProxyJobDriverCollectionReader.java
URL: 
http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/classload/ProxyJobDriverCollectionReader.java?rev=1639325&r1=1639324&r2=1639325&view=diff
==============================================================================
--- 
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/classload/ProxyJobDriverCollectionReader.java
 (original)
+++ 
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/classload/ProxyJobDriverCollectionReader.java
 Thu Nov 13 13:57:53 2014
@@ -24,6 +24,7 @@ import java.lang.reflect.Type;
 import java.net.URL;
 import java.net.URLClassLoader;
 
+import org.apache.uima.ducc.common.config.SystemPropertiesHelper;
 import org.apache.uima.ducc.container.common.ContainerLogger;
 import org.apache.uima.ducc.container.common.IContainerLogger;
 import org.apache.uima.ducc.container.common.IEntityId;
@@ -68,13 +69,20 @@ public class ProxyJobDriverCollectionRea
                        "com.thoughtworks.xstream.XStream",
                        };
        
-       public ProxyJobDriverCollectionReader(URLClassLoader classLoader, 
String crXml, String cfCfg) throws JobDriverException {
-               construct(classLoader, crXml, cfCfg);
-       }
-       
-       public ProxyJobDriverCollectionReader(URL[] classLoaderUrls, String 
crXml, String cfCfg) throws JobDriverException {
+       public ProxyJobDriverCollectionReader() throws JobDriverException {
+               SystemPropertiesHelper sph = 
SystemPropertiesHelper.getInstance();
+               String userClasspath = sph.getUserClasspath();
+               String[] classpath = sph.stringToArray(userClasspath);
+               URL[] classLoaderUrls = new URL[classpath.length];
+               int i = 0;
+               for(String jar : classpath) {
+                       classLoaderUrls[i] = this.getClass().getResource(jar);
+                       i++;
+               }
                URLClassLoader classLoader = new 
URLClassLoader(classLoaderUrls, ClassLoader.getSystemClassLoader().getParent());
-               construct(classLoader, crXml, cfCfg);
+               String crXml = sph.getCollectionReaderXml();
+               String crCfg = sph.getCollectionReaderCfg();
+               construct(classLoader, crXml, crCfg);
        }
        
        public int getTotal() throws JobDriverException {

Modified: 
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/classload/ProxyJobDriverErrorHandler.java
URL: 
http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/classload/ProxyJobDriverErrorHandler.java?rev=1639325&r1=1639324&r2=1639325&view=diff
==============================================================================
--- 
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/classload/ProxyJobDriverErrorHandler.java
 (original)
+++ 
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/classload/ProxyJobDriverErrorHandler.java
 Thu Nov 13 13:57:53 2014
@@ -23,6 +23,7 @@ import java.lang.reflect.Type;
 import java.net.URL;
 import java.net.URLClassLoader;
 
+import org.apache.uima.ducc.common.config.SystemPropertiesHelper;
 import org.apache.uima.ducc.container.common.ContainerLogger;
 import org.apache.uima.ducc.container.common.IContainerLogger;
 import org.apache.uima.ducc.container.common.IEntityId;
@@ -45,22 +46,21 @@ public class ProxyJobDriverErrorHandler 
        private static String defaultClassName = 
packageName+"JdUserErrorHandler";
        private static String directiveInterfaceName = 
packageName+"IJdUserDirective";
        
-       public ProxyJobDriverErrorHandler(String[] classPath) throws 
JobDriverException {
-               String className = defaultClassName;
-               String initializationData = null;
-               initialize(classPath, className, initializationData);
+       public ProxyJobDriverErrorHandler() throws JobDriverException {
+               initialize();
        }
        
-       public ProxyJobDriverErrorHandler(String[] classPath, String className, 
String initializationData) throws JobDriverException {
-               if(className == null) {
-                       className = defaultClassName;
-               }
-               initialize(classPath, className, initializationData);
-       }
-       
-       private void initialize(String[] classpath, String className, String 
initializationData) throws JobDriverException {
+       private void initialize() throws JobDriverException {
                String location = "initialize";
                try {
+                       SystemPropertiesHelper sph = 
SystemPropertiesHelper.getInstance();
+                       String userClasspath = sph.getUserClasspath();
+                       String[] classpath = sph.stringToArray(userClasspath);
+                       String className = sph.getUserErrorHandlerClassname();
+                       if(className == null) {
+                               className = defaultClassName;
+                       }
+                       String initializationData = 
sph.getUserErrorHandlerCfg();
                        URL[] classLoaderUrls = new URL[classpath.length];
                        int i = 0;
                        for(String item : classpath) {

Modified: 
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/test/java/org/apache/uima/ducc/container/jd/test/ATest.java
URL: 
http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/test/java/org/apache/uima/ducc/container/jd/test/ATest.java?rev=1639325&r1=1639324&r2=1639325&view=diff
==============================================================================
--- 
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/test/java/org/apache/uima/ducc/container/jd/test/ATest.java
 (original)
+++ 
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/test/java/org/apache/uima/ducc/container/jd/test/ATest.java
 Thu Nov 13 13:57:53 2014
@@ -18,7 +18,12 @@
 */
 package org.apache.uima.ducc.container.jd.test;
 
+import java.util.Map;
+
+import org.apache.uima.ducc.common.config.SystemPropertiesHelper;
+import org.apache.uima.ducc.common.config.SystemPropertiesHelper.Name;
 import org.apache.uima.ducc.container.common.ContainerLogger;
+import org.apache.uima.ducc.container.jd.JobDriver;
 import org.junit.After;
 import org.junit.AfterClass;
 import org.junit.Before;
@@ -27,9 +32,39 @@ import org.junit.BeforeClass;
 public abstract class ATest {
        
        private boolean disabled = false;
-       private boolean verbose = true;
+       private boolean verbose = false;
        private boolean warned = false;
-       private boolean debug = true;
+       private boolean debug = false;
+       
+       public void reset() {
+               JobDriver.resetInstance();
+               debug("reset: "+JobDriver.class.getName());
+       }
+       
+       public void clear() {
+               for(Name name : SystemPropertiesHelper.Name.values()) {
+                       System.clearProperty(name.name());
+                       debug("clear: "+name.name());
+               }
+       }
+       
+       public void environment() {
+               Map<String, String> map = System.getenv();
+               if(map != null) {
+                       if(map.containsKey("JUNIT_VERBOSE")) {
+                               verbose = true;
+                       }
+                       if(map.containsKey("JUNIT_DEBUG")) {
+                               debug = true;
+                       }
+               }
+               if(!isVerbose()) {
+                       ContainerLogger.setSilentRunning();
+               }
+               else {
+                       ContainerLogger.resetSilentRunning();
+               }
+       }
        
        public boolean isDisabled(String name ) {
                if(disabled) {
@@ -59,12 +94,9 @@ public abstract class ATest {
 
        @Before
        public void setUp() throws Exception {
-               if(!isVerbose()) {
-                       ContainerLogger.setSilentRunning();
-               }
-               else {
-                       ContainerLogger.resetSilentRunning();
-               }
+               environment();
+               clear();
+               reset();
        }
 
        @After

Modified: 
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/test/java/org/apache/uima/ducc/container/jd/test/TestClassLoading.java
URL: 
http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/test/java/org/apache/uima/ducc/container/jd/test/TestClassLoading.java?rev=1639325&r1=1639324&r2=1639325&view=diff
==============================================================================
--- 
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/test/java/org/apache/uima/ducc/container/jd/test/TestClassLoading.java
 (original)
+++ 
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/test/java/org/apache/uima/ducc/container/jd/test/TestClassLoading.java
 Thu Nov 13 13:57:53 2014
@@ -24,6 +24,7 @@ import static org.junit.Assert.fail;
 import java.io.File;
 import java.net.URL;
 
+import org.apache.uima.ducc.common.config.SystemPropertiesHelper;
 import 
org.apache.uima.ducc.container.jd.classload.ProxyJobDriverCollectionReader;
 import org.apache.uima.ducc.container.jd.classload.ProxyJobDriverDirective;
 import org.apache.uima.ducc.container.jd.classload.ProxyJobDriverErrorHandler;
@@ -39,7 +40,9 @@ public class TestClassLoading extends AT
                        return;
                }
                try {
-                       ProxyJobDriverErrorHandler pjdeh = new 
ProxyJobDriverErrorHandler(Utilities.userCP);
+                       String userClasspath = Utilities.userCP;
+                       
System.setProperty(SystemPropertiesHelper.Name.UserClasspath.name(), 
userClasspath);
+                       ProxyJobDriverErrorHandler pjdeh = new 
ProxyJobDriverErrorHandler();
                        Object serializedCAS = null;
                        Object exception = null;
                        pjdeh.handle(serializedCAS, exception);
@@ -56,22 +59,17 @@ public class TestClassLoading extends AT
                        return;
                }
                try {
-                       String[] userCP = Utilities.userCP;
+                       String userClasspath = Utilities.userCP;
+                       
System.setProperty(SystemPropertiesHelper.Name.UserClasspath.name(), 
userClasspath);
                        URL urlXml = this.getClass().getResource("/CR100.xml");
                        File file = new File(urlXml.getFile());
                        String crXml = file.getAbsolutePath();
-                       String crCfg = null;
-                       URL[] classLoaderUrls = new URL[userCP.length];
-                       int i = 0;
-                       for(String jar : userCP) {
-                               classLoaderUrls[i] = 
this.getClass().getResource(jar);
-                               i++;
-                       }
-                       ProxyJobDriverCollectionReader pjdcr = new 
ProxyJobDriverCollectionReader(classLoaderUrls, crXml, crCfg);
+                       
System.setProperty(SystemPropertiesHelper.Name.CollectionReaderXml.name(), 
crXml);
+                       ProxyJobDriverCollectionReader pjdcr = new 
ProxyJobDriverCollectionReader();
                        MetaCas mc = pjdcr.getMetaCas();
                        Object serializedCAS = mc.getSerializedCas();
                        Object exception = null;
-                       ProxyJobDriverErrorHandler pjdeh = new 
ProxyJobDriverErrorHandler(Utilities.userCP);
+                       ProxyJobDriverErrorHandler pjdeh = new 
ProxyJobDriverErrorHandler();
                        pjdeh.handle(serializedCAS, exception);
                }
                catch(Exception e) {
@@ -80,30 +78,25 @@ public class TestClassLoading extends AT
                }
        }
        
-
        @Test
        public void test_03() {
                if(isDisabled(this.getClass().getName())) {
                        return;
                }
                try {
-                       String[] userCP = Utilities.userCP;
+                       String userClasspath = Utilities.userCP;
+                       
System.setProperty(SystemPropertiesHelper.Name.UserClasspath.name(), 
userClasspath);
                        URL urlXml = this.getClass().getResource("/CR100.xml");
                        File file = new File(urlXml.getFile());
                        String crXml = file.getAbsolutePath();
-                       String crCfg = null;
-                       URL[] classLoaderUrls = new URL[userCP.length];
-                       int i = 0;
-                       for(String jar : userCP) {
-                               classLoaderUrls[i] = 
this.getClass().getResource(jar);
-                               i++;
-                       }
-                       ProxyJobDriverCollectionReader pjdcr = new 
ProxyJobDriverCollectionReader(classLoaderUrls, crXml, crCfg);
+                       
System.setProperty(SystemPropertiesHelper.Name.CollectionReaderXml.name(), 
crXml);
+                       ProxyJobDriverCollectionReader pjdcr = new 
ProxyJobDriverCollectionReader();
                        MetaCas mc = pjdcr.getMetaCas();
                        Object serializedCAS = mc.getSerializedCas();
                        Object exception = null;
                        String className = 
"org.apache.uima.ducc.user.jd.test.helper.TestJdContainerErrorHandler";
-                       ProxyJobDriverErrorHandler pjdeh = new 
ProxyJobDriverErrorHandler(Utilities.userCP, className, null);
+                       
System.setProperty(SystemPropertiesHelper.Name.UserErrorHandlerClassname.name(),
 className);
+                       ProxyJobDriverErrorHandler pjdeh = new 
ProxyJobDriverErrorHandler();
                        ProxyJobDriverDirective directive = 
pjdeh.handle(serializedCAS, exception);
                        assertTrue(directive.isKillJob() == true);
                        assertTrue(directive.isKillProcess() == true);
@@ -114,4 +107,5 @@ public class TestClassLoading extends AT
                        fail("Exception");
                }
        }
+       
 }

Modified: 
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/test/java/org/apache/uima/ducc/container/jd/test/TestDispatcher.java
URL: 
http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/test/java/org/apache/uima/ducc/container/jd/test/TestDispatcher.java?rev=1639325&r1=1639324&r2=1639325&view=diff
==============================================================================
--- 
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/test/java/org/apache/uima/ducc/container/jd/test/TestDispatcher.java
 (original)
+++ 
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/test/java/org/apache/uima/ducc/container/jd/test/TestDispatcher.java
 Thu Nov 13 13:57:53 2014
@@ -26,9 +26,8 @@ import java.net.URL;
 import java.util.ArrayList;
 import java.util.Random;
 
+import org.apache.uima.ducc.common.config.SystemPropertiesHelper;
 import org.apache.uima.ducc.container.jd.JobDriver;
-import org.apache.uima.ducc.container.jd.config.IJobDriverConfig;
-import org.apache.uima.ducc.container.jd.config.JobDriverConfig;
 import org.apache.uima.ducc.container.jd.mh.Dispatcher;
 import org.apache.uima.ducc.container.jd.mh.iface.IOperatingInfo;
 import org.apache.uima.ducc.container.jd.mh.iface.IProcessInfo;
@@ -107,12 +106,9 @@ public class TestDispatcher extends ATes
                        URL urlXml = this.getClass().getResource("/CR100.xml");
                        File file = new File(urlXml.getFile());
                        String crXml = file.getAbsolutePath();
-                       String crCfg = null;
-                       IJobDriverConfig jdCfg = new JobDriverConfig();
-                       jdCfg.setUserClasspath(Utilities.userCP);
-                       jdCfg.setCrXml(crXml);
-                       jdCfg.setCrCfg(crCfg);
-                       JobDriver.setInstance(jdCfg);
+                       
System.setProperty(SystemPropertiesHelper.Name.CollectionReaderXml.name(), 
crXml);
+                       String userClasspath = Utilities.userCP;
+                       
System.setProperty(SystemPropertiesHelper.Name.UserClasspath.name(), 
userClasspath);
                        int size = JobDriver.getInstance().getMap().size();
                        debug("map size:"+size);
                        Dispatcher dispatcher = new Dispatcher();
@@ -154,12 +150,9 @@ public class TestDispatcher extends ATes
                        URL urlXml = this.getClass().getResource("/CR100.xml");
                        File file = new File(urlXml.getFile());
                        String crXml = file.getAbsolutePath();
-                       String crCfg = null;
-                       IJobDriverConfig jdCfg = new JobDriverConfig();
-                       jdCfg.setUserClasspath(Utilities.userCP);
-                       jdCfg.setCrXml(crXml);
-                       jdCfg.setCrCfg(crCfg);
-                       JobDriver.setInstance(jdCfg);
+                       
System.setProperty(SystemPropertiesHelper.Name.CollectionReaderXml.name(), 
crXml);
+                       String userClasspath = Utilities.userCP;
+                       
System.setProperty(SystemPropertiesHelper.Name.UserClasspath.name(), 
userClasspath);
                        int size = JobDriver.getInstance().getMap().size();
                        debug("map size:"+size);
                        Dispatcher dispatcher = new Dispatcher();
@@ -210,12 +203,9 @@ public class TestDispatcher extends ATes
                        URL urlXml = this.getClass().getResource("/CR100.xml");
                        File file = new File(urlXml.getFile());
                        String crXml = file.getAbsolutePath();
-                       String crCfg = null;
-                       IJobDriverConfig jdCfg = new JobDriverConfig();
-                       jdCfg.setUserClasspath(Utilities.userCP);
-                       jdCfg.setCrXml(crXml);
-                       jdCfg.setCrCfg(crCfg);
-                       JobDriver.setInstance(jdCfg);
+                       
System.setProperty(SystemPropertiesHelper.Name.CollectionReaderXml.name(), 
crXml);
+                       String userClasspath = Utilities.userCP;
+                       
System.setProperty(SystemPropertiesHelper.Name.UserClasspath.name(), 
userClasspath);
                        int size = JobDriver.getInstance().getMap().size();
                        debug("map size:"+size);
                        Dispatcher dispatcher = new Dispatcher();
@@ -263,12 +253,9 @@ public class TestDispatcher extends ATes
                        URL urlXml = this.getClass().getResource("/CR100.xml");
                        File file = new File(urlXml.getFile());
                        String crXml = file.getAbsolutePath();
-                       String crCfg = null;
-                       IJobDriverConfig jdCfg = new JobDriverConfig();
-                       jdCfg.setUserClasspath(Utilities.userCP);
-                       jdCfg.setCrXml(crXml);
-                       jdCfg.setCrCfg(crCfg);
-                       JobDriver.setInstance(jdCfg);
+                       
System.setProperty(SystemPropertiesHelper.Name.CollectionReaderXml.name(), 
crXml);
+                       String userClasspath = Utilities.userCP;
+                       
System.setProperty(SystemPropertiesHelper.Name.UserClasspath.name(), 
userClasspath);
                        int size = JobDriver.getInstance().getMap().size();
                        debug("map size:"+size);
                        Dispatcher dispatcher = new Dispatcher();
@@ -346,12 +333,9 @@ public class TestDispatcher extends ATes
                        URL urlXml = this.getClass().getResource("/CR100.xml");
                        File file = new File(urlXml.getFile());
                        String crXml = file.getAbsolutePath();
-                       String crCfg = null;
-                       IJobDriverConfig jdCfg = new JobDriverConfig();
-                       jdCfg.setUserClasspath(Utilities.userCP);
-                       jdCfg.setCrXml(crXml);
-                       jdCfg.setCrCfg(crCfg);
-                       JobDriver.setInstance(jdCfg);
+                       
System.setProperty(SystemPropertiesHelper.Name.CollectionReaderXml.name(), 
crXml);
+                       String userClasspath = Utilities.userCP;
+                       
System.setProperty(SystemPropertiesHelper.Name.UserClasspath.name(), 
userClasspath);
                        int size = JobDriver.getInstance().getMap().size();
                        debug("map size:"+size);
                        Dispatcher dispatcher = new Dispatcher();
@@ -433,12 +417,9 @@ public class TestDispatcher extends ATes
                        URL urlXml = this.getClass().getResource("/CR100.xml");
                        File file = new File(urlXml.getFile());
                        String crXml = file.getAbsolutePath();
-                       String crCfg = null;
-                       IJobDriverConfig jdCfg = new JobDriverConfig();
-                       jdCfg.setUserClasspath(Utilities.userCP);
-                       jdCfg.setCrXml(crXml);
-                       jdCfg.setCrCfg(crCfg);
-                       JobDriver.setInstance(jdCfg);
+                       
System.setProperty(SystemPropertiesHelper.Name.CollectionReaderXml.name(), 
crXml);
+                       String userClasspath = Utilities.userCP;
+                       
System.setProperty(SystemPropertiesHelper.Name.UserClasspath.name(), 
userClasspath);
                        int size = JobDriver.getInstance().getMap().size();
                        debug("map size:"+size);
                        Dispatcher dispatcher = new Dispatcher();
@@ -497,16 +478,13 @@ public class TestDispatcher extends ATes
                        URL urlXml = this.getClass().getResource("/CR100.xml");
                        File file = new File(urlXml.getFile());
                        String crXml = file.getAbsolutePath();
-                       String crCfg = null;
-                       IJobDriverConfig jdCfg = new JobDriverConfig();
-                       jdCfg.setUserClasspath(Utilities.userCP);
-                       jdCfg.setCrXml(crXml);
-                       jdCfg.setCrCfg(crCfg);
+                       
System.setProperty(SystemPropertiesHelper.Name.CollectionReaderXml.name(), 
crXml);
+                       String userClasspath = Utilities.userCP;
+                       
System.setProperty(SystemPropertiesHelper.Name.UserClasspath.name(), 
userClasspath);
                        //
                        String ehcp = "KillJobLimit="+2;
-                       jdCfg.setErrorHandlerConfigurationParameters(ehcp);
+                       
System.setProperty(SystemPropertiesHelper.Name.UserErrorHandlerCfg.name(), 
ehcp);
                        //
-                       JobDriver.setInstance(jdCfg);
                        int size = JobDriver.getInstance().getMap().size();
                        debug("map size:"+size);
                        Dispatcher dispatcher = new Dispatcher();
@@ -582,14 +560,13 @@ public class TestDispatcher extends ATes
                        URL urlXml = this.getClass().getResource("/CR100.xml");
                        File file = new File(urlXml.getFile());
                        String crXml = file.getAbsolutePath();
-                       String crCfg = null;
-                       IJobDriverConfig jdCfg = new JobDriverConfig();
-                       jdCfg.setUserClasspath(Utilities.userCP);
-                       jdCfg.setCrXml(crXml);
-                       jdCfg.setCrCfg(crCfg);
+                       
System.setProperty(SystemPropertiesHelper.Name.CollectionReaderXml.name(), 
crXml);
+                       String userClasspath = Utilities.userCP;
+                       
System.setProperty(SystemPropertiesHelper.Name.UserClasspath.name(), 
userClasspath);
+                       //
                        String eh = 
"org.apache.uima.ducc.user.jd.test.helper.TestJdContainerErrorHandlerRandomRetry";
-                       jdCfg.setErrorHandlerClassName(eh);
-                       JobDriver.setInstance(jdCfg);
+                       
System.setProperty(SystemPropertiesHelper.Name.UserErrorHandlerClassname.name(),
 eh);
+                       //
                        int size = JobDriver.getInstance().getMap().size();
                        debug("map size:"+size);
                        Dispatcher dispatcher = new Dispatcher();
@@ -651,4 +628,5 @@ public class TestDispatcher extends ATes
                }
                return retVal;
        }
+
 }

Modified: 
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/test/java/org/apache/uima/ducc/container/jd/test/TestSuite.java
URL: 
http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/test/java/org/apache/uima/ducc/container/jd/test/TestSuite.java?rev=1639325&r1=1639324&r2=1639325&view=diff
==============================================================================
--- 
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/test/java/org/apache/uima/ducc/container/jd/test/TestSuite.java
 (original)
+++ 
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/test/java/org/apache/uima/ducc/container/jd/test/TestSuite.java
 Thu Nov 13 13:57:53 2014
@@ -25,6 +25,7 @@ import java.io.File;
 import java.net.URL;
 import java.util.ArrayList;
 
+import org.apache.uima.ducc.common.config.SystemPropertiesHelper;
 import org.apache.uima.ducc.container.jd.JobDriverException;
 import org.apache.uima.ducc.container.jd.cas.CasManager;
 import org.apache.uima.ducc.container.jd.cas.CasManagerStats.RetryReason;
@@ -46,16 +47,19 @@ public class TestSuite extends ATest {
        private void checkCas(String cas) {
                assertTrue(cas.startsWith(prefix0) || cas.startsWith(prefix1));
        }
+       private void config() {
+               URL urlXml = this.getClass().getResource("/CR100.xml");
+               File file = new File(urlXml.getFile());
+               String crXml = file.getAbsolutePath();
+               
System.setProperty(SystemPropertiesHelper.Name.CollectionReaderXml.name(), 
crXml);
+               String userClasspath = Utilities.userCP;
+               
System.setProperty(SystemPropertiesHelper.Name.UserClasspath.name(), 
userClasspath);
+       }
        
-       private void testIncludeAll(String[] userCP, String crXml, String 
crCfg) {
+       private void testIncludeAll() {
                try {
-                       URL[] classLoaderUrls = new URL[userCP.length];
-                       int i = 0;
-                       for(String jar : userCP) {
-                               classLoaderUrls[i] = 
this.getClass().getResource(jar);
-                               i++;
-                       }
-                       new ProxyJobDriverCollectionReader(classLoaderUrls, 
crXml, crCfg);
+                       config();
+                       new ProxyJobDriverCollectionReader();
                }
                catch(Exception e) {
                        e.printStackTrace();
@@ -68,30 +72,33 @@ public class TestSuite extends ATest {
                if(isDisabled(this.getClass().getName())) {
                        return;
                }
-               URL urlXml = this.getClass().getResource("/CR100.xml");
-               File file = new File(urlXml.getFile());
-               String crXml = file.getAbsolutePath();
-               String crCfg = null;
-               testIncludeAll(Utilities.userCP, crXml, crCfg);
+               testIncludeAll();
        }
        
-       private void testExcludeOne(String[] userCP, String crXml, String 
crCfg, int skip) {
+       private void testExcludeOne(int skip) {
                try {
-                       URL[] classLoaderUrls = new URL[userCP.length-1];
-                       int index = 0;
-                       for(int i=0; i<userCP.length; i++) {
-                               String jar = userCP[i];
+                       URL urlXml = this.getClass().getResource("/CR100.xml");
+                       File file = new File(urlXml.getFile());
+                       String crXml = file.getAbsolutePath();
+                       
System.setProperty(SystemPropertiesHelper.Name.CollectionReaderXml.name(), 
crXml);
+                       String userClasspath = Utilities.userCP;
+                       String[] classpathParts = 
userClasspath.split(File.pathSeparator);
+                       StringBuffer sb = new StringBuffer();
+                       for(int i=0; i<classpathParts.length; i++) {
+                               String jar = classpathParts[i];
                                if(i == skip) {
                                        debug(i+" skip: "+jar);
                                }
                                else {
                                        debug(i+" use: "+jar);
-                                       classLoaderUrls[index] = 
this.getClass().getResource(jar);
-                                       index++;
+                                       
sb.append(this.getClass().getResource(jar));
+                                       sb.append(File.pathSeparator);
                                }
                        }
                        try {
-                               new 
ProxyJobDriverCollectionReader(classLoaderUrls, crXml, crCfg);
+                               String userPartialClasspath = sb.toString();
+                               
System.setProperty(SystemPropertiesHelper.Name.UserClasspath.name(), 
userPartialClasspath);
+                               new ProxyJobDriverCollectionReader();
                                fail("Exception missing...?");
                        }
                        catch(JobDriverException e) {
@@ -109,25 +116,18 @@ public class TestSuite extends ATest {
                if(isDisabled(this.getClass().getName())) {
                        return;
                }
-               URL urlXml = this.getClass().getResource("/CR100.xml");
-               File file = new File(urlXml.getFile());
-               String crXml = file.getAbsolutePath();
-               String crCfg = null;
-               testExcludeOne(Utilities.userCP, crXml, crCfg, 2);
-               for(int i=0; i<Utilities.userCP.length; i++) {
-                       testExcludeOne(Utilities.userCP, crXml, crCfg, i);
+               testExcludeOne(2);
+               String[] cpParts = Utilities.userCP.split(File.pathSeparator);
+               for(int i=0; i<cpParts.length; i++) {
+                       testExcludeOne(i);
                }
        }
        
-       private void testNoXml(String[] userCP, String crXml, String crCfg) {
+       private void testNoXml() {
                try {
-                       URL[] classLoaderUrls = new URL[userCP.length];
-                       int i = 0;
-                       for(String jar : userCP) {
-                               classLoaderUrls[i] = 
this.getClass().getResource(jar);
-                               i++;
-                       }
-                       new ProxyJobDriverCollectionReader(classLoaderUrls, 
crXml, crCfg);
+                       String userClasspath = Utilities.userCP;
+                       
System.setProperty(SystemPropertiesHelper.Name.UserClasspath.name(), 
userClasspath);
+                       new ProxyJobDriverCollectionReader();
                        fail("Exception missing...?");
                }
                catch(JobDriverException e) {
@@ -144,20 +144,13 @@ public class TestSuite extends ATest {
                if(isDisabled(this.getClass().getName())) {
                        return;
                }
-               String crXml = null;
-               String crCfg = null;
-               testNoXml(Utilities.userCP, crXml, crCfg);
+               testNoXml();
        }
        
-       private void getTotal(String[] userCP, String crXml, String crCfg) {
+       private void getTotal() {
                try {
-                       URL[] classLoaderUrls = new URL[userCP.length];
-                       int i = 0;
-                       for(String jar : userCP) {
-                               classLoaderUrls[i] = 
this.getClass().getResource(jar);
-                               i++;
-                       }
-                       ProxyJobDriverCollectionReader pjdcr = new 
ProxyJobDriverCollectionReader(classLoaderUrls, crXml, crCfg);
+                       config();
+                       ProxyJobDriverCollectionReader pjdcr = new 
ProxyJobDriverCollectionReader();
                        int total = pjdcr.getTotal();
                        assertTrue(total == 100);
                        debug("total: "+total);
@@ -173,22 +166,14 @@ public class TestSuite extends ATest {
                if(isDisabled(this.getClass().getName())) {
                        return;
                }
-               URL urlXml = this.getClass().getResource("/CR100.xml");
-               File file = new File(urlXml.getFile());
-               String crXml = file.getAbsolutePath();
-               String crCfg = null;
-               getTotal(Utilities.userCP, crXml, crCfg);
+               getTotal();
        }
-       
-       private void getMetaCas(String[] userCP, String crXml, String crCfg) {
+
+
+       private void getMetaCas() {
                try {
-                       URL[] classLoaderUrls = new URL[userCP.length];
-                       int i = 0;
-                       for(String jar : userCP) {
-                               classLoaderUrls[i] = 
this.getClass().getResource(jar);
-                               i++;
-                       }
-                       ProxyJobDriverCollectionReader pjdcr = new 
ProxyJobDriverCollectionReader(classLoaderUrls, crXml, crCfg);
+                       config();
+                       ProxyJobDriverCollectionReader pjdcr = new 
ProxyJobDriverCollectionReader();
                        MetaCas mc = pjdcr.getMetaCas();
                        int seqNo = mc.getSeqNo();
                        asExpected("seqNo = "+seqNo);
@@ -211,13 +196,9 @@ public class TestSuite extends ATest {
                if(isDisabled(this.getClass().getName())) {
                        return;
                }
-               URL urlXml = this.getClass().getResource("/CR100.xml");
-               File file = new File(urlXml.getFile());
-               String crXml = file.getAbsolutePath();
-               String crCfg = null;
-               getMetaCas(Utilities.userCP, crXml, crCfg);
+               getMetaCas();
        }
-       
+
        private void getMetaCases(ProxyJobDriverCollectionReader pjdcr, int 
total) throws JobDriverException {
                for(int c=1; c <= total; c++) {
                        MetaCas mc = pjdcr.getMetaCas();
@@ -233,15 +214,10 @@ public class TestSuite extends ATest {
                }
        }
        
-       private void getMetaCases(String[] userCP, String crXml, String crCfg, 
int extra) {
+       private void getMetaCases(int extra) {
                try {
-                       URL[] classLoaderUrls = new URL[userCP.length];
-                       int i = 0;
-                       for(String jar : userCP) {
-                               classLoaderUrls[i] = 
this.getClass().getResource(jar);
-                               i++;
-                       }
-                       ProxyJobDriverCollectionReader pjdcr = new 
ProxyJobDriverCollectionReader(classLoaderUrls, crXml, crCfg);
+                       config();
+                       ProxyJobDriverCollectionReader pjdcr = new 
ProxyJobDriverCollectionReader();
                        int total = pjdcr.getTotal();
                        getMetaCases(pjdcr, total);
                        if(extra > 0) {
@@ -262,11 +238,7 @@ public class TestSuite extends ATest {
                if(isDisabled(this.getClass().getName())) {
                        return;
                }
-               URL urlXml = this.getClass().getResource("/CR100.xml");
-               File file = new File(urlXml.getFile());
-               String crXml = file.getAbsolutePath();
-               String crCfg = null;
-               getMetaCases(Utilities.userCP, crXml, crCfg, 0);
+               getMetaCases(0);
        }
        
        @Test
@@ -274,11 +246,7 @@ public class TestSuite extends ATest {
                if(isDisabled(this.getClass().getName())) {
                        return;
                }
-               URL urlXml = this.getClass().getResource("/CR100.xml");
-               File file = new File(urlXml.getFile());
-               String crXml = file.getAbsolutePath();
-               String crCfg = null;
-               getMetaCases(Utilities.userCP, crXml, crCfg, 10);
+               getMetaCases(10);
        }
        
        @Test
@@ -287,11 +255,8 @@ public class TestSuite extends ATest {
                        return;
                }
                try {
-                       URL urlXml = this.getClass().getResource("/CR100.xml");
-                       File file = new File(urlXml.getFile());
-                       String crXml = file.getAbsolutePath();
-                       String crCfg = null;
-                       CasManager cm = new CasManager(Utilities.userCP, crXml, 
crCfg);
+                       config();
+                       CasManager cm = new CasManager();
                        int total = cm.getCasManagerStats().getCrTotal();
                        assertTrue(total == 100);
                        IMetaCas metaCas = cm.getMetaCas();

Modified: 
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/test/java/org/apache/uima/ducc/container/jd/test/helper/Utilities.java
URL: 
http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/test/java/org/apache/uima/ducc/container/jd/test/helper/Utilities.java?rev=1639325&r1=1639324&r2=1639325&view=diff
==============================================================================
--- 
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/test/java/org/apache/uima/ducc/container/jd/test/helper/Utilities.java
 (original)
+++ 
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/test/java/org/apache/uima/ducc/container/jd/test/helper/Utilities.java
 Thu Nov 13 13:57:53 2014
@@ -20,12 +20,16 @@ package org.apache.uima.ducc.container.j
 
 public class Utilities {
        
-       public static String[] userCP = { 
-                       "/",
-                       "/uima-ducc-user.jar",
-                       "/uimaj-as-core.jar",
-                       "/uimaj-core.jar",
+       public static String userCP =
+                       "/" +
+                       ":" +
+                       "/uima-ducc-user.jar" +
+                       ":" +
+                       "/uimaj-as-core.jar" +
+                       ":" +
+                       "/uimaj-core.jar" +
+                       ":" +
                        "/xstream-1.3.1.jar"
-       };
+       ;
 
 }


Reply via email to