You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by mb...@apache.org on 2007/03/21 16:48:47 UTC

svn commit: r520922 - in /incubator/uima/uimaj/trunk/uimaj-core/src/main: java/org/apache/uima/analysis_engine/impl/PearAnalysisEngineWrapper.java resources/org/apache/uima/impl/factoryConfig.xml

Author: mbaessler
Date: Wed Mar 21 08:48:46 2007
New Revision: 520922

URL: http://svn.apache.org/viewvc?view=rev&rev=520922
Log:
UIMA-351

update UIMA runtime implementation to use a customResourceSpecifier instead of a 
ResourceSpecifier

JIRA ticket https://issues.apache.org/jira/browse/UIMA-351

Modified:
    incubator/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/analysis_engine/impl/PearAnalysisEngineWrapper.java
    incubator/uima/uimaj/trunk/uimaj-core/src/main/resources/org/apache/uima/impl/factoryConfig.xml

Modified: incubator/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/analysis_engine/impl/PearAnalysisEngineWrapper.java
URL: http://svn.apache.org/viewvc/incubator/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/analysis_engine/impl/PearAnalysisEngineWrapper.java?view=diff&rev=520922&r1=520921&r2=520922
==============================================================================
--- incubator/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/analysis_engine/impl/PearAnalysisEngineWrapper.java (original)
+++ incubator/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/analysis_engine/impl/PearAnalysisEngineWrapper.java Wed Mar 21 08:48:46 2007
@@ -24,8 +24,6 @@
 import java.io.ByteArrayOutputStream;
 import java.io.File;
 import java.io.IOException;
-import java.net.URI;
-import java.net.URISyntaxException;
 import java.util.Map;
 
 import org.apache.uima.UIMAFramework;
@@ -38,10 +36,11 @@
 import org.apache.uima.cas.impl.CASSerializer;
 import org.apache.uima.cas.impl.Serialization;
 import org.apache.uima.pear.tools.PackageBrowser;
+import org.apache.uima.resource.CustomResourceSpecifier;
+import org.apache.uima.resource.Parameter;
 import org.apache.uima.resource.ResourceInitializationException;
 import org.apache.uima.resource.ResourceManager;
 import org.apache.uima.resource.ResourceSpecifier;
-import org.apache.uima.resource.URISpecifier;
 import org.apache.uima.resource.metadata.ResourceMetaData;
 import org.apache.uima.resource.metadata.TypeSystemDescription;
 import org.apache.uima.util.CasCreationUtils;
@@ -59,7 +58,7 @@
   /**
    * PEAR protocol constant
    */
-  public static final String PEAR_PROTOCOL = "PEAR";
+  public static final String PEAR_ROOT_DIR_PARAMETER = "installedPear";
 
   private AnalysisEngine ae = null;
 
@@ -74,20 +73,30 @@
   public boolean initialize(ResourceSpecifier aSpecifier, Map aAdditionalParams)
           throws ResourceInitializationException {
 
-    // aSpecifier must be a URISpecifier
-    if (!(aSpecifier instanceof URISpecifier)) {
+    // aSpecifier must be a CustomResourceSpecifier
+    if (!(aSpecifier instanceof CustomResourceSpecifier)) {
       return false;
     }
 
-    URISpecifier uriSpec = (URISpecifier) aSpecifier;
-    // URISpecifier protocol must be "PEAR"
-    if (!uriSpec.getProtocol().equals(PEAR_PROTOCOL)) {
-      return false;
+    CustomResourceSpecifier customSpec = (CustomResourceSpecifier) aSpecifier;
+    
+    //get custom resource specifier parameters
+    Parameter[] params = customSpec.getParameters();
+    String pearRootDirPath = null;
+    for(int i = 0; i < params.length; i++) {
+      if(params[i].getName().equals(PEAR_ROOT_DIR_PARAMETER)){
+        pearRootDirPath = params[i].getValue();
+      }
     }
 
+    //if PEAR_ROOT_DIR_PARAMETER was not available, return false. The Wrapper cannot start the pear file.
+    if(pearRootDirPath == null) {
+      return false;
+    }
+    
     try {
       // get installed pear root directory - specified as URI of the descriptor
-      File pearRootDir = new File(new URI(uriSpec.getUri()));
+      File pearRootDir = new File(pearRootDirPath);
 
       // create pear package browser to get the pear meta data 
       PackageBrowser pkgBrowser = new PackageBrowser(pearRootDir);
@@ -107,8 +116,6 @@
       // create analysis engine
       this.ae = UIMAFramework.produceAnalysisEngine(specifier, rsrcMgr, null);
     } catch (IOException ex) {
-      throw new ResourceInitializationException(ex);
-    } catch (URISyntaxException ex) {
       throw new ResourceInitializationException(ex);
     } catch (InvalidXMLException ex) {
       throw new ResourceInitializationException(ex);

Modified: incubator/uima/uimaj/trunk/uimaj-core/src/main/resources/org/apache/uima/impl/factoryConfig.xml
URL: http://svn.apache.org/viewvc/incubator/uima/uimaj/trunk/uimaj-core/src/main/resources/org/apache/uima/impl/factoryConfig.xml?view=diff&rev=520922&r1=520921&r2=520922
==============================================================================
--- incubator/uima/uimaj/trunk/uimaj-core/src/main/resources/org/apache/uima/impl/factoryConfig.xml (original)
+++ incubator/uima/uimaj/trunk/uimaj-core/src/main/resources/org/apache/uima/impl/factoryConfig.xml Wed Mar 21 08:48:46 2007
@@ -35,9 +35,7 @@
 	  	<binding specifier="org.apache.uima.resource.URISpecifier" 
 	  		     resource="org.apache.uima.adapter.vinci.VinciAnalysisEngineServiceAdapter"/>
 	  	<binding specifier="org.apache.uima.resource.URISpecifier" 
-	  		     resource="org.apache.uima.adapter.soap.SoapAnalysisEngineServiceAdapter"/>
-		<binding specifier="org.apache.uima.resource.URISpecifier" 
-	  		     resource="org.apache.uima.analysis_engine.impl.PearAnalysisEngineWrapper"/>	  		     
+	  		     resource="org.apache.uima.adapter.soap.SoapAnalysisEngineServiceAdapter"/>	     
 	  	<binding specifier="org.apache.uima.resource.FileResourceSpecifier" 
 	  		     resource="org.apache.uima.resource.impl.DataResource_impl"/>
 	  	<binding specifier="org.apache.uima.resource.FileLanguageResourceSpecifier"