You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by re...@apache.org on 2013/08/04 14:10:31 UTC
svn commit: r1510145 - in /uima/sandbox/uimafit/trunk:
uimafit-legacy-support/src/test/java/org/apache/uima/fit/factory/
uimafit-legacy-support/src/test/java/org/apache/uima/fit/factory/testCrs/
uimafit/src/main/java/org/apache/uima/fit/pipeline/ uimaf...
Author: rec
Date: Sun Aug 4 12:10:30 2013
New Revision: 1510145
URL: http://svn.apache.org/r1510145
Log:
[UIMA-3097] Split JCasIterable into iterable and iterator parts
- Added stepPipeline() method to SimplePipeline (uses JCasIterable)
- Split JCasIterator out of JCasIterable
Added:
uima/sandbox/uimafit/trunk/uimafit/src/main/java/org/apache/uima/fit/pipeline/JCasIterator.java (with props)
Modified:
uima/sandbox/uimafit/trunk/uimafit-legacy-support/src/test/java/org/apache/uima/fit/factory/CollectionReaderFactoryTest.java
uima/sandbox/uimafit/trunk/uimafit-legacy-support/src/test/java/org/apache/uima/fit/factory/testCrs/SingleFileXReaderTest.java
uima/sandbox/uimafit/trunk/uimafit/src/main/java/org/apache/uima/fit/pipeline/JCasIterable.java
uima/sandbox/uimafit/trunk/uimafit/src/main/java/org/apache/uima/fit/pipeline/SimplePipeline.java
uima/sandbox/uimafit/trunk/uimafit/src/test/java/org/apache/uima/fit/factory/CollectionReaderFactoryTest.java
uima/sandbox/uimafit/trunk/uimafit/src/test/java/org/apache/uima/fit/factory/testCrs/SingleFileXReaderTest.java
uima/sandbox/uimafit/trunk/uimafit/src/test/java/org/apache/uima/fit/pipeline/JCasIterableTest.java
Modified: uima/sandbox/uimafit/trunk/uimafit-legacy-support/src/test/java/org/apache/uima/fit/factory/CollectionReaderFactoryTest.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uimafit/trunk/uimafit-legacy-support/src/test/java/org/apache/uima/fit/factory/CollectionReaderFactoryTest.java?rev=1510145&r1=1510144&r2=1510145&view=diff
==============================================================================
--- uima/sandbox/uimafit/trunk/uimafit-legacy-support/src/test/java/org/apache/uima/fit/factory/CollectionReaderFactoryTest.java (original)
+++ uima/sandbox/uimafit/trunk/uimafit-legacy-support/src/test/java/org/apache/uima/fit/factory/CollectionReaderFactoryTest.java Sun Aug 4 12:10:30 2013
@@ -30,7 +30,7 @@ import org.apache.uima.collection.Collec
import org.apache.uima.collection.CollectionReader_ImplBase;
import org.apache.uima.fit.ComponentTestBase;
import org.apache.uima.fit.factory.testCrs.SingleFileXReader;
-import org.apache.uima.fit.pipeline.JCasIterable;
+import org.apache.uima.fit.pipeline.JCasIterator;
import org.apache.uima.fit.type.Token;
import org.apache.uima.fit.util.JCasUtil;
import org.apache.uima.resource.ResourceInitializationException;
@@ -50,8 +50,8 @@ public class CollectionReaderFactoryTest
"src/test/resources/data/docs/test.xmi", SingleFileXReader.PARAM_XML_SCHEME,
SingleFileXReader.XMI);
- JCasIterable jCasIterable = new JCasIterable(reader, typeSystemDescription);
- jCas = jCasIterable.next();
+ JCasIterator jCasIterator = new JCasIterator(reader);
+ jCas = jCasIterator.next();
assertNotNull(jCas);
assertEquals("Me and all my friends are non-conformists.", jCas.getDocumentText());
Token token = JCasUtil.selectByIndex(jCas, Token.class, 2);
@@ -64,8 +64,8 @@ public class CollectionReaderFactoryTest
SingleFileXReader.PARAM_FILE_NAME, "src/test/resources/data/docs/test.xmi",
SingleFileXReader.PARAM_XML_SCHEME, SingleFileXReader.XMI);
- jCasIterable = new JCasIterable(reader, typeSystemDescription);
- jCas = jCasIterable.next();
+ jCasIterator = new JCasIterator(reader, typeSystemDescription);
+ jCas = jCasIterator.next();
assertNotNull(jCas);
assertEquals("Me and all my friends are non-conformists.", jCas.getDocumentText());
token = JCasUtil.selectByIndex(jCas, Token.class, 9);
@@ -78,8 +78,8 @@ public class CollectionReaderFactoryTest
SingleFileXReader.PARAM_FILE_NAME, "src/test/resources/data/docs/test.xmi",
SingleFileXReader.PARAM_XML_SCHEME, SingleFileXReader.XMI);
- jCasIterable = new JCasIterable(reader, typeSystemDescription);
- jCas = jCasIterable.next();
+ jCasIterator = new JCasIterator(reader, typeSystemDescription);
+ jCas = jCasIterator.next();
assertNotNull(jCas);
assertEquals("Me and all my friends are non-conformists.", jCas.getDocumentText());
token = JCasUtil.selectByIndex(jCas, Token.class, 4);
Modified: uima/sandbox/uimafit/trunk/uimafit-legacy-support/src/test/java/org/apache/uima/fit/factory/testCrs/SingleFileXReaderTest.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uimafit/trunk/uimafit-legacy-support/src/test/java/org/apache/uima/fit/factory/testCrs/SingleFileXReaderTest.java?rev=1510145&r1=1510144&r2=1510145&view=diff
==============================================================================
--- uima/sandbox/uimafit/trunk/uimafit-legacy-support/src/test/java/org/apache/uima/fit/factory/testCrs/SingleFileXReaderTest.java (original)
+++ uima/sandbox/uimafit/trunk/uimafit-legacy-support/src/test/java/org/apache/uima/fit/factory/testCrs/SingleFileXReaderTest.java Sun Aug 4 12:10:30 2013
@@ -28,7 +28,7 @@ import org.apache.uima.UIMAException;
import org.apache.uima.collection.CollectionReader;
import org.apache.uima.fit.ComponentTestBase;
import org.apache.uima.fit.factory.CollectionReaderFactory;
-import org.apache.uima.fit.pipeline.JCasIterable;
+import org.apache.uima.fit.pipeline.JCasIterator;
import org.apache.uima.fit.testing.util.HideOutput;
import org.apache.uima.resource.ResourceInitializationException;
import org.apache.uima.util.Progress;
@@ -68,7 +68,7 @@ public class SingleFileXReaderTest exten
assertEquals(0, progress[0].getCompleted());
assertTrue(cr.hasNext());
- new JCasIterable(cr).next();
+ new JCasIterator(cr).next();
progress = cr.getProgress();
assertEquals(1, progress.length);
assertEquals(1, progress[0].getCompleted());
@@ -80,7 +80,7 @@ public class SingleFileXReaderTest exten
SingleFileXReader.PARAM_FILE_NAME, "test/data/docs/test.xcas");
UnsupportedOperationException uoe = null;
try {
- new JCasIterable(cr).iterator().remove();
+ new JCasIterator(cr).remove();
} catch (UnsupportedOperationException e) {
uoe = e;
}
@@ -93,7 +93,7 @@ public class SingleFileXReaderTest exten
SingleFileXReader.PARAM_FILE_NAME, "test/data/docs/bad.xcas");
RuntimeException re = null;
try {
- new JCasIterable(cr).next();
+ new JCasIterator(cr).next();
} catch (RuntimeException e) {
re = e;
}
@@ -105,7 +105,7 @@ public class SingleFileXReaderTest exten
SingleFileXReader.PARAM_FILE_NAME, "test/data/docs/dne.xmi");
re = null;
try {
- JCasIterable jCases = new JCasIterable(cr);
+ JCasIterator jCases = new JCasIterator(cr);
assertTrue(jCases.hasNext());
jCases.next();
} catch (RuntimeException e) {
Modified: uima/sandbox/uimafit/trunk/uimafit/src/main/java/org/apache/uima/fit/pipeline/JCasIterable.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uimafit/trunk/uimafit/src/main/java/org/apache/uima/fit/pipeline/JCasIterable.java?rev=1510145&r1=1510144&r2=1510145&view=diff
==============================================================================
--- uima/sandbox/uimafit/trunk/uimafit/src/main/java/org/apache/uima/fit/pipeline/JCasIterable.java (original)
+++ uima/sandbox/uimafit/trunk/uimafit/src/main/java/org/apache/uima/fit/pipeline/JCasIterable.java Sun Aug 4 12:10:30 2013
@@ -23,24 +23,11 @@ import static org.apache.uima.fit.factor
import static org.apache.uima.fit.factory.CollectionReaderFactory.createReader;
import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
import org.apache.uima.UIMAException;
-import org.apache.uima.analysis_engine.AnalysisEngine;
import org.apache.uima.analysis_engine.AnalysisEngineDescription;
-import org.apache.uima.analysis_engine.AnalysisEngineProcessException;
-import org.apache.uima.collection.CollectionException;
-import org.apache.uima.collection.CollectionReader;
import org.apache.uima.collection.CollectionReaderDescription;
-import org.apache.uima.fit.component.NoOpAnnotator;
-import org.apache.uima.fit.factory.AnalysisEngineFactory;
-import org.apache.uima.fit.util.LifeCycleUtil;
import org.apache.uima.jcas.JCas;
-import org.apache.uima.resource.metadata.ResourceMetaData;
-import org.apache.uima.resource.metadata.TypeSystemDescription;
-import org.apache.uima.util.CasCreationUtils;
/**
* A class implementing iteration over a the documents of a collection. Each element in the Iterable
@@ -48,55 +35,17 @@ import org.apache.uima.util.CasCreationU
* and processed by the AnalysisEngine (if any).
*
*/
-public class JCasIterable implements Iterator<JCas>, Iterable<JCas> {
+public class JCasIterable implements Iterable<JCas> {
- private CollectionReader collectionReader;
+ private final CollectionReaderDescription reader;
- private AnalysisEngine[] analysisEngines;
-
- private JCas jCas;
-
- private boolean selfComplete = false;
-
- private boolean selfDestroy = false;
-
- /**
- * Iterate over the documents loaded by the CollectionReader. (Uses an JCasAnnotatorAdapter to
- * create the document JCas.) By default, components get no lifecycle events, such as
- * collectionProcessComplete or destroy when this constructor is used.
- *
- * @param aReader
- * The CollectionReader for loading documents.
- * @param aTypeSystemDescription
- * a type system description
- */
- public JCasIterable(final CollectionReader aReader,
- final TypeSystemDescription aTypeSystemDescription) throws UIMAException, IOException {
- this(aReader, AnalysisEngineFactory.createEngine(NoOpAnnotator.class, aTypeSystemDescription));
- }
-
- /**
- * Iterate over the documents loaded by the CollectionReader, running the AnalysisEngine on each
- * one before yielding them. By default, components get no lifecycle events, such as
- * collectionProcessComplete or destroy when this constructor is used.
- *
- * @param aReader
- * The CollectionReader for loading documents.
- * @param aEngines
- * The AnalysisEngines for processing documents.
- */
- public JCasIterable(final CollectionReader aReader, final AnalysisEngine... aEngines)
- throws UIMAException, IOException {
- collectionReader = aReader;
- analysisEngines = aEngines;
- jCas = CasCreationUtils.createCas(collectMetaData()).getJCas();
- }
+ private final AnalysisEngineDescription[] engines;
/**
* Iterate over the documents loaded by the CollectionReader, running the AnalysisEngine on each
* one before yielding them. When created with this constructor, analysis engines by default
- * receive a collectionProcessComplete call when all documents have been read from the reader
- * and all components get destroyed.
+ * receive a collectionProcessComplete call when all documents have been read from the reader and
+ * all components get destroyed.
*
* @param aReader
* The CollectionReader for loading documents.
@@ -104,114 +53,22 @@ public class JCasIterable implements Ite
* The AnalysisEngines for processing documents.
*/
public JCasIterable(final CollectionReaderDescription aReader,
- final AnalysisEngineDescription... aEngines) throws UIMAException, IOException {
- setSelfComplete(true);
- setSelfDestroy(true);
- collectionReader = createReader(aReader);
- analysisEngines = new AnalysisEngine[] { createEngine(createEngineDescription(aEngines)) };
- jCas = CasCreationUtils.createCas(collectMetaData()).getJCas();
- }
-
- private List<ResourceMetaData> collectMetaData() {
- final List<ResourceMetaData> metaData = new ArrayList<ResourceMetaData>();
- metaData.add(collectionReader.getMetaData());
- for (AnalysisEngine engine : analysisEngines) {
- metaData.add(engine.getMetaData());
- }
- return metaData;
- }
-
- public Iterator<JCas> iterator() {
- return this;
+ final AnalysisEngineDescription... aEngines) {
+ reader = aReader;
+ engines = aEngines;
}
- public boolean hasNext() {
+ public JCasIterator iterator() {
try {
- return collectionReader.hasNext();
- } catch (CollectionException e) {
- throw new IllegalStateException(e);
+ JCasIterator i = new JCasIterator(createReader(reader),
+ createEngine(createEngineDescription(engines)));
+ i.setSelfComplete(true);
+ i.setSelfDestroy(true);
+ return i;
} catch (IOException e) {
throw new IllegalStateException(e);
- }
- finally {
- if (selfDestroy) {
- destroy();
- }
- }
- }
-
- public JCas next() {
- jCas.reset();
- boolean error = true;
- boolean destroyed = false;
- try {
- collectionReader.getNext(jCas.getCas());
- for (AnalysisEngine engine : analysisEngines) {
- engine.process(jCas);
- }
-
- if (!hasNext() && selfComplete) {
- collectionProcessComplete();
- }
-
- if (!hasNext() && selfDestroy) {
- destroy();
- destroyed = true;
- }
-
- error = false;
- } catch (CollectionException e) {
- throw new IllegalStateException(e);
- } catch (IOException e) {
+ } catch (UIMAException e) {
throw new IllegalStateException(e);
- } catch (AnalysisEngineProcessException e) {
- throw new IllegalStateException(e);
- }
- finally {
- if (error && selfDestroy && !destroyed) {
- destroy();
- }
}
-
- return jCas;
- }
-
- public void remove() {
- throw new UnsupportedOperationException();
- }
-
- public void collectionProcessComplete() throws AnalysisEngineProcessException
- {
- LifeCycleUtil.collectionProcessComplete(analysisEngines);
- }
-
- public void destroy() {
- LifeCycleUtil.close(collectionReader);
- LifeCycleUtil.destroy(collectionReader);
- LifeCycleUtil.destroy(analysisEngines);
- }
-
- public boolean isSelfComplete() {
- return selfComplete;
- }
-
- /**
- * Send a collectionProcessComplete call to analysis engines when the reader has no further
- * CASes to produce.
- */
- public void setSelfComplete(boolean aSelfComplete) {
- selfComplete = aSelfComplete;
- }
-
- public boolean isSelfDestroy() {
- return selfDestroy;
- }
-
- /**
- * Send a destroy call to analysis engines when the reader has no further CASes to produce or
- * if an error occurs.
- */
- public void setSelfDestroy(boolean aSelfDestroy) {
- selfDestroy = aSelfDestroy;
}
}
Added: uima/sandbox/uimafit/trunk/uimafit/src/main/java/org/apache/uima/fit/pipeline/JCasIterator.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uimafit/trunk/uimafit/src/main/java/org/apache/uima/fit/pipeline/JCasIterator.java?rev=1510145&view=auto
==============================================================================
--- uima/sandbox/uimafit/trunk/uimafit/src/main/java/org/apache/uima/fit/pipeline/JCasIterator.java (added)
+++ uima/sandbox/uimafit/trunk/uimafit/src/main/java/org/apache/uima/fit/pipeline/JCasIterator.java Sun Aug 4 12:10:30 2013
@@ -0,0 +1,185 @@
+/*
+ * 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.
+ */
+package org.apache.uima.fit.pipeline;
+
+import static org.apache.uima.fit.factory.AnalysisEngineFactory.createEngine;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Iterator;
+import org.apache.uima.UIMAException;
+import org.apache.uima.analysis_engine.AnalysisEngine;
+import org.apache.uima.analysis_engine.AnalysisEngineProcessException;
+import org.apache.uima.collection.CollectionException;
+import org.apache.uima.collection.CollectionReader;
+import org.apache.uima.fit.component.NoOpAnnotator;
+import org.apache.uima.fit.util.LifeCycleUtil;
+import org.apache.uima.jcas.JCas;
+import org.apache.uima.resource.metadata.MetaDataObject;
+import org.apache.uima.resource.metadata.TypeSystemDescription;
+import org.apache.uima.util.CasCreationUtils;
+
+/**
+ * A class implementing iteration over a the documents of a collection. Each element in the Iterable
+ * is a JCas containing a single document. The documents have been loaded by the CollectionReader
+ * and processed by the AnalysisEngine (if any).
+ *
+ */
+public class JCasIterator implements Iterator<JCas> {
+
+ private final CollectionReader collectionReader;
+
+ private final AnalysisEngine[] analysisEngines;
+
+ private final JCas jCas;
+
+ private boolean selfComplete = false;
+
+ private boolean selfDestroy = false;
+
+ /**
+ * Iterate over the documents loaded by the CollectionReader, running the AnalysisEngine on each
+ * one before yielding them. By default, components get no lifecycle events, such as
+ * collectionProcessComplete or destroy when this constructor is used.
+ *
+ * @param aReader
+ * The CollectionReader for loading documents.
+ * @param aEngines
+ * The AnalysisEngines for processing documents.
+ */
+ public JCasIterator(final CollectionReader aReader, final AnalysisEngine... aEngines)
+ throws UIMAException, IOException {
+ collectionReader = aReader;
+ analysisEngines = aEngines;
+
+ Collection<MetaDataObject> metaData = new ArrayList<MetaDataObject>();
+ metaData.add(aReader.getProcessingResourceMetaData());
+ for (AnalysisEngine ae : aEngines) {
+ metaData.add(ae.getProcessingResourceMetaData());
+ }
+
+ jCas = CasCreationUtils.createCas(metaData).getJCas();
+ }
+
+ /**
+ * Iterate over the documents loaded by the CollectionReader. (Uses an JCasAnnotatorAdapter to
+ * create the document JCas.) By default, components get no lifecycle events, such as
+ * collectionProcessComplete or destroy when this constructor is used.
+ *
+ * @param aReader
+ * The CollectionReader for loading documents.
+ * @param aTypeSystemDescription
+ * a type system description
+ */
+ public JCasIterator(final CollectionReader aReader,
+ final TypeSystemDescription aTypeSystemDescription) throws UIMAException, IOException {
+ this(aReader, createEngine(NoOpAnnotator.class, aTypeSystemDescription));
+ }
+
+ public boolean hasNext() {
+ try {
+ return collectionReader.hasNext();
+ } catch (CollectionException e) {
+ throw new IllegalStateException(e);
+ } catch (IOException e) {
+ throw new IllegalStateException(e);
+ }
+ finally {
+ if (selfDestroy) {
+ destroy();
+ }
+ }
+ }
+
+ public JCas next() {
+ jCas.reset();
+ boolean error = true;
+ boolean destroyed = false;
+ try {
+ collectionReader.getNext(jCas.getCas());
+ for (AnalysisEngine engine : analysisEngines) {
+ engine.process(jCas);
+ }
+
+ if (!hasNext() && selfComplete) {
+ collectionProcessComplete();
+ }
+
+ if (!hasNext() && selfDestroy) {
+ destroy();
+ destroyed = true;
+ }
+
+ error = false;
+ } catch (CollectionException e) {
+ throw new IllegalStateException(e);
+ } catch (IOException e) {
+ throw new IllegalStateException(e);
+ } catch (AnalysisEngineProcessException e) {
+ throw new IllegalStateException(e);
+ }
+ finally {
+ if (error && selfDestroy && !destroyed) {
+ destroy();
+ }
+ }
+
+ return jCas;
+ }
+
+ public void remove() {
+ throw new UnsupportedOperationException();
+ }
+
+ public void collectionProcessComplete() throws AnalysisEngineProcessException
+ {
+ LifeCycleUtil.collectionProcessComplete(analysisEngines);
+ }
+
+ public void destroy() {
+ LifeCycleUtil.close(collectionReader);
+ LifeCycleUtil.destroy(collectionReader);
+ LifeCycleUtil.destroy(analysisEngines);
+ }
+
+ public boolean isSelfComplete() {
+ return selfComplete;
+ }
+
+ /**
+ * Send a collectionProcessComplete call to analysis engines when the reader has no further
+ * CASes to produce.
+ */
+ public void setSelfComplete(boolean aSelfComplete) {
+ selfComplete = aSelfComplete;
+ }
+
+ public boolean isSelfDestroy() {
+ return selfDestroy;
+ }
+
+ /**
+ * Send a destroy call to analysis engines when the reader has no further CASes to produce or
+ * if an error occurs.
+ */
+ public void setSelfDestroy(boolean aSelfDestroy) {
+ selfDestroy = aSelfDestroy;
+ }
+}
Propchange: uima/sandbox/uimafit/trunk/uimafit/src/main/java/org/apache/uima/fit/pipeline/JCasIterator.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: uima/sandbox/uimafit/trunk/uimafit/src/main/java/org/apache/uima/fit/pipeline/SimplePipeline.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uimafit/trunk/uimafit/src/main/java/org/apache/uima/fit/pipeline/SimplePipeline.java?rev=1510145&r1=1510144&r2=1510145&view=diff
==============================================================================
--- uima/sandbox/uimafit/trunk/uimafit/src/main/java/org/apache/uima/fit/pipeline/SimplePipeline.java (original)
+++ uima/sandbox/uimafit/trunk/uimafit/src/main/java/org/apache/uima/fit/pipeline/SimplePipeline.java Sun Aug 4 12:10:30 2013
@@ -73,7 +73,7 @@ public final class SimplePipeline {
// Create CAS from merged metadata
final CAS cas = CasCreationUtils.createCas(asList(reader.getMetaData(), aae.getMetaData()));
reader.typeSystemInit(cas.getTypeSystem());
-
+
try {
// Process
while (reader.hasNext()) {
@@ -134,7 +134,7 @@ public final class SimplePipeline {
for (AnalysisEngine engine : engines) {
metaData.add(engine.getMetaData());
}
-
+
final CAS cas = CasCreationUtils.createCas(metaData);
reader.typeSystemInit(cas.getTypeSystem());
@@ -222,4 +222,19 @@ public final class SimplePipeline {
engine.process(cas);
}
}
+
+ /**
+ * Step through the {@link JCas JCases} processed by the pipeline, allowing to access each one
+ * after it has been processed.
+ *
+ * @param aReader
+ * the collection reader.
+ * @param aEngines
+ * the analysis engines.
+ * @return an {@link Iterable}<{@link JCas}> which can be used in an extended for-loop.
+ */
+ public static JCasIterable stepPipeline(final CollectionReaderDescription aReader,
+ AnalysisEngineDescription... aEngines) {
+ return new JCasIterable(aReader, aEngines);
+ }
}
Modified: uima/sandbox/uimafit/trunk/uimafit/src/test/java/org/apache/uima/fit/factory/CollectionReaderFactoryTest.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uimafit/trunk/uimafit/src/test/java/org/apache/uima/fit/factory/CollectionReaderFactoryTest.java?rev=1510145&r1=1510144&r2=1510145&view=diff
==============================================================================
--- uima/sandbox/uimafit/trunk/uimafit/src/test/java/org/apache/uima/fit/factory/CollectionReaderFactoryTest.java (original)
+++ uima/sandbox/uimafit/trunk/uimafit/src/test/java/org/apache/uima/fit/factory/CollectionReaderFactoryTest.java Sun Aug 4 12:10:30 2013
@@ -32,7 +32,7 @@ import org.apache.uima.collection.Collec
import org.apache.uima.fit.ComponentTestBase;
import org.apache.uima.fit.descriptor.ResourceMetaData;
import org.apache.uima.fit.factory.testCrs.SingleFileXReader;
-import org.apache.uima.fit.pipeline.JCasIterable;
+import org.apache.uima.fit.pipeline.JCasIterator;
import org.apache.uima.fit.type.Token;
import org.apache.uima.fit.util.JCasUtil;
import org.apache.uima.resource.ResourceInitializationException;
@@ -52,8 +52,8 @@ public class CollectionReaderFactoryTest
"src/test/resources/data/docs/test.xmi", SingleFileXReader.PARAM_XML_SCHEME,
SingleFileXReader.XMI);
- JCasIterable jCasIterable = new JCasIterable(reader, typeSystemDescription);
- jCas = jCasIterable.next();
+ JCasIterator jCasIterator = new JCasIterator(reader, typeSystemDescription);
+ jCas = jCasIterator.next();
assertNotNull(jCas);
assertEquals("Me and all my friends are non-conformists.", jCas.getDocumentText());
Token token = JCasUtil.selectByIndex(jCas, Token.class, 2);
@@ -66,8 +66,8 @@ public class CollectionReaderFactoryTest
SingleFileXReader.PARAM_FILE_NAME, "src/test/resources/data/docs/test.xmi",
SingleFileXReader.PARAM_XML_SCHEME, SingleFileXReader.XMI);
- jCasIterable = new JCasIterable(reader, typeSystemDescription);
- jCas = jCasIterable.next();
+ jCasIterator = new JCasIterator(reader, typeSystemDescription);
+ jCas = jCasIterator.next();
assertNotNull(jCas);
assertEquals("Me and all my friends are non-conformists.", jCas.getDocumentText());
token = JCasUtil.selectByIndex(jCas, Token.class, 9);
@@ -80,8 +80,8 @@ public class CollectionReaderFactoryTest
SingleFileXReader.PARAM_FILE_NAME, "src/test/resources/data/docs/test.xmi",
SingleFileXReader.PARAM_XML_SCHEME, SingleFileXReader.XMI);
- jCasIterable = new JCasIterable(reader, typeSystemDescription);
- jCas = jCasIterable.next();
+ jCasIterator = new JCasIterator(reader, typeSystemDescription);
+ jCas = jCasIterator.next();
assertNotNull(jCas);
assertEquals("Me and all my friends are non-conformists.", jCas.getDocumentText());
token = JCasUtil.selectByIndex(jCas, Token.class, 4);
Modified: uima/sandbox/uimafit/trunk/uimafit/src/test/java/org/apache/uima/fit/factory/testCrs/SingleFileXReaderTest.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uimafit/trunk/uimafit/src/test/java/org/apache/uima/fit/factory/testCrs/SingleFileXReaderTest.java?rev=1510145&r1=1510144&r2=1510145&view=diff
==============================================================================
--- uima/sandbox/uimafit/trunk/uimafit/src/test/java/org/apache/uima/fit/factory/testCrs/SingleFileXReaderTest.java (original)
+++ uima/sandbox/uimafit/trunk/uimafit/src/test/java/org/apache/uima/fit/factory/testCrs/SingleFileXReaderTest.java Sun Aug 4 12:10:30 2013
@@ -28,7 +28,7 @@ import org.apache.uima.UIMAException;
import org.apache.uima.collection.CollectionReader;
import org.apache.uima.fit.ComponentTestBase;
import org.apache.uima.fit.factory.CollectionReaderFactory;
-import org.apache.uima.fit.pipeline.JCasIterable;
+import org.apache.uima.fit.pipeline.JCasIterator;
import org.apache.uima.fit.testing.util.HideOutput;
import org.apache.uima.resource.ResourceInitializationException;
import org.apache.uima.util.Progress;
@@ -68,7 +68,7 @@ public class SingleFileXReaderTest exten
assertEquals(0, progress[0].getCompleted());
assertTrue(cr.hasNext());
- new JCasIterable(cr).next();
+ new JCasIterator(cr).next();
progress = cr.getProgress();
assertEquals(1, progress.length);
assertEquals(1, progress[0].getCompleted());
@@ -80,7 +80,7 @@ public class SingleFileXReaderTest exten
SingleFileXReader.PARAM_FILE_NAME, "test/data/docs/test.xcas");
UnsupportedOperationException uoe = null;
try {
- new JCasIterable(cr).iterator().remove();
+ new JCasIterator(cr).remove();
} catch (UnsupportedOperationException e) {
uoe = e;
}
@@ -93,7 +93,7 @@ public class SingleFileXReaderTest exten
SingleFileXReader.PARAM_FILE_NAME, "test/data/docs/bad.xcas");
RuntimeException re = null;
try {
- new JCasIterable(cr).next();
+ new JCasIterator(cr).next();
} catch (RuntimeException e) {
re = e;
}
@@ -105,7 +105,7 @@ public class SingleFileXReaderTest exten
SingleFileXReader.PARAM_FILE_NAME, "test/data/docs/dne.xmi");
re = null;
try {
- JCasIterable jCases = new JCasIterable(cr);
+ JCasIterator jCases = new JCasIterator(cr);
assertTrue(jCases.hasNext());
jCases.next();
} catch (RuntimeException e) {
Modified: uima/sandbox/uimafit/trunk/uimafit/src/test/java/org/apache/uima/fit/pipeline/JCasIterableTest.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uimafit/trunk/uimafit/src/test/java/org/apache/uima/fit/pipeline/JCasIterableTest.java?rev=1510145&r1=1510144&r2=1510145&view=diff
==============================================================================
--- uima/sandbox/uimafit/trunk/uimafit/src/test/java/org/apache/uima/fit/pipeline/JCasIterableTest.java (original)
+++ uima/sandbox/uimafit/trunk/uimafit/src/test/java/org/apache/uima/fit/pipeline/JCasIterableTest.java Sun Aug 4 12:10:30 2013
@@ -18,6 +18,7 @@
*/
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.junit.Assert.assertEquals;
@@ -40,7 +41,7 @@ public class JCasIterableTest {
@Test
public void test() throws Exception {
- for (JCas jcas : new JCasIterable(createReaderDescription(ThreeDocsReader.class),
+ for (JCas jcas : stepPipeline(createReaderDescription(ThreeDocsReader.class),
createEngineDescription(GetTextAE.class))) {
System.out.println(jcas.getDocumentText());
}