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 2015/01/26 15:33:38 UTC

svn commit: r1654813 - in /uima/sandbox/uima-ducc/trunk/uima-ducc-container/src: main/java/org/apache/uima/ducc/container/dgen/ main/java/org/apache/uima/ducc/container/dgen/classload/ main/java/org/apache/uima/ducc/container/jd/mh/ main/java/org/apach...

Author: degenaro
Date: Mon Jan 26 14:33:37 2015
New Revision: 1654813

URL: http://svn.apache.org/r1654813
Log:
UIMA-4069 DUCC Job Driver (JD) system classpath

support DD jobs

Added:
    uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/dgen/classload/ProxyDeployableGeneration.java
      - copied, changed from r1654292, uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/dgen/classload/ProxyAeGenerate.java
    uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/dgen/classload/ProxyDeployableGenerationException.java
      - copied, changed from r1654292, uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/dgen/classload/ProxyAeException.java
Removed:
    uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/dgen/classload/ProxyAeException.java
    uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/dgen/classload/ProxyAeGenerate.java
Modified:
    uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/dgen/DgenManager.java
    uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/mh/MessageHandler.java
    uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/mh/iface/IOperatingInfo.java
    uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/mh/impl/OperatingInfo.java
    uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/test/java/org/apache/uima/ducc/container/jd/test/TestClassLoading.java

Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/dgen/DgenManager.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/dgen/DgenManager.java?rev=1654813&r1=1654812&r2=1654813&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/dgen/DgenManager.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/dgen/DgenManager.java Mon Jan 26 14:33:37 2015
@@ -25,16 +25,16 @@ import org.apache.uima.ducc.container.co
 import org.apache.uima.ducc.container.common.logger.IComponent;
 import org.apache.uima.ducc.container.common.logger.ILogger;
 import org.apache.uima.ducc.container.common.logger.Logger;
