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


Reply via email to