Author: tommaso
Date: Thu May 26 08:54:24 2011
New Revision: 1127831

URL: http://svn.apache.org/viewvc?rev=1127831&view=rev
Log:
[CLEREZZA-554] - handle both file system and classpath placed AE descriptors

Modified:
    incubator/clerezza/trunk/parent/uima/uima.utils/pom.xml
    
incubator/clerezza/trunk/parent/uima/uima.utils/src/main/java/org/apache/clerezza/uima/utils/AEProvider.java
    
incubator/clerezza/trunk/parent/uima/uima.utils/src/main/java/org/apache/clerezza/uima/utils/ExternalServicesFacade.java
    
incubator/clerezza/trunk/parent/uima/uima.utils/src/test/java/org/apache/clerezza/uima/utils/AEProviderTest.java

Modified: incubator/clerezza/trunk/parent/uima/uima.utils/pom.xml
URL: 
http://svn.apache.org/viewvc/incubator/clerezza/trunk/parent/uima/uima.utils/pom.xml?rev=1127831&r1=1127830&r2=1127831&view=diff
==============================================================================
--- incubator/clerezza/trunk/parent/uima/uima.utils/pom.xml (original)
+++ incubator/clerezza/trunk/parent/uima/uima.utils/pom.xml Thu May 26 08:54:24 
2011
@@ -22,15 +22,11 @@
       <groupId>org.apache.uima</groupId>
       <artifactId>alchemy-annotator-osgi</artifactId>
       <version>2.3.1-SNAPSHOT</version>
-      <scope>system</scope>
-      
<systemPath>${project.basedir}/lib/org.apache.uima.alchemyapi_2.3.1.SNAPSHOT.jar</systemPath>
     </dependency>
     <dependency>
       <groupId>org.apache.uima</groupId>
       <artifactId>OpenCalaisAnnotator-osgi</artifactId>
       <version>2.3.1-SNAPSHOT</version>
-      <scope>system</scope>
-      
<systemPath>${project.basedir}/lib/org.apache.uima.opencalais_2.3.1.SNAPSHOT.jar</systemPath>
     </dependency>
     <dependency>
       <groupId>commons-lang</groupId>
@@ -68,6 +64,7 @@
         <extensions>true</extensions>
         <configuration>
           <instructions>
+            <Import-Package>org.slf4j.*;resolution:=optional,*</Import-Package>
             <Export-Package>org.apache.clerezza.uima.utils.*</Export-Package>
           </instructions>
         </configuration>

Modified: 
incubator/clerezza/trunk/parent/uima/uima.utils/src/main/java/org/apache/clerezza/uima/utils/AEProvider.java
URL: 
http://svn.apache.org/viewvc/incubator/clerezza/trunk/parent/uima/uima.utils/src/main/java/org/apache/clerezza/uima/utils/AEProvider.java?rev=1127831&r1=1127830&r2=1127831&view=diff
==============================================================================
--- 
incubator/clerezza/trunk/parent/uima/uima.utils/src/main/java/org/apache/clerezza/uima/utils/AEProvider.java
 (original)
+++ 
incubator/clerezza/trunk/parent/uima/uima.utils/src/main/java/org/apache/clerezza/uima/utils/AEProvider.java
 Thu May 26 08:54:24 2011
@@ -25,7 +25,9 @@ import org.apache.uima.resource.Resource
 import org.apache.uima.resource.ResourceSpecifier;
 import org.apache.uima.util.XMLInputSource;
 
+import java.io.File;
 import java.net.URL;
