in uimafit-core/src/main/java/org/apache/uima/fit/pipeline/SimplePipeline.java [167:205]
public static void runPipeline(final CollectionReaderDescription readerDesc,
final AnalysisEngineDescription... descs) throws IOException,
ResourceInitializationException, AnalysisEngineProcessException, CollectionException {
CollectionReader reader = null;
AnalysisEngine aae = null;
ResourceManager resMgr = null;
try {
resMgr = ResourceManagerFactory.newResourceManager();
// Create the components
reader = UIMAFramework.produceCollectionReader(readerDesc, resMgr, null);
// Create AAE
final AnalysisEngineDescription aaeDesc = createEngineDescription(descs);
// Instantiate AAE
aae = UIMAFramework.produceAnalysisEngine(aaeDesc, resMgr, null);
// Create CAS from merged metadata
final CAS cas = CasCreationUtils.createCas(asList(reader.getMetaData(), aae.getMetaData()),
null, resMgr);
reader.typeSystemInit(cas.getTypeSystem());
// Process
while (reader.hasNext()) {
reader.getNext(cas);
aae.process(cas);
cas.reset();
}
// Signal end of processing
aae.collectionProcessComplete();
} finally {
// Destroy
LifeCycleUtil.destroy(reader);
LifeCycleUtil.destroy(aae);
LifeCycleUtil.destroy(resMgr);
}
}