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
Wires. |
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, waitForDependenciesclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetAPIVersion, getDefaultDescription, getDefaultName, getStepCategory, validatepublic 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
ETLStepdata - - A row of datainFlowUuid - - UUID of the input flow which sent the data.ETLExceptionprotected 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 dataETLExceptionprotected ETLStepResults processRow(java.lang.Object[] data, java.util.List<ETLStepMetadataFieldBean> metadata) throws ETLException, java.lang.InterruptedException
ETLStepResults.
Wires.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 dataETLStepResultsETLExceptionjava.lang.InterruptedExceptionprotected void postRow(ETLStepResults processedData) throws ETLException
processedData - - Processed row of data for post-processing.ETLExceptionprotected 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.ETLExceptionprotected void preEndRows(java.lang.String inFlowUuid)
throws ETLException
ETLExceptionprotected void cleanup()
protected abstract boolean processWireData(java.util.List<ETLStepMetadataFieldBean> fields) throws ETLException, java.lang.InterruptedException
Wires. 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.
ETLExceptions 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.ETLExceptionjava.lang.InterruptedException