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/10/30 13:55:59 UTC

svn commit: r1635483 - in /uima/sandbox/uima-ducc/trunk/uima-ducc-container/src: main/java/org/apache/uima/ducc/container/jd/ test/java/org/apache/uima/ducc/container/ test/java/org/apache/uima/ducc/container/jd/ test/java/org/apache/uima/ducc/containe...

Author: degenaro
Date: Thu Oct 30 12:55:58 2014
New Revision: 1635483

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

Revised JD Common initialization.

Added:
    uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/test/java/org/apache/uima/ducc/container/
    uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/test/java/org/apache/uima/ducc/container/jd/
    uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/test/java/org/apache/uima/ducc/container/jd/test/
      - copied from r1635297, uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/test/java/org/apache/uima/ducc/test/
    uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/test/java/org/apache/uima/ducc/container/jd/test/helper/
    uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/test/java/org/apache/uima/ducc/container/jd/test/helper/ThreadInfo.java   (with props)
    uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/test/java/org/apache/uima/ducc/container/jd/test/helper/ThreadInfoFactory.java   (with props)
Removed:
    uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/test/java/org/apache/uima/ducc/test/
Modified:
    uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/JobDriverCommon.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/TestJson.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/TestWiFsm.java

Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/JobDriverCommon.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/JobDriverCommon.java?rev=1635483&r1=1635482&r2=1635483&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/JobDriverCommon.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/JobDriverCommon.java Thu Oct 30 12:55:58 2014
@@ -37,6 +37,10 @@ public class JobDriverCommon {
 		return instance;
 	}
 	
+	public static void setInstance(String[] classpath, String crXml, String crCfg) {
+		instance = new JobDriverCommon(classpath, crXml, crCfg);
+	}
+	
 	private AtomicInteger wiSuccess = new AtomicInteger(0);
 	private AtomicInteger wiFailure = new AtomicInteger(0);
 	private AtomicInteger wiRetry = new AtomicInteger(0);
