public abstract class AbstractETLCachedStep extends AbstractETLStep
AbstractETLStep
.
Step implementations which extend this should can process accumulated data.commonDeps, dataPackets, dependencies
Constructor and Description |
---|
AbstractETLCachedStep() |
AbstractETLCachedStep(com.hof.mi.etl.ETLDependencies dependencies,
com.hof.util.dependency.CommonDependencies commonDeps) |
Modifier and Type | Method and Description |
---|---|
protected void |
cleanup()
All cleanup and releasing resources to happen here.
|
void |
endRows(java.lang.String inFlowUuid)
Signal end of data from an input step
|
ETLDataCache |
getDataCache(java.lang.String inFlowUuid)
Return the data cache for an input step.
|
protected void |
postEndRows()
Any post-processing after executing the core processing logic of this step.
|
protected void |
preEndRows()
Any pre-processing before executing the core processing logic of this step.
|
protected abstract void |
processEndRows()
This executes the core processing logic of the step implementation.
|
void |
row(java.lang.Object[] data,
java.lang.String inFlowUuid)
Cache a row of data from an input step.
|
addDefaultMetadataField, addError, addGeneratedField, addInputStep, addNewGeneratedField, addOutputStep, addStepOption, beginInternalTransmission, checkErrorThreshold, clearAllWires, disable, emitData, emitData, endInternalTransmission, endInternalTransmission, excludeDefaultField, flowFinished, generatePanelCollection, getContext, getDefaultInternalOptions, getDefaultMetadataFields, getDefaultMetadataFieldsMap, getDefaultMetadataFieldUuids, getDefaultMetadataFieldUuidsList, getDefaultMetadataMap, getDefaultToInputFieldMap, getErrorFlowUuid, getErrorStep, getEtlDataTypeUtil, getETLException, getETLStepBean, getFile, getFile, getFileName, getFileName, getFirstInputFlow, getFirstOutputFlow, getFreshDataPacket, getInputFlowForDefaultMetadataGroup, getInputFlowUuids, getInputStep, getInputSteps, getInputToDefaultFieldMap, getInvalidConfigETLException, getMaxInputSteps, getMaxOutputSteps, getMetadataFields, getMinInputSteps, getMinOutputSteps, getOffImage, getOffImageMIMEType, getOffImagePath, getOnImage, getOnImageMIMEType, getOnImagePath, getOutputFlowUuids, getOutputFlowUuidsExceededRowLimit, getOutputStep, getOutputSteps, getPanelCollection, getRowLimit, getStatus, getStepBooleanValue, getStepClassification, getStepIntegerValue, getStepOption, getStepOptions, getStepOptionValueJSONArray, getStepOptionValueJSONObject, getStepSubCategory, getStringUtil, getText, getText, getUnhandledETLException, getUuid, getValidatedStepOptions, getWireForField, hasPendingDependency, includeDefaultField, isEnabled, isGeneratedField, isMainInputFlow, isReplacementField, onCopy, onDelete, parseData, removeDefaultMetadataField, replaceDefaultField, restoreReplacedField, setContext, setErrorStep, setETLStepBean, setMetadataFields, setRowLimit, setStatus, setStepOptions, setupDefaultFields, setupGeneratedFields, setupOptions, shouldOutputField, stepCanRun, throwInvalidConfigETLException, throwUnhandledETLException, updateFieldSortOrder, waitForDependencies
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getAPIVersion, getDefaultDescription, getDefaultName, getStepCategory, validate
public AbstractETLCachedStep()
public AbstractETLCachedStep(com.hof.mi.etl.ETLDependencies dependencies, com.hof.util.dependency.CommonDependencies commonDeps)
public void row(java.lang.Object[] data, java.lang.String inFlowUuid) throws ETLException
data
- - A row of datainFlowUuid
- - Input flow UUID on which this data arrivedETLException
public void endRows(java.lang.String inFlowUuid) throws ETLException
inFlowUuid
- - Flow along which we will not receive any more data.ETLException
protected void cleanup()
protected void preEndRows()
protected void postEndRows()
public ETLDataCache getDataCache(java.lang.String inFlowUuid)
inFlowUuid
- - input flowUuid whose data cache needs to be returned.protected abstract void processEndRows() throws ETLException, java.lang.InterruptedException
getDataCache(String)
.
#getFreshDataPacket getFreshDataPacket(String outFlowUuid)
#beginInternalTransmission beginInternalTransmission(Object[] data, List fields)
to put data on Wires
, which will map input data to the correct positions in the output.
Call this for every input.
Wire's
methods to get and set data.#endInternalTransmission endInternalTransmission(ETLStepResult dataPacket)
#emitData(com.hof.mi.etl.runner.ETLStepResult) emitData(ETLStepResult dataPacket)
ETLException
- when there's an error.java.lang.InterruptedException
- when execution is cancelled