@Override public CollectionReader buildCollectionReader(AnyObject config, int stageId) throws Exception { AnyObject descriptor = config.getAnyObject("collection-reader"); Map<String, Object> tuples = Maps.newLinkedHashMap(); tuples.put(EXPERIMENT_UUID_PROPERTY, experimentUuid); tuples.put(STAGE_ID_PROPERTY, stageId); Class<? extends CollectionReader> readerClass = getFromClassOrInherit(descriptor, CollectionReader.class, tuples); Object[] params = getParamList(tuples); CollectionReader reader = CollectionReaderFactory.createCollectionReader(readerClass, typeSystem, params); return reader; }
/** * Run the CollectionReader and AnalysisEngines as a pipeline. After processing all CASes * provided by the reader, the method calls {@link AnalysisEngine#collectionProcessComplete() * collectionProcessComplete()} on the engines, {@link CollectionReader#close() close()} on the * reader and {@link Resource#destroy() destroy()} on the reader and all engines. * * @param readerDesc * The CollectionReader that loads the documents into the CAS. * @param descs * Primitive AnalysisEngineDescriptions that process the CAS, in order. If you have a * mix of primitive and aggregate engines, then please create the AnalysisEngines * yourself and call the other runPipeline method. * @throws UIMAException * @throws IOException */ public static void runPipeline(final CollectionReaderDescription readerDesc, final AnalysisEngineDescription... descs) throws UIMAException, IOException { // Create the components final CollectionReader reader = createCollectionReader(readerDesc); try { // Run the pipeline runPipeline(reader, descs); } finally { close(reader); destroy(reader); } }
CollectionReader reader = createCollectionReader( WebannoTsv2Reader.class, WebannoTsv2Reader.PARAM_PATH, "src/test/resources/tsv2/", CollectionReader reader1 = createCollectionReader( WebannoTsv2Reader.class, WebannoTsv2Reader.PARAM_PATH, "src/test/resources/tsv2/", reader1.getNext(cas1); CollectionReader reader2 = createCollectionReader(WebannoTsv2Reader.class, WebannoTsv2Reader.PARAM_PATH, targetFolder, WebannoTsv2Reader.PARAM_PATTERNS, "example2.tsv");