/** * Create a new dependency for the specified resource and bind it. This method is helpful for UIMA * components that do not use the uimaFIT {@link ExternalResource} annotation, because no external * resource dependencies can be automatically generated by uimaFIT for such components. * * @param aDesc * a description. * @param aKey * the key to bind to. * @param aImpl * the resource implementation. * @param aParams * additional parameters supported by the resource. * @throws InvalidXMLException * if import resolution failed */ public static void createDependencyAndBind(ResourceSpecifier aDesc, String aKey, Class<? extends Resource> aImpl, String... aParams) throws InvalidXMLException { Class<?> api = (ParameterizedDataResource.class.isAssignableFrom(aImpl)) ? DataResource.class : aImpl; createDependencyAndBind(aDesc, aKey, aImpl, api, aParams); }
public static AnalysisEngineDescription createChineseSegmenterAE(String annotationType) { try { AnalysisEngineDescription ae = AnalysisEngineFactory.createEngineDescription( ChineseSegmenter.class, ChineseSegmenter.ANNOTATION_TYPE, annotationType ); ExternalResourceFactory.createDependencyAndBind( ae, ChineseSegmenter.CHINESE_WORD_SEGMENTS, ChineseSegmentResource.class, ChineseSegmenterResourceHelper.getChineseWordSegments()); ExternalResourceFactory.createDependencyAndBind( ae, ChineseSegmenter.CHINESE_FOREIGN_NAME_SEGMENTS, ChineseSegmentResource.class, ChineseSegmenterResourceHelper.getForeignNameSegments()); ExternalResourceFactory.createDependencyAndBind( ae, ChineseSegmenter.CHINESE_NUMBER_SEGMENTS, ChineseSegmentResource.class, ChineseSegmenterResourceHelper.getNumberSegments()); return ae; } catch(Exception e) { throw new RuntimeException(e); } } }
public static AnalysisEngineDescription getConceptMapper(String path, AnalysisEngineDescription tokenDesc) throws UIMAException, IOException, SAXException { String conceptMapper = LEXICA_ROOT + "desc/" + path + "ConceptMapper.xml"; checkArgument(new File(conceptMapper).exists(), "no ConceptMapper file at " + conceptMapper); String lexicon = LEXICA_ROOT + "resources/" + path + ".xml"; checkArgument(new File(lexicon).exists(), "no lexicon file at " + lexicon); AnalysisEngineDescription aed = (AnalysisEngineDescription) createResourceCreationSpecifier( conceptMapper, new Object[] { "TokenizerDescriptorPath", getTokenDescPath(tokenDesc), "Stemmer", SCharsStemmer.class.getName() }); // Create the external resource dependency for the model and bind it ExternalResourceFactory.createDependencyAndBind(aed, "DictionaryFile", DictionaryResource_impl.class, "file:" + lexicon); return aed; } }
ExternalResourceFactory.createDependencyAndBind(aed, "DictionaryFile", DictionaryResource_impl.class, "file:" + lexicon); return aed;