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/20 12:45:06 UTC

svn commit: r1640725 - in /uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/configuration/jd: JobDriverComponent.java JobDriverConfiguration.java JobDriverEventListener.java iface/IJobDriverComponent.java

Author: degenaro
Date: Thu Nov 20 11:45:05 2014
New Revision: 1640725

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

JobDriverProcesses - receives Jp requests and returns Jd responses.

Modified:
    uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/configuration/jd/JobDriverComponent.java
    uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/configuration/jd/JobDriverConfiguration.java
    uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/configuration/jd/JobDriverEventListener.java
    uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/configuration/jd/iface/IJobDriverComponent.java

Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/configuration/jd/JobDriverComponent.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/configuration/jd/JobDriverComponent.java?rev=1640725&r1=1640724&r2=1640725&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/configuration/jd/JobDriverComponent.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/configuration/jd/JobDriverComponent.java Thu Nov 20 11:45:05 2014
@@ -34,7 +34,6 @@ import org.apache.uima.ducc.container.jd
 import org.apache.uima.ducc.container.jd.mh.IMessageHandler;
 import org.apache.uima.ducc.container.jd.mh.iface.IOperatingInfo;
 import org.apache.uima.ducc.container.net.iface.IMetaCasTransaction;
-import org.apache.uima.ducc.container.net.iface.IMetaCasTransaction.Direction;
 import org.apache.uima.ducc.transport.configuration.jd.iface.IJobDriverComponent;
 import org.apache.uima.ducc.transport.event.JdStateDuccEvent;
 import org.apache.uima.ducc.transport.event.jd.IDriverStatusReport;
@@ -121,10 +120,9 @@ implements IJobDriverComponent {
 	}
 
 	@Override
-	public void onJpRequestDuccEvent(IMetaCasTransaction metaCasTransaction) throws Exception {
-		String location = "onJpRequestDuccEvent";
+	public void handleJpRequest(IMetaCasTransaction metaCasTransaction) throws Exception {
+		String location = "handleJpRequest";
 		try {
-			metaCasTransaction.setDirection(Direction.Response);
 			IMessageHandler mh = JobDriver.getInstance().getMessageHandler();
 			mh.handleMetaCasTransation(metaCasTransaction);
 		}

Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/configuration/jd/JobDriverConfiguration.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/configuration/jd/JobDriverConfiguration.java?rev=1640725&r1=1640724&r2=1640725&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/configuration/jd/JobDriverConfiguration.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/configuration/jd/JobDriverConfiguration.java Thu Nov 20 11:45:05 2014
@@ -30,7 +30,6 @@ import org.apache.uima.ducc.common.utils
 import org.apache.uima.ducc.common.utils.id.DuccId;
 import org.apache.uima.ducc.container.net.iface.IMetaCasTransaction;
 import org.apache.uima.ducc.container.net.iface.IMetaCasTransaction.Direction;
-import org.apache.uima.ducc.container.net.impl.MetaCas;
 import org.apache.uima.ducc.container.net.impl.MetaCasTransaction;
 import org.apache.uima.ducc.transport.DuccTransportConfiguration;
 import org.apache.uima.ducc.transport.configuration.jd.iface.IJobDriverComponent;
@@ -110,9 +109,10 @@ import org.springframework.context.annot
 			    };
 
 		}