-import org.apache.uima.ducc.container.dgen.classload.ProxyAeException;
-import org.apache.uima.ducc.container.dgen.classload.ProxyAeGenerate;
+import org.apache.uima.ducc.container.dgen.classload.ProxyDeployableGenerationException;
+import org.apache.uima.ducc.container.dgen.classload.ProxyDeployableGeneration;
 
 public class DgenManager {
 
 	private static Logger logger = Logger.getLogger(DgenManager.class, IComponent.Id.JD.name());
 
-	private String dgen = null;
+	private String deployable = null;
 	
-	private ProxyAeGenerate proxy = null;
+	private ProxyDeployableGeneration proxy = null;
 	
 	public DgenManager() throws DgenException {
 		initialize();
@@ -75,22 +75,32 @@ public class DgenManager {
 			List<String> ccOverrides,
 			String cmDescriptor,
 			List<String> cmOverrides,
-			String dgen) throws DgenException {
+			String referenceByName) throws DgenException {
 		String location = "initialize";
 		try {
-			if(dgen == null) {
-				proxy = new ProxyAeGenerate();
+			if(referenceByName == null) {
+				proxy = new ProxyDeployableGeneration();
 				String value = proxy.generate(jobDirectory, jobId, dgenName, dgenDescription, dgenThreadCount, dgenBrokerURL, dgenBrokerEndpoint, flowController, cmDescriptor, cmOverrides, aeDescriptor, aeOverrides, ccDescriptor, ccOverrides);
-				setAe(value);
-				logger.info(location, null, "generated dgen: "+value);
+				setDeployable(value);
+				logger.info(location, null, "from parts: "+value);
 			}
 			else {
-				setAe(dgen);
-				logger.info(location, null, "specified dgen: "+dgen);
+				String specification = referenceByName.trim();
+				if(specification.endsWith(".xml")) {
+					setDeployable(specification);
+					logger.info(location, null, "specified: "+specification);
+				}
+				else {
+					proxy = new ProxyDeployableGeneration();
+					String value = proxy.generate(jobDirectory, jobId, dgenName, dgenDescription, dgenThreadCount, dgenBrokerURL, dgenBrokerEndpoint, flowController, specification);
+					setDeployable(value);
+					logger.info(location, null, "reference by name: "+value);
+				}
+				
 			}
 			
 		}
-		catch(ProxyAeException e) {
+		catch(ProxyDeployableGenerationException e) {
 			logger.error(location, ILogger.null_id, e);
 			throw new DgenException(e);
 		}
@@ -115,11 +125,11 @@ public class DgenManager {
 		return retVal;
 	}
 	
-	public String getAe() {
-		return dgen;
+	public String getDeployable() {
+		return deployable;
 	}
 	
-	private void setAe(String value) {
-		dgen = value;
+	private void setDeployable(String value) {
+		deployable = value;
 	}
 }

Copied: uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/dgen/classload/ProxyDeployableGeneration.java (from r1654292, uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/dgen/classload/ProxyAeGenerate.java)
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/dgen/classload/ProxyDeployableGeneration.java?p2=uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/dgen/classload/ProxyDeployableGeneration.java&p1=uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/dgen/classload/ProxyAeGenerate.java&r1=1654292&r2=1654813&rev=1654813&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/dgen/classload/ProxyAeGenerate.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/dgen/classload/ProxyDeployableGeneration.java Mon Jan 26 14:33:37 2015
@@ -35,20 +35,20 @@ import org.apache.uima.ducc.container.co
 import org.apache.uima.ducc.container.common.logger.ILogger;
 import org.apache.uima.ducc.container.common.logger.Logger;
 
-public class ProxyAeGenerate {
+public class ProxyDeployableGeneration {
 
-	private static Logger logger = Logger.getLogger(ProxyAeGenerate.class, IComponent.Id.JD.name());
+	private static Logger logger = Logger.getLogger(ProxyDeployableGeneration.class, IComponent.Id.JD.name());
 	
 	private URLClassLoader urlClassLoader = null;
 
 	private String[] requiredClasses = { 
-			"org.apache.uima.ducc.user.dgen.iface.AeException", 
-			"org.apache.uima.ducc.user.dgen.iface.AeGenerate",
-			"org.apache.uima.ducc.user.dgen.iface.IAeGenerate",
+			"org.apache.uima.ducc.user.dgen.iface.DeployableGenerationException", 
+			"org.apache.uima.ducc.user.dgen.iface.DeployableGeneration",
+			"org.apache.uima.ducc.user.dgen.iface.IDeployableGeneration",
 			"org.apache.uima.aae.UimaSerializer",
 			};
 	
-	public ProxyAeGenerate() throws ProxyAeException {
+	public ProxyDeployableGeneration() throws ProxyDeployableGenerationException {
 		initialize();
 	}
 	
@@ -90,7 +90,7 @@ public class ProxyAeGenerate {
 			List<String> aeOverrides, 
 			String ccDescriptor,
 			List<String> ccOverrides
-			) throws ProxyAeException
+			) throws ProxyDeployableGenerationException
 	{
 		String location = "generate";
 		String retVal = null;
@@ -109,7 +109,7 @@ public class ProxyAeGenerate {
 			show("aeOverrides", aeOverrides);
 			show("ccDescriptor", ccDescriptor);
 			show("ccOverrides", ccOverrides);
-			Class<?> clazz = urlClassLoader.loadClass("org.apache.uima.ducc.user.dgen.iface.AeGenerate");
+			Class<?> clazz = urlClassLoader.loadClass("org.apache.uima.ducc.user.dgen.iface.DeployableGeneration");
 			Constructor<?> constructor = clazz.getConstructor();
 			Object instance = constructor.newInstance();
 			Class<?>[] parameterTypes = { 
@@ -151,11 +151,74 @@ public class ProxyAeGenerate {
 		}
 		catch(Exception e) {
 			logger.error(location, ILogger.null_id, e);
-			throw new ProxyAeException(e.toString());
+			throw new ProxyDeployableGenerationException(e.toString());
 		}
 		return retVal;
 	}
 	
+	
+	public String generate(
+			String directory, 
+			String id,
+			String dgenName,
+			String dgenDescription,
+			Integer dgenThreadCount,
+			String dgenBrokerURL,
+			String dgenEndpoint,
+			String dgenFlowController,
+			String referenceByName
+			) throws ProxyDeployableGenerationException
+	{
+		String location = "generate";
+		String retVal = null;
+		try {
+			show("directory", directory);
+			show("id", id);
+			show("dgenName", dgenName);
+			show("dgenDescription", dgenDescription);
+			show("dgenThreadCount", dgenThreadCount);
+			show("dgenBrokerURL", dgenBrokerURL);
+			show("dgenEndpoint", dgenEndpoint);
+			show("degnFlowController", dgenFlowController);
+			show("referenceByName", referenceByName);
+			Class<?> clazz = urlClassLoader.loadClass("org.apache.uima.ducc.user.dgen.iface.DeployableGeneration");
+			Constructor<?> constructor = clazz.getConstructor();
+			Object instance = constructor.newInstance();
+			Class<?>[] parameterTypes = { 
+					String.class,	// directory
+					String.class,	// id
+					String.class,	// dgenName
+					String.class,	// dgenDescription
+					Integer.class,	// dgenThreadCount
+					String.class,	// dgenBrokerURL
+					String.class,	// dgenEndpoint
+					String.class,	// dgenFlowController
+					String.class,	// referenceByName
+			};
+			Method method = clazz.getMethod("generate", parameterTypes);
+			Object[] args = { 
+					directory, 
+					id, 
+					dgenName, 
+					dgenDescription, 
+					dgenThreadCount, 
+					dgenBrokerURL, 
+					dgenEndpoint,
+					dgenFlowController,
+					referenceByName
+					};
+			String dgen = (String) method.invoke(instance, args);
+			show("generated deployment descriptor", dgen);
+			retVal = dgen;
+		}
+		catch(Exception e) {
+			logger.error(location, ILogger.null_id, e);
+			throw new ProxyDeployableGenerationException(e.toString());
+		}
+		return retVal;
+	}
+	
+	
 	private String getUimaAsDirectory() throws Exception {
 		String location = "getUimaAsDirectory";
 		try {
@@ -180,7 +243,7 @@ public class ProxyAeGenerate {
 		}
 	}
 	
-	private String augmentUserClasspath() throws ProxyAeException {
+	private String augmentUserClasspath() throws ProxyDeployableGenerationException {
 		String location = "augmentUserClasspath";
 		try {
 			StringBuffer sb = new StringBuffer();
@@ -197,10 +260,10 @@ public class ProxyAeGenerate {
 		}
 		catch(Exception e) {
 			logger.error(location, ILogger.null_id, e);
-			throw new ProxyAeException(e);
+			throw new ProxyDeployableGenerationException(e);
 		}
 	}
-	private void initialize() throws ProxyAeException {
+	private void initialize() throws ProxyDeployableGenerationException {
 		String userClasspath = augmentUserClasspath();
 		urlClassLoader = createClassLoader(userClasspath);
 		validate();
@@ -218,13 +281,13 @@ public class ProxyAeGenerate {
 		return retVal;
 	}
 	
-	private void validate() throws ProxyAeException {
+	private void validate() throws ProxyDeployableGenerationException {
 		for(String className : requiredClasses) {
 			loadClass(className);
 		}
 	}
 	
-	private void loadClass(String className) throws ProxyAeException {
+	private void loadClass(String className) throws ProxyDeployableGenerationException {
 		String location = "loadClass";
 		try {
 			MessageBuffer mb1 = new MessageBuffer();
@@ -240,10 +303,10 @@ public class ProxyAeGenerate {
 			logger.trace(location, ILogger.null_id, mb2.toString());
 		} 
 		catch (Exception e) {
-			DuccLogger duccLogger = DuccLogger.getLogger(ProxyAeGenerate.class, "JD");
+			DuccLogger duccLogger = DuccLogger.getLogger(ProxyDeployableGeneration.class, "JD");
 			duccLogger.error(location, null, e);
 			logger.error(location, ILogger.null_id, e);
-			throw new ProxyAeException(e);
+			throw new ProxyDeployableGenerationException(e);
 		}
 	}
 }

Copied: uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/dgen/classload/ProxyDeployableGenerationException.java (from r1654292, uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/dgen/classload/ProxyAeException.java)
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/dgen/classload/ProxyDeployableGenerationException.java?p2=uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/dgen/classload/ProxyDeployableGenerationException.java&p1=uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/dgen/classload/ProxyAeException.java&r1=1654292&r2=1654813&rev=1654813&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/dgen/classload/ProxyAeException.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/dgen/classload/ProxyDeployableGenerationException.java Mon Jan 26 14:33:37 2015
@@ -18,15 +18,15 @@
 */
 package org.apache.uima.ducc.container.dgen.classload;
 
-public class ProxyAeException extends Exception {
+public class ProxyDeployableGenerationException extends Exception {
 
 	private static final long serialVersionUID = 1L;
 	
-	public ProxyAeException(String text) {
+	public ProxyDeployableGenerationException(String text) {
 		super(text);
 	}
 	
-	public ProxyAeException(Exception e) {
+	public ProxyDeployableGenerationException(Exception e) {
 		super(e);
 	}
 }

Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/mh/MessageHandler.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/mh/MessageHandler.java?rev=1654813&r1=1654812&r2=1654813&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/mh/MessageHandler.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/mh/MessageHandler.java Mon Jan 26 14:33:37 2015
@@ -122,7 +122,7 @@ public class MessageHandler implements I
 			IRunningWorkItemStatistics rwis = RunningWorkItemStatistics.getCurrent();
 			DgenManager dgenManager = jd.getDdManager();
 			oi.setJobId(jd.getJobId());
-			oi.setJpAe(dgenManager.getAe());
+			oi.setJpDeployable(dgenManager.getDeployable());
 			oi.setWorkItemCrTotal(cms.getCrTotal());
 			oi.setWorkItemCrFetches(cms.getCrGets());
 			oi.setWorkItemJpGets(gets.get());

Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/mh/iface/IOperatingInfo.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/mh/iface/IOperatingInfo.java?rev=1654813&r1=1654812&r2=1654813&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/mh/iface/IOperatingInfo.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/mh/iface/IOperatingInfo.java Mon Jan 26 14:33:37 2015
@@ -34,8 +34,8 @@ public interface IOperatingInfo extends
 	public void setJobId(String value);
 	public String getJobId();
 
-	public void setJpAe(String value);
-	public String getJpAe();
+	public void setJpDeployable(String value);
+	public String getJpDeployable();
 	
 	public void setWorkItemCrTotal(int value);
 	public int getWorkItemCrTotal();

Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/mh/impl/OperatingInfo.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/mh/impl/OperatingInfo.java?rev=1654813&r1=1654812&r2=1654813&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/mh/impl/OperatingInfo.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/mh/impl/OperatingInfo.java Mon Jan 26 14:33:37 2015
@@ -32,7 +32,7 @@ public class OperatingInfo implements IO
 	
 	private String jobId = null;
 	
-	private String jpAe = null;
+	private String jpDeployable = null;
 	
 	private int crTotal = 0;
 	private int crFetches = 0;
@@ -322,13 +322,13 @@ public class OperatingInfo implements IO
 	}
 	
 	@Override
-	public void setJpAe(String value) {
-		jpAe = value;
+	public void setJpDeployable(String value) {
+		jpDeployable = value;
 	}
 
 	@Override
-	public String getJpAe() {
-		return jpAe;
+	public String getJpDeployable() {
+		return jpDeployable;
 	}
 
 }

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=1654813&r1=1654812&r2=1654813&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 Mon Jan 26 14:33:37 2015
@@ -31,7 +31,7 @@ import java.util.List;
 
 import org.apache.uima.ducc.common.container.FlagsHelper;
 import org.apache.uima.ducc.container.common.classloader.PrivateClassLoader;
-import org.apache.uima.ducc.container.dgen.classload.ProxyAeGenerate;
+import org.apache.uima.ducc.container.dgen.classload.ProxyDeployableGeneration;
 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;
@@ -142,7 +142,7 @@ public class TestClassLoading extends AT
 			}
 			String userClasspath = Utilities.getInstance().getUserCP();
 			System.setProperty(FlagsHelper.Name.UserClasspath.pname(), userClasspath);
-			ProxyAeGenerate proxy = new ProxyAeGenerate();
+			ProxyDeployableGeneration proxy = new ProxyDeployableGeneration();
 			//
 			URL url = this.getClass().getResource("/");
 			File root = new File(url.getFile());