private static <T extends Resource> T getProvider(Map<String, String> providerConfMap, Class<T> type) throws ResourceInitializationException { Resource resource = GLOBAL_CONF_TO_RESOURCE.get(providerConfMap); if (resource == null) { resource = BaseExperimentBuilder .buildResource(BaseExperimentBuilder.buildHandleFromMap(providerConfMap), type); } if (resource == null) { throw new ResourceInitializationException(); } GLOBAL_CONF_TO_RESOURCE.put(providerConfMap, resource); return type.cast(resource); }
public static <T extends Resource> List<T> createResourceList(List<Map<String, String>> names, Class<T> type) { List<T> resources = Lists.newArrayList(); for (Map<String, String> name : names) { try { ResourceHandle handle = buildHandleFromMap(name); resources.add(buildResource(handle, type)); } catch (Exception e) { System.err.printf("[ERROR] %s Caused by:\n", e); Throwables.getRootCause(e).printStackTrace(); } } return resources; }
public static <T extends Resource> T loadProvider(String provider, Class<T> type) throws ResourceInitializationException { Yaml yaml = new Yaml(); @SuppressWarnings("unchecked") Map<String, String> map = (Map<String, String>) yaml.load(provider); ResourceHandle handle = buildHandleFromMap(map); try { return buildResource(handle, type); } catch (Exception e) { throw new ResourceInitializationException( ResourceInitializationException.ERROR_INITIALIZING_FROM_DESCRIPTOR, new Object[] { type.getCanonicalName(), provider }, 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]); }