public static <T extends Resource> T buildResource(ResourceHandle handle, Class<T> type) throws ResourceInitializationException { Map<String, Object> tuples = Maps.newLinkedHashMap(); try { Class<? extends Resource> resourceClass = loadFromClassOrInherit(handle, Resource.class, tuples); return buildResource(resourceClass, tuples, type); } catch (Exception e) { throw new ResourceInitializationException( ResourceInitializationException.ERROR_INITIALIZING_FROM_DESCRIPTOR, new Object[] { type.getCanonicalName(), handle }, e); } }
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]); }
@Override public AnalysisEngine createNoOpEngine() throws Exception { Map<String, Object> tuples = Maps.newLinkedHashMap(); Class<? extends AnalysisComponent> ac = loadFromClassOrInherit(NOOP_RESOURCE, AnalysisComponent.class, tuples); AnalysisEngineDescription aeDesc = createAnalysisEngineDescription(tuples, ac); System.out.println("\t- " + aeDesc.getAnalysisEngineMetaData().getName()); return produceAnalysisEngine(null, aeDesc); }
private List<AnalysisEngineDescription> doLoadOptions(ResourceHandle handle, Map<String, Object> tuples) throws Exception { List<AnalysisEngineDescription> aes = Lists.newArrayList(); Class<? extends AnalysisComponent> comp = BaseExperimentBuilder.loadFromClassOrInherit(handle, AnalysisComponent.class, tuples); AnyObject crossParams = (AnyObject) tuples.remove(CROSS_PARAMS_KEY); if (crossParams == null) { AnalysisEngineDescription aeDesc = BaseExperimentBuilder.createAnalysisEngineDescription( tuples, comp); aes.add(aeDesc); } else { List<String> paramNames = getParameterNames(crossParams); Set<List<Object>> product = doCartesianProduct(crossParams); for (List<Object> configuration : product) { Map<String, Object> inner = Maps.newLinkedHashMap(tuples); setInnerParams(paramNames, configuration, inner); AnalysisEngineDescription aeDesc = BaseExperimentBuilder.createAnalysisEngineDescription( inner, comp); aes.add(aeDesc); } } return aes; }