+import java.rmi.activation.Activator;
 import java.util.Map;
 
 /**
@@ -37,7 +39,7 @@ public class AEProvider {
   private static String defaultXMLPath;
 
   public AEProvider() {
-    defaultXMLPath = "ExtServicesAE.xml";
+    defaultXMLPath = "/ExtServicesAE.xml";
   }
 
   public AEProvider(String xmlDescriptorPath) {
@@ -71,7 +73,7 @@ public class AEProvider {
     AnalysisEngine ae = null;
     // get Resource Specifier from XML file
     try {
-      URL url = this.getClass().getClassLoader().getResource(filePath);
+      URL url = createURLFromPath(filePath);
       XMLInputSource in = new XMLInputSource(url);
       ResourceSpecifier specifier = 
UIMAFramework.getXMLParser().parseResourceSpecifier(in);
       // create AE here
@@ -83,11 +85,25 @@ public class AEProvider {
     return ae;
   }
 
+  private URL createURLFromPath(String filePath) {
+    System.err.println(filePath);
+    try {
+      File f = new File(filePath);
+      if (f.exists())
+        return f.toURI().toURL();
+      else
+        return Activator.class.getResource(filePath);
+    }
+    catch (Exception e) {
+      return Activator.class.getResource(filePath);
+    }
+  }
+
   public AnalysisEngine getAE(String filePath, Map<String, Object> 
parameterSettings) throws ResourceInitializationException {
     AnalysisEngine ae = null;
     // get Resource Specifier from XML file
     try {
-      URL url = this.getClass().getClassLoader().getResource(filePath);
+      URL url = createURLFromPath(filePath);
       XMLInputSource in = new XMLInputSource(url);
 
       // eventually add/override descriptor's configuration parameters

Modified: 
incubator/clerezza/trunk/parent/uima/uima.utils/src/main/java/org/apache/clerezza/uima/utils/ExternalServicesFacade.java
URL: 
http://svn.apache.org/viewvc/incubator/clerezza/trunk/parent/uima/uima.utils/src/main/java/org/apache/clerezza/uima/utils/ExternalServicesFacade.java?rev=1127831&r1=1127830&r2=1127831&view=diff
==============================================================================
--- 
incubator/clerezza/trunk/parent/uima/uima.utils/src/main/java/org/apache/clerezza/uima/utils/ExternalServicesFacade.java
 (original)
+++ 
incubator/clerezza/trunk/parent/uima/uima.utils/src/main/java/org/apache/clerezza/uima/utils/ExternalServicesFacade.java
 Thu May 26 08:54:24 2011
@@ -41,7 +41,7 @@ public class ExternalServicesFacade impl
   private Map<String, Object> parameterSetting = new HashMap<String, Object>();
 
   public ExternalServicesFacade() {
-    this.uimaExecutor = new UIMAExecutor("ExtServicesAE.xml").withResults();
+    this.uimaExecutor = new UIMAExecutor("/ExtServicesAE.xml").withResults();
   }
 
   public List<FeatureStructure> getTags(String document) throws UIMAException {
@@ -50,7 +50,7 @@ public class ExternalServicesFacade impl
 
     try {
       // analyze the document
-      uimaExecutor.analyzeDocument(document, 
"TextKeywordExtractionAEDescriptor.xml", getParameterSetting());
+      uimaExecutor.analyzeDocument(document, 
"/TextKeywordExtractionAEDescriptor.xml", getParameterSetting());
 
       // get execution results
       JCas jcas = uimaExecutor.getResults();
@@ -72,7 +72,7 @@ public class ExternalServicesFacade impl
     try {
 
       // analyze the document
-      uimaExecutor.analyzeDocument(document, 
"TextLanguageDetectionAEDescriptor.xml", getParameterSetting());
+      uimaExecutor.analyzeDocument(document, 
"/TextLanguageDetectionAEDescriptor.xml", getParameterSetting());
 
       // get execution results
       JCas jcas = uimaExecutor.getResults();
@@ -94,7 +94,7 @@ public class ExternalServicesFacade impl
     try {
 
       // analyze the document
-      uimaExecutor.analyzeDocument(document, "OpenCalaisAnnotator.xml", 
getParameterSetting());
+      uimaExecutor.analyzeDocument(document, "/OpenCalaisAnnotator.xml", 
getParameterSetting());
 
       // get execution results
       JCas jcas = uimaExecutor.getResults();
@@ -113,7 +113,7 @@ public class ExternalServicesFacade impl
     try {
 
       // analyze the document
-      uimaExecutor.analyzeDocument(document, 
"TextCategorizationAEDescriptor.xml", getParameterSetting());
+      uimaExecutor.analyzeDocument(document, 
"/TextCategorizationAEDescriptor.xml", getParameterSetting());
 
       // get execution results
       JCas jcas = uimaExecutor.getResults();
@@ -134,7 +134,7 @@ public class ExternalServicesFacade impl
 
     try {
       // analyze the document
-      uimaExecutor.analyzeDocument(document, 
"TextConceptTaggingAEDescriptor.xml", getParameterSetting());
+      uimaExecutor.analyzeDocument(document, 
"/TextConceptTaggingAEDescriptor.xml", getParameterSetting());
 
       // get execution results
       JCas jcas = uimaExecutor.getResults();

Modified: 
incubator/clerezza/trunk/parent/uima/uima.utils/src/test/java/org/apache/clerezza/uima/utils/AEProviderTest.java
URL: 
http://svn.apache.org/viewvc/incubator/clerezza/trunk/parent/uima/uima.utils/src/test/java/org/apache/clerezza/uima/utils/AEProviderTest.java?rev=1127831&r1=1127830&r2=1127831&view=diff
==============================================================================
--- 
incubator/clerezza/trunk/parent/uima/uima.utils/src/test/java/org/apache/clerezza/uima/utils/AEProviderTest.java
 (original)
+++ 
incubator/clerezza/trunk/parent/uima/uima.utils/src/test/java/org/apache/clerezza/uima/utils/AEProviderTest.java
 Thu May 26 08:54:24 2011
@@ -39,17 +39,6 @@ public class AEProviderTest {
   }
 
   @Test
-  public void testDefaulXMLPath() {
-    try {
-      String xmlPath = this.aeProvider.getDefaultXMLPath();
-      assertTrue(xmlPath != null);
-      assertTrue(xmlPath.equals("ExtServicesAE.xml"));
-    } catch (Throwable e) {
-      fail(e.getLocalizedMessage());
-    }
-  }
-
-  @Test
   public void testGetDefaultAENotNull() {
     try {
       AnalysisEngine ae = this.aeProvider.getDefaultAE();
@@ -62,7 +51,7 @@ public class AEProviderTest {
   @Test
   public void testGetAEWithPathNotNull() {
     try {
-      AnalysisEngine ae = this.aeProvider.getAE("ExtServicesAE.xml");
+      AnalysisEngine ae = this.aeProvider.getAE("/ExtServicesAE.xml");
       assertTrue(ae != null);
     } catch (Throwable e) {
       fail(e.getLocalizedMessage());


Reply via email to