You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by to...@apache.org on 2010/09/03 07:34:33 UTC
svn commit: r992213 - in /uima/sandbox/trunk/SnowballAnnotator/src:
main/java/org/apache/uima/ main/java/org/apache/uima/annotator/
test/java/org/apache/uima/annotator/
Author: tommaso
Date: Fri Sep 3 05:34:32 2010
New Revision: 992213
URL: http://svn.apache.org/viewvc?rev=992213&view=rev
Log:
[UIMA-1861] - applying Marshall's patch plus headers in generated TS generated files and testReconfigure() in SnowballAnnotatorTest
Added:
uima/sandbox/trunk/SnowballAnnotator/src/main/java/org/apache/uima/SentenceAnnotation.java
uima/sandbox/trunk/SnowballAnnotator/src/main/java/org/apache/uima/SentenceAnnotation_Type.java
uima/sandbox/trunk/SnowballAnnotator/src/main/java/org/apache/uima/TokenAnnotation.java
uima/sandbox/trunk/SnowballAnnotator/src/main/java/org/apache/uima/TokenAnnotation_Type.java
Modified:
uima/sandbox/trunk/SnowballAnnotator/src/main/java/org/apache/uima/annotator/SnowballAnnotator.java
uima/sandbox/trunk/SnowballAnnotator/src/test/java/org/apache/uima/annotator/SnowballAnnotatorTest.java
Added: uima/sandbox/trunk/SnowballAnnotator/src/main/java/org/apache/uima/SentenceAnnotation.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/SnowballAnnotator/src/main/java/org/apache/uima/SentenceAnnotation.java?rev=992213&view=auto
==============================================================================
--- uima/sandbox/trunk/SnowballAnnotator/src/main/java/org/apache/uima/SentenceAnnotation.java (added)
+++ uima/sandbox/trunk/SnowballAnnotator/src/main/java/org/apache/uima/SentenceAnnotation.java Fri Sep 3 05:34:32 2010
@@ -0,0 +1,79 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+/* First created by JCasGen Thu Sep 02 14:47:15 EDT 2010 */
+package org.apache.uima;
+
+import org.apache.uima.jcas.JCas;
+import org.apache.uima.jcas.JCasRegistry;
+import org.apache.uima.jcas.cas.TOP_Type;
+
+import org.apache.uima.jcas.tcas.Annotation;
+
+
+/** sentence annotation
+ * Updated by JCasGen Thu Sep 02 14:47:15 EDT 2010
+ * XML source: D:/mavenAlign/sandbox-trunk-data/SnowballAnnotator/desc/SnowballAnnotator.xml
+ * @generated */
+public class SentenceAnnotation extends Annotation {
+ /** @generated
+ * @ordered
+ */
+ public final static int typeIndexID = JCasRegistry.register(SentenceAnnotation.class);
+ /** @generated
+ * @ordered
+ */
+ public final static int type = typeIndexID;
+ /** @generated */
+ public int getTypeIndexID() {return typeIndexID;}
+
+ /** Never called. Disable default constructor
+ * @generated */
+ protected SentenceAnnotation() {}
+
+ /** Internal - constructor used by generator
+ * @generated */
+ public SentenceAnnotation(int addr, TOP_Type type) {
+ super(addr, type);
+ readObject();
+ }
+
+ /** @generated */
+ public SentenceAnnotation(JCas jcas) {
+ super(jcas);
+ readObject();
+ }
+
+ /** @generated */
+ public SentenceAnnotation(JCas jcas, int begin, int end) {
+ super(jcas);
+ setBegin(begin);
+ setEnd(end);
+ readObject();
+ }
+
+ /** <!-- begin-user-doc -->
+ * Write your own initialization here
+ * <!-- end-user-doc -->
+ @generated modifiable */
+ private void readObject() {}
+
+}
+
+
\ No newline at end of file
Added: uima/sandbox/trunk/SnowballAnnotator/src/main/java/org/apache/uima/SentenceAnnotation_Type.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/SnowballAnnotator/src/main/java/org/apache/uima/SentenceAnnotation_Type.java?rev=992213&view=auto
==============================================================================
--- uima/sandbox/trunk/SnowballAnnotator/src/main/java/org/apache/uima/SentenceAnnotation_Type.java (added)
+++ uima/sandbox/trunk/SnowballAnnotator/src/main/java/org/apache/uima/SentenceAnnotation_Type.java Fri Sep 3 05:34:32 2010
@@ -0,0 +1,72 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+/* First created by JCasGen Thu Sep 02 14:47:15 EDT 2010 */
+package org.apache.uima;
+
+import org.apache.uima.jcas.JCas;
+import org.apache.uima.jcas.JCasRegistry;
+import org.apache.uima.cas.impl.CASImpl;
+import org.apache.uima.cas.impl.FSGenerator;
+import org.apache.uima.cas.FeatureStructure;
+import org.apache.uima.cas.impl.TypeImpl;
+import org.apache.uima.cas.Type;
+import org.apache.uima.jcas.tcas.Annotation_Type;
+
+/** sentence annotation
+ * Updated by JCasGen Thu Sep 02 14:47:15 EDT 2010
+ * @generated */
+public class SentenceAnnotation_Type extends Annotation_Type {
+ /** @generated */
+ protected FSGenerator getFSGenerator() {return fsGenerator;}
+ /** @generated */
+ private final FSGenerator fsGenerator =
+ new FSGenerator() {
+ public FeatureStructure createFS(int addr, CASImpl cas) {
+ if (SentenceAnnotation_Type.this.useExistingInstance) {
+ // Return eq fs instance if already created
+ FeatureStructure fs = SentenceAnnotation_Type.this.jcas.getJfsFromCaddr(addr);
+ if (null == fs) {
+ fs = new SentenceAnnotation(addr, SentenceAnnotation_Type.this);
+ SentenceAnnotation_Type.this.jcas.putJfsFromCaddr(addr, fs);
+ return fs;
+ }
+ return fs;
+ } else return new SentenceAnnotation(addr, SentenceAnnotation_Type.this);
+ }
+ };
+ /** @generated */
+ public final static int typeIndexID = SentenceAnnotation.typeIndexID;
+ /** @generated
+ @modifiable */
+ public final static boolean featOkTst = JCasRegistry.getFeatOkTst("org.apache.uima.SentenceAnnotation");
+
+
+
+ /** initialize variables to correspond with Cas Type and Features
+ * @generated */
+ public SentenceAnnotation_Type(JCas jcas, Type casType) {
+ super(jcas, casType);
+ casImpl.getFSClassRegistry().addGeneratorForType((TypeImpl)this.casType, getFSGenerator());
+
+ }
+}
+
+
+
+
\ No newline at end of file
Added: uima/sandbox/trunk/SnowballAnnotator/src/main/java/org/apache/uima/TokenAnnotation.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/SnowballAnnotator/src/main/java/org/apache/uima/TokenAnnotation.java?rev=992213&view=auto
==============================================================================
--- uima/sandbox/trunk/SnowballAnnotator/src/main/java/org/apache/uima/TokenAnnotation.java (added)
+++ uima/sandbox/trunk/SnowballAnnotator/src/main/java/org/apache/uima/TokenAnnotation.java Fri Sep 3 05:34:32 2010
@@ -0,0 +1,97 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+/* First created by JCasGen Thu Sep 02 14:47:15 EDT 2010 */
+package org.apache.uima;
+
+import org.apache.uima.jcas.JCas;
+import org.apache.uima.jcas.JCasRegistry;
+import org.apache.uima.jcas.cas.TOP_Type;
+
+import org.apache.uima.jcas.tcas.Annotation;
+
+
+/** Single token annotation
+ * Updated by JCasGen Thu Sep 02 14:47:15 EDT 2010
+ * XML source: D:/mavenAlign/sandbox-trunk-data/SnowballAnnotator/desc/SnowballAnnotator.xml
+ * @generated */
+public class TokenAnnotation extends Annotation {
+ /** @generated
+ * @ordered
+ */
+ public final static int typeIndexID = JCasRegistry.register(TokenAnnotation.class);
+ /** @generated
+ * @ordered
+ */
+ public final static int type = typeIndexID;
+ /** @generated */
+ public int getTypeIndexID() {return typeIndexID;}
+
+ /** Never called. Disable default constructor
+ * @generated */
+ protected TokenAnnotation() {}
+
+ /** Internal - constructor used by generator
+ * @generated */
+ public TokenAnnotation(int addr, TOP_Type type) {
+ super(addr, type);
+ readObject();
+ }
+
+ /** @generated */
+ public TokenAnnotation(JCas jcas) {
+ super(jcas);
+ readObject();
+ }
+
+ /** @generated */
+ public TokenAnnotation(JCas jcas, int begin, int end) {
+ super(jcas);
+ setBegin(begin);
+ setEnd(end);
+ readObject();
+ }
+
+ /** <!-- begin-user-doc -->
+ * Write your own initialization here
+ * <!-- end-user-doc -->
+ @generated modifiable */
+ private void readObject() {}
+
+
+
+ //*--------------*
+ //* Feature: stem
+
+ /** getter for stem - gets stem
+ * @generated */
+ public String getStem() {
+ if (TokenAnnotation_Type.featOkTst && ((TokenAnnotation_Type)jcasType).casFeat_stem == null)
+ jcasType.jcas.throwFeatMissing("stem", "org.apache.uima.TokenAnnotation");
+ return jcasType.ll_cas.ll_getStringValue(addr, ((TokenAnnotation_Type)jcasType).casFeatCode_stem);}
+
+ /** setter for stem - sets stem
+ * @generated */
+ public void setStem(String v) {
+ if (TokenAnnotation_Type.featOkTst && ((TokenAnnotation_Type)jcasType).casFeat_stem == null)
+ jcasType.jcas.throwFeatMissing("stem", "org.apache.uima.TokenAnnotation");
+ jcasType.ll_cas.ll_setStringValue(addr, ((TokenAnnotation_Type)jcasType).casFeatCode_stem, v);}
+ }
+
+
\ No newline at end of file
Added: uima/sandbox/trunk/SnowballAnnotator/src/main/java/org/apache/uima/TokenAnnotation_Type.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/SnowballAnnotator/src/main/java/org/apache/uima/TokenAnnotation_Type.java?rev=992213&view=auto
==============================================================================
--- uima/sandbox/trunk/SnowballAnnotator/src/main/java/org/apache/uima/TokenAnnotation_Type.java (added)
+++ uima/sandbox/trunk/SnowballAnnotator/src/main/java/org/apache/uima/TokenAnnotation_Type.java Fri Sep 3 05:34:32 2010
@@ -0,0 +1,97 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+/* First created by JCasGen Thu Sep 02 14:47:15 EDT 2010 */
+package org.apache.uima;
+
+import org.apache.uima.jcas.JCas;
+import org.apache.uima.jcas.JCasRegistry;
+import org.apache.uima.cas.impl.CASImpl;
+import org.apache.uima.cas.impl.FSGenerator;
+import org.apache.uima.cas.FeatureStructure;
+import org.apache.uima.cas.impl.TypeImpl;
+import org.apache.uima.cas.Type;
+import org.apache.uima.cas.impl.FeatureImpl;
+import org.apache.uima.cas.Feature;
+import org.apache.uima.jcas.tcas.Annotation_Type;
+
+/** Single token annotation
+ * Updated by JCasGen Thu Sep 02 14:47:15 EDT 2010
+ * @generated */
+public class TokenAnnotation_Type extends Annotation_Type {
+ /** @generated */
+ protected FSGenerator getFSGenerator() {return fsGenerator;}
+ /** @generated */
+ private final FSGenerator fsGenerator =
+ new FSGenerator() {
+ public FeatureStructure createFS(int addr, CASImpl cas) {
+ if (TokenAnnotation_Type.this.useExistingInstance) {
+ // Return eq fs instance if already created
+ FeatureStructure fs = TokenAnnotation_Type.this.jcas.getJfsFromCaddr(addr);
+ if (null == fs) {
+ fs = new TokenAnnotation(addr, TokenAnnotation_Type.this);
+ TokenAnnotation_Type.this.jcas.putJfsFromCaddr(addr, fs);
+ return fs;
+ }
+ return fs;
+ } else return new TokenAnnotation(addr, TokenAnnotation_Type.this);
+ }
+ };
+ /** @generated */
+ public final static int typeIndexID = TokenAnnotation.typeIndexID;
+ /** @generated
+ @modifiable */
+ public final static boolean featOkTst = JCasRegistry.getFeatOkTst("org.apache.uima.TokenAnnotation");
+
+ /** @generated */
+ final Feature casFeat_stem;
+ /** @generated */
+ final int casFeatCode_stem;
+ /** @generated */
+ public String getStem(int addr) {
+ if (featOkTst && casFeat_stem == null)
+ jcas.throwFeatMissing("stem", "org.apache.uima.TokenAnnotation");
+ return ll_cas.ll_getStringValue(addr, casFeatCode_stem);
+ }
+ /** @generated */
+ public void setStem(int addr, String v) {
+ if (featOkTst && casFeat_stem == null)
+ jcas.throwFeatMissing("stem", "org.apache.uima.TokenAnnotation");
+ ll_cas.ll_setStringValue(addr, casFeatCode_stem, v);}
+
+
+
+
+
+ /** initialize variables to correspond with Cas Type and Features
+ * @generated */
+ public TokenAnnotation_Type(JCas jcas, Type casType) {
+ super(jcas, casType);
+ casImpl.getFSClassRegistry().addGeneratorForType((TypeImpl)this.casType, getFSGenerator());
+
+
+ casFeat_stem = jcas.getRequiredFeatureDE(casType, "stem", "uima.cas.String", featOkTst);
+ casFeatCode_stem = (null == casFeat_stem) ? JCas.INVALID_FEATURE_CODE : ((FeatureImpl)casFeat_stem).getCode();
+
+ }
+}
+
+
+
+
\ No newline at end of file
Modified: uima/sandbox/trunk/SnowballAnnotator/src/main/java/org/apache/uima/annotator/SnowballAnnotator.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/SnowballAnnotator/src/main/java/org/apache/uima/annotator/SnowballAnnotator.java?rev=992213&r1=992212&r2=992213&view=diff
==============================================================================
--- uima/sandbox/trunk/SnowballAnnotator/src/main/java/org/apache/uima/annotator/SnowballAnnotator.java (original)
+++ uima/sandbox/trunk/SnowballAnnotator/src/main/java/org/apache/uima/annotator/SnowballAnnotator.java Fri Sep 3 05:34:32 2010
@@ -22,19 +22,15 @@ package org.apache.uima.annotator;
import java.lang.reflect.Method;
import java.util.HashMap;
-import org.apache.uima.analysis_engine.ResultSpecification;
-import org.apache.uima.analysis_engine.annotator.AnnotatorConfigurationException;
-import org.apache.uima.analysis_engine.annotator.AnnotatorContext;
-import org.apache.uima.analysis_engine.annotator.AnnotatorInitializationException;
-import org.apache.uima.analysis_engine.annotator.AnnotatorProcessException;
-import org.apache.uima.analysis_engine.annotator.JTextAnnotator_ImplBase;
+import org.apache.uima.TokenAnnotation;
+import org.apache.uima.UimaContext;
+import org.apache.uima.analysis_component.JCasAnnotator_ImplBase;
+import org.apache.uima.analysis_engine.AnalysisEngineProcessException;
import org.apache.uima.cas.FSIterator;
-import org.apache.uima.cas.Feature;
-import org.apache.uima.cas.Type;
-import org.apache.uima.cas.TypeSystem;
-import org.apache.uima.cas.text.AnnotationFS;
import org.apache.uima.cas.text.Language;
import org.apache.uima.jcas.JCas;
+import org.apache.uima.jcas.tcas.Annotation;
+import org.apache.uima.resource.ResourceInitializationException;
import org.apache.uima.util.Level;
import org.apache.uima.util.Logger;
import org.tartarus.snowball.SnowballProgram;
@@ -52,35 +48,21 @@ import org.tartarus.snowball.ext.russian
import org.tartarus.snowball.ext.spanishStemmer;
import org.tartarus.snowball.ext.swedishStemmer;
-public class SnowballAnnotator extends JTextAnnotator_ImplBase {
-
- private static final String TOKEN_ANNOTATION_NAME = "org.apache.uima.TokenAnnotation";
-
- private static final String TOKEN_ANNOTATION_STEM_FEATURE_NAME = "stem";
-
- private Type tokenAnnotation;
-
- private Feature tokenAnnotationStemmFeature;
+public class SnowballAnnotator extends JCasAnnotator_ImplBase {
private Logger logger;
- private HashMap stemmers;
+ private HashMap<String,SnowballProgram> stemmers;
private static final Object[] emptyArgs = new Object[0];
- /*
- * (non-Javadoc)
- *
- * @see org.apache.uima.analysis_engine.annotator.JTextAnnotator#process(org.apache.uima.jcas.impl.JCas,
- * org.apache.uima.analysis_engine.ResultSpecification)
- */
- public void process(JCas aJCas, ResultSpecification aResultSpec) throws AnnotatorProcessException {
+ public void process(JCas aJCas) throws AnalysisEngineProcessException {
this.logger.log(Level.INFO, "Snowball annotator starts processing");
// get get stemmer for the document language
String language = new Language(aJCas.getDocumentLanguage()).getLanguagePart();
- SnowballProgram stemmer = (SnowballProgram) this.stemmers.get(language);
+ SnowballProgram stemmer = this.stemmers.get(language);
// create stemms if stemmer for the current document language is available
if (stemmer != null) {
@@ -90,14 +72,14 @@ public class SnowballAnnotator extends J
try {
stemmerStemMethod = stemmer.getClass().getMethod("stem", new Class[0]);
} catch (Exception ex) {
- throw new AnnotatorProcessException(ex);
+ throw new AnalysisEngineProcessException(ex);
}
// iterate over all token annotations and add stem if available
- FSIterator tokenIterator = aJCas.getCas().getAnnotationIndex(this.tokenAnnotation).iterator();
+ FSIterator<Annotation> tokenIterator = aJCas.getAnnotationIndex(TokenAnnotation.type).iterator();
while (tokenIterator.hasNext()) {
// get token content
- AnnotationFS annot = (AnnotationFS) tokenIterator.next();
+ TokenAnnotation annot = (TokenAnnotation) tokenIterator.next();
String span = annot.getCoveredText();
// set annotation content and call stemmer
@@ -105,28 +87,25 @@ public class SnowballAnnotator extends J
stemmer.setCurrent(span);
stemmerStemMethod.invoke(stemmer, emptyArgs);
} catch (Exception ex) {
- throw new AnnotatorProcessException(ex);
+ throw new AnalysisEngineProcessException(ex);
}
// get stemmer result and set annotation feature
- annot.setStringValue(this.tokenAnnotationStemmFeature, stemmer.getCurrent());
+ annot.setStem(stemmer.getCurrent());
}
}
this.logger.log(Level.INFO, "Snowball annotator processing finished");
}
- /* (non-Javadoc)
- * @see org.apache.uima.analysis_engine.annotator.Annotator_ImplBase#initialize(org.apache.uima.analysis_engine.annotator.AnnotatorContext)
- */
- public void initialize(AnnotatorContext aContext) throws AnnotatorInitializationException,
- AnnotatorConfigurationException {
-
+ @Override
+ public void initialize(UimaContext aContext) throws ResourceInitializationException {
+ super.initialize(aContext);
// initialize logger
try {
this.logger = aContext.getLogger();
// initialize stemmers
- this.stemmers = new HashMap();
+ this.stemmers = new HashMap<String, SnowballProgram>();
this.stemmers.put("da", new danishStemmer());
this.stemmers.put("nl", new dutchStemmer());
this.stemmers.put("en", new englishStemmer());
@@ -141,25 +120,9 @@ public class SnowballAnnotator extends J
this.stemmers.put("es", new spanishStemmer());
this.stemmers.put("sw", new swedishStemmer());
} catch (Exception ex) {
- throw new AnnotatorInitializationException(ex);
+ throw new ResourceInitializationException(ex);
}
this.logger.log(Level.INFO, "Snowball annotator successfully initialized");
}
-
- /* (non-Javadoc)
- * @see org.apache.uima.analysis_engine.annotator.Annotator_ImplBase#typeSystemInit(org.apache.uima.cas.TypeSystem)
- */
- public void typeSystemInit(TypeSystem aTypeSystem) throws AnnotatorInitializationException,
- AnnotatorConfigurationException {
-
- // initialize cas token type
- this.tokenAnnotation = aTypeSystem.getType(TOKEN_ANNOTATION_NAME);
-
- this.tokenAnnotationStemmFeature = aTypeSystem.getFeatureByFullName(TOKEN_ANNOTATION_NAME
- + TypeSystem.FEATURE_SEPARATOR + TOKEN_ANNOTATION_STEM_FEATURE_NAME);
-
- this.logger.log(Level.INFO, "Snowball annotator typesystem initialized");
- }
-
}
Modified: uima/sandbox/trunk/SnowballAnnotator/src/test/java/org/apache/uima/annotator/SnowballAnnotatorTest.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/SnowballAnnotator/src/test/java/org/apache/uima/annotator/SnowballAnnotatorTest.java?rev=992213&r1=992212&r2=992213&view=diff
==============================================================================
--- uima/sandbox/trunk/SnowballAnnotator/src/test/java/org/apache/uima/annotator/SnowballAnnotatorTest.java (original)
+++ uima/sandbox/trunk/SnowballAnnotator/src/test/java/org/apache/uima/annotator/SnowballAnnotatorTest.java Fri Sep 3 05:34:32 2010
@@ -23,50 +23,69 @@ import java.io.File;
import junit.framework.TestCase;
+import org.apache.uima.UIMAFramework;
+import org.apache.uima.analysis_engine.AnalysisEngine;
import org.apache.uima.cas.CAS;
+import org.apache.uima.resource.ResourceSpecifier;
import org.apache.uima.test.junit_extension.AnnotatorTester;
import org.apache.uima.test.junit_extension.JUnitExtension;
-
+import org.apache.uima.util.XMLInputSource;
/**
* Testclass for the SnowballAnnotator.
*/
-public class SnowballAnnotatorTest extends TestCase
-{
- private AnnotatorTester annotTester;
-
- /**
- * @see junit.framework.TestCase#setUp()
- */
- protected void setUp() throws Exception
- {
- this.annotTester = new AnnotatorTester(JUnitExtension.getFile("SnowballAnnotator.xml"));
- }
-
- /* (non-Javadoc)
- * @see junit.framework.TestCase#tearDown()
- */
- protected void tearDown() throws Exception
- {
- super.tearDown();
- this.annotTester = null;
- }
-
+public class SnowballAnnotatorTest extends TestCase {
+ private AnnotatorTester annotTester;
+
+ /**
+ * @see junit.framework.TestCase#setUp()
+ */
+ protected void setUp() throws Exception {
+ this.annotTester = new AnnotatorTester(JUnitExtension.getFile("SnowballAnnotator.xml"));
+ }
- public void testAnnotatorEnglish() throws Exception
- {
- //get cas from xcas file
- CAS cas = AnnotatorTester.getCASfromXCAS(JUnitExtension.getFile("typesystem.xml"), JUnitExtension.getFile("englishXCAS.xml"));
-
- //execute sample text
+ /*
+ * (non-Javadoc)
+ *
+ * @see junit.framework.TestCase#tearDown()
+ */
+ protected void tearDown() throws Exception {
+ super.tearDown();
+ this.annotTester = null;
+ }
+
+ public void testAnnotatorEnglish() throws Exception {
+ // get cas from xcas file
+ CAS cas = AnnotatorTester.getCASfromXCAS(JUnitExtension.getFile("typesystem.xml"),
+ JUnitExtension.getFile("englishXCAS.xml"));
+
+ // execute sample text
this.annotTester.performTest(cas);
-
- //define result interested in
- String[] tofs = {"org.apache.uima.TokenAnnotation", "org.apache.uima.TokenAnnotation:stem"};
-
- //compare results
- File outputFile = new File(JUnitExtension.getFile("englishRef.txt").getParent(), "englishRef_testoutput.txt") ;
- AnnotatorTester.checkResult(cas, tofs, JUnitExtension.getFile("englishRef.txt"), outputFile);
+
+ // define result interested in
+ String[] tofs = { "org.apache.uima.TokenAnnotation", "org.apache.uima.TokenAnnotation:stem" };
+
+ // compare results
+ File outputFile = new File(JUnitExtension.getFile("englishRef.txt").getParent(),
+ "englishRef_testoutput.txt");
+ AnnotatorTester.checkResult(cas, tofs, JUnitExtension.getFile("englishRef.txt"), outputFile);
}
+ public void testReconfigure() {
+ try {
+ XMLInputSource in = new XMLInputSource("desc/SnowballAnnotator.xml");
+ ResourceSpecifier specifier = UIMAFramework.getXMLParser().parseResourceSpecifier(in);
+
+ AnalysisEngine ae = UIMAFramework.produceAnalysisEngine(specifier);
+
+ CAS cas = AnnotatorTester.getCASfromXCAS(JUnitExtension.getFile("typesystem.xml"),
+ JUnitExtension.getFile("englishXCAS.xml"));
+
+ ae.process(cas);
+
+ ae.reconfigure();
+ } catch (Exception e) {
+ fail();
+ }
+ }
}