org.apache.uima.analysis_engine.asb.impl
Class ASB_impl

java.lang.Object
  extended by org.apache.uima.resource.Resource_ImplBase
      extended by org.apache.uima.analysis_engine.asb.impl.ASB_impl
All Implemented Interfaces:
ASB, Resource

public class ASB_impl
extends Resource_ImplBase
implements ASB

A simple ASB implementation. This implementation is not specific to any transport technology. It simply uses the ResourceFactory to acquire instances of its delegate AnalysisEngines and then communicates with these delegate AnalysisEngines through the AnalysisEngine interface. Any communication with remote AnalysisEngine services is done through a AnalysisEngineServiceAdapter and is not the concern of this ASB implementation.


Field Summary
 
Fields inherited from interface org.apache.uima.analysis_engine.asb.ASB
PARAM_AGGREGATE_ANALYSIS_ENGINE_NAME
 
Fields inherited from interface org.apache.uima.resource.Resource
PARAM_AGGREGATE_SOFA_MAPPINGS, PARAM_CONFIG_MANAGER, PARAM_CONFIG_PARAM_SETTINGS, PARAM_PERFORMANCE_TUNING_SETTINGS, PARAM_RESOURCE_MANAGER, PARAM_UIMA_CONTEXT
 
Constructor Summary
ASB_impl()
           
 
Method Summary
 void destroy()
          Releases all resources held by this Resource.
 java.util.Map<java.lang.String,ProcessingResourceMetaData> getAllComponentMetaData()
          Gets the metadata for all components known to this ASB.
 java.util.Map<java.lang.String,AnalysisEngineMetaData> getComponentAnalysisEngineMetaData()
          Gets metadata for all of the component AnalysisEngines known to this ASB.
 java.util.Map<java.lang.String,AnalysisEngine> getComponentAnalysisEngines()
          Gets references to the component AnalysisEngines known to this ASB.
 FlowControllerContainer getFlowControllerContainer()
          Not public API.
protected  AnalysisEngineManagementImpl getMBean()
          Gets the MBean that provides the management interface to this AE.
protected  void initFlowController(FlowControllerDeclaration aFlowControllerDeclaration, UimaContextAdmin aParentContext, AnalysisEngineMetaData aAggregateMetadata)
          Initializes the FlowController for this aggregate.
 boolean initialize(ResourceSpecifier aSpecifier, java.util.Map<java.lang.String,java.lang.Object> aAdditionalParams)
          Initializes this ASB.
 CasIterator process(CAS aCAS)
          Invokes the processing of the aggregate on the given input CAS.
 void setup(java.util.Map<java.lang.String,ResourceSpecifier> aSpecifiers, UimaContextAdmin aParentContext, FlowControllerDeclaration aFlowControllerDeclaration, AnalysisEngineMetaData aAggregateMetadata)
          Called after calling initialize() (see above) by the Aggregate Analysis Engine to provide this ASB with information it needs to operate.
 
Methods inherited from class org.apache.uima.resource.Resource_ImplBase
getCasManager, getLogger, getMetaData, getResourceManager, getUimaContext, getUimaContextAdmin, setLogger, setMetaData
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.apache.uima.resource.Resource
getLogger, getMetaData, getResourceManager, getUimaContext, getUimaContextAdmin, setLogger
 

Constructor Detail

ASB_impl

public ASB_impl()
Method Detail

initialize

public boolean initialize(ResourceSpecifier aSpecifier,
                          java.util.Map<java.lang.String,java.lang.Object> aAdditionalParams)
                   throws ResourceInitializationException
Initializes this ASB.

Specified by:
initialize in interface Resource
Overrides:
initialize in class Resource_ImplBase
Parameters:
aSpecifier - describes how to create this ASB.
aAdditionalParams - parameters which are passed along to the delegate Analysis Engines when they are constructed
Returns:
true if and only if initialization completed successfully. Returns false if this implementation cannot handle the given ResourceSpecifier.
Throws:
ResourceInitializationException - if a failure occurs during initialization.
See Also:
Resource.initialize(ResourceSpecifier, Map)

