java.lang.Object
org.apache.uima.collection.impl.cpm.container.CPEFactory

public class CPEFactory extends Object
Component responsible for generating objects representing cpe descriptor configuration. Provides various ways to instantiate object model representing cpe configuration. In the simplest form it ingests an XML file (CPE descriptor), parses it and creates an object for every element in the XML file.

Using objects representing configuration, this component creates CollectionReader CasInitializer, Analysis Engines, and CAS Consumers.

In addition to creating object, this component provides read/write access to the object model allowing for dynamic or programmatic modifications. It facilitates plugging in existing CollectionReaders and CasProcessors.

  • Field Details

    • CPM_HOME

      public static final String CPM_HOME
      The Constant CPM_HOME.
      See Also:
    • casProcessorConfigMap

      public HashMap casProcessorConfigMap
      The cas processor config map.
  • Constructor Details

    • CPEFactory

      public CPEFactory(ResourceManager aResourceManager)
      Create a new CPEFactory on which we will later call parse(String) to parse a CPE descriptor.
      Parameters:
      aResourceManager - the a resource manager
    • CPEFactory

      public CPEFactory(CpeDescription aDescriptor, ResourceManager aResourceManager) throws ResourceInitializationException
      Create a new CPEFactory for a CpeDescription that's already been parsed.
      Parameters:
      aDescriptor - the a descriptor
      aResourceManager - the resource manager that all components of this CPE will share If null, a new ResourceManager will be created.
      Throws:
      ResourceInitializationException - the resource initialization exception
  • Method Details

    • parse

      public void parse(String aDescriptor) throws InstantiationException
      Creates an object representation for configuration in a given cpe descriptor file.
      Parameters:
      aDescriptor - - path to the descriptor
      Throws:
      InstantiationException - -
    • parse

      public void parse(InputStream aDescriptorStream) throws InstantiationException
      Creates an object representation for configuration in a given stream.
      Parameters:
      aDescriptorStream - - stream containing cpe description
      Throws:
      InstantiationException - -
    • parse

      public void parse()
      Creates an object representation from default cpe descriptor.
      Throws:
      UIMARuntimeException - wraps Exception
    • getCollectionReader

      public BaseCollectionReader getCollectionReader() throws ResourceConfigurationException
      Returns Collection Reader instantiated from configuration in the CPE descriptor. It also creates and initializes the CAS Initializer if one is defined and associates it with the CollectionReader.
      Returns:
      CollectionReader instance
      Throws:
      ResourceConfigurationException - the resource configuration exception
    • getCasProcessors

      public CasProcessor[] getCasProcessors() throws ResourceConfigurationException
      Returns an array of Cas Processors instantiated from the cpe descriptor.
      Returns:
      - array of CasProcessor instances
      Throws:
      ResourceConfigurationException - -
    • isDefinitionInstanceOf

      public boolean isDefinitionInstanceOf(Class aResourceClass, ResourceSpecifier resourceSpecifier, String aDescriptor) throws ResourceConfigurationException
      Check if a class has appropriate type.
      Parameters:
      aResourceClass - - class to check
      resourceSpecifier - - specifier containing expected type
      aDescriptor - - descriptor name
      Returns:
      true - if class matches type
      Throws:
      ResourceConfigurationException - -
    • produceCasDataConsumer

      public CasProcessor produceCasDataConsumer(Class aResourceClass, ResourceSpecifier aSpecifier, Map aAdditionalParams) throws ResourceInitializationException
      Instantiates CasData Consumer from a given class.
      Parameters:
      aResourceClass - - CasDataConsumer class
      aSpecifier - - specifier
      aAdditionalParams - - parameters used to initialize CasDataConsumer
      Returns:
      - instance of CasProcessor
      Throws:
      ResourceInitializationException - -
    • getDescriptorURL

      public URL getDescriptorURL(CpeCasProcessor aCasProcessorCfg) throws ResourceConfigurationException
      Returns a descriptor path associated with Cas Processor.
      Parameters:
      aCasProcessorCfg - - Cas Processor configuration
      Returns:
      - Descriptor path
      Throws:
      ResourceConfigurationException - -
    • getSpecifier

      public ResourceSpecifier getSpecifier(URL aDescriptorUrl) throws Exception
      Instantiates a ResourceSpecifier from a given URL.
      Parameters:
      aDescriptorUrl - - URL of descriptor
      Returns:
      - ResourceSpecifier
      Throws:
      Exception - -
    • getCPEConfig

      public CpeConfiguration getCPEConfig() throws InstantiationException
      Returns an object containing global CPE configuration including:
      • Number of documents to process
      • Checkpoint configuration
      • id of the document begin processing
      .
      Returns:
      Global CPE Configuration
      Throws:
      InstantiationException - the instantiation exception
    • getProcessingUnitThreadCount

      public int getProcessingUnitThreadCount() throws ResourceConfigurationException
      Returns number of processing threads (Processing Units).
      Returns:
      Number of processing threads
      Throws:
      ResourceConfigurationException - -
    • isDefault

      public boolean isDefault()
      Checks if is default.
      Returns:
      true if the configuration is the default
    • getCpeDescriptor

      public CpeDescription getCpeDescriptor()
      Returns Cpe Descriptor.
      Returns:
      the Cpe Descriptor
    • addCasProcessor

      public void addCasProcessor(CasProcessor aCasProcessor) throws ResourceConfigurationException
      Appends given Cas Processor to the list of CasProcessors.
      Parameters:
      aCasProcessor - - CasProcessor to add
      Throws:
      ResourceConfigurationException - the resource configuration exception
    • getDescriptor

      public String getDescriptor(List aList) throws ResourceConfigurationException
      Gets the descriptor.
      Parameters:
      aList - the a list
      Returns:
      the cpe descriptor constructed from the list
      Throws:
      ResourceConfigurationException - -
    • addCollectionReader

      public void addCollectionReader(BaseCollectionReader collectionReader)
      Adds the collection reader.
      Parameters:
      collectionReader - - collection reader to use by the CPM
    • getResourceManager

      public ResourceManager getResourceManager()
      Gets the ResourceManager that all components of this CPE should share.
      Returns:
      the resource manager