Author: tommaso
Date: Mon Apr 26 16:19:58 2010
New Revision: 938109
URL: http://svn.apache.org/viewvc?rev=938109&view=rev
Log:
[CLEREZZA-124] - changed signature of method retrieving alchemyapi annotations
to List<FeatureStructure> to enable smarter adding of such objects to a
resource (i.e. inside UIMAMetadataGenerator)
Modified:
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.uima/org.apache.clerezza.uima.utils/src/main/java/org/apache/clerezza/uima/utils/ExternalServicesFacade.java
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.uima/org.apache.clerezza.uima.utils/src/test/java/org/apache/clerezza/uima/utils/ExternalServicesFacadeTest.java
Modified:
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.uima/org.apache.clerezza.uima.utils/src/main/java/org/apache/clerezza/uima/utils/ExternalServicesFacade.java
URL:
http://svn.apache.org/viewvc/incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.uima/org.apache.clerezza.uima.utils/src/main/java/org/apache/clerezza/uima/utils/ExternalServicesFacade.java?rev=938109&r1=938108&r2=938109&view=diff
==============================================================================
---
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.uima/org.apache.clerezza.uima.utils/src/main/java/org/apache/clerezza/uima/utils/ExternalServicesFacade.java
(original)
+++
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.uima/org.apache.clerezza.uima.utils/src/main/java/org/apache/clerezza/uima/utils/ExternalServicesFacade.java
Mon Apr 26 16:19:58 2010
@@ -25,30 +25,25 @@ public class ExternalServicesFacade {
this.uimaExecutor = new UIMAExecutor("ExtServicesAE.xml").withResults();
}
- public List<String> getTags(String document) throws UIMAException {
+ public List<FeatureStructure> getAlchemyAPITags(String document) throws
UIMAException {
- List<String> tags = null;
+ List<FeatureStructure> keywords = new ArrayList<FeatureStructure>();
try {
// analyze the document
uimaExecutor.analyzeDocument(document,
"TextKeywordExtractionAEDescriptor.xml", getParameterSetting());
- tags = new ArrayList<String>();
-
// get execution results
JCas jcas = uimaExecutor.getResults();
// get AlchemyAPI keywords extracted using UIMA
- List<FeatureStructure> keywords =
UIMAUtils.getAllFSofType(KeywordFS.type, jcas);
+ keywords = UIMAUtils.getAllFSofType(KeywordFS.type, jcas);
- for (FeatureStructure keywordFS : keywords) {
-
tags.add(keywordFS.getStringValue(keywordFS.getType().getFeatureByBaseName("text")));
- }
} catch (Exception e) {
throw new UIMAException(e);
}
- return tags;
+ return keywords;
}
public String getLanguage(String document) throws UIMAException {
Modified:
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.uima/org.apache.clerezza.uima.utils/src/test/java/org/apache/clerezza/uima/utils/ExternalServicesFacadeTest.java
URL:
http://svn.apache.org/viewvc/incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.uima/org.apache.clerezza.uima.utils/src/test/java/org/apache/clerezza/uima/utils/ExternalServicesFacadeTest.java?rev=938109&r1=938108&r2=938109&view=diff
==============================================================================
---
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.uima/org.apache.clerezza.uima.utils/src/test/java/org/apache/clerezza/uima/utils/ExternalServicesFacadeTest.java
(original)
+++
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.uima/org.apache.clerezza.uima.utils/src/test/java/org/apache/clerezza/uima/utils/ExternalServicesFacadeTest.java
Mon Apr 26 16:19:58 2010
@@ -1,5 +1,7 @@
package org.apache.clerezza.uima.utils;
+import org.apache.uima.cas.FeatureStructure;
+import org.apache.uima.cas.Type;
import org.apache.uima.jcas.tcas.Annotation;
import org.junit.Test;
@@ -40,11 +42,14 @@ public class ExternalServicesFacadeTest
Map<String, Object> parameterSettings = new HashMap<String,
Object>();
parameterSettings.put("apikey",
"04490000a72fe7ec5cb3497f14e77f338c86f2fe");
externalServicesFacade.setParameterSetting(parameterSettings);
- List<String> tags =
externalServicesFacade.getTags(AN_ENGLISH_TEXT);
+ List<FeatureStructure> tags =
externalServicesFacade.getAlchemyAPITags(AN_ENGLISH_TEXT);
assertTrue(tags != null);
assertTrue(!tags.isEmpty());
assertTrue(tags.size() == 1);
- assertTrue(tags.get(0).equals("document"));
+ FeatureStructure keyword = tags.get(0);
+ Type type = keyword.getType();
+ String tagText =
keyword.getStringValue(type.getFeatureByBaseName("text"));
+ assertTrue(tagText!=null && tagText.equals("document"));
} catch (Exception e) {
e.printStackTrace();
fail(e.getLocalizedMessage());