org.pentaho.di.trans.steps.dimensionlookup
Class DimensionLookup

java.lang.Object
  extended by java.lang.Thread
      extended by org.pentaho.di.trans.step.BaseStep
          extended by org.pentaho.di.trans.steps.dimensionlookup.DimensionLookup
All Implemented Interfaces:
Runnable, org.pentaho.di.core.variables.VariableSpace, StepInterface

public class DimensionLookup
extends BaseStep
implements StepInterface

Manages a slowly changing dimension (lookup or update)

Since:
14-may-2003
Author:
Matt

Nested Class Summary
 
Nested classes/interfaces inherited from class java.lang.Thread
Thread.State, Thread.UncaughtExceptionHandler
 
Field Summary
 
Fields inherited from class org.pentaho.di.trans.step.BaseStep
category_order, errorRowSet, first, init, inputRowSets, linesInput, linesOutput, linesRead, linesRejected, linesSkipped, linesUpdated, linesWritten, outputRowSets, paused, remoteInputSteps, remoteOutputSteps, statusDesc, steps, stopped, terminator, terminator_rows, thr, waiting
 
Fields inherited from class java.lang.Thread
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY
 
Constructor Summary
DimensionLookup(StepMeta stepMeta, StepDataInterface stepDataInterface, int copyNr, TransMeta transMeta, Trans trans)
           
 
Method Summary
 void checkDimZero()
           
 Long dimInsert(org.pentaho.di.core.row.RowMetaInterface inputRowMeta, Object[] row, Long technicalKey, boolean newEntry, Long versionNr, Date dateFrom, Date dateTo)
           
 void dimPunchThrough(org.pentaho.di.core.row.RowMetaInterface rowMeta, Object[] row)
           
 void dimUpdate(org.pentaho.di.core.row.RowMetaInterface rowMeta, Object[] row, Long dimkey)
           
 void dispose(StepMetaInterface smi, StepDataInterface sdi)
          Dispose of this step: close files, empty logs, etc.
 boolean init(StepMetaInterface smi, StepDataInterface sdi)
          Initialise and do work where other steps need to wait for...
 boolean processRow(StepMetaInterface smi, StepDataInterface sdi)
          Process one row.
 void run()
          Run is where the action happens in a step...
 
Methods inherited from class org.pentaho.di.trans.step.BaseStep
addResultFile, addRowListener, addStepListener, buildLog, cleanup, copyVariablesFrom, decrementLinesRead, decrementLinesWritten, dispatch, environmentSubstitute, environmentSubstitute, findInputRowSet, findInputRowSet, findOutputRowSet, findOutputRowSet, getBooleanValueOfVariable, getClusterSize, getCopy, getDispatcher, getErrorRowMeta, getErrors, getIconFilename, getInputRowMeta, getInputRowSets, getLinesInput, getLinesOutput, getLinesRead, getLinesRejected, getLinesSkipped, getLinesUpdated, getLinesWritten, getLogFields, getNextClassNr, getOutputRowSets, getParentVariableSpace, getPartitionID, getPartitionTargets, getPreviewRowMeta, getProcessed, getRepartitioning, getResultFiles, getRow, getRowFrom, getRowListeners, getRuntime, getServerSockets, getSlaveNr, getSocketRepository, getStatus, getStatusDescription, getStepDataInterface, getStepID, getStepInfo, getStepListeners, getStepMeta, getStepMetaInterface, getStepname, getThread, getTrans, getTransMeta, getTypeId, getUniqueStepCountAcrossSlaves, getUniqueStepNrAcrossSlaves, getVariable, getVariable, incrementLinesInput, incrementLinesOutput, incrementLinesRead, incrementLinesRejected, incrementLinesSkipped, incrementLinesUpdated, incrementLinesWritten, initBeforeStart, initializeVariablesFrom, injectVariables, isDistributed, isInitialising, isMapping, isPartitioned, isPaused, isSafeModeEnabled, isStopped, isUsingThreadPriorityManagment, listVariables, logBasic, logDebug, logDetailed, logError, logError, logMinimal, logRowlevel, logSummary, markStart, markStop, outputIsDone, pauseRunning, putError, putRow, putRowTo, removeRowListener, resumeRunning, rowsetInputSize, rowsetOutputSize, runStepThread, safeModeChecking, setCopy, setDistributed, setErrorRowMeta, setErrors, setInputRowMeta, setInputRowSets, setInternalVariables, setLinesInput, setLinesOutput, setLinesRead, setLinesRejected, setLinesSkipped, setLinesUpdated, setLinesWritten, setOutputDone, setOutputRowSets, setParentVariableSpace, setPartitioned, setPartitionID, setPartitionTargets, setPaused, setPaused, setPreviewRowMeta, setRepartitioning, setSafeModeEnabled, setServerSockets, setSocketRepository, setStepDataInterface, setStepListeners, setStepMeta, setStepMetaInterface, setStepname, setStopped, setStopped, setTransMeta, setUsingThreadPriorityManagment, setVariable, shareVariablesWith, stopAll, stopRunning, stopRunning, toString
 
