The following actions mark key points in the life cycle of a manipulator. The events take place after a manipulator extension has been implemented, packaged, and installed into the Content Acquisition System.

Action

Corresponding life cycle event

The CAS Service starts.

CAS Server instantiates any Manipulator that is installed and correctly annotated.

The following items perform the same action.

CAS Server instantiates a PipelineComponentConfiguration specified by the Manipulator for each Manipulator occurrence in a given acquisition.

CAS Server performs data type and constraint validation and also calls PipelineComponentConfiguration.validate() to execute any additional custom validation code you wrote in the method's implementation.

The following items perform the same action.

CAS Server re-creates the PipelineComponentConfiguration and re-validates the PipelineComponentConfiguration by calling validate(). (CAS Server injects configuration property values via reflection before calling validate().)

CAS Server calls createManipulatorRuntime() on the Manipulator instance.

The ManipulatorRuntime exists for the duration of the acquisition.

If an incremental acquisition is requested, CAS Server calls checkFullAcquisitionRequired() on the new ManipulatorRuntime. The check returns a Boolean value to indicate whether a full acquisition is required or not before record processing. If any one data source or manipulator in a CAS pipeline returns true, CAS runs a full acquisition. All extensions in a CAS pipeline must return false for CAS to run an incremental acquisition.

Before processing records, CAS Server calls prepareForAcquisition() to prepare state.

During the acquisition, CAS Server calls ManipulatorRuntime.processRecord() concurrently for separate records to manipulate every input record.

After all records have been processed by all extensions, CAS Server calls ManipulatorRuntime.onInputClose() and then calls PipelineComponentRuntime.endAcquisition() on each manipulator.

CAS Server passes in an AcquisitionEndState value to endAcquisition() to indicate whether the extension succeeded, failed, or requires a full acquisition to recover from a failure.

The following items perform the same action.

CAS Server calls PipelineComponent.deleteInstance() when a manipulator is removed from an acquisition.


Copyright © Legal Notices