Package org.pentaho.di.trans.step
Class BaseDatabaseStep
- java.lang.Object
-
- org.pentaho.di.trans.step.BaseStep
-
- org.pentaho.di.trans.step.BaseDatabaseStep
-
- 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
- Direct Known Subclasses:
DatabaseJoin
,DBProc
,Delete
,DimensionLookup
,DynamicSQLRow
,ExecSQLRow
,GetTableNames
,InsertUpdate
,SynchronizeAfterMerge
,TableExists
,TableInput
,TableOutput
,Update
public abstract class BaseDatabaseStep extends BaseStep implements StepInterface
Base step extension that is responsible for Database connection and datasource management for steps that require it. handles common functionalities for steps that require Database connections.
-
-
Field Summary
-
Fields inherited from class org.pentaho.di.trans.step.BaseStep
deadLockCounter, extensionDataMap, first, linesInput, linesOutput, linesRead, linesRejected, linesSkipped, linesUpdated, linesWritten, log, loggingObjectInUse, metaStore, repository, rowListeners, safeStopped, terminator, terminator_rows, variables
-
-
Constructor Summary
Constructors Constructor Description BaseDatabaseStep(StepMeta stepMeta, StepDataInterface stepDataInterface, int copyNr, TransMeta transMeta, Trans trans)
BaseDatabaseStep(StepMeta stepMeta, StepDataInterface stepDataInterface, int copyNr, TransMeta transMeta, Trans trans, boolean connectToDatabaseOnInit)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description boolean
beforeStartProcessing(StepMetaInterface smi, StepDataInterface sdi)
This method is executed by Trans right before starting processing rows.protected boolean
connectToDatabase(BaseDatabaseStepData data)
boolean
connectToDatabaseOrInitDataSource(BaseDatabaseStepMeta meta, BaseDatabaseStepData data)
void
dispose(StepMetaInterface smi, StepDataInterface sdi)
Dispose of this step: close files, empty logs, etc.protected abstract Class<?>
getPKG()
Returns the specific step class needed for loggingString
getStepExecutionId()
boolean
init(StepMetaInterface smi, StepDataInterface sdi)
Initialize and do work where other steps need to wait for...protected boolean
isConnectToDatabaseOnInit()
-
Methods inherited from class org.pentaho.di.trans.step.BaseStep
addResultFile, addRowListener, addRowSetToInputRowSets, addRowSetToOutputRowSets, addStepListener, batchComplete, buildLog, canProcessOneRow, checkFeedback, 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, isLoggingObjectInUse, 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, processRow, 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, setLoggingObjectInUse, 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, waitUntilTransformationIsStarted
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.pentaho.di.core.logging.LoggingObjectLifecycleInterface
callAfterLog, callBeforeLog
-
Methods inherited from interface org.pentaho.di.trans.step.StepInterface
addRowListener, addRowSetToInputRowSets, addRowSetToOutputRowSets, addStepListener, afterFinishProcessing, batchComplete, canProcessOneRow, cleanup, getCopy, getCurrentInputRowSetNr, getCurrentOutputRowSetNr, getErrors, getInputRowSets, getLinesInput, getLinesOutput, getLinesRead, getLinesRejected, getLinesUpdated, getLinesWritten, getLogChannel, getMetaStore, getOutputRowSets, getPartitionID, getProcessed, getRepository, getResultFiles, getRow, getRowListeners, getRuntime, getStatus, getStepID, getStepMeta, getStepname, getTrans, identifyErrorOutput, initBeforeStart, isMapping, isPartitioned, isPaused, isRunning, isSafeStopped, isStopped, isUsingThreadPriorityManagment, markStart, markStop, pauseRunning, processRow, putRow, removeRowListener, resumeRunning, rowsetInputSize, rowsetOutputSize, setCurrentInputRowSetNr, setCurrentOutputRowSetNr, setErrors, setLinesRejected, setMetaStore, setOutputDone, setPartitioned, setPartitionID, setRepartitioning, setRepository, setRunning, setSafeStopped, setStopped, setUsingThreadPriorityManagment, stopAll, stopRunning, subStatuses
-
Methods inherited from interface org.pentaho.di.core.variables.VariableSpace
copyVariablesFrom, environmentSubstitute, environmentSubstitute, environmentSubstitute, fieldSubstitute, getBooleanValueOfVariable, getParentVariableSpace, getVariable, getVariable, initializeVariablesFrom, injectVariables, listVariables, setParentVariableSpace, setVariable, shareVariablesWith
-
-
-
-
Constructor Detail
-
BaseDatabaseStep
public BaseDatabaseStep(StepMeta stepMeta, StepDataInterface stepDataInterface, int copyNr, TransMeta transMeta, Trans trans)
-
BaseDatabaseStep
public BaseDatabaseStep(StepMeta stepMeta, StepDataInterface stepDataInterface, int copyNr, TransMeta transMeta, Trans trans, boolean connectToDatabaseOnInit)
-
-
Method Detail
-
init
public boolean init(StepMetaInterface smi, StepDataInterface sdi)
Description copied from interface:StepInterface
Initialize and do work where other steps need to wait for...- Specified by:
init
in interfaceStepInterface
- Overrides:
init
in classBaseStep
- Parameters:
smi
- The metadata to work withsdi
- The data to initialize
-
dispose
public void dispose(StepMetaInterface smi, StepDataInterface sdi)
Description copied from interface:StepInterface
Dispose of this step: close files, empty logs, etc.- Specified by:
dispose
in interfaceStepInterface
- Overrides:
dispose
in classBaseStep
- Parameters:
smi
- The metadata to work withsdi
- The data to dispose of
-
beforeStartProcessing
public boolean beforeStartProcessing(StepMetaInterface smi, StepDataInterface sdi) throws org.pentaho.di.core.exception.KettleException
Description copied from interface:StepInterface
This method is executed by Trans right before starting processing rows.- Specified by:
beforeStartProcessing
in interfaceStepInterface
- Overrides:
beforeStartProcessing
in 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.)- Throws:
org.pentaho.di.core.exception.KettleException
-
connectToDatabaseOrInitDataSource
public boolean connectToDatabaseOrInitDataSource(BaseDatabaseStepMeta meta, BaseDatabaseStepData data) throws org.pentaho.di.core.exception.KettleDatabaseException
- Throws:
org.pentaho.di.core.exception.KettleDatabaseException
-
connectToDatabase
protected boolean connectToDatabase(BaseDatabaseStepData data) throws org.pentaho.di.core.exception.KettleDatabaseException
- Throws:
org.pentaho.di.core.exception.KettleDatabaseException
-
getPKG
protected abstract Class<?> getPKG()
Returns the specific step class needed for logging- Returns:
- the specific step class needed for logging
-
isConnectToDatabaseOnInit
protected boolean isConnectToDatabaseOnInit()
-
getStepExecutionId
public String getStepExecutionId()
-
-