You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by sc...@apache.org on 2008/06/11 19:35:01 UTC
svn commit: r666745 -
/incubator/uima/sandbox/trunk/uima-as/uimaj-as-activemq/src/main/java/org/apache/uima/aae/jms_adapter/JmsAnalysisEngineServiceStub.java
Author: schor
Date: Wed Jun 11 10:35:01 2008
New Revision: 666745
URL: http://svn.apache.org/viewvc?rev=666745&view=rev
Log:
[UIMA-1073] Committed the patch after removing some debugging println messages.
Modified:
incubator/uima/sandbox/trunk/uima-as/uimaj-as-activemq/src/main/java/org/apache/uima/aae/jms_adapter/JmsAnalysisEngineServiceStub.java
Modified: incubator/uima/sandbox/trunk/uima-as/uimaj-as-activemq/src/main/java/org/apache/uima/aae/jms_adapter/JmsAnalysisEngineServiceStub.java
URL: http://svn.apache.org/viewvc/incubator/uima/sandbox/trunk/uima-as/uimaj-as-activemq/src/main/java/org/apache/uima/aae/jms_adapter/JmsAnalysisEngineServiceStub.java?rev=666745&r1=666744&r2=666745&view=diff
==============================================================================
--- incubator/uima/sandbox/trunk/uima-as/uimaj-as-activemq/src/main/java/org/apache/uima/aae/jms_adapter/JmsAnalysisEngineServiceStub.java (original)
+++ incubator/uima/sandbox/trunk/uima-as/uimaj-as-activemq/src/main/java/org/apache/uima/aae/jms_adapter/JmsAnalysisEngineServiceStub.java Wed Jun 11 10:35:01 2008
@@ -42,11 +42,13 @@
import java.util.Map;
import org.apache.uima.UIMAFramework;
+import org.apache.uima.aae.client.UimaASStatusCallbackListener;
import org.apache.uima.aae.client.UimaAsynchronousEngine;
import org.apache.uima.adapter.jms.client.BaseUIMAAsynchronousEngine_impl;
import org.apache.uima.analysis_engine.AnalysisEngineServiceStub;
import org.apache.uima.analysis_engine.metadata.AnalysisEngineMetaData;
import org.apache.uima.cas.CAS;
+import org.apache.uima.collection.EntityProcessStatus;
import org.apache.uima.resource.Parameter;
import org.apache.uima.resource.Resource;
import org.apache.uima.resource.ResourceInitializationException;
@@ -55,10 +57,13 @@
import org.apache.uima.resource.metadata.ResourceMetaData;
import org.apache.uima.util.Level;
-public class JmsAnalysisEngineServiceStub implements AnalysisEngineServiceStub {
+public class JmsAnalysisEngineServiceStub implements AnalysisEngineServiceStub,
+ UimaASStatusCallbackListener {
public static final String PARAM_BROKER_URL = "brokerUrl";
public static final String PARAM_ENDPOINT = "endpoint";
public static final String PARAM_TIMEOUT = "timeout";
+ private Object mux = new Object();
+ private boolean cpcReceived;
private UimaAsynchronousEngine uimaEEEngine;
public JmsAnalysisEngineServiceStub(Resource owner,
@@ -89,6 +94,7 @@
appCtxt.put(UimaAsynchronousEngine.Timeout, timeout);
}
uimaEEEngine = new BaseUIMAAsynchronousEngine_impl();
+ uimaEEEngine.addStatusCallbackListener(this);
uimaEEEngine.initialize(appCtxt);
System.out.println("adapter init complete");
}
@@ -137,6 +143,7 @@
*/
public void destroy() {
try {
+// System.out.println("destroy methjdssdx");
uimaEEEngine.stop();
} catch (Exception e) {
UIMAFramework.getLogger().log(Level.WARNING, e.getMessage(), e);
@@ -156,11 +163,53 @@
*/
public void callCollectionProcessComplete() throws ResourceServiceException {
try {
+ cpcReceived = false;
uimaEEEngine.collectionProcessingComplete();
+ // make this routine synchronous
+// System.out.println("CPC no wakeup needed");
+ synchronized (mux) {
+ while (!cpcReceived) {
+ try {
+ mux.wait();
+// System.out.println("CPC wakeup");
+ } catch (InterruptedException e) {
+ // Only here if something interrupts this thread
+ e.printStackTrace();
+ }
+ }
+ }
} catch (ResourceProcessException e) {
throw new ResourceServiceException(e);
}
}
+ /* (non-Javadoc)
+ * @see org.apache.uima.aae.client.UimaASStatusCallbackListener#collectionProcessComplete(org.apache.uima.collection.EntityProcessStatus)
+ */
+ public void collectionProcessComplete(EntityProcessStatus aStatus) {
+ synchronized (mux) {
+// System.out.println("CPC reply done got one");
+ cpcReceived = true;
+ mux.notifyAll();
+ }
+ }
+
+
+ /* (non-Javadoc)
+ * @see org.apache.uima.aae.client.UimaASStatusCallbackListener#entityProcessComplete(org.apache.uima.cas.CAS, org.apache.uima.collection.EntityProcessStatus)
+ */
+ public void entityProcessComplete(CAS aCas, EntityProcessStatus aStatus) {
+ // not used
+ }
+
+
+ /* (non-Javadoc)
+ * @see org.apache.uima.aae.client.UimaASStatusCallbackListener#initializationComplete(org.apache.uima.collection.EntityProcessStatus)
+ */
+ public void initializationComplete(EntityProcessStatus aStatus) {
+ // not used
+ }
+
+
}