org.apache.uima.collection.impl.cpm.container
Class CasObjectNetworkCasProcessorImpl

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

public class CasObjectNetworkCasProcessorImpl
extends java.lang.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 Summary
CasObjectNetworkCasProcessorImpl(CpeCasProcessor aCasProcessor)
          Using information from the CPE descriptor creates an instance of Transport class.
 
Method Summary
 void batchProcessComplete(ProcessTrace aTrace)
          Completes the processing of a batch.
 void collectionProcessComplete(ProcessTrace aTrace)
          Closes the connection to the remote service
 void connect(java.net.URL aURL)
          Connects to a service endpoint defined in the given URL
 java.net.URL getEndpoint()
          Creates URL object containing service endpoint info ( host and port)
 ProcessingResourceMetaData getProcessingResourceMetaData()
          Returns ProcessingResourceMetaData object returned from the remote CasProcessor.
 boolean isReadOnly()
          Gets whether this is a read-only CAS Processor, which does not modify the CAS.
 boolean isStateless()
          Gets whether this is a stateless CAS Processor.
 void processCas(CAS aCAS)
          Uses configured transport to delegate given CAS to the remote service
 void processCas(CAS[] aCASes)
          Uses configured transport to delegate given CASes to the remote service
 void typeSystemInit(TypeSystem aTypeSystem)
          Informs this CasConsumer that the CAS TypeSystem has changed.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

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:
aCasProcessorType - - Cas Process configuration from the CPE descriptor
Throws:
ResourceConfigurationException
Method Detail

getEndpoint

public java.net.URL getEndpoint()
Creates URL object containing service endpoint info ( host and port)

Returns:
URL

connect

public void connect(java.net.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

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:
ResourceInitializationException
ResourceProcessException - if processing fails

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[] - - CASes to be analyzed
Throws:
ResourceInitializationException
ResourceProcessException - if processing fails for any of the CASes

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
Throws:
ResourceInitializationException

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,
                                 java.io.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
java.io.IOException - if an I/O failure occurs

collectionProcessComplete

public void collectionProcessComplete(ProcessTrace aTrace)
                               throws ResourceProcessException,
                                      java.io.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
java.io.IOException - if an I/O failure occurs


Copyright © 2012. All Rights Reserved.