* reader in a CollectionReaderAdapter. This nice thing about this is, that in principle it would
* be possible to define sofa mappings. However, UIMA-2419 prevents this.
*/
@Test
public void demoAggregateWithDisguisedReader() throws UIMAException {
ResourceSpecifierFactory factory = UIMAFramework.getResourceSpecifierFactory();
AnalysisEngineDescription reader = factory.createAnalysisEngineDescription();
reader.getMetaData().setName("reader");
reader.setPrimitive(true);
reader.setImplementationName(SimpleReader.class.getName());
reader.getAnalysisEngineMetaData().getOperationalProperties().setOutputsNewCASes(true);
AnalysisEngineDescription analyzer = factory.createAnalysisEngineDescription();
analyzer.getMetaData().setName("analyzer");
analyzer.setPrimitive(true);
analyzer.setImplementationName(SimpleAnalyzer.class.getName());
FixedFlow flow = factory.createFixedFlow();
flow.setFixedFlow(new String[] { "reader", "analyzer" });
AnalysisEngineDescription aggregate = factory.createAnalysisEngineDescription();
aggregate.getMetaData().setName("aggregate");
aggregate.setPrimitive(false);
aggregate.getAnalysisEngineMetaData().setFlowConstraints(flow);
aggregate.getAnalysisEngineMetaData().getOperationalProperties().setOutputsNewCASes(true);
aggregate.getAnalysisEngineMetaData().getOperationalProperties()