/** * Sets the merged fs index collection. * * @throws ResourceInitializationException the resource initialization exception */ public void setMergedFsIndexCollection() throws ResourceInitializationException { mergedFsIndexCollection = mergeDelegateAnalysisEngineFsIndexCollections( (AnalysisEngineDescription) aeDescription.clone(), createResourceManager()); }
/** * Sets the merged type priorities. * * @throws ResourceInitializationException the resource initialization exception */ // full merge - including locally defined and imported ones public void setMergedTypePriorities() throws ResourceInitializationException { mergedTypePriorities = mergeDelegateAnalysisEngineTypePriorities( (AnalysisEngineDescription) aeDescription.clone(), createResourceManager()); }
/** * Consolidate duplicate information in the AE description. * * @param aDesc * an AE description * @return a consolidated AE description * @throws ResourceInitializationException * if a descriptions could not be aggregated * @throws InvalidXMLException * if import resolution failed */ public static AnalysisEngineDescription consolidate(AnalysisEngineDescription aDesc) throws ResourceInitializationException, InvalidXMLException { // First we clone, because we perform changes within the descriptor. AnalysisEngineDescription desc = (AnalysisEngineDescription) aDesc.clone(); consolidateAggregate(desc, ResourceManagerFactory.newResourceManager()); return desc; }
/** * A Merge method doesn't "fit". merging isn't done over aggregates for these. Instead, the * outer-most one "wins". * * But: resolving does fit. So we name this differently * * @throws InvalidXMLException - */ public void setResolvedExternalResourcesAndBindings() throws InvalidXMLException { AnalysisEngineDescription clonedAe = (AnalysisEngineDescription) aeDescription.clone(); ResourceManagerConfiguration rmc = clonedAe.getResourceManagerConfiguration(); if (null != rmc) rmc.resolveImports(createResourceManager()); resolvedExternalResourcesAndBindings = rmc; }
/** * Sets the imported fs index collection. * * @throws ResourceInitializationException the resource initialization exception */ private void setImportedFsIndexCollection() throws ResourceInitializationException { AnalysisEngineDescription localAe = (AnalysisEngineDescription) aeDescription.clone(); localAe.getAnalysisEngineMetaData().setFsIndexCollection(null); importedFsIndexCollection = CasCreationUtils.mergeDelegateAnalysisEngineFsIndexCollections( localAe, createResourceManager()); }
/** * Sets the imported type priorities. * * @throws ResourceInitializationException the resource initialization exception */ // (only locally defined ones can be edited) private void setImportedTypePriorities() throws ResourceInitializationException { AnalysisEngineDescription localAe = (AnalysisEngineDescription) aeDescription.clone(); localAe.getAnalysisEngineMetaData().setTypePriorities(null); importedTypePriorities = mergeDelegateAnalysisEngineTypePriorities(localAe, createResourceManager()); }
/** * Sets the merged type system description. * * @throws ResourceInitializationException the resource initialization exception */ public void setMergedTypeSystemDescription() throws ResourceInitializationException { mergedTypesAddingFeatures.clear(); if (isAggregate()) mergedTypeSystemDescription = mergeDelegateAnalysisEngineTypeSystems( (AnalysisEngineDescription) aeDescription.clone(), createResourceManager(), mergedTypesAddingFeatures); else { if (null == typeSystemDescription) { mergedTypeSystemDescription = null; } else { ResourceManager resourceManager = createResourceManager(); Collection tsdc = new ArrayList(1); tsdc.add(typeSystemDescription.clone()); // System.out.println("mergingTypeSystem 2"); //$NON-NLS-1$ // long time = System.currentTimeMillis(); mergedTypeSystemDescription = CasCreationUtils.mergeTypeSystems(tsdc, resourceManager, mergedTypesAddingFeatures); // System.out.println("Finished mergingTypeSystem 2; time= " + //$NON-NLS-1$ // (System.currentTimeMillis() - time)); setImportedTypeSystemDescription(); } } }
/** * Create and configure a primitive {@link AnalysisEngine}. * * @param desc * the descriptor to create the analysis engine from. * @param configurationData * Any additional configuration parameters to be set. These should be supplied as (name, * value) pairs, so there should always be an even number of parameters. * @return an {@link AnalysisEngine} created from the specified component class and initialized * with the configuration parameters. * @throws ResourceInitializationException * if a failure occurred during production of the resource. * @see <a href="package-summary.html#InstancesVsDescriptors">Why are descriptors better than * component instances?</a> */ public static AnalysisEngine createEngine(AnalysisEngineDescription desc, Object... configurationData) throws ResourceInitializationException { if (configurationData == null || configurationData.length == 0) { return UIMAFramework.produceAnalysisEngine(desc, ResourceManagerFactory.newResourceManager(), null); } else { AnalysisEngineDescription descClone = (AnalysisEngineDescription) desc.clone(); ResourceCreationSpecifierFactory.setConfigurationParameters(descClone, configurationData); return UIMAFramework.produceAnalysisEngine(descClone, ResourceManagerFactory.newResourceManager(), null); } }
/** * Validate. * * @throws ResourceInitializationException the resource initialization exception */ public void validate() throws ResourceInitializationException { AnalysisEngineDescription ae = (AnalysisEngineDescription) modelRoot.getAeDescription().clone(); // speedup = replace typeSystem with resolved imports version if (ae.isPrimitive()) { TypeSystemDescription tsd = modelRoot.getMergedTypeSystemDescription(); if (null != tsd) tsd = (TypeSystemDescription) tsd.clone(); ae.getAnalysisEngineMetaData().setTypeSystem(tsd); } ae.getAnalysisEngineMetaData().setFsIndexCollection(modelRoot.getMergedFsIndexCollection()); ae.getAnalysisEngineMetaData().setTypePriorities(modelRoot.getMergedTypePriorities()); try { // long time = System.currentTimeMillis(); // System.out.println("Creating TCas model"); cachedResult = modelRoot.createCas(ae, casCreateProperties, modelRoot.createResourceManager()); // System.out.println("Finished Creating TCas model; time= " + // (System.currentTimeMillis() - time)); if (null == cachedResult) throw new InternalErrorCDE("null result from createTCas"); } catch (CASAdminException e) { throw new ResourceInitializationException(e); } dirty = false; modelRoot.allTypes.dirty = true; }
AnalysisEngineDescription ae = (AnalysisEngineDescription) aAe.clone();