You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@clerezza.apache.org by to...@apache.org on 2010/02/14 15:36:56 UTC
svn commit: r910013 - in
/incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.uima/org.apache.clerezza.uima.utils/src/main/java/org:
./ apache/ apache/clerezza/ apache/clerezza/uima/ apache/clerezza/uima/utils/
Author: tommaso
Date: Sun Feb 14 14:36:55 2010
New Revision: 910013
URL: http://svn.apache.org/viewvc?rev=910013&view=rev
Log:
[CLEREZZA-124] - add AnalysisEngineProvider and UIMAExecutor to utilities
Added:
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.uima/org.apache.clerezza.uima.utils/src/main/java/org/
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.uima/org.apache.clerezza.uima.utils/src/main/java/org/apache/
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.uima/org.apache.clerezza.uima.utils/src/main/java/org/apache/clerezza/
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.uima/org.apache.clerezza.uima.utils/src/main/java/org/apache/clerezza/uima/
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.uima/org.apache.clerezza.uima.utils/src/main/java/org/apache/clerezza/uima/utils/
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.uima/org.apache.clerezza.uima.utils/src/main/java/org/apache/clerezza/uima/utils/AEProvider.java
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.uima/org.apache.clerezza.uima.utils/src/main/java/org/apache/clerezza/uima/utils/UIMAExecutor.java
Added: incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.uima/org.apache.clerezza.uima.utils/src/main/java/org/apache/clerezza/uima/utils/AEProvider.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/AEProvider.java?rev=910013&view=auto
==============================================================================
--- incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.uima/org.apache.clerezza.uima.utils/src/main/java/org/apache/clerezza/uima/utils/AEProvider.java (added)
+++ incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.uima/org.apache.clerezza.uima.utils/src/main/java/org/apache/clerezza/uima/utils/AEProvider.java Sun Feb 14 14:36:55 2010
@@ -0,0 +1,47 @@
+package org.apache.clerezza.uima.utils;
+
+
+import java.net.URL;
+
+import org.apache.uima.UIMAFramework;
+import org.apache.uima.analysis_engine.AnalysisEngine;
+import org.apache.uima.resource.ResourceInitializationException;
+import org.apache.uima.resource.ResourceSpecifier;
+import org.apache.uima.util.XMLInputSource;
+
+/**
+ * provide the AnalysisEngine using the default descriptor or using a custom descriptor (absolute)
+ * path
+ *
+ * @author tommaso
+ *
+ */
+public class AEProvider {
+
+ private static final String defaultXMLPath = "ExtServicesAE.xml";
+
+ public String getDefaultXMLPath() {
+ return defaultXMLPath;
+ }
+
+ public AnalysisEngine getDefaultAE() throws ResourceInitializationException {
+ return getAE(defaultXMLPath);
+ }
+
+ public AnalysisEngine getAE(String filePath) throws ResourceInitializationException {
+ AnalysisEngine ae = null;
+ // get Resource Specifier from XML file
+ try {
+ URL url = this.getClass().getClassLoader().getResource(filePath);
+ XMLInputSource in = new XMLInputSource(url);
+ ResourceSpecifier specifier = UIMAFramework.getXMLParser().parseResourceSpecifier(in);
+
+ // create AE here
+ ae = UIMAFramework.produceAnalysisEngine(specifier);
+ } catch (Exception e) {
+ throw new ResourceInitializationException(e);
+ }
+
+ return ae;
+ }
+}
\ No newline at end of file
Added: incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.uima/org.apache.clerezza.uima.utils/src/main/java/org/apache/clerezza/uima/utils/UIMAExecutor.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/UIMAExecutor.java?rev=910013&view=auto
==============================================================================
--- incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.uima/org.apache.clerezza.uima.utils/src/main/java/org/apache/clerezza/uima/utils/UIMAExecutor.java (added)
+++ incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.uima/org.apache.clerezza.uima.utils/src/main/java/org/apache/clerezza/uima/utils/UIMAExecutor.java Sun Feb 14 14:36:55 2010
@@ -0,0 +1,51 @@
+package org.apache.clerezza.uima.utils;
+
+
+import org.apache.uima.analysis_engine.AnalysisEngine;
+import org.apache.uima.analysis_engine.AnalysisEngineProcessException;
+import org.apache.uima.jcas.JCas;
+import org.apache.uima.resource.ResourceInitializationException;
+import org.apache.uima.util.ProcessTrace;
+import org.apache.uima.util.ProcessTraceEvent;
+
+/**
+ * Executes a UIMA pipeline
+ *
+ * @author tommaso
+ *
+ */
+public class UIMAExecutor {
+
+ private transient final AEProvider aeProvider = new AEProvider();
+
+ public void analyzeDocument(String doc) throws AnalysisEngineProcessException {
+ analyzeDocument(doc, aeProvider.getDefaultXMLPath());
+ }
+
+ public void analyzeDocument(String doc, String xmlPath) throws AnalysisEngineProcessException {
+ try {
+ this.executeAE(aeProvider.getAE(xmlPath), doc);
+ } catch (ResourceInitializationException e) {
+ throw new AnalysisEngineProcessException(e);
+ }
+ }
+
+ private void executeAE(AnalysisEngine ae, String docText) throws AnalysisEngineProcessException {
+ try {
+ // create a JCas, given an Analysis Engine (ae)
+ JCas jcas = ae.newJCas();
+
+ // analyze a document
+ jcas.setDocumentText(docText);
+ ProcessTrace pt = ae.process(jcas);
+
+ //TODO debug results
+
+ jcas.reset();
+ } catch (Exception e) {
+ throw new AnalysisEngineProcessException(e);
+ }
+
+ }
+
+}