svn commit: r1229526 [1/2] - in /uima/sandbox/trunk/TextMarker/uimaj-ep-textmarker-engine/src/main/java/org/apache/uima/textmarker: TextMarkerEnvironment.java action/SetFeatureAction.java parser/TextM
Author: pkluegl Date: Tue Jan 10 13:18:50 2012 New Revision: 1229526 URL: http://svn.apache.org/viewvc?rev=1229526&view=rev Log: UIMA-2325 added functionality to remember and set initial values of primitive variables. Modified: uima/sandbox/trunk/TextMarker/uimaj-ep-textmarker-engine/src/main/java/org/apache/uima/textmarker/TextMarkerEnvironment.java uima/sandbox/trunk/TextMarker/uimaj-ep-textmarker-engine/src/main/java/org/apache/uima/textmarker/action/SetFeatureAction.java uima/sandbox/trunk/TextMarker/uimaj-ep-textmarker-engine/src/main/java/org/apache/uima/textmarker/parser/TextMarkerParser.g uima/sandbox/trunk/TextMarker/uimaj-ep-textmarker-engine/src/main/java/org/apache/uima/textmarker/parser/TextMarkerParser.java Modified: uima/sandbox/trunk/TextMarker/uimaj-ep-textmarker-engine/src/main/java/org/apache/uima/textmarker/TextMarkerEnvironment.java URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/uimaj-ep-textmarker-engine/src/main/java/org/apache/uima/textmarker/TextMarkerEnvironment.java?rev=1229526&r1=1229525&r2=1229526&view=diff == --- uima/sandbox/trunk/TextMarker/uimaj-ep-textmarker-engine/src/main/java/org/apache/uima/textmarker/TextMarkerEnvironment.java (original) +++ uima/sandbox/trunk/TextMarker/uimaj-ep-textmarker-engine/src/main/java/org/apache/uima/textmarker/TextMarkerEnvironment.java Tue Jan 10 13:18:50 2012 @@ -36,13 +36,16 @@ import org.apache.uima.jcas.cas.TOP; import org.apache.uima.jcas.tcas.DocumentAnnotation; import org.apache.uima.textmarker.action.AbstractTextMarkerAction; import org.apache.uima.textmarker.condition.AbstractTextMarkerCondition; +import org.apache.uima.textmarker.expression.bool.BooleanExpression; import org.apache.uima.textmarker.expression.list.ListExpression; import org.apache.uima.textmarker.expression.list.SimpleBooleanListExpression; import org.apache.uima.textmarker.expression.list.SimpleNumberListExpression; import org.apache.uima.textmarker.expression.list.SimpleStringListExpression; import org.apache.uima.textmarker.expression.list.SimpleTypeListExpression; +import org.apache.uima.textmarker.expression.number.NumberExpression; import org.apache.uima.textmarker.expression.resource.LiteralWordListExpression; import org.apache.uima.textmarker.expression.resource.LiteralWordTableExpression; +import org.apache.uima.textmarker.expression.string.StringExpression; import org.apache.uima.textmarker.resource.CSVTable; import org.apache.uima.textmarker.resource.MultiTreeWordList; import org.apache.uima.textmarker.resource.TextMarkerTable; @@ -77,6 +80,8 @@ public class TextMarkerEnvironment { private CAS cas; + private Map initializedVariables; + public TextMarkerEnvironment(TextMarkerBlock owner) { super(); this.owner = owner; @@ -91,7 +96,7 @@ public class TextMarkerEnvironment { availableTypes.put("INT", Integer.class); availableTypes.put("STRING", String.class); availableTypes.put("DOUBLE", Double.class); -availableTypes.put("FLOAT", Double.class); +availableTypes.put("FLOAT", Float.class); availableTypes.put("BOOLEAN", Boolean.class); availableTypes.put("TYPE", Type.class); availableTypes.put("CONDITION", AbstractTextMarkerCondition.class); @@ -112,6 +117,7 @@ public class TextMarkerEnvironment { availableListTypes.put("STRINGLIST", String.class); availableListTypes.put("TYPELIST", Type.class); resourcePaths = getResourcePaths(); +initializedVariables = new HashMap(); } public void initializeTypes(CAS cas) { @@ -239,10 +245,14 @@ public class TextMarkerEnvironment { if (generic != null) { variableGenericTypes.put(name, generic); } -variableValues.put(name, getInitialValue(type)); +variableValues.put(name, getInitialValue(name, type)); } - private Object getInitialValue(Class type) { + private Object getInitialValue(String name, Class type) { +Object init = initializedVariables.get(name); +if (init != null) { + return init; +} if (Integer.class.equals(type)) { return 0; } else if (Double.class.equals(type)) { @@ -262,7 +272,6 @@ public class TextMarkerEnvironment { } else if (List.class.equals(type)) { return new ArrayList(); } - return null; } @@ -322,7 +331,7 @@ public class TextMarkerEnvironment { if (containsKey && result == null) { // TODO find the problem with the null values! // this might now work for word lists in another env. - return type.cast(getInitialValue(type)); + return type.cast(getInitialValue(name, type)); } if (result == annotationTypeDummy) { return type.cast(cas.getAnnotationType()); @@ -339,6 +348,42 @@ public class TextMarkerEnvironment { return getVariableValue(name, Object.class); } + public Object getLiteralValue(String var, Object value) { +if (ownsVariable(var
svn commit: r1229564 - in /uima/uima-as/trunk: uimaj-as-activemq/src/test/java/org/apache/uima/ae/multiplier/ uimaj-as-activemq/src/test/java/org/apache/uima/ee/test/ uimaj-as-activemq/src/test/resour
Author: cwiklik Date: Tue Jan 10 14:45:21 2012 New Revision: 1229564 URL: http://svn.apache.org/viewvc?rev=1229564&view=rev Log: UIMA-2324 Fixes NPE while recovering from CM failure. Added new testcase Added: uima/uima-as/trunk/uimaj-as-activemq/src/test/resources/deployment/Deploy_AggregateAnnotatorWithFailingCollocatedCM.xml (with props) uima/uima-as/trunk/uimaj-as-activemq/src/test/resources/descriptors/analysis_engine/SimpleTestAggregateWithFailingCasMultiplier.xml (with props) uima/uima-as/trunk/uimaj-as-activemq/src/test/resources/descriptors/multiplier/SimpleCasGeneratorWithFailureOnNthDocument.xml (with props) Modified: uima/uima-as/trunk/uimaj-as-activemq/src/test/java/org/apache/uima/ae/multiplier/SimpleCasGenerator.java uima/uima-as/trunk/uimaj-as-activemq/src/test/java/org/apache/uima/ee/test/TestUimaASExtended.java uima/uima-as/trunk/uimaj-as-core/src/main/java/org/apache/uima/aae/controller/AggregateAnalysisEngineController_impl.java uima/uima-as/trunk/uimaj-as-core/src/main/java/org/apache/uima/aae/controller/BaseAnalysisEngineController.java Modified: uima/uima-as/trunk/uimaj-as-activemq/src/test/java/org/apache/uima/ae/multiplier/SimpleCasGenerator.java URL: http://svn.apache.org/viewvc/uima/uima-as/trunk/uimaj-as-activemq/src/test/java/org/apache/uima/ae/multiplier/SimpleCasGenerator.java?rev=1229564&r1=1229563&r2=1229564&view=diff == --- uima/uima-as/trunk/uimaj-as-activemq/src/test/java/org/apache/uima/ae/multiplier/SimpleCasGenerator.java (original) +++ uima/uima-as/trunk/uimaj-as-activemq/src/test/java/org/apache/uima/ae/multiplier/SimpleCasGenerator.java Tue Jan 10 14:45:21 2012 @@ -63,6 +63,8 @@ public class SimpleCasGenerator extends private String text; long docCount = 0; + + int failOnDocumentNumber; /* * (non-Javadoc) @@ -73,6 +75,13 @@ public class SimpleCasGenerator extends public void initialize(UimaContext aContext) throws ResourceInitializationException { super.initialize(aContext); this.nToGen = ((Integer) aContext.getConfigParameterValue("NumberToGenerate")).intValue(); +if ( aContext.getConfigParameterValue("DocumentNumberToFailOn") != null ) { + int tmpCount = ((Integer) aContext.getConfigParameterValue("DocumentNumberToFailOn")).intValue(); + if ( tmpCount > 0 ) { +this.failOnDocumentNumber = tmpCount; + } +} + FileInputStream fis = null; try { String filename = ((String) aContext.getConfigParameterValue("InputFile")).trim(); @@ -137,6 +146,13 @@ public class SimpleCasGenerator extends System.out.println("Initializing CAS with a Document of Size:" + text.length()); } docCount++; + +if ( this.failOnDocumentNumber == docCount ) { + cas.release(); + // force CM to finish producing CASes on error + this.mCount = this.nToGen; + throw new AnalysisEngineProcessException(new Exception("Simulated Exception in Cas Multiplier next() method")); +} if (UIMAFramework.getLogger().isLoggable(Level.FINE)) System.out.println("CasMult creating document#" + docCount); cas.setDocumentText(this.text); Modified: uima/uima-as/trunk/uimaj-as-activemq/src/test/java/org/apache/uima/ee/test/TestUimaASExtended.java URL: http://svn.apache.org/viewvc/uima/uima-as/trunk/uimaj-as-activemq/src/test/java/org/apache/uima/ee/test/TestUimaASExtended.java?rev=1229564&r1=1229563&r2=1229564&view=diff == --- uima/uima-as/trunk/uimaj-as-activemq/src/test/java/org/apache/uima/ee/test/TestUimaASExtended.java (original) +++ uima/uima-as/trunk/uimaj-as-activemq/src/test/java/org/apache/uima/ee/test/TestUimaASExtended.java Tue Jan 10 14:45:21 2012 @@ -23,10 +23,13 @@ import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; +import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.Reader; +import java.util.ArrayList; import java.util.HashMap; +import java.util.List; import java.util.Map; import java.util.concurrent.CountDownLatch; import java.util.concurrent.ExecutorService; @@ -53,6 +56,7 @@ import org.apache.uima.aae.client.UimaAs import org.apache.uima.aae.controller.Endpoint; import org.apache.uima.aae.error.MessageTimeoutException; import org.apache.uima.aae.error.ServiceShutdownException; +import org.apache.uima.aae.monitor.statistics.AnalysisEnginePerformanceMetrics; import org.apache.uima.adapter.jms.JmsConstants; import org.apache.uima.adapter.jms.activemq.JmsOutputChannel; import org.apache.uima.adapter.jms.activemq.SpringContainerDeployer; @@ -61,6 +65,8 @@ import org.apache.uima.adapter.jms.messa import org.apache.uima.analysis_engine.AnalysisEngineDescription; import org.apache.uima.cas.CAS; import org.apache
svn commit: r1229575 - in /uima/uima-as/trunk: uimaj-as-activemq/src/main/java/org/apache/uima/adapter/jms/activemq/ uimaj-as-core/src/main/java/org/apache/uima/aae/controller/
Author: cwiklik Date: Tue Jan 10 15:00:53 2012 New Revision: 1229575 URL: http://svn.apache.org/viewvc?rev=1229575&view=rev Log: UIMA-2309 While in quiesce mode, release AE instance as soon as the Primitive is done processing Modified: uima/uima-as/trunk/uimaj-as-activemq/src/main/java/org/apache/uima/adapter/jms/activemq/JmsEndpointConnection_impl.java uima/uima-as/trunk/uimaj-as-core/src/main/java/org/apache/uima/aae/controller/AnalysisEngineInstancePoolWithThreadAffinity.java uima/uima-as/trunk/uimaj-as-core/src/main/java/org/apache/uima/aae/controller/PrimitiveAnalysisEngineController_impl.java Modified: uima/uima-as/trunk/uimaj-as-activemq/src/main/java/org/apache/uima/adapter/jms/activemq/JmsEndpointConnection_impl.java URL: http://svn.apache.org/viewvc/uima/uima-as/trunk/uimaj-as-activemq/src/main/java/org/apache/uima/adapter/jms/activemq/JmsEndpointConnection_impl.java?rev=1229575&r1=1229574&r2=1229575&view=diff == --- uima/uima-as/trunk/uimaj-as-activemq/src/main/java/org/apache/uima/adapter/jms/activemq/JmsEndpointConnection_impl.java (original) +++ uima/uima-as/trunk/uimaj-as-activemq/src/main/java/org/apache/uima/adapter/jms/activemq/JmsEndpointConnection_impl.java Tue Jan 10 15:00:53 2012 @@ -622,8 +622,8 @@ public class JmsEndpointConnection_impl } // If the controller has been stopped no need to send messages if (controller.isStopped()) { -return true; - } else { +return false; + } else { if (e instanceof JMSException) { handleJmsException((JMSException) e); // whoever called this method is interested in knowing that there was JMS Exception Modified: uima/uima-as/trunk/uimaj-as-core/src/main/java/org/apache/uima/aae/controller/AnalysisEngineInstancePoolWithThreadAffinity.java URL: http://svn.apache.org/viewvc/uima/uima-as/trunk/uimaj-as-core/src/main/java/org/apache/uima/aae/controller/AnalysisEngineInstancePoolWithThreadAffinity.java?rev=1229575&r1=1229574&r2=1229575&view=diff == --- uima/uima-as/trunk/uimaj-as-core/src/main/java/org/apache/uima/aae/controller/AnalysisEngineInstancePoolWithThreadAffinity.java (original) +++ uima/uima-as/trunk/uimaj-as-core/src/main/java/org/apache/uima/aae/controller/AnalysisEngineInstancePoolWithThreadAffinity.java Tue Jan 10 15:00:53 2012 @@ -48,8 +48,14 @@ public class AnalysisEngineInstancePoolW public void checkin(AnalysisEngine anAnalysisEngine) throws Exception { try { lock.acquireUninterruptibly(); - aeInstanceMap.put(Thread.currentThread().getId(), anAnalysisEngine); - } catch( Exception e) { + // Call destroy() on AE on checkin if the UIMA AS process is in quiesce mode + if ( destroyAEInstanceIfFree ) { + System.out.println("... AnalysisEngineInstancePool.checkin() - Thread:"+Thread.currentThread().getId()+" calling destroy() on AE checkin"); + anAnalysisEngine.destroy(); + } else { + aeInstanceMap.put(Thread.currentThread().getId(), anAnalysisEngine); + } + } catch( Exception e) { e.printStackTrace(); throw e; } finally { @@ -97,6 +103,7 @@ public class AnalysisEngineInstancePoolW * @see org.apache.uima.aae.controller.AnalysisEngineInstancePool#destroy() */ public void destroy() throws Exception { +System.out.println("... AnalysisEngineInstancePool.destroy() was called"); //set the flag so that any AE instance returned from PrimitiveController //will be destroyed. destroyAEInstanceIfFree = true; Modified: uima/uima-as/trunk/uimaj-as-core/src/main/java/org/apache/uima/aae/controller/PrimitiveAnalysisEngineController_impl.java URL: http://svn.apache.org/viewvc/uima/uima-as/trunk/uimaj-as-core/src/main/java/org/apache/uima/aae/controller/PrimitiveAnalysisEngineController_impl.java?rev=1229575&r1=1229574&r2=1229575&view=diff == --- uima/uima-as/trunk/uimaj-as-core/src/main/java/org/apache/uima/aae/controller/PrimitiveAnalysisEngineController_impl.java (original) +++ uima/uima-as/trunk/uimaj-as-core/src/main/java/org/apache/uima/aae/controller/PrimitiveAnalysisEngineController_impl.java Tue Jan 10 15:00:53 2012 @@ -489,6 +489,8 @@ public class PrimitiveAnalysisEngineCont ae.destroy(); } } + } catch( AsynchAEException e) { + // No-op. AE instance not found. Most likely, the UIMA AS service is in shutdown state } catch( Exception e) { e.printStackTrace(); }
svn commit: r1229577 - /uima/uima-as/trunk/uimaj-as-activemq/src/test/java/org/apache/uima/ee/test/utils/BaseTestSupport.java
Author: cwiklik Date: Tue Jan 10 15:03:11 2012 New Revision: 1229577 URL: http://svn.apache.org/viewvc?rev=1229577&view=rev Log: UIMA-2309 in sendCAS() check is the test is in stopping state before sending another CAS to a service Modified: uima/uima-as/trunk/uimaj-as-activemq/src/test/java/org/apache/uima/ee/test/utils/BaseTestSupport.java Modified: uima/uima-as/trunk/uimaj-as-activemq/src/test/java/org/apache/uima/ee/test/utils/BaseTestSupport.java URL: http://svn.apache.org/viewvc/uima/uima-as/trunk/uimaj-as-activemq/src/test/java/org/apache/uima/ee/test/utils/BaseTestSupport.java?rev=1229577&r1=1229576&r2=1229577&view=diff == --- uima/uima-as/trunk/uimaj-as-activemq/src/test/java/org/apache/uima/ee/test/utils/BaseTestSupport.java (original) +++ uima/uima-as/trunk/uimaj-as-activemq/src/test/java/org/apache/uima/ee/test/utils/BaseTestSupport.java Tue Jan 10 15:03:11 2012 @@ -601,6 +601,9 @@ public abstract class BaseTestSupport ex boolean sendCasAsynchronously) throws Exception { engine = eeUimaEngine; for (int i = 0; i < howMany; i++) { + if (isStopping) { + break; + } CAS cas = eeUimaEngine.getCAS(); if (cas == null) { if (isStopping) {
svn commit: r1229717 - in /uima/uimacpp/trunk: RELEASE_NOTES.html docs/overview_and_setup.html docs/uimacpp.dox
Author: bhavani Date: Tue Jan 10 20:37:12 2012 New Revision: 1229717 URL: http://svn.apache.org/viewvc?rev=1229717&view=rev Log: UIMA-2314 replace version number 2.3.0 with 2.4.0 Modified: uima/uimacpp/trunk/RELEASE_NOTES.html uima/uimacpp/trunk/docs/overview_and_setup.html (contents, props changed) uima/uimacpp/trunk/docs/uimacpp.dox Modified: uima/uimacpp/trunk/RELEASE_NOTES.html URL: http://svn.apache.org/viewvc/uima/uimacpp/trunk/RELEASE_NOTES.html?rev=1229717&r1=1229716&r2=1229717&view=diff == --- uima/uimacpp/trunk/RELEASE_NOTES.html (original) +++ uima/uimacpp/trunk/RELEASE_NOTES.html Tue Jan 10 20:37:12 2012 @@ -11,7 +11,7 @@ xmlns="http://www.w3.org/TR/REC-html40";> -Apache UIMA C++ v2.3.0 Releate Notes +Apache UIMA C++ v2.4.0 Releate Notes Apache -UIMA (Unstructured Information Management Architecture) for C++ v2.3.0 Release +UIMA (Unstructured Information Management Architecture) for C++ v2.4.0 Release Notes
svn commit: r1229781 - in /uima/uimacpp/trunk: Makefile.am autogen.sh configure.ac
Author: bhavani Date: Tue Jan 10 22:47:28 2012 New Revision: 1229781 URL: http://svn.apache.org/viewvc?rev=1229781&view=rev Log: UIMA-2328 cleanup packaging of linux source distribution Modified: uima/uimacpp/trunk/Makefile.am uima/uimacpp/trunk/autogen.sh uima/uimacpp/trunk/configure.ac Modified: uima/uimacpp/trunk/Makefile.am URL: http://svn.apache.org/viewvc/uima/uimacpp/trunk/Makefile.am?rev=1229781&r1=1229780&r2=1229781&view=diff == --- uima/uimacpp/trunk/Makefile.am (original) +++ uima/uimacpp/trunk/Makefile.am Tue Jan 10 22:47:28 2012 @@ -16,13 +16,13 @@ # --- #SUBDIRS = framework utils test +AUTOMAKE_OPTIONS = foreign SUBDIRS = src ACLOCAL_AMFLAGS = -I m4 -EXTRA_DIST = docs data examples scriptators LICENSE buildsdk.sh README.4src README.4sdk NOTICE.4sdk RELEASE_NOTES.html +EXTRA_DIST = docs/builddocs.sh docs/doxyheader.html docs/overview_and_setup.html docs/uimacppdocs.mak docs/uimacpp.dox data examples scriptators LICENSE buildsdk.sh README.4src README.4sdk NOTICE.4sdk RELEASE_NOTES.html autogen.sh dist-hook: - rm -rf `find $(distdir)/docs -name .svn` rm -rf `find $(distdir)/data -name .svn` rm -rf `find $(distdir)/examples -name .svn` rm -rf `find $(distdir)/scriptators -name .svn` Modified: uima/uimacpp/trunk/autogen.sh URL: http://svn.apache.org/viewvc/uima/uimacpp/trunk/autogen.sh?rev=1229781&r1=1229780&r2=1229781&view=diff == --- uima/uimacpp/trunk/autogen.sh (original) +++ uima/uimacpp/trunk/autogen.sh Tue Jan 10 22:47:28 2012 @@ -1,3 +1,3 @@ -touch NEWS README AUTHORS ChangeLog -autoreconf -I m4 --force --install +#touch NEWS README AUTHORS ChangeLog +autoreconf -I m4 -I config --force --install rm -rf autom4te.cache Modified: uima/uimacpp/trunk/configure.ac URL: http://svn.apache.org/viewvc/uima/uimacpp/trunk/configure.ac?rev=1229781&r1=1229780&r2=1229781&view=diff == --- uima/uimacpp/trunk/configure.ac (original) +++ uima/uimacpp/trunk/configure.ac Tue Jan 10 22:47:28 2012 @@ -17,8 +17,9 @@ # under the License. AC_INIT(uimacpp, 2.4.0) +AC_CONFIG_AUX_DIR(config) AC_CONFIG_SRCDIR(src/framework/engine.cpp) -AM_INIT_AUTOMAKE +AM_INIT_AUTOMAKE([foreign]) AC_CONFIG_MACRO_DIR([m4]) AC_DISABLE_STATIC