Class CasObjectNetworkCasProcessorImpl

java.lang.Object
org.apache.uima.collection.impl.cpm.container.CasObjectNetworkCasProcessorImpl
All Implemented Interfaces:
CasObjectProcessor, CasProcessor

public class CasObjectNetworkCasProcessorImpl extends Object implements CasObjectProcessor
Implementation of the CasObjectProcessor interface used for both Local and Remote CasObjectProcessors. This objects plugs in a transport object defined in the CPE Descriptor and uses it to delegate analysis of CAS to a remote AE.
  • Constructor Details

    • CasObjectNetworkCasProcessorImpl

      public CasObjectNetworkCasProcessorImpl(CpeCasProcessor aCasProcessor) throws ResourceConfigurationException
      Using information from the CPE descriptor creates an instance of Transport class. The transport class will delegate analysis of CAS to a remote object.
      Parameters:
      aCasProcessor - - Cas Process configuration from the CPE descriptor
      Throws:
      ResourceConfigurationException
  • Method Details

    • getEndpoint

      public URL getEndpoint()
      Creates URL object containing service endpoint info ( host and port)
      Returns:
      URL
    • connect

      public void connect(URL aURL) throws ResourceInitializationException
      Connects to a service endpoint defined in the given URL
      Parameters:
      aURL - - contains service endpoint info (hots and port)
      Throws:
      ResourceInitializationException - wraps SocketException
    • processCas

      public void processCas(CAS aCAS) throws ResourceProcessException
      Uses configured transport to delegate given CAS to the remote service.
      Specified by:
      processCas in interface CasObjectProcessor
      Parameters:
      aCAS - CAS to be analyzed
      Throws:
      ResourceProcessException - wraps Exception, SocketException
    • processCas

      public void processCas(CAS[] aCASes) throws ResourceProcessException
      Uses configured transport to delegate given CASes to the remote service
      Specified by:
      processCas in interface CasObjectProcessor
      Parameters:
      aCASes - - an array of CASes to be analyzed
      Throws:
      ResourceProcessException - wraps SocketException, SocketTimeoutException
    • typeSystemInit

      public void typeSystemInit(TypeSystem aTypeSystem) throws ResourceInitializationException
      Description copied from interface: CasObjectProcessor
      Informs this CasConsumer that the CAS TypeSystem has changed. The CPM calls this method prior to initiating collection processing, and will call it again whenever the CAS TypeSystem changes.

      In this method, the CasConsumer should use the TypeSystem to resolve the names of Type and Features to the actual Type and Feature objects, which can then be used during processing.

      Specified by:
      typeSystemInit in interface CasObjectProcessor
      Parameters:
      aTypeSystem - the type system to use
      Throws:
      ResourceInitializationException - if the type system is not compatible with this Cas Consumer
    • isStateless

      public boolean isStateless()
      Description copied from interface: CasProcessor
      Gets whether this is a stateless CAS Processor. Stateless CAS Processors do not maintain any data between calls to their process methods.
      Specified by:
      isStateless in interface CasProcessor
      Returns:
      true if this CAS processor is stateless, false if it is stateful.
    • isReadOnly

      public boolean isReadOnly()
      Description copied from interface: CasProcessor
      Gets whether this is a read-only CAS Processor, which does not modify the CAS.
      Specified by:
      isReadOnly in interface CasProcessor
      Returns:
      true if this CAS processor does not modify the CAS, false if it does.
    • getProcessingResourceMetaData

      public ProcessingResourceMetaData getProcessingResourceMetaData()
      Returns ProcessingResourceMetaData object returned from the remote CasProcessor.
      Specified by:
      getProcessingResourceMetaData in interface CasProcessor
      Returns:
      an object containing all metadata for this CasProcessor
    • batchProcessComplete

      public void batchProcessComplete(ProcessTrace aTrace) throws ResourceProcessException, IOException
      Description copied from interface: CasProcessor
      Completes the processing of a batch. A collection may be divided into one or more batches - it is up to the CollectionProcessingManager or the application to determine the number and size of batches.
      Specified by:
      batchProcessComplete in interface CasProcessor
      Parameters:
      aTrace - an object that records information, such as timing, about this method's execution.
      Throws:
      ResourceProcessException - if an exception occurs during processing
      IOException - if an I/O failure occurs
    • collectionProcessComplete

      public void collectionProcessComplete(ProcessTrace aTrace) throws ResourceProcessException, IOException
      Closes the connection to the remote service
      Specified by:
      collectionProcessComplete in interface CasProcessor
      Parameters:
      aTrace - an object that records information, such as timing, about this method's execution.
      Throws:
      ResourceProcessException - if an exception occurs during processing
      IOException - if an I/O failure occurs