Package org.pentaho.di.trans.steps.file
Class BaseFileInputStep<M extends BaseFileInputMeta<?,?,?>,D extends BaseFileInputStepData>
java.lang.Object
org.pentaho.di.trans.step.BaseStep
org.pentaho.di.trans.steps.file.BaseFileInputStep<M,D>
- All Implemented Interfaces:
org.pentaho.di.core.ExtensionDataInterface,HasLogChannelInterface,org.pentaho.di.core.logging.LoggingObjectInterface,org.pentaho.di.core.logging.LoggingObjectLifecycleInterface,org.pentaho.di.core.variables.VariableSpace,StepInterface,IBaseFileInputStepControl
- Direct Known Subclasses:
TextFileInput
public abstract class BaseFileInputStep<M extends BaseFileInputMeta<?,?,?>,D extends BaseFileInputStepData>
extends BaseStep
implements IBaseFileInputStepControl
This class contains base functionality for file-based input steps.
- Author:
- Alexander Buloichik
-
Field Summary
FieldsFields inherited from class org.pentaho.di.trans.step.BaseStep
deadLockCounter, extensionDataMap, first, linesInput, linesOutput, linesRead, linesRejected, linesSkipped, linesUpdated, linesWritten, log, metaStore, repository, rowListeners, safeStopped, terminator, terminator_rows, variables -
Constructor Summary
ConstructorsConstructorDescriptionBaseFileInputStep(StepMeta stepMeta, StepDataInterface stepDataInterface, int copyNr, TransMeta transMeta, Trans trans) -
Method Summary
Modifier and TypeMethodDescriptionbooleancheckFeedback(long lines) Check feedback.protected voidClose last opened file/protected abstract IBaseFileInputReadercreateReader(M meta, D data, org.apache.commons.vfs2.FileObject file) Create reader for specific file.voiddispose(StepMetaInterface smi, StepDataInterface sdi) Dispose step.booleanfailAfterBadFile(String errorMsg) protected voidfillFileAdditionalFields(D data, org.apache.commons.vfs2.FileObject file) Prepare file-dependent data for fill additional fields.protected booleanprotected abstract booleaninit()Content-dependent initialization.booleaninit(StepMetaInterface smi, StepDataInterface sdi) Initialize step before execute.protected booleanOpen next VFS file for processing.protected voidPrepare to process.booleanprocessRow(StepMetaInterface smi, StepDataInterface sdi) Process next row.Methods inherited from class org.pentaho.di.trans.step.BaseStep
addResultFile, addRowListener, addRowSetToInputRowSets, addRowSetToOutputRowSets, addStepListener, batchComplete, beforeStartProcessing, buildLog, canProcessOneRow, cleanup, clearInputRowSets, clearOutputRowSets, closeQuietly, copyVariablesFrom, decrementLinesRead, decrementLinesWritten, dispatch, environmentSubstitute, environmentSubstitute, environmentSubstitute, fieldSubstitute, findInputRowSet, findInputRowSet, findOutputRowSet, findOutputRowSet, getBooleanValueOfVariable, getClusterSize, getContainerObjectId, getCopy, getCurrentInputRowSetNr, getCurrentOutputRowSetNr, getDispatcher, getErrorRowMeta, getErrors, getExtensionDataMap, getFilename, getFirstInputRowSet, getInputRowMeta, getInputRowSets, getLinesInput, getLinesOutput, getLinesRead, getLinesRejected, getLinesSkipped, getLinesUpdated, getLinesWritten, getLogChannel, getLogChannelId, getLogFields, getLogLevel, getMetaStore, getNextClassNr, getObjectCopy, getObjectId, getObjectName, getObjectRevision, getObjectType, getOutputRowSets, getParent, getParentVariableSpace, getPartitionID, getPartitionTargets, getPreviewRowMeta, getProcessed, getRegistrationDate, getRemoteInputSteps, getRemoteOutputSteps, getRepartitioning, getRepository, getRepositoryDirectory, getResultFiles, getRow, getRowFrom, getRowHandler, getRowListeners, getRuntime, getServerSockets, getSlaveNr, getSocketRepository, getStatus, getStatusDescription, getStepDataInterface, getStepID, getStepListeners, getStepMeta, getStepMetaInterface, getStepname, getTrans, getTransMeta, getTypeId, getUniqueStepCountAcrossSlaves, getUniqueStepNrAcrossSlaves, getVariable, getVariable, handleGetRowFrom, handlePutRowTo, identifyErrorOutput, incrementLinesInput, incrementLinesOutput, incrementLinesRead, incrementLinesRejected, incrementLinesSkipped, incrementLinesUpdated, incrementLinesWritten, initBeforeStart, initializeVariablesFrom, injectVariables, isBasic, isDebug, isDetailed, isDistributed, isForcingSeparateLogging, isGatheringMetrics, isInitialising, isMapping, isPartitioned, isPaused, isRowLevel, isRunning, isSafeStopped, isStopped, isUsingThreadPriorityManagment, listVariables, logBasic, logBasic, logDebug, logDebug, logDetailed, logDetailed, logError, logError, logError, logMinimal, logMinimal, logRowlevel, logRowlevel, logSummary, markStart, markStop, openRemoteInputStepSocketsOnce, openRemoteOutputStepSocketsOnce, outputIsDone, pauseRunning, putError, putRow, putRowTo, removeRowListener, resumeRunning, rowsetInputSize, rowsetOutputSize, safeModeChecking, safeModeChecking, setCarteObjectId, setCopy, setCurrentInputRowSetNr, setCurrentOutputRowSetNr, setDistributed, setErrorRowMeta, setErrors, setForcingSeparateLogging, setGatheringMetrics, setInputRowMeta, setInputRowSets, setInternalVariables, setLinesInput, setLinesOutput, setLinesRead, setLinesRejected, setLinesSkipped, setLinesUpdated, setLinesWritten, setLogLevel, setMetaStore, setOutputDone, setOutputRowSets, setParentVariableSpace, setPartitioned, setPartitionID, setPartitionTargets, setPaused, setPaused, setPreviewRowMeta, setRepartitioning, setRepository, setRowHandler, setRunning, setSafeStopped, setServerSockets, setSocketRepository, setStepDataInterface, setStepListeners, setStepMeta, setStepMetaInterface, setStepname, setStopped, setTransMeta, setUsingThreadPriorityManagment, setVariable, shareVariablesWith, stopAll, stopRunning, stopRunning, swapFirstInputRowSetIfExists, toString, verifyInputDeadLock, waitUntilTransformationIsStartedMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.pentaho.di.trans.steps.file.IBaseFileInputStepControl
getErrors, getLinesInput, getLinesWritten, incrementLinesInput, incrementLinesUpdated, putRow, setErrors, stopAllMethods inherited from interface org.pentaho.di.core.logging.LoggingObjectLifecycleInterface
callAfterLog, callBeforeLogMethods inherited from interface org.pentaho.di.trans.step.StepInterface
afterFinishProcessing, subStatuses
-
Field Details
-
meta
-
data
-
-
Constructor Details
-
BaseFileInputStep
public BaseFileInputStep(StepMeta stepMeta, StepDataInterface stepDataInterface, int copyNr, TransMeta transMeta, Trans trans)
-
-
Method Details
-
init
protected abstract boolean init()Content-dependent initialization. -
createReader
protected abstract IBaseFileInputReader createReader(M meta, D data, org.apache.commons.vfs2.FileObject file) throws Exception Create reader for specific file.- Throws:
Exception
-
init
Initialize step before execute.- Specified by:
initin interfaceStepInterface- Overrides:
initin classBaseStep- Parameters:
smi- The metadata to work withsdi- The data to initialize
-
openNextFile
protected boolean openNextFile()Open next VFS file for processing. This method will support different parallelization methods later. -
handleOpenFileException
-
processRow
public boolean processRow(StepMetaInterface smi, StepDataInterface sdi) throws org.pentaho.di.core.exception.KettleException Process next row. This methods opens next file automatically.- Specified by:
processRowin interfaceStepInterface- Overrides:
processRowin classBaseStep- Parameters:
smi- The steps metadata to work withsdi- The steps temporary working data to work with (database connections, result sets, caches, temporary variables, etc.)- Returns:
- false if no more rows can be processed or an error occurred.
- Throws:
org.pentaho.di.core.exception.KettleException
-
prepareToRowProcessing
protected void prepareToRowProcessing() throws org.pentaho.di.core.exception.KettleExceptionPrepare to process. Executed only first time row processing. It can't be possible to prepare to process in the init() phrase, because files can be in fields from previous step.- Throws:
org.pentaho.di.core.exception.KettleException
-
checkFeedback
public boolean checkFeedback(long lines) Description copied from class:BaseStepCheck feedback.- Specified by:
checkFeedbackin interfaceIBaseFileInputStepControl- Overrides:
checkFeedbackin classBaseStep- Parameters:
lines- the lines- Returns:
- true, if successful
-
closeLastFile
protected void closeLastFile()Close last opened file/ -
dispose
Dispose step.- Specified by:
disposein interfaceStepInterface- Overrides:
disposein classBaseStep- Parameters:
smi- The metadata to work withsdi- The data to dispose of
-
failAfterBadFile
- Specified by:
failAfterBadFilein interfaceIBaseFileInputStepControl- Parameters:
errorMsg- Message to send to rejected row if enabled- Returns:
- If should stop processing after having problems with a file
-
fillFileAdditionalFields
protected void fillFileAdditionalFields(D data, org.apache.commons.vfs2.FileObject file) throws org.apache.commons.vfs2.FileSystemException Prepare file-dependent data for fill additional fields.- Throws:
org.apache.commons.vfs2.FileSystemException
-