@@ -44,11 +48,8 @@ public class JobDriverCommon {
 	private ConcurrentHashMap<IRemoteWorkerIdentity, IWorkItem> map = null;
 	private JobDriverCasManager jdcm = null;
 	
-	public JobDriverCommon(String[] classpath, String crXml, String crCfg) {
+	private JobDriverCommon(String[] classpath, String crXml, String crCfg) {
 		initialize(classpath, crXml, crCfg);
-		if(instance == null) {
-			instance = this;
-		}
 	}
 	
 	public void initialize(String[] classpath, String crXml, String crCfg) {

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=1635483&r1=1635297&r2=1635483&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 Oct 30 12:55:58 2014
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
 */
-package org.apache.uima.ducc.test;
+package org.apache.uima.ducc.container.jd.test;
 
 import static org.junit.Assert.*;
 
@@ -25,6 +25,8 @@ import java.net.URL;
 
 import org.apache.uima.ducc.container.jd.JobDriverCommon;
 import org.apache.uima.ducc.container.jd.dispatch.Dispatcher;
+import org.apache.uima.ducc.container.jd.test.helper.ThreadInfo;
+import org.apache.uima.ducc.container.jd.test.helper.ThreadInfoFactory;
 import org.apache.uima.ducc.container.net.iface.IMetaCas;
 import org.apache.uima.ducc.container.net.iface.IMetaCasTransaction.Type;
 import org.apache.uima.ducc.container.net.impl.MetaCasTransaction;
@@ -130,27 +132,30 @@ public class TestDispatcher {
 		return transCommon(dispatcher, trans, reqNo);
 	}
 	
+	private String[] jarList260 = { 
+			"/ducc-user.jar",
+			"/ducc-test.jar",
+			"/uimaj-as-core-2.6.0.jar",
+			"/uimaj-core-2.6.0.jar",
+			"/xstream-1.3.1.jar"
+	};
+	
 	@Test
 	public void test_01() {
 		try {
-			String[] jarList260 = { 
-					"/ducc-user.jar",
-					"/ducc-test.jar",
-					"/uimaj-as-core-2.6.0.jar",
-					"/uimaj-core-2.6.0.jar",
-					"/xstream-1.3.1.jar"
-			};
 			URL urlXml = this.getClass().getResource("/CR100.xml");
 			File file = new File(urlXml.getFile());
 			String crXml = file.getAbsolutePath();
 			String crCfg = null;
-			new JobDriverCommon(jarList260, crXml, crCfg);
+			JobDriverCommon.setInstance(jarList260, crXml, crCfg);
 			int size = JobDriverCommon.getInstance().getMap().size();
 			debug("map size:"+size);
 			Dispatcher dispatcher = new Dispatcher();
-			String node = "node01";
-			int pid = 23;
-			int tid = 45;
+			ThreadInfoFactory tif = new ThreadInfoFactory(1,1,1);
+			ThreadInfo ti = tif.getRandom();
+			String node = ti.getNode();
+			int pid = ti.getPid();
+			int tid = ti.getTid();
 			int casNo = 1;
 			IMetaCas metaCasPrevious = null;
 			IMetaCas metaCas = transGet(dispatcher,node,pid,tid,casNo);
@@ -170,4 +175,40 @@ public class TestDispatcher {
 		}
 	}
 	
+	@Test
+	public void test_02() {
+		try {
+			URL urlXml = this.getClass().getResource("/CR100.xml");
+			File file = new File(urlXml.getFile());
+			String crXml = file.getAbsolutePath();
+			String crCfg = null;
+			JobDriverCommon.setInstance(jarList260, crXml, crCfg);
+			int size = JobDriverCommon.getInstance().getMap().size();
+			debug("map size:"+size);
+			Dispatcher dispatcher = new Dispatcher();
+			ThreadInfoFactory tif = new ThreadInfoFactory(2,2,2);
+			ThreadInfo ti = tif.getRandom();
+			debug("random:"+ti.toKey());
+			int casNo = 1;
+			IMetaCas metaCasPrevious = null;
+			IMetaCas metaCas = transGet(dispatcher,ti.getNode(),ti.getPid(),ti.getTid(),casNo);
+			assertTrue(metaCas != null);
+			while(metaCas != null) {
+				transAck(dispatcher,ti.getNode(),ti.getPid(),ti.getTid(),casNo);
+				transEnd(dispatcher,ti.getNode(),ti.getPid(),ti.getTid(),casNo);
+				casNo++;
+				metaCasPrevious = metaCas;
+				assertTrue(metaCasPrevious != null);
+				ti = tif.getRandom();
+				debug("random:"+ti.toKey());
+				metaCas = transGet(dispatcher,ti.getNode(),ti.getPid(),ti.getTid(),casNo);
+			}
+			assertTrue(metaCasPrevious.getSystemKey().equals("100"));
+			asExpected("CASes processed count == 100");
+		}
+		catch(Exception e) {
+			e.printStackTrace();
+			fail("Exception");
+		}
+	}
 }

Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/test/java/org/apache/uima/ducc/container/jd/test/TestJson.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/TestJson.java?rev=1635483&r1=1635297&r2=1635483&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/test/java/org/apache/uima/ducc/container/jd/test/TestJson.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/test/java/org/apache/uima/ducc/container/jd/test/TestJson.java Thu Oct 30 12:55:58 2014
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
 */
-package org.apache.uima.ducc.test;
+package org.apache.uima.ducc.container.jd.test;
 
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;

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=1635483&r1=1635297&r2=1635483&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 Oct 30 12:55:58 2014
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
 */
-package org.apache.uima.ducc.test;
+package org.apache.uima.ducc.container.jd.test;
 
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;

Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/test/java/org/apache/uima/ducc/container/jd/test/TestWiFsm.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/TestWiFsm.java?rev=1635483&r1=1635297&r2=1635483&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/test/java/org/apache/uima/ducc/container/jd/test/TestWiFsm.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/test/java/org/apache/uima/ducc/container/jd/test/TestWiFsm.java Thu Oct 30 12:55:58 2014
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
 */
-package org.apache.uima.ducc.test;
+package org.apache.uima.ducc.container.jd.test;
 
 import static org.junit.Assert.*;
 

Added: uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/test/java/org/apache/uima/ducc/container/jd/test/helper/ThreadInfo.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/ThreadInfo.java?rev=1635483&view=auto
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/test/java/org/apache/uima/ducc/container/jd/test/helper/ThreadInfo.java (added)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/test/java/org/apache/uima/ducc/container/jd/test/helper/ThreadInfo.java Thu Oct 30 12:55:58 2014
@@ -0,0 +1,48 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+*/
+package org.apache.uima.ducc.container.jd.test.helper;
+
+public class ThreadInfo {
+
+	private int node = 0;
+	private int pid = 0;
+	private int tid = 0;
+	
+	public ThreadInfo(int node, int pid, int tid) {
+		this.node = node;
+		this.pid = pid;
+		this.tid = tid;
+	}
+	
+	public String getNode() {
+		return "node"+node;
+	}
+	
+	public int getPid() {
+		return pid;
+	}
+	
+	public int getTid() {
+		return tid;
+	}
+	
+	public String toKey() {
+		return getNode()+":"+getPid()+":"+getTid();
+	}
+}

Propchange: uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/test/java/org/apache/uima/ducc/container/jd/test/helper/ThreadInfo.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/test/java/org/apache/uima/ducc/container/jd/test/helper/ThreadInfoFactory.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/ThreadInfoFactory.java?rev=1635483&view=auto
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/test/java/org/apache/uima/ducc/container/jd/test/helper/ThreadInfoFactory.java (added)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/test/java/org/apache/uima/ducc/container/jd/test/helper/ThreadInfoFactory.java Thu Oct 30 12:55:58 2014
@@ -0,0 +1,34 @@
+package org.apache.uima.ducc.container.jd.test.helper;
+
+import java.util.ArrayList;
+import java.util.Random;
+
+public class ThreadInfoFactory {
+
+	private ArrayList<ThreadInfo> list = new ArrayList<ThreadInfo>();
+	
+	public ThreadInfoFactory(int nodes, int pids, int tids) {
+		for(int i=0; i<nodes; i++) {
+			for(int j=0; j<pids; j++) {
+				for(int k=0; k<tids; k++) {
+					int node = (i+1);
+					int pid = (node*100)+(j+1);
+					int tid = (k+1);
+					ThreadInfo ti = new ThreadInfo(node, pid, tid);
+					list.add(ti);
+				}
+			}
+		}
+	}
+	
+	public ThreadInfo getRandom() {
+		ThreadInfo ti = null;
+		if(list.size() > 0) {
+			Random random = new Random();
+			int n = list.size();
+			int index = random.nextInt(n);
+			ti = list.get(index);
+		}
+		return ti;
+	}
+}

Propchange: uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/test/java/org/apache/uima/ducc/container/jd/test/helper/ThreadInfoFactory.java
------------------------------------------------------------------------------
    svn:eol-style = native