You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by cw...@apache.org on 2011/08/24 17:56:27 UTC
svn commit: r1161174 -
/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/UIMAFramework.java
Author: cwiklik
Date: Wed Aug 24 15:56:27 2011
New Revision: 1161174
URL: http://svn.apache.org/viewvc?rev=1161174&view=rev
Log:
UIMA-2217 Modified all produceAnalysisEngine() methods to set the AE state to Ready when produceResource() call succeeds
Modified:
uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/UIMAFramework.java
Modified: uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/UIMAFramework.java
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/UIMAFramework.java?rev=1161174&r1=1161173&r2=1161174&view=diff
==============================================================================
--- uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/UIMAFramework.java (original)
+++ uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/UIMAFramework.java Wed Aug 24 15:56:27 2011
@@ -24,7 +24,9 @@ import java.util.Map;
import java.util.Properties;
import org.apache.uima.analysis_engine.AnalysisEngine;
+import org.apache.uima.analysis_engine.AnalysisEngineManagement.State;
import org.apache.uima.analysis_engine.TextAnalysisEngine;
+import org.apache.uima.analysis_engine.impl.AnalysisEngineManagementImpl;
import org.apache.uima.collection.CasConsumer;
import org.apache.uima.collection.CasInitializer;
import org.apache.uima.collection.CollectionProcessingEngine;
@@ -311,7 +313,21 @@ public abstract class UIMAFramework {
return produceResource(aResourceClass, aSpecifier, aAdditionalParams);
}
-
+
+ /**
+ * Called if AE initialization succeeds. Sets the AE state to Ready and time
+ * it took to initialize the AE.
+ *
+ * @param ae
+ * @param initStartTime
+ */
+ private static void updateAeState(AnalysisEngine ae, long initStartTime) {
+ if ( ae.getManagementInterface() instanceof AnalysisEngineManagementImpl) {
+ ((AnalysisEngineManagementImpl)ae.getManagementInterface()).setState(State.Ready);
+ ((AnalysisEngineManagementImpl)ae.getManagementInterface()).
+ setInitializationTime( System.currentTimeMillis() - initStartTime);
+ }
+ }
/**
* Produces an {@link AnalysisEngine} instance from a <code>ResourceSpecifier</code>. The
* <code>ResourceSpecifier</code> may either specify how to construct a new instance or how to
@@ -332,7 +348,14 @@ public abstract class UIMAFramework {
*/
public static AnalysisEngine produceAnalysisEngine(ResourceSpecifier aSpecifier)
throws ResourceInitializationException {
- return (AnalysisEngine) produceResource(AnalysisEngine.class, aSpecifier, null);
+ AnalysisEngine ae = null;
+ // Fetch current time to compute initialization time
+ long initStartTime = System.currentTimeMillis();
+ ae = (AnalysisEngine) produceResource(AnalysisEngine.class, aSpecifier, null);
+ // initialization succeeded, update AE state and initialization time
+ updateAeState(ae,initStartTime);
+ return ae;
+
}
/**
@@ -358,7 +381,14 @@ public abstract class UIMAFramework {
*/
public static AnalysisEngine produceAnalysisEngine(ResourceSpecifier aSpecifier,
Map<String, Object> aAdditionalParams) throws ResourceInitializationException {
- return (AnalysisEngine) produceResource(AnalysisEngine.class, aSpecifier, aAdditionalParams);
+ AnalysisEngine ae = null;
+ // Fetch current time to compute initialization time
+ long initStartTime = System.currentTimeMillis();
+ ae = (AnalysisEngine) produceResource(AnalysisEngine.class, aSpecifier, aAdditionalParams);
+ // initialization succeeded, update AE state and initialization time
+ updateAeState(ae,initStartTime);
+ return ae;
+
}
/**
@@ -389,8 +419,14 @@ public abstract class UIMAFramework {
public static AnalysisEngine produceAnalysisEngine(ResourceSpecifier aSpecifier,
ResourceManager aResourceManager, Map<String, Object> aAdditionalParams)
throws ResourceInitializationException {
- return (AnalysisEngine) produceResource(AnalysisEngine.class, aSpecifier, aResourceManager,
+ AnalysisEngine ae = null;
+ // Fetch current time to compute initialization time
+ long initStartTime = System.currentTimeMillis();
+ ae = (AnalysisEngine) produceResource(AnalysisEngine.class, aSpecifier, aResourceManager,
aAdditionalParams);
+ // initialization succeeded, update AE state and initialization time
+ updateAeState(ae,initStartTime);
+ return ae;
}
/**
@@ -432,7 +468,14 @@ public abstract class UIMAFramework {
aMaxSimultaneousRequests));
aAdditionalParams.put(AnalysisEngine.PARAM_TIMEOUT_PERIOD, Integer.valueOf(aTimeoutPeriod));
- return (AnalysisEngine) produceResource(AnalysisEngine.class, aSpecifier, aAdditionalParams);
+ AnalysisEngine ae = null;
+ // Fetch current time to compute initialization time
+ long initStartTime = System.currentTimeMillis();
+
+ ae = (AnalysisEngine) produceResource(AnalysisEngine.class, aSpecifier, aAdditionalParams);
+ // initialization succeeded, update AE state and initialization time
+ updateAeState(ae,initStartTime);
+ return ae;
}
/**