You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by de...@apache.org on 2014/11/13 14:57:54 UTC

svn commit: r1639325 - in /uima/sandbox/uima-ducc/trunk/uima-ducc-container/src: main/java/org/apache/uima/ducc/container/jd/ main/java/org/apache/uima/ducc/container/jd/cas/ main/java/org/apache/uima/ducc/container/jd/classload/ main/java/org/apache/u...

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"
-	};
+	;
 
 }