[UIMA-4998] SimplePipeline.iteratePipeline doesn't call typeSystemInit on readers (uimaFIT 2.2.0)
git-svn-id: https://svn.apache.org/repos/asf/uima/uimafit/trunk@1751169 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/uimafit-core/src/main/java/org/apache/uima/fit/pipeline/JCasIterator.java b/uimafit-core/src/main/java/org/apache/uima/fit/pipeline/JCasIterator.java
index 520d840..b820847 100644
--- a/uimafit-core/src/main/java/org/apache/uima/fit/pipeline/JCasIterator.java
+++ b/uimafit-core/src/main/java/org/apache/uima/fit/pipeline/JCasIterator.java
@@ -88,6 +88,7 @@
ResourceManager resMgr = ResourceManagerFactory.newResourceManager();
jCas = CasCreationUtils.createCas(metaData, null, resMgr).getJCas();
+ collectionReader.typeSystemInit(jCas.getTypeSystem());
}
/**
diff --git a/uimafit-core/src/test/java/org/apache/uima/fit/pipeline/JCasIterableTest.java b/uimafit-core/src/test/java/org/apache/uima/fit/pipeline/JCasIterableTest.java
index 522c5c4..4167667 100644
--- a/uimafit-core/src/test/java/org/apache/uima/fit/pipeline/JCasIterableTest.java
+++ b/uimafit-core/src/test/java/org/apache/uima/fit/pipeline/JCasIterableTest.java
@@ -18,28 +18,24 @@
*/
package org.apache.uima.fit.pipeline;
-import static org.apache.uima.fit.pipeline.SimplePipeline.*;
import static org.apache.uima.fit.factory.AnalysisEngineFactory.createEngineDescription;
import static org.apache.uima.fit.factory.CollectionReaderFactory.createReaderDescription;
import static org.apache.uima.fit.factory.ExternalResourceFactory.createExternalResourceDescription;
+import static org.apache.uima.fit.pipeline.SimplePipeline.iteratePipeline;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
import java.io.IOException;
-import java.util.Arrays;
import org.apache.uima.UimaContext;
import org.apache.uima.analysis_engine.AnalysisEngineProcessException;
+import org.apache.uima.cas.TypeSystem;
import org.apache.uima.collection.CollectionException;
import org.apache.uima.fit.component.JCasAnnotator_ImplBase;
import org.apache.uima.fit.component.JCasCollectionReader_ImplBase;
import org.apache.uima.fit.component.Resource_ImplBase;
import org.apache.uima.fit.descriptor.ExternalResource;
-import org.apache.uima.fit.pipeline.SimplePipelineTest.Annotator;
-import org.apache.uima.fit.pipeline.SimplePipelineTest.DummySharedResource;
-import org.apache.uima.fit.pipeline.SimplePipelineTest.Reader;
-import org.apache.uima.fit.pipeline.SimplePipelineTest.Writer;
import org.apache.uima.jcas.JCas;
import org.apache.uima.resource.ExternalResourceDescription;
import org.apache.uima.resource.ResourceInitializationException;
@@ -89,7 +85,14 @@
private final int N = 3;
private int n = 0;
-
+
+ private boolean initTypeSystemCalled = false;
+
+ @Override
+ public void typeSystemInit(TypeSystem aTypeSystem) throws ResourceInitializationException {
+ initTypeSystemCalled = true;
+ }
+
public Progress[] getProgress() {
return new Progress[] { new ProgressImpl(n, N, "document") };
}
@@ -100,6 +103,7 @@
@Override
public void getNext(JCas aJCas) throws IOException, CollectionException {
+ assertTrue("typeSystemInit() has not been called", initTypeSystemCalled);
n++;
aJCas.setDocumentText("Document " + n);
}