public abstract class AbstractETLRowStep extends AbstractETLStep
AbstractETLStep
.
Step implementations which extend this should process data row by row.commonDeps, dataPackets, dependencies
Constructor and Description |
---|
AbstractETLRowStep() |
AbstractETLRowStep(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)
Set the step's status and signal endRows() in subsequent steps.
|
protected void |
postRow(ETLStepResults processedData)
Perform any post-processing here..
|
protected void |
preEndRows(java.lang.String inFlowUuid)
Any pre-processing before finishing this step.
|
protected java.lang.Object[] |
preRow(java.lang.Object[] data,
java.util.List<ETLStepMetadataFieldBean> metadata)
Perform any pre-processing here.
|
protected void |
processDependentRow(java.lang.Object[] data,
java.util.List<ETLStepMetadataFieldBean> metadata,
java.lang.String inFlowUuid)
Processing logic for any dependent input steps goes here.
|
protected ETLStepResults |
processRow(java.lang.Object[] data,
java.util.List<ETLStepMetadataFieldBean> metadata)
This method initiates the core processing of this step and maps data from the input structure to the output structure.
|
protected abstract boolean |
processWireData(java.util.List<ETLStepMetadataFieldBean> fields)
Process data on
Wire s. |
void |
row(java.lang.Object[] data,
java.lang.String inFlowUuid)
Process a row of data received from the specified input flow.
|
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 AbstractETLRowStep()
public AbstractETLRowStep(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
ETLStep
data
- - A row of datainFlowUuid
- - UUID of the input flow which sent the data.ETLException
protected java.lang.Object[] preRow(java.lang.Object[] data, java.util.List<ETLStepMetadataFieldBean> metadata) throws ETLException
data
- - A row of data in an Object[]metadata
- - ETLStepMetadataFieldBeans representing the structure of a row of dataETLException
protected ETLStepResults processRow(java.lang.Object[] data, java.util.List<ETLStepMetadataFieldBean> metadata) throws ETLException, java.lang.InterruptedException
ETLStepResults
.
Wire
s.processWireData(List)
which contains only the transformation logic.ETLStepResult
objects.data
- - A row of data in an Object[]metadata
- - ETLStepMetadataFieldBeans representing the structure of a row of dataETLStepResults
ETLException
java.lang.InterruptedException
protected void postRow(ETLStepResults processedData) throws ETLException
processedData
- - Processed row of data for post-processing.ETLException
protected void processDependentRow(java.lang.Object[] data, java.util.List<ETLStepMetadataFieldBean> metadata, java.lang.String inFlowUuid)
public void endRows(java.lang.String inFlowUuid) throws ETLException
inFlowUuid
- - UUID of the input flow which finished sending.ETLException
protected void preEndRows(java.lang.String inFlowUuid) throws ETLException
ETLException
protected void cleanup()
protected abstract boolean processWireData(java.util.List<ETLStepMetadataFieldBean> fields) throws ETLException, java.lang.InterruptedException
Wire
s. When the framework calls this method, data from each column of the current row is on its own Wire.
Each Wire is mapped to a metadata field and may be accessed using AbstractETLStep.getWireForField(String)
.
Data may be retrieved from the Wire, processed, and put back on the same Wire or a different one.
ETLException
s and thrown so that the framework can show them to the user.
Do not catch and swallow exceptions.
fields
- - Metadata Fields for a row of data to be processed.ETLException
java.lang.InterruptedException