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 2009/08/20 19:41:10 UTC

svn commit: r806271 - /incubator/uima/uima-as/trunk/uimaj-as-core/src/main/java/org/apache/uima/aae/controller/BaseAnalysisEngineController.java

Author: cwiklik
Date: Thu Aug 20 17:41:10 2009
New Revision: 806271

URL: http://svn.apache.org/viewvc?rev=806271&view=rev
Log:
UIMA-1480 Added check for version compatibility between UIMA-AS and UIMA Core

Modified:
    incubator/uima/uima-as/trunk/uimaj-as-core/src/main/java/org/apache/uima/aae/controller/BaseAnalysisEngineController.java

Modified: incubator/uima/uima-as/trunk/uimaj-as-core/src/main/java/org/apache/uima/aae/controller/BaseAnalysisEngineController.java
URL: http://svn.apache.org/viewvc/incubator/uima/uima-as/trunk/uimaj-as-core/src/main/java/org/apache/uima/aae/controller/BaseAnalysisEngineController.java?rev=806271&r1=806270&r2=806271&view=diff
==============================================================================
--- incubator/uima/uima-as/trunk/uimaj-as-core/src/main/java/org/apache/uima/aae/controller/BaseAnalysisEngineController.java (original)
+++ incubator/uima/uima-as/trunk/uimaj-as-core/src/main/java/org/apache/uima/aae/controller/BaseAnalysisEngineController.java Thu Aug 20 17:41:10 2009
@@ -52,6 +52,7 @@
 import org.apache.uima.aae.OutputChannel;
 import org.apache.uima.aae.UIMAEE_Constants;
 import org.apache.uima.aae.UimaAsContext;
+import org.apache.uima.aae.UimaAsVersion;
 import org.apache.uima.aae.UimaClassFactory;
 import org.apache.uima.aae.UimaEEAdminContext;
 import org.apache.uima.aae.InProcessCache.CacheEntry;
@@ -241,6 +242,9 @@
   
   private ScheduledExecutorService daemonServiceExecutor=null;
   
+  private static final UimaAsVersion uimaAsVersion = 
+    new UimaAsVersion();
+  
   public BaseAnalysisEngineController() {
     
   }
@@ -260,7 +264,7 @@
 	
 	public BaseAnalysisEngineController(AnalysisEngineController aParentController, int aComponentCasPoolSize, long anInitialCasHeapSize, String anEndpointName, String aDescriptor, AsynchAECasManager aCasManager, InProcessCache anInProcessCache, Map aDestinationMap, JmxManagement aJmxManagement) throws Exception
 	{
-		casManager = aCasManager;
+	  casManager = aCasManager;
 		inProcessCache = anInProcessCache;
     localCache = new LocalCache(this);
     aeDescriptor = aDescriptor;
@@ -307,14 +311,20 @@
 		{
 			Endpoint endpoint = ((AggregateAnalysisEngineController)parentController).lookUpEndpoint(endpointName, false);
 			endpointName = endpoint.getEndpoint();
-		}
-
+		} 
 		resourceSpecifier = UimaClassFactory.produceResourceSpecifier(aDescriptor);
 
 		
 		if ( isTopLevelComponent())
 		{
-	    logPlatformInfo(getComponentName());
+		  //  Check UIMA AS version againg the UIMA Core version. If not the same throw Exception
+	      if ( !uimaAsVersion.getVersionString().equals(UIMAFramework.getVersionString())) {
+	        UIMAFramework.getLogger(CLASS_NAME).logrb(Level.INFO, CLASS_NAME.getName(),
+                  "BaseAnalysisEngineController", UIMAEE_Constants.JMS_LOG_RESOURCE_BUNDLE, "UIMAEE_incompatible_version_WARNING",
+                  new Object[] { getComponentName(), uimaAsVersion.getVersionString(), UIMAFramework.getVersionString() });
+	        throw new ResourceInitializationException(new AsynchAEException("Version of UIMA-AS is Incompatible with a Version of UIMA Core. UIMA-AS Version:"+uimaAsVersion.getVersionString()+" Core UIMA Version:"+UIMAFramework.getVersionString()));
+	      }
+	      logPlatformInfo(getComponentName());
 		}
 		else
 		{
@@ -462,7 +472,6 @@
           processPid = processPid.substring(0, endPos);  
        }
       }
-      
       DateFormat df = new SimpleDateFormat("dd MMM yyyy HH:mm:ss ");
       
       StringBuffer platformInfo = new StringBuffer();
@@ -472,6 +481,8 @@
       platformInfo.append("\n+ Service Name:"+serviceName);
       platformInfo.append("\n+ Service Queue Name:"+endpointName);
       platformInfo.append("\n+ Service Start Time:"+df.format(bean.getStartTime()));
+      platformInfo.append("\n+ UIMA AS Version:"+uimaAsVersion.getVersionString());
+      platformInfo.append("\n+ UIMA Core Version:"+UIMAFramework.getVersionString());
       platformInfo.append("\n+ OS Name:"+osBean.getName());
       platformInfo.append("\n+ OS Version:"+osBean.getVersion());
       platformInfo.append("\n+ OS Architecture:"+osBean.getArch());