Class ScriptDummy
- java.lang.Object
-
- org.pentaho.di.trans.steps.script.ScriptDummy
-
- All Implemented Interfaces:
HasLogChannelInterface
,org.pentaho.di.core.variables.VariableSpace
,StepInterface
public class ScriptDummy extends Object implements StepInterface
Dummy class used for test().
-
-
Constructor Summary
Constructors Constructor Description ScriptDummy(org.pentaho.di.core.row.RowMetaInterface inputRowMeta, org.pentaho.di.core.row.RowMetaInterface outputRowMeta)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addRowListener(RowListener rowListener)
Add a rowlistener to the step allowing you to inspect (or manipulate, be careful) the rows coming in or exiting the step.void
addStepListener(StepListener stepListener)
Attach a step listener to be notified when a step arrives in a certain state.void
batchComplete()
Calling this method will alert the step that we finished passing a batch of records to the step.boolean
canProcessOneRow()
This method checks if the step is capable of processing at least one row.void
cleanup()
Call this method typically, after ALL the slave transformations in a clustered run have finished.void
copyVariablesFrom(org.pentaho.di.core.variables.VariableSpace space)
void
dispose(StepMetaInterface sii, StepDataInterface sdi)
Dispose of this step: close files, empty logs, etc.String
environmentSubstitute(String aString)
String[]
environmentSubstitute(String[] string)
String
fieldSubstitute(String aString, org.pentaho.di.core.row.RowMetaInterface rowMeta, Object[] rowData)
boolean
getBooleanValueOfVariable(String variableName, boolean defaultValue)
int
getCopy()
int
getCurrentInputRowSetNr()
int
getCurrentOutputRowSetNr()
long
getErrors()
Get the number of errorsorg.pentaho.di.core.row.RowMetaInterface
getInputRowMeta()
List<org.pentaho.di.core.RowSet>
getInputRowSets()
long
getLinesInput()
long
getLinesOutput()
long
getLinesRead()
long
getLinesRejected()
long
getLinesUpdated()
long
getLinesWritten()
org.pentaho.di.core.logging.LogChannelInterface
getLogChannel()
org.pentaho.metastore.api.IMetaStore
getMetaStore()
org.pentaho.di.core.row.RowMetaInterface
getOutputRowMeta()
List<org.pentaho.di.core.RowSet>
getOutputRowSets()
org.pentaho.di.core.variables.VariableSpace
getParentVariableSpace()
String
getPartitionID()
long
getProcessed()
Repository
getRepository()
Map<String,org.pentaho.di.core.ResultFile>
getResultFiles()
Object[]
getRow()
List<RowListener>
getRowListeners()
long
getRuntime()
BaseStepData.StepExecutionStatus
getStatus()
String
getStepID()
StepMeta
getStepMeta()
String
getStepname()
Get the name of the step.Trans
getTrans()
String
getVariable(String variableName)
String
getVariable(String variableName, String defaultValue)
void
identifyErrorOutput()
To be used to flag an error output channel of a step prior to execution for performance reasons.boolean
init(StepMetaInterface stepMetaInterface, StepDataInterface stepDataInterface)
Initialize and do work where other steps need to wait for...void
initBeforeStart()
This method is executed by Trans right before the threads start and right after initialization.
!!! A plugin implementing this method should make sure to also call super.initBeforeStart(); !!!void
initializeVariablesFrom(org.pentaho.di.core.variables.VariableSpace parent)
void
injectVariables(Map<String,String> prop)
boolean
isAlive()
boolean
isIdle()
boolean
isMapping()
boolean
isPartitioned()
boolean
isPassingData()
boolean
isPaused()
boolean
isRunning()
boolean
isStopped()
boolean
isUsingThreadPriorityManagment()
boolean
isWaitingForData()
String[]
listVariables()
void
markStart()
Mark the start time of the step.void
markStop()
Mark the end time of the step.void
pauseRunning()
Pause a running stepboolean
processRow(StepMetaInterface smi, StepDataInterface sdi)
Perform the equivalent of processing one row.void
putRow(org.pentaho.di.core.row.RowMetaInterface rowMeta, Object[] row)
Put a row on the destination rowsets.void
removeRowListener(RowListener rowListener)
Remove a rowlistener from this step.void
resumeRunning()
Resume a running stepint
rowsetInputSize()
int
rowsetOutputSize()
void
run()
void
setCurrentInputRowSetNr(int index)
void
setCurrentOutputRowSetNr(int index)
void
setErrors(long errors)
Sets the number of errorsvoid
setLinesRejected(long linesRejected)
void
setMetaStore(org.pentaho.metastore.api.IMetaStore metaStore)
Pass along the metastore to use when loading external elements at runtime.void
setOutputDone()
Signal output done to destination stepsvoid
setParentVariableSpace(org.pentaho.di.core.variables.VariableSpace parent)
void
setPartitioned(boolean partitioned)
void
setPartitionID(String partitionID)
void
setPassingData(boolean passingData)
void
setRepartitioning(int partitioningMethod)
void
setRepository(Repository repository)
void
setRunning(boolean running)
Flag the step as running or notvoid
setSafeStopped(boolean stopped)
void
setStopped(boolean stopped)
void
setUsingThreadPriorityManagment(boolean usingThreadPriorityManagment)
void
setVariable(String variableName, String variableValue)
void
setWaitingForData(boolean waitingForData)
void
shareVariablesWith(org.pentaho.di.core.variables.VariableSpace space)
void
start()
void
stopAll()
Flags all rowsets as stopped/completed/finished.void
stopRunning(StepMetaInterface stepMetaInterface, StepDataInterface stepDataInterface)
Stop running operations...-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.pentaho.di.trans.step.StepInterface
addRowSetToInputRowSets, addRowSetToOutputRowSets, isSafeStopped, subStatuses
-
-
-
-
Method Detail
-
processRow
public boolean processRow(StepMetaInterface smi, StepDataInterface sdi) throws org.pentaho.di.core.exception.KettleException
Description copied from interface:StepInterface
Perform the equivalent of processing one row. Typically this means reading a row from input (getRow()) and passing a row to output (putRow)).- Specified by:
processRow
in interfaceStepInterface
- 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
-
addRowListener
public void addRowListener(RowListener rowListener)
Description copied from interface:StepInterface
Add a rowlistener to the step allowing you to inspect (or manipulate, be careful) the rows coming in or exiting the step.- Specified by:
addRowListener
in interfaceStepInterface
- Parameters:
rowListener
- the rowlistener to add
-
dispose
public void dispose(StepMetaInterface sii, StepDataInterface sdi)
Description copied from interface:StepInterface
Dispose of this step: close files, empty logs, etc.- Specified by:
dispose
in interfaceStepInterface
- Parameters:
sii
- The metadata to work withsdi
- The data to dispose of
-
getErrors
public long getErrors()
Description copied from interface:StepInterface
Get the number of errors- Specified by:
getErrors
in interfaceStepInterface
- Returns:
- the number of errors
-
getInputRowSets
public List<org.pentaho.di.core.RowSet> getInputRowSets()
- Specified by:
getInputRowSets
in interfaceStepInterface
- Returns:
- The list of active input rowsets for the step
-
getLinesInput
public long getLinesInput()
- Specified by:
getLinesInput
in interfaceStepInterface
- Returns:
- Returns the linesInput.
-
getLinesOutput
public long getLinesOutput()
- Specified by:
getLinesOutput
in interfaceStepInterface
- Returns:
- Returns the linesOutput.
-
getLinesRead
public long getLinesRead()
- Specified by:
getLinesRead
in interfaceStepInterface
- Returns:
- Returns the linesRead.
-
getLinesUpdated
public long getLinesUpdated()
- Specified by:
getLinesUpdated
in interfaceStepInterface
- Returns:
- Returns the linesUpdated.
-
getLinesWritten
public long getLinesWritten()
- Specified by:
getLinesWritten
in interfaceStepInterface
- Returns:
- Returns the linesWritten.
-
getLinesRejected
public long getLinesRejected()
- Specified by:
getLinesRejected
in interfaceStepInterface
- Returns:
- Returns the lines rejected by error handling.
-
getOutputRowSets
public List<org.pentaho.di.core.RowSet> getOutputRowSets()
- Specified by:
getOutputRowSets
in interfaceStepInterface
- Returns:
- The list of active output rowsets for the step
-
getPartitionID
public String getPartitionID()
- Specified by:
getPartitionID
in interfaceStepInterface
- Returns:
- the steps partition ID
-
getRow
public Object[] getRow() throws org.pentaho.di.core.exception.KettleException
- Specified by:
getRow
in interfaceStepInterface
- Returns:
- a row from the source step(s).
- Throws:
org.pentaho.di.core.exception.KettleException
-
getRowListeners
public List<RowListener> getRowListeners()
- Specified by:
getRowListeners
in interfaceStepInterface
- Returns:
- a list of the installed RowListeners
-
getStepID
public String getStepID()
- Specified by:
getStepID
in interfaceStepInterface
- Returns:
- the type ID of the step...
-
getStepname
public String getStepname()
Description copied from interface:StepInterface
Get the name of the step.- Specified by:
getStepname
in interfaceStepInterface
- Returns:
- the name of the step
-
init
public boolean init(StepMetaInterface stepMetaInterface, StepDataInterface stepDataInterface)
Description copied from interface:StepInterface
Initialize and do work where other steps need to wait for...- Specified by:
init
in interfaceStepInterface
- Parameters:
stepMetaInterface
- The metadata to work withstepDataInterface
- The data to initialize
-
isAlive
public boolean isAlive()
-
isPartitioned
public boolean isPartitioned()
- Specified by:
isPartitioned
in interfaceStepInterface
- Returns:
- true if the step is running partitioned
-
isStopped
public boolean isStopped()
- Specified by:
isStopped
in interfaceStepInterface
- Returns:
- True if the step is marked as stopped. Execution should stop immediate.
-
markStart
public void markStart()
Description copied from interface:StepInterface
Mark the start time of the step.- Specified by:
markStart
in interfaceStepInterface
-
markStop
public void markStop()
Description copied from interface:StepInterface
Mark the end time of the step.- Specified by:
markStop
in interfaceStepInterface
-
putRow
public void putRow(org.pentaho.di.core.row.RowMetaInterface rowMeta, Object[] row) throws org.pentaho.di.core.exception.KettleException
Description copied from interface:StepInterface
Put a row on the destination rowsets.- Specified by:
putRow
in interfaceStepInterface
- Parameters:
rowMeta
- The row to send to the destinations steps- Throws:
org.pentaho.di.core.exception.KettleException
-
removeRowListener
public void removeRowListener(RowListener rowListener)
Description copied from interface:StepInterface
Remove a rowlistener from this step.- Specified by:
removeRowListener
in interfaceStepInterface
- Parameters:
rowListener
- the rowlistener to remove
-
run
public void run()
-
setErrors
public void setErrors(long errors)
Description copied from interface:StepInterface
Sets the number of errors- Specified by:
setErrors
in interfaceStepInterface
- Parameters:
errors
- the number of errors to set
-
setOutputDone
public void setOutputDone()
Description copied from interface:StepInterface
Signal output done to destination steps- Specified by:
setOutputDone
in interfaceStepInterface
-
setPartitionID
public void setPartitionID(String partitionID)
- Specified by:
setPartitionID
in interfaceStepInterface
- Parameters:
partitionID
- the partitionID to set
-
start
public void start()
-
stopAll
public void stopAll()
Description copied from interface:StepInterface
Flags all rowsets as stopped/completed/finished.- Specified by:
stopAll
in interfaceStepInterface
-
stopRunning
public void stopRunning(StepMetaInterface stepMetaInterface, StepDataInterface stepDataInterface) throws org.pentaho.di.core.exception.KettleException
Description copied from interface:StepInterface
Stop running operations...- Specified by:
stopRunning
in interfaceStepInterface
- Parameters:
stepMetaInterface
- The metadata that might be needed by the step to stop running.stepDataInterface
- The interface to the step data containing the connections, resultsets, open files, etc.- Throws:
org.pentaho.di.core.exception.KettleException
-
cleanup
public void cleanup()
Description copied from interface:StepInterface
Call this method typically, after ALL the slave transformations in a clustered run have finished.- Specified by:
cleanup
in interfaceStepInterface
-
pauseRunning
public void pauseRunning()
Description copied from interface:StepInterface
Pause a running step- Specified by:
pauseRunning
in interfaceStepInterface
-
resumeRunning
public void resumeRunning()
Description copied from interface:StepInterface
Resume a running step- Specified by:
resumeRunning
in interfaceStepInterface
-
copyVariablesFrom
public void copyVariablesFrom(org.pentaho.di.core.variables.VariableSpace space)
- Specified by:
copyVariablesFrom
in interfaceorg.pentaho.di.core.variables.VariableSpace
-
environmentSubstitute
public String environmentSubstitute(String aString)
- Specified by:
environmentSubstitute
in interfaceorg.pentaho.di.core.variables.VariableSpace
-
environmentSubstitute
public String[] environmentSubstitute(String[] string)
- Specified by:
environmentSubstitute
in interfaceorg.pentaho.di.core.variables.VariableSpace
-
fieldSubstitute
public String fieldSubstitute(String aString, org.pentaho.di.core.row.RowMetaInterface rowMeta, Object[] rowData) throws org.pentaho.di.core.exception.KettleValueException
- Specified by:
fieldSubstitute
in interfaceorg.pentaho.di.core.variables.VariableSpace
- Throws:
org.pentaho.di.core.exception.KettleValueException
-
getBooleanValueOfVariable
public boolean getBooleanValueOfVariable(String variableName, boolean defaultValue)
- Specified by:
getBooleanValueOfVariable
in interfaceorg.pentaho.di.core.variables.VariableSpace
-
getParentVariableSpace
public org.pentaho.di.core.variables.VariableSpace getParentVariableSpace()
- Specified by:
getParentVariableSpace
in interfaceorg.pentaho.di.core.variables.VariableSpace
-
setParentVariableSpace
public void setParentVariableSpace(org.pentaho.di.core.variables.VariableSpace parent)
- Specified by:
setParentVariableSpace
in interfaceorg.pentaho.di.core.variables.VariableSpace
-
getVariable
public String getVariable(String variableName, String defaultValue)
- Specified by:
getVariable
in interfaceorg.pentaho.di.core.variables.VariableSpace
-
getVariable
public String getVariable(String variableName)
- Specified by:
getVariable
in interfaceorg.pentaho.di.core.variables.VariableSpace
-
initializeVariablesFrom
public void initializeVariablesFrom(org.pentaho.di.core.variables.VariableSpace parent)
- Specified by:
initializeVariablesFrom
in interfaceorg.pentaho.di.core.variables.VariableSpace
-
injectVariables
public void injectVariables(Map<String,String> prop)
- Specified by:
injectVariables
in interfaceorg.pentaho.di.core.variables.VariableSpace
-
listVariables
public String[] listVariables()
- Specified by:
listVariables
in interfaceorg.pentaho.di.core.variables.VariableSpace
-
setVariable
public void setVariable(String variableName, String variableValue)
- Specified by:
setVariable
in interfaceorg.pentaho.di.core.variables.VariableSpace
-
shareVariablesWith
public void shareVariablesWith(org.pentaho.di.core.variables.VariableSpace space)
- Specified by:
shareVariablesWith
in interfaceorg.pentaho.di.core.variables.VariableSpace
-
getInputRowMeta
public org.pentaho.di.core.row.RowMetaInterface getInputRowMeta()
-
getOutputRowMeta
public org.pentaho.di.core.row.RowMetaInterface getOutputRowMeta()
-
initBeforeStart
public void initBeforeStart() throws org.pentaho.di.core.exception.KettleStepException
Description copied from interface:StepInterface
This method is executed by Trans right before the threads start and right after initialization.
!!! A plugin implementing this method should make sure to also call super.initBeforeStart(); !!!- Specified by:
initBeforeStart
in interfaceStepInterface
- Throws:
org.pentaho.di.core.exception.KettleStepException
- In case there is an error
-
setLinesRejected
public void setLinesRejected(long linesRejected)
- Specified by:
setLinesRejected
in interfaceStepInterface
- Parameters:
linesRejected
- steps the lines rejected by error handling.
-
getCopy
public int getCopy()
- Specified by:
getCopy
in interfaceStepInterface
- Returns:
- The steps copy number (default 0)
-
addStepListener
public void addStepListener(StepListener stepListener)
Description copied from interface:StepInterface
Attach a step listener to be notified when a step arrives in a certain state. (finished)- Specified by:
addStepListener
in interfaceStepInterface
- Parameters:
stepListener
- The listener to add to the step
-
isMapping
public boolean isMapping()
- Specified by:
isMapping
in interfaceStepInterface
- Returns:
- true if the thread is a special mapping step
-
getStepMeta
public StepMeta getStepMeta()
- Specified by:
getStepMeta
in interfaceStepInterface
- Returns:
- The metadata for this step
-
getTrans
public Trans getTrans()
- Specified by:
getTrans
in interfaceStepInterface
- Returns:
- the transformation that is executing this step
-
getLogChannel
public org.pentaho.di.core.logging.LogChannelInterface getLogChannel()
- Specified by:
getLogChannel
in interfaceHasLogChannelInterface
- Specified by:
getLogChannel
in interfaceStepInterface
- Returns:
- the logging channel for this step
-
isUsingThreadPriorityManagment
public boolean isUsingThreadPriorityManagment()
- Specified by:
isUsingThreadPriorityManagment
in interfaceStepInterface
- Returns:
- true if we are actively managing priorities of step threads
-
setUsingThreadPriorityManagment
public void setUsingThreadPriorityManagment(boolean usingThreadPriorityManagment)
- Specified by:
setUsingThreadPriorityManagment
in interfaceStepInterface
- Parameters:
usingThreadPriorityManagment
- set to true to actively manage priorities of step threads
-
isRunning
public boolean isRunning()
- Specified by:
isRunning
in interfaceStepInterface
- Returns:
- true if the step is running after having been initialized
-
setRunning
public void setRunning(boolean running)
Description copied from interface:StepInterface
Flag the step as running or not- Specified by:
setRunning
in interfaceStepInterface
- Parameters:
running
- the running flag to set
-
setStopped
public void setStopped(boolean stopped)
- Specified by:
setStopped
in interfaceStepInterface
- Parameters:
stopped
- true if the step needs to be stopped
-
setSafeStopped
public void setSafeStopped(boolean stopped)
- Specified by:
setSafeStopped
in interfaceStepInterface
- Parameters:
stopped
- true if the step needs to be safe stopped
-
rowsetInputSize
public int rowsetInputSize()
- Specified by:
rowsetInputSize
in interfaceStepInterface
- Returns:
- The total amount of rows in the input buffers
-
rowsetOutputSize
public int rowsetOutputSize()
- Specified by:
rowsetOutputSize
in interfaceStepInterface
- Returns:
- The total amount of rows in the output buffers
-
getProcessed
public long getProcessed()
- Specified by:
getProcessed
in interfaceStepInterface
- Returns:
- The number of "processed" lines of a step. Well, a representable metric for that anyway.
-
getResultFiles
public Map<String,org.pentaho.di.core.ResultFile> getResultFiles()
- Specified by:
getResultFiles
in interfaceStepInterface
- Returns:
- The result files for this step
-
getRuntime
public long getRuntime()
- Specified by:
getRuntime
in interfaceStepInterface
- Returns:
- The number of ms that this step has been running
-
getStatus
public BaseStepData.StepExecutionStatus getStatus()
- Specified by:
getStatus
in interfaceStepInterface
- Returns:
- the description as in
StepDataInterface
-
isPaused
public boolean isPaused()
- Specified by:
isPaused
in interfaceStepInterface
- Returns:
- True if the step is paused
-
identifyErrorOutput
public void identifyErrorOutput()
Description copied from interface:StepInterface
To be used to flag an error output channel of a step prior to execution for performance reasons.- Specified by:
identifyErrorOutput
in interfaceStepInterface
-
setPartitioned
public void setPartitioned(boolean partitioned)
- Specified by:
setPartitioned
in interfaceStepInterface
- Parameters:
partitioned
- true if this step is partitioned
-
setRepartitioning
public void setRepartitioning(int partitioningMethod)
- Specified by:
setRepartitioning
in interfaceStepInterface
- Parameters:
partitioningMethod
- The repartitioning method
-
canProcessOneRow
public boolean canProcessOneRow()
Description copied from interface:StepInterface
This method checks if the step is capable of processing at least one row.For example, if a step has no input records but needs at least one to function, it will return false.
- Specified by:
canProcessOneRow
in interfaceStepInterface
- Returns:
- true if the step can process a row.
-
isWaitingForData
public boolean isWaitingForData()
-
setWaitingForData
public void setWaitingForData(boolean waitingForData)
-
isIdle
public boolean isIdle()
-
isPassingData
public boolean isPassingData()
-
setPassingData
public void setPassingData(boolean passingData)
-
batchComplete
public void batchComplete() throws org.pentaho.di.core.exception.KettleException
Description copied from interface:StepInterface
Calling this method will alert the step that we finished passing a batch of records to the step. Specifically for steps like "Sort Rows" it means that the buffered rows can be sorted and passed on.- Specified by:
batchComplete
in interfaceStepInterface
- Throws:
org.pentaho.di.core.exception.KettleException
- In case an error occurs during the processing of the batch of rows.
-
setMetaStore
public void setMetaStore(org.pentaho.metastore.api.IMetaStore metaStore)
Description copied from interface:StepInterface
Pass along the metastore to use when loading external elements at runtime.- Specified by:
setMetaStore
in interfaceStepInterface
- Parameters:
metaStore
- The metastore to use
-
getMetaStore
public org.pentaho.metastore.api.IMetaStore getMetaStore()
- Specified by:
getMetaStore
in interfaceStepInterface
- Returns:
- The metastore that the step uses to load external elements from.
-
setRepository
public void setRepository(Repository repository)
- Specified by:
setRepository
in interfaceStepInterface
- Parameters:
repository
- The repository used by the step to load and reference Kettle objects with at runtime
-
getRepository
public Repository getRepository()
- Specified by:
getRepository
in interfaceStepInterface
- Returns:
- The repository used by the step to load and reference Kettle objects with at runtime
-
getCurrentInputRowSetNr
public int getCurrentInputRowSetNr()
- Specified by:
getCurrentInputRowSetNr
in interfaceStepInterface
- Returns:
- the index of the active (current) input row set
-
setCurrentOutputRowSetNr
public void setCurrentOutputRowSetNr(int index)
- Specified by:
setCurrentOutputRowSetNr
in interfaceStepInterface
- Parameters:
index
- Sets the index of the active (current) output row set to use.
-
getCurrentOutputRowSetNr
public int getCurrentOutputRowSetNr()
- Specified by:
getCurrentOutputRowSetNr
in interfaceStepInterface
- Returns:
- the index of the active (current) output row set
-
setCurrentInputRowSetNr
public void setCurrentInputRowSetNr(int index)
- Specified by:
setCurrentInputRowSetNr
in interfaceStepInterface
- Parameters:
index
- Sets the index of the active (current) input row set to use.
-
-