@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; }
public AnalysisEngineDescription buildComponent(int stageId, int phase, AnyObject aeDescription) throws Exception { Map<String, Object> tuples = Maps.newLinkedHashMap(); tuples.put(BasePhase.QA_INTERNAL_PHASEID, new Integer(phase)); tuples.put(EXPERIMENT_UUID_PROPERTY, experimentUuid); tuples.put(STAGE_ID_PROPERTY, stageId); Class<? extends AnalysisComponent> ac = getFromClassOrInherit(aeDescription, AnalysisComponent.class, tuples); Object[] params = getParamList(tuples); AnalysisEngineDescription description = AnalysisEngineFactory.createPrimitiveDescription(ac, typeSystem, typePriorities, params); String name = (String) tuples.get("name"); description.getAnalysisEngineMetaData().setName(name); return description; }
public static AnalysisEngineDescription createAnalysisEngineDescription( Map<String, Object> tuples, Class<? extends AnalysisComponent> comp) throws ResourceInitializationException { Object[] params = getParamList(tuples); AnalysisEngineDescription aeDesc = AnalysisEngineFactory.createPrimitiveDescription(comp, params); StringBuilder sb = new StringBuilder(comp.getSimpleName()); if (params.length > 0) { appendMethodSignature(sb, tuples); } String name = sb.toString().replaceAll("\n", " ").trim(); aeDesc.getAnalysisEngineMetaData().setName(name); return aeDesc; }
public static AnalysisEngine[] createAnnotators(String description) { Yaml yaml = new Yaml(); @SuppressWarnings("unchecked") List<Map<String, String>> names = (List<Map<String, String>>) yaml.load(description); List<AnalysisEngine> annotators = Lists.newArrayList(); for (Map<String, String> name : names) { try { Map<String, Object> tuples = Maps.newHashMap(); ResourceHandle handle = buildHandleFromMap(name); Class<? extends JCasAnnotator_ImplBase> aClass = loadFromClassOrInherit(handle, JCasAnnotator_ImplBase.class, tuples); Object[] params = getParamList(tuples); AnalysisEngineDescription aeDesc = AnalysisEngineFactory.createPrimitiveDescription(aClass, params); annotators.add(UIMAFramework.produceAnalysisEngine(aeDesc)); } catch (Exception e) { System.err.printf("[ERROR] %s Caused by:\n", e); Throwables.getRootCause(e).printStackTrace(); } } return annotators.toArray(new AnalysisEngine[0]); }