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/12/01 15:09:10 UTC
svn commit: r1642685 - in /uima/sandbox/uima-ducc/trunk/uima-ducc-container:
./ src/main/java/org/apache/uima/ducc/container/dd/
src/main/java/org/apache/uima/ducc/container/dd/classload/
src/main/java/org/apache/uima/ducc/container/jd/ src/main/java/o...
Author: degenaro
Date: Mon Dec 1 14:09:10 2014
New Revision: 1642685
URL: http://svn.apache.org/r1642685
Log:
UIMA-4069 Redesign of JD toward the main goal of classpath separation for container (system) code.
DD generation from pieces-parts by JD, including JUnit testing.
Added:
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/dd/
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/dd/DdException.java (with props)
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/dd/DdManager.java (with props)
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/dd/classload/
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/dd/classload/ProxyDDException.java (with props)
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/dd/classload/ProxyDDGenerate.java (with props)
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/test/resources/DDSleepDescriptor.xml (with props)
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/test/resources/FixedSleepAE.xml (with props)
Modified:
uima/sandbox/uima-ducc/trunk/uima-ducc-container/pom.xml
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/JobDriver.java
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/classload/ProxyJobDriverCollectionReader.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
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/test/java/org/apache/uima/ducc/container/jd/test/TestMessageHandler.java
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/test/java/org/apache/uima/ducc/container/jd/test/helper/Utilities.java
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-container/pom.xml
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-container/pom.xml?rev=1642685&r1=1642684&r2=1642685&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-container/pom.xml (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-container/pom.xml Mon Dec 1 14:09:10 2014
@@ -232,6 +232,8 @@
<target>
<copy file="${basedir}/target/uimaj/apache-uima/lib/uima-core.jar" tofile="${basedir}/target/test-classes/uimaj-core.jar"/>
<copy file="${basedir}/target/uima-as/apache-uima-as-${org.apache.uima.as.version}/lib/uimaj-as-core.jar" tofile="${basedir}/target/test-classes/uimaj-as-core.jar"/>
+ <copy file="${basedir}/target/uima-as/apache-uima-as-${org.apache.uima.as.version}/lib/xmlbeans.jar" tofile="${basedir}/target/test-classes/xmlbeans.jar"/>
+ <copy file="${basedir}/target/uima-as/apache-uima-as-${org.apache.uima.as.version}/apache-activemq/lib/spring-core-3.0.7.RELEASE.jar" tofile="${basedir}/target/test-classes/spring-core.jar"/>
<copy file="../uima-ducc-user/target/uima-ducc-user-${version}.jar" tofile="${basedir}/target/test-classes/uima-ducc-user.jar"/>
</target>
</configuration>
Added: uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/dd/DdException.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/dd/DdException.java?rev=1642685&view=auto
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/dd/DdException.java (added)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/dd/DdException.java Mon Dec 1 14:09:10 2014
@@ -0,0 +1,32 @@
+/*
+ * 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.dd;
+
+public class DdException extends Exception {
+
+ private static final long serialVersionUID = 1L;
+
+ public DdException(String text) {
+ super(text);
+ }
+
+ public DdException(Exception e) {
+ super(e);
+ }
+}
Propchange: uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/dd/DdException.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/dd/DdManager.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/dd/DdManager.java?rev=1642685&view=auto
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/dd/DdManager.java (added)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/dd/DdManager.java Mon Dec 1 14:09:10 2014
@@ -0,0 +1,120 @@
+/*
+ * 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.dd;
+
+import java.util.List;
+
+import org.apache.uima.ducc.common.utils.QuotedOptions;
+import org.apache.uima.ducc.container.common.FlagsExtendedHelper;
+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.dd.classload.ProxyDDException;
+import org.apache.uima.ducc.container.dd.classload.ProxyDDGenerate;
+
+public class DdManager {
+
+ private static Logger logger = Logger.getLogger(DdManager.class, IComponent.Id.JD.name());
+
+ private String dd = null;
+
+ private ProxyDDGenerate pddg = null;
+
+ public DdManager() throws DdException {
+ initialize();
+ }
+
+ private void initialize() throws DdException {
+ FlagsExtendedHelper feh = FlagsExtendedHelper.getInstance();
+ initialize(
+ feh.getJobDirectory(),
+ feh.getJobId(),
+ feh.getJpDdName(),
+ feh.getJpDdDescription(),
+ convert2Integer(feh.getJpDdThreadCount()),
+ feh.getJpDdBrokerURL(),
+ feh.getJpDdBrokerEndpoint(),
+ feh.getJpAeDescriptor(),
+ convert2List(feh.getJpAeOverrides()),
+ feh.getJpCcDescriptor(),
+ convert2List(feh.getJpCcOverrides()),
+ feh.getJpCmDescriptor(),
+ convert2List(feh.getJpCmOverrides()),
+ feh.getJpDd());
+ }
+
+ public void initialize(
+ String jobDirectory,
+ String jobId,
+ String ddName,
+ String ddDescription,
+ Integer ddThreadCount,
+ String ddBrokerURL,
+ String ddBrokerEndpoint,
+ String aeDescriptor,
+ List<String> aeOverrides,
+ String ccDescriptor,
+ List<String> ccOverrides,
+ String cmDescriptor,
+ List<String> cmOverrides,
+ String dd) throws DdException {
+ String location = "initialize";
+ try {
+ if(dd == null) {
+ pddg = new ProxyDDGenerate();
+ String value = pddg.generate(jobDirectory, jobId, ddName, ddDescription, ddThreadCount, ddBrokerURL, ddBrokerEndpoint, cmDescriptor, cmOverrides, aeDescriptor, aeOverrides, ccDescriptor, ccOverrides);
+ setDD(value);
+ }
+ else {
+ setDD(dd);
+ }
+
+ }
+ catch(ProxyDDException e) {
+ logger.error(location, ILogger.null_id, e);
+ throw new DdException(e);
+ }
+ }
+
+ private List<String> convert2List(String input) {
+ List<String> list = null;
+ if(input != null) {
+ list = QuotedOptions.tokenizeList(input, true);
+ }
+ return list;
+ }
+
+ private Integer convert2Integer(String input) {
+ Integer retVal = null;
+ if(input == null) {
+ retVal = new Integer(1);
+ }
+ else {
+ retVal = Integer.parseInt(input);
+ }
+ return retVal;
+ }
+
+ public String getDD() {
+ return dd;
+ }
+
+ private void setDD(String value) {
+ dd = value;
+ }
+}
Propchange: uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/dd/DdManager.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/dd/classload/ProxyDDException.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/dd/classload/ProxyDDException.java?rev=1642685&view=auto
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/dd/classload/ProxyDDException.java (added)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/dd/classload/ProxyDDException.java Mon Dec 1 14:09:10 2014
@@ -0,0 +1,32 @@
+/*
+ * 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.dd.classload;
+
+public class ProxyDDException extends Exception {
+
+ private static final long serialVersionUID = 1L;
+
+ public ProxyDDException(String text) {
+ super(text);
+ }
+
+ public ProxyDDException(Exception e) {
+ super(e);
+ }
+}
Propchange: uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/dd/classload/ProxyDDException.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/dd/classload/ProxyDDGenerate.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/dd/classload/ProxyDDGenerate.java?rev=1642685&view=auto
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/dd/classload/ProxyDDGenerate.java (added)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/dd/classload/ProxyDDGenerate.java Mon Dec 1 14:09:10 2014
@@ -0,0 +1,200 @@
+/*
+ * 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.dd.classload;
+
+import java.lang.reflect.Constructor;
+import java.lang.reflect.Method;
+import java.net.URL;
+import java.net.URLClassLoader;
+import java.util.List;
+
+import org.apache.uima.ducc.common.utils.DuccLogger;
+import org.apache.uima.ducc.container.common.FlagsExtendedHelper;
+import org.apache.uima.ducc.container.common.MessageBuffer;
+import org.apache.uima.ducc.container.common.Standardize;
+import org.apache.uima.ducc.container.common.classloader.PrivateClassLoader;
+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;
+
+public class ProxyDDGenerate {
+
+ private static Logger logger = Logger.getLogger(ProxyDDGenerate.class, IComponent.Id.JD.name());
+
+ private URLClassLoader urlClassLoader = null;
+
+ private String[] requiredClasses = {
+ "org.apache.uima.ducc.user.dd.iface.DDException",
+ "org.apache.uima.ducc.user.dd.iface.DDGenerate",
+ "org.apache.uima.ducc.user.dd.iface.IDDGenerate",
+ // implied:
+ //"org.springframework.util.Assert",
+ //"org.apache.xmlbeans.XmlBeans",
+ };
+
+ public ProxyDDGenerate() throws ProxyDDException {
+ initialize();
+ }
+
+ private void show(String text) {
+ String location = "show";
+ logger.info(location, ILogger.null_id, text);
+ System.out.println(text);
+ }
+
+ private void show(String name, String value) {
+ show(name+"="+value);
+ }
+
+ private void show(String name, Integer value) {
+ show(name+"="+value.toString());
+ }
+
+ private void show(String name, List<String> value) {
+ if(value == null) {
+ show(name+"="+value);
+ }
+ else {
+ show(name+"="+value.toString());
+ }
+ }
+
+ public String generate(
+ String directory,
+ String id,
+ String ddName,
+ String ddDescription,
+ Integer ddThreadCount,
+ String ddBrokerURL,
+ String ddEndpoint,
+ String cmDescriptor,
+ List<String> cmOverrides,
+ String aeDescriptor,
+ List<String> aeOverrides,
+ String ccDescriptor,
+ List<String> ccOverrides
+ ) throws ProxyDDException
+ {
+ String retVal = null;
+ try {
+ show("directory", directory);
+ show("id", id);
+ show("ddName", ddName);
+ show("ddDescription", ddDescription);
+ show("ddThreadCount", ddThreadCount);
+ show("ddBrokerURL", ddBrokerURL);
+ show("ddEndpoint", ddEndpoint);
+ show("cmDescriptor", cmDescriptor);
+ show("cmOverrides", cmOverrides);
+ show("aeDescriptor", aeDescriptor);
+ show("aeOverrides", aeOverrides);
+ show("ccDescriptor", ccDescriptor);
+ show("ccOverrides", ccOverrides);
+ Class<?> clazz = urlClassLoader.loadClass("org.apache.uima.ducc.user.dd.iface.DDGenerate");
+ Constructor<?> constructor = clazz.getConstructor();
+ Object instance = constructor.newInstance();
+ Class<?>[] parameterTypes = {
+ String.class, // directory
+ String.class, // id
+ String.class, // ddName
+ String.class, // ddDescription
+ Integer.class, // ddThreadCount
+ String.class, // ddBrokerURL
+ String.class, // ddEndpoint
+ String.class, // cmDescriptor
+ List.class, // cmOverrides
+ String.class, // aeDescriptor
+ List.class, // aeOverrides
+ String.class, // ccDescriptor
+ List.class, // ccOverrides
+ };
+ Method method = clazz.getMethod("generate", parameterTypes);
+ Object[] args = {
+ directory,
+ id,
+ ddName,
+ ddDescription,
+ ddThreadCount,
+ ddBrokerURL,
+ ddEndpoint,
+ cmDescriptor,
+ cmOverrides,
+ aeDescriptor,
+ aeOverrides,
+ ccDescriptor,
+ ccOverrides
+ };
+ String dd = (String) method.invoke(instance, args);
+ show("generated deployment descriptor", dd);
+ }
+ catch(Exception e) {
+ e.printStackTrace();
+ throw new ProxyDDException(e.toString());
+ }
+ return retVal;
+ }
+
+ private void initialize() throws ProxyDDException {
+ FlagsExtendedHelper feh = FlagsExtendedHelper.getInstance();
+ String userClasspath = feh.getUserClasspath();
+ urlClassLoader = createClassLoader(userClasspath);
+ validate();
+ }
+
+ private URLClassLoader createClassLoader(String userClasspath) {
+ String location = "createClassLoader";
+ URLClassLoader retVal = null;
+ try {
+ retVal = PrivateClassLoader.create(userClasspath);
+ }
+ catch(Exception e) {
+ logger.error(location, ILogger.null_id, e);
+ }
+ return retVal;
+ }
+
+ private void validate() throws ProxyDDException {
+ for(String className : requiredClasses) {
+ loadClass(className);
+ }
+ }
+
+ private void loadClass(String className) throws ProxyDDException {
+ String location = "loadClass";
+ try {
+ MessageBuffer mb1 = new MessageBuffer();
+ mb1.append(Standardize.Label.loading.get()+className);
+ logger.debug(location, ILogger.null_id, mb1.toString());
+ URL[] urls = urlClassLoader.getURLs();
+ for(URL url : urls) {
+ logger.trace(location, ILogger.null_id, url);
+ }
+ Class<?> loadedClass = urlClassLoader.loadClass(className);
+ MessageBuffer mb2 = new MessageBuffer();
+ mb2.append(Standardize.Label.loaded.get()+loadedClass.getName());
+ logger.trace(location, ILogger.null_id, mb2.toString());
+ }
+ catch (Exception e) {
+ DuccLogger duccLogger = DuccLogger.getLogger(ProxyDDGenerate.class, "JD");
+ duccLogger.error(location, null, e);
+ logger.error(location, ILogger.null_id, e);
+ throw new ProxyDDException(e);
+ }
+ }
+}
Propchange: uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/dd/classload/ProxyDDGenerate.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/JobDriver.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/JobDriver.java?rev=1642685&r1=1642684&r2=1642685&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/JobDriver.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/JobDriver.java Mon Dec 1 14:09:10 2014
@@ -24,6 +24,7 @@ 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.dd.DdManager;
import org.apache.uima.ducc.container.jd.cas.CasManager;
import org.apache.uima.ducc.container.jd.classload.ProxyJobDriverErrorHandler;
import org.apache.uima.ducc.container.jd.mh.IMessageHandler;
@@ -62,7 +63,8 @@ public class JobDriver {
private IWorkItemStatistics wis = null;
private CasManager cm = null;
private ProxyJobDriverErrorHandler pjdeh = null;
- private IMessageHandler mh = new MessageHandler();
+ private IMessageHandler mh = null; // new MessageHandler();
+ private DdManager ddManager = null;
private JdState jdState = null;
@@ -80,6 +82,7 @@ public class JobDriver {
wis = new WorkItemStatistics();
cm = new CasManager();
pjdeh = new ProxyJobDriverErrorHandler();
+ ddManager = new DdManager();
mh = new MessageHandler();
}
catch(Exception e) {
@@ -112,6 +115,10 @@ public class JobDriver {
return mh;
}
+ public DdManager getDdManager() {
+ return ddManager;
+ }
+
public JdState getJdState() {
synchronized(jdState) {
return jdState;
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/classload/ProxyJobDriverCollectionReader.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/classload/ProxyJobDriverCollectionReader.java?rev=1642685&r1=1642684&r2=1642685&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/classload/ProxyJobDriverCollectionReader.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/classload/ProxyJobDriverCollectionReader.java Mon Dec 1 14:09:10 2014
@@ -197,7 +197,7 @@ public class ProxyJobDriverCollectionRea
logger.debug(location, ILogger.null_id, mb1.toString());
URL[] urls = urlClassLoader.getURLs();
for(URL url : urls) {
- logger.debug(location, ILogger.null_id, url);
+ logger.trace(location, ILogger.null_id, url);
}
Class<?> loadedClass = urlClassLoader.loadClass(className);
MessageBuffer mb2 = new MessageBuffer();
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=1642685&r1=1642684&r2=1642685&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 Dec 1 14:09:10 2014
@@ -31,6 +31,7 @@ import org.apache.uima.ducc.container.co
import org.apache.uima.ducc.container.common.logger.Logger;
import org.apache.uima.ducc.container.common.logger.id.Id;
import org.apache.uima.ducc.container.common.logger.id.Transform;
+import org.apache.uima.ducc.container.dd.DdManager;
import org.apache.uima.ducc.container.jd.JobDriver;
import org.apache.uima.ducc.container.jd.JobDriverHelper;
import org.apache.uima.ducc.container.jd.cas.CasManager;
@@ -83,7 +84,9 @@ public class MessageHandler implements I
CasManagerStats cms = cm.getCasManagerStats();
IWorkItemStatistics wis = jd.getWorkItemStatistics();
IRunningWorkItemStatistics rwis = RunningWorkItemStatistics.getCurrent();
+ DdManager ddManager = jd.getDdManager();
oi.setJobId(jd.getJobId());
+ oi.setJpDd(ddManager.getDD());
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=1642685&r1=1642684&r2=1642685&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 Dec 1 14:09:10 2014
@@ -25,6 +25,9 @@ public interface IOperatingInfo extends
public void setJobId(String value);
public String getJobId();
+
+ public void setJpDd(String value);
+ public String getJpDd();
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=1642685&r1=1642684&r2=1642685&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 Dec 1 14:09:10 2014
@@ -29,6 +29,8 @@ public class OperatingInfo implements IO
private String jobId = null;
+ private String jpDd = null;
+
private int crTotal = 0;
private int crFetches = 0;
private int jpGets = 0;
@@ -262,4 +264,14 @@ public class OperatingInfo implements IO
return activeWorkItemInfo;
}
+ @Override
+ public void setJpDd(String value) {
+ jpDd = value;
+ }
+
+ @Override
+ public String getJpDd() {
+ return jpDd;
+ }
+
}
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=1642685&r1=1642684&r2=1642685&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 Dec 1 14:09:10 2014
@@ -27,9 +27,11 @@ import java.net.URI;
import java.net.URISyntaxException;
import java.net.URL;
import java.net.URLClassLoader;
+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.dd.classload.ProxyDDGenerate;
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;
@@ -113,6 +115,79 @@ public class TestClassLoading extends AT
}
}
+ private void delete(File directory) {
+ try {
+ for(File file : directory.listFiles()) {
+ debug("delete: "+file.getName());
+ file.delete();
+ }
+ debug("delete: "+directory.getName());
+ directory.delete();
+ }
+ catch(Exception e) {
+ //e.printStackTrace();
+ }
+ }
+
+ @Test
+ public void test_04() {
+ if(isDisabled(this.getClass().getName())) {
+ return;
+ }
+ try {
+ String userClasspath = Utilities.getInstance().getUserCP();
+ System.setProperty(FlagsHelper.Name.UserClasspath.pname(), userClasspath);
+ ProxyDDGenerate pddGenerate = new ProxyDDGenerate();
+ //
+ URL url = this.getClass().getResource("/");
+ File root = new File(url.getFile());
+ String name = root.getAbsolutePath();
+ debug(name);
+ assertTrue(root.isDirectory());
+ String nameWorking = name+File.separator+"working";
+ File working = new File(nameWorking);
+ delete(working);
+ working.mkdir();
+ //
+ String directory = working.getAbsolutePath();
+ String id = "12345";
+ String ddName = "name";
+ String ddDescription = "description";
+ Integer ddThreadCount = new Integer(1);
+ String ddBrokerURL = "brokerURL";
+ String ddEndpoint = "endpoint";
+ String cmDescriptor = null;
+ List<String> cmOverrides = null;
+ //String aeDescriptor = "org.apache.uima.ducc.test.randomsleep.FixedSleepAE";
+ String aeDescriptor = "FixedSleepAE";
+ List<String> aeOverrides = null;
+ String ccDescriptor = null;
+ List<String> ccOverrides = null;
+ String dd = pddGenerate.generate(
+ directory,
+ id,
+ ddName,
+ ddDescription,
+ ddThreadCount,
+ ddBrokerURL,
+ ddEndpoint,
+ cmDescriptor,
+ cmOverrides,
+ aeDescriptor,
+ aeOverrides,
+ ccDescriptor,
+ ccOverrides
+ );
+ debug(dd);
+ //
+ delete(working);
+ }
+ catch(Exception e) {
+ e.printStackTrace();
+ fail("Exception");
+ }
+ }
+
@Test
public void test_loader() throws URISyntaxException, IOException {
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/test/java/org/apache/uima/ducc/container/jd/test/TestMessageHandler.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/TestMessageHandler.java?rev=1642685&r1=1642684&r2=1642685&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/test/java/org/apache/uima/ducc/container/jd/test/TestMessageHandler.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/test/java/org/apache/uima/ducc/container/jd/test/TestMessageHandler.java Mon Dec 1 14:09:10 2014
@@ -104,10 +104,20 @@ public class TestMessageHandler extends
}
announce("test_01");
try {
- URL urlXml = this.getClass().getResource("/CR100.xml");
- File file = new File(urlXml.getFile());
- String crXml = file.getAbsolutePath();
- System.setProperty(FlagsHelper.Name.CollectionReaderXml.pname(), crXml);
+ URL urlXml = null;
+ File file = null;
+ String path = null;
+ //
+ urlXml = this.getClass().getResource("/CR100.xml");
+ file = new File(urlXml.getFile());
+ path = file.getAbsolutePath();
+ System.setProperty(FlagsHelper.Name.CollectionReaderXml.pname(), path);
+ //
+ urlXml = this.getClass().getResource("/DDSleepDescriptor.xml");
+ file = new File(urlXml.getFile());
+ path = file.getAbsolutePath();
+ System.setProperty(FlagsHelper.Name.JpDd.pname(), path);
+ //
String userClasspath = Utilities.getInstance().getUserCP();
System.setProperty(FlagsHelper.Name.UserClasspath.pname(), userClasspath);
JobDriver.createInstance();
@@ -150,10 +160,20 @@ public class TestMessageHandler extends
}
announce("test_02a");
try {
- URL urlXml = this.getClass().getResource("/CR100.xml");
- File file = new File(urlXml.getFile());
- String crXml = file.getAbsolutePath();
- System.setProperty(FlagsHelper.Name.CollectionReaderXml.pname(), crXml);
+ URL urlXml = null;
+ File file = null;
+ String path = null;
+ //
+ urlXml = this.getClass().getResource("/CR100.xml");
+ file = new File(urlXml.getFile());
+ path = file.getAbsolutePath();
+ System.setProperty(FlagsHelper.Name.CollectionReaderXml.pname(), path);
+ //
+ urlXml = this.getClass().getResource("/DDSleepDescriptor.xml");
+ file = new File(urlXml.getFile());
+ path = file.getAbsolutePath();
+ System.setProperty(FlagsHelper.Name.JpDd.pname(), path);
+ //
String userClasspath = Utilities.getInstance().getUserCP();
System.setProperty(FlagsHelper.Name.UserClasspath.pname(), userClasspath);
JobDriver.createInstance();
@@ -205,10 +225,20 @@ public class TestMessageHandler extends
}
announce("test_2b");
try {
- URL urlXml = this.getClass().getResource("/CR100.xml");
- File file = new File(urlXml.getFile());
- String crXml = file.getAbsolutePath();
- System.setProperty(FlagsHelper.Name.CollectionReaderXml.pname(), crXml);
+ URL urlXml = null;
+ File file = null;
+ String path = null;
+ //
+ urlXml = this.getClass().getResource("/CR100.xml");
+ file = new File(urlXml.getFile());
+ path = file.getAbsolutePath();
+ System.setProperty(FlagsHelper.Name.CollectionReaderXml.pname(), path);
+ //
+ urlXml = this.getClass().getResource("/DDSleepDescriptor.xml");
+ file = new File(urlXml.getFile());
+ path = file.getAbsolutePath();
+ System.setProperty(FlagsHelper.Name.JpDd.pname(), path);
+ //
String userClasspath = Utilities.getInstance().getUserCP();
System.setProperty(FlagsHelper.Name.UserClasspath.pname(), userClasspath);
JobDriver.createInstance();
@@ -257,10 +287,20 @@ public class TestMessageHandler extends
}
announce("test_03");
try {
- URL urlXml = this.getClass().getResource("/CR100.xml");
- File file = new File(urlXml.getFile());
- String crXml = file.getAbsolutePath();
- System.setProperty(FlagsHelper.Name.CollectionReaderXml.pname(), crXml);
+ URL urlXml = null;
+ File file = null;
+ String path = null;
+ //
+ urlXml = this.getClass().getResource("/CR100.xml");
+ file = new File(urlXml.getFile());
+ path = file.getAbsolutePath();
+ System.setProperty(FlagsHelper.Name.CollectionReaderXml.pname(), path);
+ //
+ urlXml = this.getClass().getResource("/DDSleepDescriptor.xml");
+ file = new File(urlXml.getFile());
+ path = file.getAbsolutePath();
+ System.setProperty(FlagsHelper.Name.JpDd.pname(), path);
+ //
String userClasspath = Utilities.getInstance().getUserCP();
System.setProperty(FlagsHelper.Name.UserClasspath.pname(), userClasspath);
JobDriver.createInstance();
@@ -339,10 +379,20 @@ public class TestMessageHandler extends
}
announce("test_04");
try {
- URL urlXml = this.getClass().getResource("/CR100.xml");
- File file = new File(urlXml.getFile());
- String crXml = file.getAbsolutePath();
- System.setProperty(FlagsHelper.Name.CollectionReaderXml.pname(), crXml);
+ URL urlXml = null;
+ File file = null;
+ String path = null;
+ //
+ urlXml = this.getClass().getResource("/CR100.xml");
+ file = new File(urlXml.getFile());
+ path = file.getAbsolutePath();
+ System.setProperty(FlagsHelper.Name.CollectionReaderXml.pname(), path);
+ //
+ urlXml = this.getClass().getResource("/DDSleepDescriptor.xml");
+ file = new File(urlXml.getFile());
+ path = file.getAbsolutePath();
+ System.setProperty(FlagsHelper.Name.JpDd.pname(), path);
+ //
String userClasspath = Utilities.getInstance().getUserCP();
System.setProperty(FlagsHelper.Name.UserClasspath.pname(), userClasspath);
JobDriver.createInstance();
@@ -425,10 +475,20 @@ public class TestMessageHandler extends
}
announce("test_05a");
try {
- URL urlXml = this.getClass().getResource("/CR100.xml");
- File file = new File(urlXml.getFile());
- String crXml = file.getAbsolutePath();
- System.setProperty(FlagsHelper.Name.CollectionReaderXml.pname(), crXml);
+ URL urlXml = null;
+ File file = null;
+ String path = null;
+ //
+ urlXml = this.getClass().getResource("/CR100.xml");
+ file = new File(urlXml.getFile());
+ path = file.getAbsolutePath();
+ System.setProperty(FlagsHelper.Name.CollectionReaderXml.pname(), path);
+ //
+ urlXml = this.getClass().getResource("/DDSleepDescriptor.xml");
+ file = new File(urlXml.getFile());
+ path = file.getAbsolutePath();
+ System.setProperty(FlagsHelper.Name.JpDd.pname(), path);
+ //
String userClasspath = Utilities.getInstance().getUserCP();
System.setProperty(FlagsHelper.Name.UserClasspath.pname(), userClasspath);
JobDriver.createInstance();
@@ -488,10 +548,20 @@ public class TestMessageHandler extends
}
announce("test_05b");
try {
- URL urlXml = this.getClass().getResource("/CR100.xml");
- File file = new File(urlXml.getFile());
- String crXml = file.getAbsolutePath();
- System.setProperty(FlagsHelper.Name.CollectionReaderXml.pname(), crXml);
+ URL urlXml = null;
+ File file = null;
+ String path = null;
+ //
+ urlXml = this.getClass().getResource("/CR100.xml");
+ file = new File(urlXml.getFile());
+ path = file.getAbsolutePath();
+ System.setProperty(FlagsHelper.Name.CollectionReaderXml.pname(), path);
+ //
+ urlXml = this.getClass().getResource("/DDSleepDescriptor.xml");
+ file = new File(urlXml.getFile());
+ path = file.getAbsolutePath();
+ System.setProperty(FlagsHelper.Name.JpDd.pname(), path);
+ //
String userClasspath = Utilities.getInstance().getUserCP();
System.setProperty(FlagsHelper.Name.UserClasspath.pname(), userClasspath);
//
@@ -572,10 +642,20 @@ public class TestMessageHandler extends
}
announce("test_06");
try {
- URL urlXml = this.getClass().getResource("/CR100.xml");
- File file = new File(urlXml.getFile());
- String crXml = file.getAbsolutePath();
- System.setProperty(FlagsHelper.Name.CollectionReaderXml.pname(), crXml);
+ URL urlXml = null;
+ File file = null;
+ String path = null;
+ //
+ urlXml = this.getClass().getResource("/CR100.xml");
+ file = new File(urlXml.getFile());
+ path = file.getAbsolutePath();
+ System.setProperty(FlagsHelper.Name.CollectionReaderXml.pname(), path);
+ //
+ urlXml = this.getClass().getResource("/DDSleepDescriptor.xml");
+ file = new File(urlXml.getFile());
+ path = file.getAbsolutePath();
+ System.setProperty(FlagsHelper.Name.JpDd.pname(), path);
+ //
String userClasspath = Utilities.getInstance().getUserCP();
System.setProperty(FlagsHelper.Name.UserClasspath.pname(), userClasspath);
//
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/test/java/org/apache/uima/ducc/container/jd/test/helper/Utilities.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/Utilities.java?rev=1642685&r1=1642684&r2=1642685&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/test/java/org/apache/uima/ducc/container/jd/test/helper/Utilities.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/test/java/org/apache/uima/ducc/container/jd/test/helper/Utilities.java Mon Dec 1 14:09:10 2014
@@ -36,6 +36,7 @@ public class Utilities {
retVal = url.getFile();
return retVal;
}
+
private Utilities() {
userCP =
resource("/") +
@@ -47,10 +48,32 @@ public class Utilities {
resource("/uimaj-core.jar") +
":" +
resource("/xstream-1.3.1.jar") +
+ ":" +
+ resource("/spring-core.jar") +
+ ":" +
+ resource("/xmlbeans.jar") +
""
;
}
+
public String getUserCP() {
return userCP;
}
+
+ public String getUserCP(boolean value) {
+ String retVal = userCP;
+ if(value) {
+ listToConsole(userCP);
+ }
+ return retVal;
+ }
+
+ public void listToConsole(String userCP) {
+ if(userCP != null) {
+ String[] segments = userCP.split(":");
+ for(String segment : segments) {
+ System.out.println(segment);
+ }
+ }
+ }
}
Added: uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/test/resources/DDSleepDescriptor.xml
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/test/resources/DDSleepDescriptor.xml?rev=1642685&view=auto
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/test/resources/DDSleepDescriptor.xml (added)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/test/resources/DDSleepDescriptor.xml Mon Dec 1 14:09:10 2014
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+ <!--
+ ***************************************************************
+ * 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.
+ ***************************************************************
+ -->
+
+<!-- NOTE: this has to be specified as a file path relative to the working directory
+ or as an absolute path in the job submission as process_DD -->
+
+<analysisEngineDeploymentDescription xmlns="http://uima.apache.org/resourceSpecifier">
+
+ <name>Top Level TAE</name>
+ <description></description>
+
+ <deployment protocol="jms" provider="activemq">
+ <casPool numberOfCASes="5" initialFsHeapSize="2000"/>
+ <service>
+ <inputQueue endpoint="TopLevelTaeQueue" brokerURL="${DefaultBrokerURL}" prefetch="1"/>
+ <topDescriptor>
+ <import name="org.apache.uima.ducc.test.randomsleep.DDSleepAggregate"/>
+ </topDescriptor>
+ <analysisEngine>
+ <delegates>
+
+ <analysisEngine key="SleepMultiplier">
+ <casMultiplier poolSize="5"/>
+ </analysisEngine>
+
+ <analysisEngine key="AnalysisEngine">
+ <scaleout numberOfInstances="4" />
+ </analysisEngine>
+
+ </delegates>
+ </analysisEngine>
+ </service>
+ </deployment>
+
+</analysisEngineDeploymentDescription>
Propchange: uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/test/resources/DDSleepDescriptor.xml
------------------------------------------------------------------------------
svn:eol-style = native
Added: uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/test/resources/FixedSleepAE.xml
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/test/resources/FixedSleepAE.xml?rev=1642685&view=auto
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/test/resources/FixedSleepAE.xml (added)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/test/resources/FixedSleepAE.xml Mon Dec 1 14:09:10 2014
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+ <!--
+ ***************************************************************
+ * 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.
+ ***************************************************************
+ -->
+
+<!-- AE that employs CAS indirection inside aggregate. -->
+
+<analysisEngineDescription xmlns="http://uima.apache.org/resourceSpecifier">
+ <frameworkImplementation>org.apache.uima.java</frameworkImplementation>
+ <primitive>true</primitive>
+ <annotatorImplementationName>org.apache.uima.ducc.test.randomsleep.FixedSleepAE</annotatorImplementationName>
+ <analysisEngineMetaData>
+ <name>DefaultAE</name>
+ <description>Receives CASes with modified index; does nothing (echos).</description>
+ <version>1.0</version>
+ <vendor>The Apache Software Foundation</vendor>
+
+ <configurationParameters>
+ <configurationParameter>
+ <name>DebugLevel</name>
+ <description>Debug Level</description>
+ <type>String</type>
+ <multiValued>false</multiValued>
+ <mandatory>false</mandatory>
+ </configurationParameter>
+ </configurationParameters>
+ <configurationParameterSettings>
+ </configurationParameterSettings>
+
+ <typeSystemDescription>
+ <imports>
+ <import name="org.apache.uima.examples.SourceDocumentInformation"/>
+ </imports>
+ </typeSystemDescription>
+ <!--
+ Capabilities: Inputs, Outputs, and Preconditions
+ -->
+ <capabilities>
+ <capability>
+ <inputs/>
+ <outputs>
+ <type allAnnotatorFeatures="true">org.apache.uima.examples.SourceDocumentInformation</type>
+ </outputs>
+ </capability>
+ </capabilities>
+ <operationalProperties>
+ <modifiesCas>true</modifiesCas>
+ <multipleDeploymentAllowed>true</multipleDeploymentAllowed>
+ <outputsNewCASes>false</outputsNewCASes>
+ </operationalProperties>
+ </analysisEngineMetaData>
+</analysisEngineDescription>
Propchange: uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/test/resources/FixedSleepAE.xml
------------------------------------------------------------------------------
svn:eol-style = native