Class AggregateAnalysisEngine_impl
- All Implemented Interfaces:
AnalysisEngine,TextAnalysisEngine,CasObjectProcessor,CasProcessor,ConfigurableResource,Resource
AnalysisEngine.-
Field Summary
FieldsFields inherited from class org.apache.uima.analysis_engine.impl.AnalysisEngineImplBase
LOG_RESOURCE_BUNDLE, PARAM_VERIFICATION_MODEFields inherited from interface org.apache.uima.analysis_engine.AnalysisEngine
MDC_ANNOTATOR_CONTEXT_NAME, MDC_ANNOTATOR_IMPL_NAME, MDC_CAS_ID, MDC_ROOT_CONTEXT_ID, PARAM_CONFIG_PARAM_SETTINGS, PARAM_MBEAN_NAME_PREFIX, PARAM_MBEAN_SERVER, PARAM_NUM_SIMULTANEOUS_REQUESTS, PARAM_RESOURCE_MANAGER, PARAM_THROTTLE_EXCESSIVE_ANNOTATOR_LOGGING, PARAM_TIMEOUT_PERIODFields inherited from interface org.apache.uima.resource.Resource
PARAM_AGGREGATE_SOFA_MAPPINGS, PARAM_CONFIG_MANAGER, PARAM_CONFIG_PARAM_SETTINGS, PARAM_EXTERNAL_OVERRIDE_SETTINGS, PARAM_PERFORMANCE_TUNING_SETTINGS, PARAM_RESOURCE_MANAGER, PARAM_UIMA_CONTEXT -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected ASB_getASB()For an aggregate AnalysisEngine only, gets the ASB component.protected Map<String,ResourceSpecifier> For an aggregate AnalysisEngine only, gets a Map from each component's key to the specifier for that component.protected Map<String,ProcessingResourceMetaData> For an aggregate AnalysisEngine only, gets a Map from each component's key to ProcessingResourceMetaData for that component.voidNotifies this AnalysisEngine that processing of a batch has completed.protected voidConstruct a ProcessTrace object that represents the last execution of this AnalysisEngine.voidNotifies this AnalysisEngine that processing of an entire collection has completed.voiddestroy()Releases all resources held by thisResource.protected FlowControllerDeclarationprotected voidinitASB(AnalysisEngineDescription aAnalysisEngineDescription, Map<String, Object> aAdditionalParams) A utility method that creates and configures the ASB component.booleaninitialize(ResourceSpecifier aSpecifier, Map<String, Object> aAdditionalParams) Initializes thisResourcefrom aResourceSpecifier.protected voidinitializeAggregateAnalysisEngine(AnalysisEngineDescription aDescription, Map<String, Object> aAdditionalParams) A utility method that performs initialization logic for a aggregate AnalysisEngine.processAndOutputNewCASes(CAS aCAS) Processes a CAS, possibly producing multiple CASes as a result.protected voidDoes processing using the delegate AnalysisEngine metadata once it becomes available.voidInstructs this Resource to re-read its configuration parameter settings.voidsetResultSpecification(ResultSpecification aResultSpec) Sets the list of output types and features that the application wants this AnalysisEngine to produce.protected voidChecks operational properties in an aggregate to ensure they are not inconsistent with operational properties of the components.Methods inherited from class org.apache.uima.analysis_engine.impl.AnalysisEngineImplBase
batchProcessComplete, buildProcessTraceFromMBeanStats, callInitializeMethod, callProcessMethod, collectionProcessComplete, createResultSpecification, createResultSpecification, enterBatchProcessComplete, enterCollectionProcessComplete, enterProcess, exitBatchProcessComplete, exitCollectionProcessComplete, exitProcess, finalize, getAnalysisEngineMetaData, getCurrentConfigParameterSettings, getFeatureNamesForType, getManagementInterface, getMBean, getMBeanNamePrefix, getMBeanServer, getPerformanceTuningSettings, getProcessingResourceMetaData, isProcessTraceEnabled, isReadOnly, isStateless, newCAS, newJCas, normalizeIsoLangCodes, process, process, process, process, process, process, process, processAndOutputNewCASes, processCas, processCas, resetResultSpecificationToDefault, setMetaData, setPerformanceTuningSettings, typeSystemInitMethods inherited from class org.apache.uima.resource.ConfigurableResource_ImplBase
getConfigParameterValue, getConfigParameterValue, setConfigParameterValue, setConfigParameterValueMethods inherited from class org.apache.uima.resource.Resource_ImplBase
getCasManager, getLogger, getMetaData, getRelativePathResolver, getResourceManager, getUimaContext, getUimaContextAdmin, loadUserClass, loadUserClassOrThrow, setContextHolder, setContextHolderX, setLogger, withContextHolderMethods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.apache.uima.analysis_engine.AnalysisEngine
createResultSpecification, createResultSpecification, getAnalysisEngineMetaData, getFeatureNamesForType, getLogger, getManagementInterface, getPerformanceTuningSettings, getResourceManager, newCAS, newJCas, process, process, process, process, process, process, process, processAndOutputNewCASes, setLoggerMethods inherited from interface org.apache.uima.collection.base_cpm.CasObjectProcessor
processCas, processCas, typeSystemInitMethods inherited from interface org.apache.uima.collection.base_cpm.CasProcessor
batchProcessComplete, collectionProcessComplete, getProcessingResourceMetaData, isReadOnly, isStatelessMethods inherited from interface org.apache.uima.resource.ConfigurableResource
getConfigParameterValue, getConfigParameterValue, setConfigParameterValue, setConfigParameterValueMethods inherited from interface org.apache.uima.resource.Resource
getMetaData, getUimaContext, getUimaContextAdmin
-
Field Details
-
PARAM_RESULT_SPECIFICATION
- See Also:
-
-
Constructor Details
-
AggregateAnalysisEngine_impl
public AggregateAnalysisEngine_impl()
-
-
Method Details
-
initialize
public boolean initialize(ResourceSpecifier aSpecifier, Map<String, Object> aAdditionalParams) throws ResourceInitializationExceptionDescription copied from interface:ResourceInitializes thisResourcefrom aResourceSpecifier. Applications do not need to call this method. It is called automatically by theResourceFactoryand cannot be called a second time.- Specified by:
initializein interfaceAnalysisEngine- Specified by:
initializein interfaceResource- Overrides:
initializein classAnalysisEngineImplBase- Parameters:
aSpecifier- specifies how to create a resource or locate an existing resource service.aAdditionalParams- a Map containing additional parameters. May benullif there are no parameters. Each class that implements this interface can decide what additional parameters it supports.- Returns:
- true if and only if initialization completed successfully. Returns false if the given
ResourceSpecifieris not of an appropriate type for this Resource. If theResourceSpecifieris of an appropriate type but is invalid or if some other failure occurs, an exception should be thrown. - Throws:
ResourceInitializationException- if a failure occurs during initialization.- See Also:
-
setResultSpecification
Description copied from interface:AnalysisEngineSets the list of output types and features that the application wants this AnalysisEngine to produce. This is only a guideline. Annotators may use this information to avoid doing unnecessary work, but they are not required to do so.- Specified by:
setResultSpecificationin interfaceAnalysisEngine- Overrides:
setResultSpecificationin classAnalysisEngineImplBase- Parameters:
aResultSpec- specifies the list of output types and features that the application is interested in.
-
destroy
public void destroy()Description copied from interface:ResourceReleases all resources held by thisResource.- Specified by:
destroyin interfaceResource- Overrides:
destroyin classResource_ImplBase- See Also:
-
processAndOutputNewCASes
Description copied from interface:AnalysisEngineProcesses a CAS, possibly producing multiple CASes as a result. The application uses theCasIteratorinterface to step through the output CASes.If this Analysis Engine does not produce output CASes, then the
CasIteratorwill return no elements. You can check if an AnalysisEngine is capable of producing output CASes by checking theOperationalProperties.getOutputsNewCASes()operational property (getAnalysisEngineMetaData().getOperationalProperties().getOutputsNewCASes()).Once this method is called, the AnalysisEngine "owns"
aCASuntil such time as theCasIterator.hasNext()method returns false. That is, the caller should not attempt to modify or access the input CAS until it has read all of the elements from the CasIterator. If the caller wants to abort the processing before having read all of the output CASes, it may callCasIterator.release(), which will stop further processing from occurring, and ownership ofaCASwill revert to the caller.- Specified by:
processAndOutputNewCASesin interfaceAnalysisEngine- Overrides:
processAndOutputNewCASesin classAnalysisEngineImplBase- Parameters:
aCAS- the CAS to be processed- Returns:
- an object for iterating through any output CASes
- Throws:
AnalysisEngineProcessException- if a failure occurs during processing- See Also:
-
reconfigure
Description copied from interface:ConfigurableResourceInstructs this Resource to re-read its configuration parameter settings.- Specified by:
reconfigurein interfaceAnalysisEngine- Specified by:
reconfigurein interfaceConfigurableResource- Overrides:
reconfigurein classConfigurableResource_ImplBase- Throws:
ResourceConfigurationException- if the configuration is not valid- See Also:
-
batchProcessComplete
Description copied from interface:AnalysisEngineNotifies this AnalysisEngine that processing of a batch has completed. It is up to the caller to determine the size of a batch. Components (particularly CAS Consumers) inside this Analysis Engine may respond to this event, for example by writing data to the disk.- Specified by:
batchProcessCompletein interfaceAnalysisEngine- Overrides:
batchProcessCompletein classAnalysisEngineImplBase- Throws:
AnalysisEngineProcessException- if an exception occurs during processing
-
collectionProcessComplete
Description copied from interface:AnalysisEngineNotifies this AnalysisEngine that processing of an entire collection has completed. It is up to the caller to determine when this has occurred. Components (particularly CAS Consumers) inside this Analysis Engine may respond to this event, for example by writing data to the disk.If this AnalysisEngine is an aggregate, this method will call the collectionProcessComplete method of all components of that aggregate. If the aggregate descriptor declares a
fixedFloworcapabilityLanguageFlow, then the components' collectionProcessComplete methods will be called in the order specified by that flow element. Once all components in the flow have been called, any components not declared in the flow will be called, in arbitrary order. If there is nofixedFloworcapabilityLanguageFlow, then all components in the aggregate will be called in arbitrary order.- Specified by:
collectionProcessCompletein interfaceAnalysisEngine- Overrides:
collectionProcessCompletein classAnalysisEngineImplBase- Throws:
AnalysisEngineProcessException- if an exception occurs during processing
-
initializeAggregateAnalysisEngine
protected void initializeAggregateAnalysisEngine(AnalysisEngineDescription aDescription, Map<String, Object> aAdditionalParams) throws ResourceInitializationExceptionA utility method that performs initialization logic for a aggregate AnalysisEngine.- Parameters:
aDescription- the AnalysisEngine description for this AnalysisEngineaAdditionalParams- additional parameters that were passed to this AnalysisEngine's initialize method.- Throws:
ResourceInitializationException- if an initialization failure occurs
-
initASB
protected void initASB(AnalysisEngineDescription aAnalysisEngineDescription, Map<String, Object> aAdditionalParams) throws ResourceInitializationExceptionA utility method that creates and configures the ASB component. The ASB will create and initialize the delegate AnalysisEngines. This method also retrieves delegate AnalysisEngine metadata from the ASB and provides access to that method via the_getComponentMetaData()method.- Parameters:
aAnalysisEngineDescription- the AnalysisEngine description for this AnalysisEngineaAdditionalParams- parameters that will be passed to the ASB's initialize method.- Throws:
ResourceInitializationException- if the ASB or a delegate AnalysisEngine could not be created.
-
processDelegateAnalysisEngineMetaData
Does processing using the delegate AnalysisEngine metadata once it becomes available.Specifically, 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
-
validateOperationalProperties
Checks operational properties in an aggregate to ensure they are not inconsistent with operational properties of the components. For example, an aggregate cannot have multipleDeploymentAlloiwed == true if it contains a component with multipleDeploymentAllowed == false.- Throws:
ResourceInitializationException- if there is an invalid parameter override declaration
-
getDefaultFlowControllerDeclaration
- Returns:
- the default FlowController declaration to be used if the aggregate AE descriptor does not specify one.
-
_getASB
For an aggregate AnalysisEngine only, gets the ASB component.- Returns:
- the ASB
-
_getComponentMetaData
For an aggregate AnalysisEngine only, gets a Map from each component's key to ProcessingResourceMetaData for that component. This includes component AEs as well as the FlowController.- Returns:
- a Map from String keys to ProcessingResourceMetaData objects.
-
_getComponentCasProcessorSpecifierMap
For an aggregate AnalysisEngine only, gets a Map from each component's key to the specifier for that component.- Returns:
- a Map with String keys and ResourceSpecifier values
-
buildProcessTraceFromMBeanStats
Construct a ProcessTrace object that represents the last execution of this AnalysisEngine. This is used so that we can return a ProcessTrace object from each process() call for backwards compatibility with version 1.x.- Overrides:
buildProcessTraceFromMBeanStatsin classAnalysisEngineImplBase- Parameters:
trace- -
-