Methods inherited from class java.lang.Thread
activeCount, checkAccess, countStackFrames, currentThread, destroy, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, start, stop, stop, suspend, yield
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.pentaho.di.trans.step.StepInterface
addRowListener, addStepListener, cleanup, getCopy, getErrors, getInputRowSets, getLinesInput, getLinesOutput, getLinesRead, getLinesRejected, getLinesUpdated, getLinesWritten, getOutputRowSets, getPartitionID, getRow, getRowListeners, getStepID, getStepMeta, getStepname, initBeforeStart, isAlive, isMapping, isPartitioned, isStopped, markStart, markStop, pauseRunning, putRow, removeRowListener, resumeRunning, setErrors, setLinesRejected, setOutputDone, setPartitionID, start, stopAll, stopRunning
 

Constructor Detail

DimensionLookup

public DimensionLookup(StepMeta stepMeta,
                       StepDataInterface stepDataInterface,
                       int copyNr,
                       TransMeta transMeta,
                       Trans trans)
Method Detail

processRow

public boolean processRow(StepMetaInterface smi,
                          StepDataInterface sdi)
                   throws org.pentaho.di.core.exception.KettleException
Description copied from interface: StepInterface
Process one row.

Specified by:
processRow in interface StepInterface
Overrides:
processRow in class BaseStep
Parameters:
smi - The metadata to work with
sdi - The temporary working data to work with (database connections, resultsets, caches, temporary variables, etc.)
Returns:
false if no more rows can be processed or an error occurred.
Throws:
org.pentaho.di.core.exception.KettleException

dimInsert

public Long dimInsert(org.pentaho.di.core.row.RowMetaInterface inputRowMeta,
                      Object[] row,
                      Long technicalKey,
                      boolean newEntry,
                      Long versionNr,
                      Date dateFrom,
                      Date dateTo)
               throws org.pentaho.di.core.exception.KettleException
Throws:
org.pentaho.di.core.exception.KettleException

dimUpdate

public void dimUpdate(org.pentaho.di.core.row.RowMetaInterface rowMeta,
                      Object[] row,
                      Long dimkey)
               throws org.pentaho.di.core.exception.KettleDatabaseException
Throws:
org.pentaho.di.core.exception.KettleDatabaseException

dimPunchThrough

public void dimPunchThrough(org.pentaho.di.core.row.RowMetaInterface rowMeta,
                            Object[] row)
                     throws org.pentaho.di.core.exception.KettleDatabaseException
Throws:
org.pentaho.di.core.exception.KettleDatabaseException

checkDimZero

public void checkDimZero()
                  throws org.pentaho.di.core.exception.KettleException
Throws:
org.pentaho.di.core.exception.KettleException

init

public boolean init(StepMetaInterface smi,
                    StepDataInterface sdi)
Description copied from interface: StepInterface
Initialise and do work where other steps need to wait for...

Specified by:
init in interface StepInterface
Overrides:
init in class BaseStep
Parameters:
smi - The metadata to work with
sdi - 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 interface StepInterface
Overrides:
dispose in class BaseStep
Parameters:
smi - The metadata to work with
sdi - The data to dispose of

run

public void run()
Description copied from interface: StepInterface
Run is where the action happens in a step...

Specified by:
run in interface Runnable
Specified by:
run in interface StepInterface
Overrides:
run in class Thread