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