[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);
     }