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());