/** * Convert to ae meta data. * * @param r the r * @return the analysis engine meta data */ private AnalysisEngineMetaData convertToAeMetaData(ResourceMetaData r) { ProcessingResourceMetaData p = (ProcessingResourceMetaData) r; AnalysisEngineMetaData d = UIMAFramework.getResourceSpecifierFactory() .createAnalysisEngineMetaData(); d.setCapabilities(p.getCapabilities()); d.setConfigurationParameterDeclarations(p.getConfigurationParameterDeclarations()); d.setConfigurationParameterSettings(p.getConfigurationParameterSettings()); d.setCopyright(p.getCopyright()); d.setDescription(p.getDescription()); d.setFsIndexCollection(p.getFsIndexCollection()); d.setName(p.getName()); d.setTypePriorities(p.getTypePriorities()); d.setTypeSystem(p.getTypeSystem()); d.setVendor(p.getVendor()); d.setVersion(p.getVersion()); d.setOperationalProperties(p.getOperationalProperties()); ((AnalysisEngineMetaData_impl)d).setInfoset(((MetaDataObject_impl)r).getInfoset()); return d; }
/** * Convert from ae meta data. * * @param p the p * @return the processing resource meta data */ private ProcessingResourceMetaData convertFromAeMetaData(AnalysisEngineMetaData p) { ProcessingResourceMetaData d = UIMAFramework.getResourceSpecifierFactory() .createProcessingResourceMetaData(); d.setCapabilities(p.getCapabilities()); d.setConfigurationParameterDeclarations(p.getConfigurationParameterDeclarations()); d.setConfigurationParameterSettings(p.getConfigurationParameterSettings()); d.setCopyright(p.getCopyright()); d.setDescription(p.getDescription()); d.setFsIndexCollection(p.getFsIndexCollection()); d.setName(p.getName()); d.setTypePriorities(p.getTypePriorities()); d.setTypeSystem(p.getTypeSystem()); d.setVendor(p.getVendor()); d.setVersion(p.getVersion()); d.setOperationalProperties(p.getOperationalProperties()); ((MetaDataObject_impl)d).setInfoset(((MetaDataObject_impl)p).getInfoset()); return d; }
/** * This comparison is needed to avoid throwing errors in the use case: * a) the pipeline has been fully initialized, and one or more CASes have been drawn from this pool * b) Another instance of an annotator using the same resource manager is initialized. * * In this case there is no change to the metadata, and we do not want to disturb anything. * * @param md the metadata to see if its in the list already * @return true if the type system description, the type priority description, and the index collection are * in the list already. */ private boolean containsSameTypeAndIndexInfo(ProcessingResourceMetaData md) { final TypeSystemDescription tsd = md.getTypeSystem(); final TypePriorities tsp = md.getTypePriorities(); final FsIndexCollection ic = md.getFsIndexCollection(); for (ProcessingResourceMetaData item : mMetaDataList) { final TypeSystemDescription otsd = item.getTypeSystem(); final TypePriorities otsp = item.getTypePriorities(); final FsIndexCollection oic = item.getFsIndexCollection(); if (equalsWithNulls(tsp, otsp) && equalsWithNulls(tsd, otsd) && equalsWithNulls(ic , oic )) { return true; } } return false; }
while (it.hasNext()) { ProcessingResourceMetaData md = it.next(); if (md.getTypeSystem() != null) typeSystems.add(md.getTypeSystem()); result.setTypeSystem(mergeTypeSystems(typeSystems, aResourceManager, aOutputMergedTypes)); while (it.hasNext()) { ProcessingResourceMetaData md = it.next(); if (md.getTypePriorities() != null) typePriorities.add(md.getTypePriorities()); result.setTypePriorities(mergeTypePriorities(typePriorities, aResourceManager)); while (it.hasNext()) { ProcessingResourceMetaData md = it.next(); if (md.getFsIndexCollection() != null) fsIndexes.add(md.getFsIndexCollection()); result.setFsIndexCollection(mergeFsIndexes(fsIndexes, aResourceManager));
/** * For an aggregate TAF AE, sets this aggregate AE's Type System, Type Priorities, and FS Index * Descriptions equal to the result of merging the information from its delegate AEs. * * @throws ResourceInitializationException * if an error occurs */ protected void mergeDelegateAnalysisEngineMetaData() throws ResourceInitializationException { // do the merge TypeSystemDescription aggTypeSystem = CasCreationUtils.mergeDelegateAnalysisEngineTypeSystems( (AnalysisEngineDescription) mDescription, getResourceManager()); TypePriorities aggTypePriorities = CasCreationUtils.mergeDelegateAnalysisEngineTypePriorities( (AnalysisEngineDescription) mDescription, getResourceManager()); FsIndexCollection aggIndexColl = CasCreationUtils .mergeDelegateAnalysisEngineFsIndexCollections((AnalysisEngineDescription)mDescription, getResourceManager()); // assign results of merge to this aggregate AE's metadata ProcessingResourceMetaData aggregateMD = (ProcessingResourceMetaData) mDescription.getMetaData(); aggregateMD.setTypeSystem(aggTypeSystem); aggregateMD.setTypePriorities(aggTypePriorities); aggregateMD.setFsIndexCollection(aggIndexColl); }
desc.getCollectionReaderMetaData().setTypeSystem(typeSystem); desc.getCollectionReaderMetaData().setTypePriorities(typePriorities); desc.getCollectionReaderMetaData().setFsIndexCollection(indexes); } else { desc.getCollectionReaderMetaData().setFsIndexCollection(createFsIndexCollection(readerClass)); desc.getCollectionReaderMetaData().setCapabilities(capabilities); } else { Capability capability = CapabilityFactory.createCapability(readerClass); if (capability != null) { desc.getCollectionReaderMetaData().setCapabilities(new Capability[] { capability });
/** * Overridden to set default operational properties if they are not specified in descriptor. */ public void buildFromXMLElement(Element aElement, XMLParser aParser, ParsingOptions aOptions) throws InvalidXMLException { super.buildFromXMLElement(aElement, aParser, aOptions); if (getCasConsumerMetaData().getOperationalProperties() == null) { OperationalProperties opProps = UIMAFramework.getResourceSpecifierFactory() .createOperationalProperties(); opProps.setModifiesCas(false); opProps.setMultipleDeploymentAllowed(false); opProps.setOutputsNewCASes(false); getCasConsumerMetaData().setOperationalProperties(opProps); } }
Object current = iter.next(); if (current instanceof ProcessingResourceMetaData) { mdList.add((ProcessingResourceMetaData) ((ProcessingResourceMetaData) current).clone()); } else if (current instanceof AnalysisEngineDescription) { AnalysisEngineDescription aeDesc = (AnalysisEngineDescription) current; mdList.add((ProcessingResourceMetaData) ((CollectionReaderDescription) current).getCollectionReaderMetaData().clone()); } else if (current instanceof CasInitializerDescription) { mdList.add((ProcessingResourceMetaData) ((CasInitializerDescription) current).getCasInitializerMetaData().clone()); } else if (current instanceof CasConsumerDescription) { mdList.add((ProcessingResourceMetaData) ((CasConsumerDescription) current).getCasConsumerMetaData().clone()); } else if (current instanceof FlowControllerDescription) { mdList.add((ProcessingResourceMetaData) ((FlowControllerDescription) current).getFlowControllerMetaData().clone()); } else if (current instanceof TypeSystemDescription) { ProcessingResourceMetaData md = new ProcessingResourceMetaData_impl(); md.setTypeSystem((TypeSystemDescription) current); mdList.add(md); } else if (current instanceof FsIndexCollection) { ProcessingResourceMetaData md = new ProcessingResourceMetaData_impl(); md.setFsIndexCollection((FsIndexCollection) current); mdList.add(md); } else if (current instanceof TypePriorities) { ProcessingResourceMetaData md = new ProcessingResourceMetaData_impl(); md.setTypePriorities((TypePriorities) current); mdList.add(md); } else if (current instanceof ResourceSpecifier) {
public CAS getEmptyCas() throws ResourceInitializationException { // Reuse same CAS for each request if (cas != null) { cas.reset(); } else { TypePriorities ae_tp = ae.getProcessingResourceMetaData().getTypePriorities(); TypeSystemDescription ae_tsd = ae.getProcessingResourceMetaData().getTypeSystem(); FsIndexDescription[] ae_fid = ae.getProcessingResourceMetaData().getFsIndexes(); // Use class level locking to serialize access to CasCreationUtils // Only one thread at the time can create a CAS. UIMA uses lazy // initialization approach which can cause NPE when two threads // attempt to initialize a CAS. synchronized( CasCreationUtils.class) { cas = CasCreationUtils.createCas(ae_tsd, ae_tp, ae_fid); } } return cas; }
/** * Gets the capabilities. * * @param rs the rs * @return the capabilities */ public static Capability[] getCapabilities(ResourceSpecifier rs) { if (rs instanceof ResourceCreationSpecifier) return ((ProcessingResourceMetaData) ((ResourceCreationSpecifier) rs).getMetaData()) .getCapabilities(); return null; }
/** * Returns true. By contract, CAS Consumers must be read only. * * @see org.apache.uima.collection.base_cpm.CasProcessor#isReadOnly() */ public final boolean isReadOnly() { OperationalProperties opProps = getProcessingResourceMetaData().getOperationalProperties(); return opProps == null ? true : !opProps.getModifiesCas(); }
while (it.hasNext()) { ProcessingResourceMetaData md = it.next(); if (md.getTypeSystem() != null) typeSystems.add(md.getTypeSystem());
casProcessor = (CasProcessor) cpMap.get(processorType.getName()); if (!casProcessor.getProcessingResourceMetaData().getOperationalProperties() .isMultipleDeploymentAllowed()) { continue; // one instance already created. Multiple instances of this CP not allowed String name = casProcessor.getProcessingResourceMetaData().getName(); if (!casProcessorConfigMap.containsKey(name)) { casProcessorConfigMap.put(name, processorType);
.getCasConsumerMetaData(); Capability[] dlgCapabilities = dlgCcMetadata.getCapabilities(); if (dlgCapabilities != null) for (int n = 0; n < dlgCapabilities.length; n++) allCapabilities.add(dlgCapabilities[n]); OperationalProperties dlgOperProps = dlgCcMetadata.getOperationalProperties(); if (dlgOperProps != null) { if (!dlgOperProps.isMultipleDeploymentAllowed())
/** * Find the position in the list of the Cas Processor with a given name. * * @param aName the a name * @param aList the a list * @return the position in the list of the Cas Processor with a given name */ private int getPositionInListIfExists(String aName, List aList) { for (int i = 0; i < aList.size(); i++) { List innerList = (ArrayList) aList.get(i); // Get the name of the first CP in the list. The inner list contains CPs of the same kind String currentCPName = ((CasProcessor) innerList.get(0)).getProcessingResourceMetaData() .getName(); if (aName != null && aName.trim().equals(currentCPName.trim())) { return i; } } return -1; }
analysisEngineMetaDataMap.put(key, (ProcessingResourceMetaData) resource); if (((ProcessingResourceMetaData) resource).getOperationalProperties() .getOutputsNewCASes()) { endpoint.setIsCasMultiplier(true); if (remoteDelegateServiceInfo != null && (o = ((ProcessingResourceMetaData) resource) .getConfigurationParameterSettings().getParameterValue( AnalysisEngineController.AEInstanceCount)) != null) { ((PrimitiveServiceInfo) remoteDelegateServiceInfo)
/** * Assign CollectionReader to be used for reading. * * @param aCollectionReader - * collection reader as source of data */ public void setCollectionReader(BaseCollectionReader aCollectionReader) { collectionReader = aCollectionReader; if (collectionReader.getProcessingResourceMetaData().getConfigurationParameterSettings() .getParameterValue("fetchSize") != null) { // Determines how many at a time this Collection Reader will return // for each fetch readerFetchSize = ((Integer) collectionReader.getProcessingResourceMetaData() .getConfigurationParameterSettings().getParameterValue("fetchSize")).intValue(); } }
CasInitializer casIni = ((CollectionReader) collectionReader).getCasInitializer(); if (casIni != null) capabilities = casIni.getProcessingResourceMetaData().getCapabilities(); else capabilities = ((CollectionReader) collectionReader).getProcessingResourceMetaData() .getCapabilities(); localTrace.startEvent(collectionReader.getProcessingResourceMetaData().getName(), "Process", ""); eventStarted = true; ((CollectionReader) collectionReader).getNext(view); localTrace.endEvent(collectionReader.getProcessingResourceMetaData().getName(), "Process", "success"); localTrace.startEvent(collectionReader.getProcessingResourceMetaData().getName(), "Process", ""); eventStarted = true; ((CollectionReader) collectionReader).getNext(baseCas); localTrace.endEvent(collectionReader.getProcessingResourceMetaData().getName(), "Process", "success"); localTrace.endEvent(collectionReader.getProcessingResourceMetaData().getName(), "Process", "failure"); localTrace.startEvent(collectionReader.getProcessingResourceMetaData().getName(), "Process", ""); try { } finally {
collectionReader = aCollectionReader; if ( collectionReader != null ) { if (collectionReader.getProcessingResourceMetaData().getConfigurationParameterSettings() .getParameterValue("fetchSize") != null) { try { readerFetchSize = ((Integer) collectionReader.getProcessingResourceMetaData() .getConfigurationParameterSettings().getParameterValue("fetchSize")).intValue(); } catch (NumberFormatException nfe) { readerFetchSize = 1; // restore default String readerName = collectionReader.getProcessingResourceMetaData().getName(); if (readerName != null) { restoreFromCheckpoint(readerName, "COLLECTION READER PROCESSING TIME");
if (null == md) { md = UIMAFramework.getResourceSpecifierFactory().createProcessingResourceMetaData(); md.setName("(null)"); "UIMA_analysis_engine_init_begin__CONFIG", md.getName()); ResourceMetaData mdCopy = (ResourceMetaData) md.clone(); "UIMA_analysis_engine_init_successful__CONFIG", md.getName()); return true; } catch (ResourceConfigurationException e) {