Class NonThreadedProcessingUnit


  • public class NonThreadedProcessingUnit
    extends Object
    • Field Detail

      • threadState

        public int threadState
      • relaseCAS

        protected boolean relaseCAS
      • processingUnitProcessTrace

        protected ProcessTrace processingUnitProcessTrace
      • processContainers

        protected LinkedList processContainers
      • numToProcess

        protected long numToProcess
      • casList

        protected CAS[] casList
      • notifyListeners

        protected boolean notifyListeners
      • conversionCas

        protected CAS conversionCas
      • artifact

        protected Object[] artifact
      • conversionCasArray

        protected CAS[] conversionCasArray
      • threadId

        protected String threadId
    • Constructor Detail

      • NonThreadedProcessingUnit

        public NonThreadedProcessingUnit​(CPMEngine acpm,
                                         BoundedWorkQueue aInputQueue,
                                         BoundedWorkQueue aOutputQueue)
        Initialize the PU
        Parameters:
        acpm - - component managing life cycle of the CPE
        aInputQueue - - queue to read from
        aOutputQueue - - queue to write to
      • NonThreadedProcessingUnit

        public NonThreadedProcessingUnit​(CPMEngine acpm)
    • Method Detail

      • setInputQueue

        public void setInputQueue​(BoundedWorkQueue aInputQueue)
        Alternative method of providing a queue from which this PU will read bundle of Cas
        Parameters:
        aInputQueue - - read queue
      • setOutputQueue

        public void setOutputQueue​(BoundedWorkQueue aOutputQueue)
        Alternative method of providing a queue where this PU will deposit results of analysis
        Parameters:
        aOutputQueue - - queue to write to
      • setCPMEngine

        public void setCPMEngine​(CPMEngine acpm)
        Alternative method of providing the reference to the component managing the lifecycle of the CPE
        Parameters:
        acpm - - reference to the contrlling engine
      • cleanup

        public void cleanup()
        Null out fields of this object. Call this only when this object is no longer needed.
      • setNotifyListeners

        public void setNotifyListeners​(boolean aDoNotify)
        Set a flag indicating if notifications should be made via configured Listeners
        Parameters:
        aDoNotify - - true if notification is required, false otherwise
      • getCallbackListeners

        public ArrayList getCallbackListeners()
        Returns list of listeners used by this PU for callbacks.
        Returns:
        - lif of BaseStatusCallbackListener instances
      • removeStatusCallbackListener

        public void removeStatusCallbackListener​(BaseStatusCallbackListener aListener)
        Removes given listener from the list of listeners
        Parameters:
        aListener - - object to remove from the list
      • setProcessingUnitProcessTrace

        public void setProcessingUnitProcessTrace​(ProcessTrace aProcessingUnitProcessTrace)
        Plugs in ProcessTrace object used to collect statistics
        Parameters:
        aProcessingUnitProcessTrace - - object to compile stats
      • setUimaTimer

        public void setUimaTimer​(UimaTimer aTimer)
        Plugs in custom timer used by the PU for getting time
        Parameters:
        aTimer - - custom timer to use
      • setContainers

        public void setContainers​(LinkedList processorList)
        Plugs in a list of Cas Processor containers. During processing Cas Processors in this list are called sequentially. Each Cas Processor is contained in the container that is managing errors, counts and totals, and restarts.
        Parameters:
        processorList - CASProcessor to be added to the processing pipeline
      • disableCasProcessor

        public void disableCasProcessor​(int aCasProcessorIndex)
        Disable a CASProcessor in the processing pipeline. Locate it by provided index. The disabled Cas Processor remains in the Processing Pipeline, however it is not used furing processing.
        Parameters:
        aCasProcessorIndex - - location in the pipeline of the Cas Processor to delete
      • disableCasProcessor

        public void disableCasProcessor​(String aCasProcessorName)
        Alternative method to disable Cas Processor. Uses a name to locate it.
        Parameters:
        aCasProcessorName - - a name of the Cas Processor to disable
      • enableCasProcessor

        public void enableCasProcessor​(String aCasProcessorName)
        Enables Cas Processor with a given name. Enabled Cas Processor will immediately begin to receive bundles of Cas.
        Parameters:
        aCasProcessorName - - name of the Cas Processor to enable
      • setReleaseCASFlag

        public void setReleaseCASFlag​(boolean aFlag)
        Parameters:
        aFlag -
      • setCasPool

        public void setCasPool​(CPECasPool aPool)
        Parameters:
        aPool -
      • isProcessorReady

        protected boolean isProcessorReady​(int aStatus)
        Check if the CASProcessor status is available for processing
      • notifyListeners

        protected void notifyListeners​(Object aCas,
                                       boolean isCasObject,
                                       EntityProcessStatus aEntityProcStatus)
        Notifies Listeners of the fact that the pipeline has finished processing the current set Cas'es
        Parameters:
        aCas - - object containing an array of OR a single instance of Cas
        isCasObject - - true if instance of Cas is of type Cas, false otherwise
        aEntityProcStatus - - status object that may contain exceptions and trace
      • doNotifyListeners

        protected void doNotifyListeners​(Object aCas,
                                         boolean isCasObject,
                                         EntityProcessStatus aEntityProcStatus)
        Notifies all configured listeners. Makes sure that appropriate type of Cas is sent to the listener. Convertions take place to ensure compatibility.
        Parameters:
        aCas - - Cas to pass to listener
        isCasObject - - true is Cas is of type CAS
        aEntityProcStatus - - status object containing exceptions and trace info
      • getBytes

        protected long getBytes​(Object aCas)
        Returns the size of the CAS object. Currently only CASData is supported.
        Parameters:
        aCas - - Cas to get the size for
        Returns:
        the size of the CAS object. Currently only CASData is supported.
      • stopCasProcessors

        public void stopCasProcessors​(boolean kill)
        Stops all Cas Processors that are part of this PU.
        Parameters:
        kill - - true if CPE has been stopped before finishing processing during external stop