-		private RouteBuilder routeBuilderForJpIncomingRequests(final CamelContext camelContext, final int port, final String app) throws Exception {
+		private RouteBuilder routeBuilderForJpIncomingRequests(final JobDriverComponent jdc, final int port, final String app) throws Exception {
 		    return new RouteBuilder() {
 		        public void configure() throws Exception {
+		        	CamelContext camelContext = jdc.getContext();
 		            JettyHttpComponent jetty = new JettyHttpComponent();
 		            jetty.setMaxThreads(4);  // Need to parameterize
 		            jetty.setMinThreads(1);
@@ -120,28 +120,27 @@ import org.springframework.context.annot
 		            // listen on all interfaces.
 		            from("jetty:http://0.0.0.0:" + port + "/"+app)
 		            .unmarshal().xstream().
-		            process(new JobDriverProcessor()).marshal().xstream();
+		            process(new JobDriverProcessor(jdc)).marshal().xstream();
 		        }
 		    };
 		}
 		
 		public static class JobDriverProcessor  implements Processor {
+			private 	IJobDriverComponent jdc;
+			
+			private JobDriverProcessor(IJobDriverComponent jdc) {
+				this.jdc = jdc;
+			}
 		    public void process(Exchange exchange) throws Exception {
 		        // Get the transaction object sent by the JP
 		    	IMetaCasTransaction imt = 
 		        		exchange.getIn().getBody(MetaCasTransaction.class);
 		        
-		    	//
-		    	// do all processing here
-		    	//
+		    	// process JP's request
+		    	jdc.handleJpRequest(imt);
 		    	
 		    	// setup reply 
 		    	imt.setDirection(Direction.Response);
-		        String key = "XMI CAS";   // whatever
-		        String xmi = new String("Blob"); // for testing
-		        // Add serialized CAS to the outgoing message
-                MetaCas metaCas = new MetaCas(1, key, xmi);
-		        imt.setMetaCas(metaCas);
 
 		        exchange.getOut().setHeader("content-type", "text/xml");
 		        // ship it!
@@ -189,7 +188,7 @@ import org.springframework.context.annot
 			
 			int port = Utils.findFreePort();
 			String jdUniqueId = "jdApp";
-			jdc.getContext().addRoutes(this.routeBuilderForJpIncomingRequests(jdc.getContext(), port, jdUniqueId));
+			jdc.getContext().addRoutes(this.routeBuilderForJpIncomingRequests(jdc, port, jdUniqueId));
 			logger.debug(location, jobid, "endpoint: "+common.jdStateUpdateEndpoint+" "+"rate: "+common.jdStatePublishRate);
 			jdc.getContext().addRoutes(this.routeBuilderForJdStatePost(jdc, common.jdStateUpdateEndpoint, Integer.parseInt(common.jdStatePublishRate)));
 			return jdc;

Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/configuration/jd/JobDriverEventListener.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/configuration/jd/JobDriverEventListener.java?rev=1640725&r1=1640724&r2=1640725&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/configuration/jd/JobDriverEventListener.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/configuration/jd/JobDriverEventListener.java Thu Nov 20 11:45:05 2014
@@ -19,7 +19,6 @@
 package org.apache.uima.ducc.transport.configuration.jd;
 
 import org.apache.camel.Body;
-import org.apache.uima.ducc.container.net.iface.IMetaCasTransaction;
 import org.apache.uima.ducc.transport.configuration.jd.iface.IJobDriverComponent;
 import org.apache.uima.ducc.transport.dispatcher.DuccEventDispatcher;
 import org.apache.uima.ducc.transport.event.OrchestratorAbbreviatedStateDuccEvent;
@@ -35,9 +34,6 @@ public class JobDriverEventListener impl
 	public void onOrchestratorAbbreviatedStateDuccEvent(@Body OrchestratorAbbreviatedStateDuccEvent duccEvent) throws Exception {
 		//component.evaluateJobDriverConstraints(duccEvent);
 	}
-	public void onJpRequestDuccEvent(@Body IMetaCasTransaction duccEvent) throws Exception {
-		component.onJpRequestDuccEvent(duccEvent);
-	}
 	public void setDuccEventDispatcher(DuccEventDispatcher eventDispatcher) {
 	}
 

Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/configuration/jd/iface/IJobDriverComponent.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/configuration/jd/iface/IJobDriverComponent.java?rev=1640725&r1=1640724&r2=1640725&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/configuration/jd/iface/IJobDriverComponent.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/configuration/jd/iface/IJobDriverComponent.java Thu Nov 20 11:45:05 2014
@@ -19,10 +19,12 @@
 
 package org.apache.uima.ducc.transport.configuration.jd.iface;
 
+import org.apache.camel.CamelContext;
 import org.apache.uima.ducc.container.net.iface.IMetaCasTransaction;
 import org.apache.uima.ducc.transport.event.JdStateDuccEvent;
 
 public interface IJobDriverComponent {
+	public CamelContext getContext();
 	public JdStateDuccEvent getState();
-	public void onJpRequestDuccEvent(IMetaCasTransaction metaCasTransaction) throws Exception;
+	public void handleJpRequest(IMetaCasTransaction metaCasTransaction) throws Exception;
 }