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