destroy

public void destroy()
Description copied from interface: Resource
Releases all resources held by this Resource.

Specified by:
destroy in interface Resource
Overrides:
destroy in class Resource_ImplBase
See Also:
Resource.destroy()

setup

public void setup(java.util.Map<java.lang.String,ResourceSpecifier> aSpecifiers,
                  UimaContextAdmin aParentContext,
                  FlowControllerDeclaration aFlowControllerDeclaration,
                  AnalysisEngineMetaData aAggregateMetadata)
           throws ResourceInitializationException
Called after calling initialize() (see above) by the Aggregate Analysis Engine to provide this ASB with information it needs to operate.

Specified by:
setup in interface ASB
Parameters:
aSpecifiers - the specifiers for all component AEs within this Aggregate. The ASB will instantiate those AEs.
aParentContext - UIMA context for the aggregate AE
aFlowControllerDeclaration - declaration (key and specifier) of FlowController to be used for this aggregate.
aAggregateMetadata - metadata for the aggregate AE
Throws:
ResourceInitializationException

initFlowController

protected void initFlowController(FlowControllerDeclaration aFlowControllerDeclaration,
                                  UimaContextAdmin aParentContext,
                                  AnalysisEngineMetaData aAggregateMetadata)
                           throws ResourceInitializationException
Initializes the FlowController for this aggregate.

Throws:
ResourceInitializationException

getComponentAnalysisEngineMetaData

public java.util.Map<java.lang.String,AnalysisEngineMetaData> getComponentAnalysisEngineMetaData()
Description copied from interface: ASB
Gets metadata for all of the component AnalysisEngines known to this ASB.

Specified by:
getComponentAnalysisEngineMetaData in interface ASB
Returns:
a Map from String keys (the same keys used in AnalysisEngineDescription.getDelegateAnalysisEngineSpecifiers() to AnalysisEngineMetaData values.
See Also:
ASB.getComponentAnalysisEngineMetaData()

getComponentAnalysisEngines

public java.util.Map<java.lang.String,AnalysisEngine> getComponentAnalysisEngines()
Description copied from interface: ASB
Gets references to the component AnalysisEngines known to this ASB.

Specified by:
getComponentAnalysisEngines in interface ASB
Returns:
a Map from String keys (the same keys used in AnalysisEngineDescription.getDelegateAnalysisEngineSpecifiers() to AnalysisEngine objects.
See Also:
ASB.getComponentAnalysisEngines()

getAllComponentMetaData

public java.util.Map<java.lang.String,ProcessingResourceMetaData> getAllComponentMetaData()
Description copied from interface: ASB
Gets the metadata for all components known to this ASB. This includes the FlowController as well as the component AnalysisEngines.

Specified by:
getAllComponentMetaData in interface ASB
Returns:
a Map from String keys (the same keys used in the aggregate AE descriptor) to ProcessingResourceMetaData values.

process

public CasIterator process(CAS aCAS)
                    throws AnalysisEngineProcessException
Description copied from interface: ASB
Invokes the processing of the aggregate on the given input CAS. This returns a CasIterator that provides access to the one or more output CASes generated from the processing. The input CAS, including any modifications made to it during processing, will always be the very last element returned by the CasIterator.

If the aggregate does not generate any output CASes of the input CAS, an empty CasIterator will be returned.

Specified by:
process in interface ASB
Parameters:
aCAS - the CAS to process
Returns:
an iterator over all output CASes
Throws:
AnalysisEngineProcessException

getFlowControllerContainer

public FlowControllerContainer getFlowControllerContainer()
Not public API. Is declared public so it can be used by test case.

Specified by:
getFlowControllerContainer in interface ASB
Returns:
an instance of FlowControllerContainer

getMBean

protected AnalysisEngineManagementImpl getMBean()
Gets the MBean that provides the management interface to this AE. Returns the same object as UimaContext.getManagementInterface() but casted to the AnalysisEngineManagement type.



Copyright © 2012. All Rights Reserved.