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


Reply via email to