org.pentaho.di.trans.steps.combinationlookup
Class CombinationLookup

java.lang.Object
  extended by org.pentaho.di.trans.step.BaseStep
      extended by org.pentaho.di.trans.steps.combinationlookup.CombinationLookup
All Implemented Interfaces:
HasLogChannelInterface, LoggingObjectInterface, VariableSpace, StepInterface

public class CombinationLookup
extends BaseStep
implements StepInterface

Manages or looks up information in a Type 1 or junk dimension.

1) Lookup combination field1..n in a dimension

2) If this combination exists, return technical key

3) If this combination doesn't exist, insert & return technical key

4) if replace is Y, remove all key fields from output.

Since:
22-jul-2003
Author:
Matt

Field Summary
 
Fields inherited from class org.pentaho.di.trans.step.BaseStep
first, linesInput, linesOutput, linesRead, linesRejected, linesSkipped, linesUpdated, linesWritten, terminator, terminator_rows
 
Constructor Summary
CombinationLookup(StepMeta stepMeta, StepDataInterface stepDataInterface, int copyNr, TransMeta transMeta, Trans trans)
           
 
Method Summary
 Long combiInsert(RowMetaInterface rowMeta, Object[] row, Long val_key, Long val_crc)
          This inserts new record into a junk dimension
 void dispose(StepMetaInterface smi, StepDataInterface sdi)
          Dispose of this step: close files, empty logs, etc.
 boolean init(StepMetaInterface sii, StepDataInterface sdi)
          Initialize and do work where other steps need to wait for...
 boolean processRow(StepMetaInterface smi, StepDataInterface sdi)
          Perform the equivalent of processing one row.
 void setCombiLookup(RowMetaInterface inputRowMeta)
          CombinationLookup table: dimension table keys[]: which dim-fields do we use to look up key? retval: name of the key to return
 
Methods inherited from class org.pentaho.di.trans.step.BaseStep
addResultFile, addRowListener, addStepListener, batchComplete, buildLog, canProcessOneRow, cleanup, closeQuietly, copyVariablesFrom, decrementLinesRead, decrementLinesWritten, dispatch, environmentSubstitute, environmentSubstitute, findInputRowSet, findInputRowSet, findOutputRowSet, findOutputRowSet, getBooleanValueOfVariable, getClusterSize, getContainerObjectId, getCopy, getDispatcher, getErrorRowMeta, getErrors, getFilename, getInputRowMeta, getInputRowSets, getLinesInput, getLinesOutput, getLinesRead, getLinesRejected, getLinesSkipped, getLinesUpdated, getLinesWritten, getLogChannel, getLogChannelId, getLogFields, getLogLevel, getNextClassNr, getObjectCopy, getObjectId, getObjectName, getObjectRevision, getObjectType, getOutputRowSets, getParent, getParentVariableSpace, getPartitionID, getPartitionTargets, getPreviewRowMeta, getProcessed, getRegistrationDate, getRemoteInputSteps, getRemoteOutputSteps, getRepartitioning, getRepositoryDirectory, getResultFiles, getRow, getRowFrom, getRowListeners, getRuntime, getServerSockets, getSlaveNr, getSocketRepository, getStatus, getStatusDescription, getStepDataInterface, getStepID, getStepListeners, getStepMeta, getStepMetaInterface, getStepname, getTrans, getTransMeta, getTypeId, getUniqueStepCountAcrossSlaves, getUniqueStepNrAcrossSlaves, getVariable, getVariable, identifyErrorOutput, incrementLinesInput, incrementLinesOutput, incrementLinesRead, incrementLinesRejected, incrementLinesSkipped, incrementLinesUpdated, incrementLinesWritten, initBeforeStart, initializeVariablesFrom, injectVariables, isBasic, isDebug, isDetailed, isDistributed, isInitialising, isMapping, isPartitioned, isPaused, isRowLevel, isRunning, isStopped, isUsingThreadPriorityManagment, listVariables, logBasic, logBasic, logDebug, logDebug, logDetailed, logDetailed, logError, logError, logError, logMinimal, logMinimal, logRowlevel, logRowlevel, logSummary, markStart, markStop, outputIsDone, pauseRunning, putError, putRow, putRowTo, removeRowListener, resumeRunning, rowsetInputSize, rowsetOutputSize, safeModeChecking, setCarteObjectId, setCopy, setDistributed, setErrorRowMeta, setErrors, setInputRowMeta, setInputRowSets, setInternalVariables, setLinesInput, setLinesOutput, setLinesRead, setLinesRejected, setLinesSkipped, setLinesUpdated, setLinesWritten, setLogLevel, setOutputDone, setOutputRowSets, setParentVariableSpace, setPartitioned, setPartitionID, setPartitionTargets, setPaused, setPaused, setPreviewRowMeta, setRepartitioning, setRunning, setServerSockets, setSocketRepository, setStepDataInterface, setStepListeners, setStepMeta, setStepMetaInterface, setStepname, setStopped, setTransMeta, setUsingThreadPriorityManagment, setVariable, shareVariablesWith, stopAll, stopRunning, stopRunning, toString
 
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, batchComplete, canProcessOneRow, cleanup, getCopy, getErrors, getInputRowSets, getLinesInput, getLinesOutput, getLinesRead, getLinesRejected, getLinesUpdated, getLinesWritten, getLogChannel, getOutputRowSets, getPartitionID, getProcessed, getResultFiles, getRow, getRowListeners, getRuntime, getStatus, getStepID, getStepMeta, getStepname, getTrans, identifyErrorOutput, initBeforeStart, isMapping, isPartitioned, isPaused, isRunning, isStopped, isUsingThreadPriorityManagment, markStart, markStop, pauseRunning, putRow, removeRowListener, resumeRunning, rowsetInputSize, rowsetOutputSize, setErrors, setLinesRejected, setOutputDone, setPartitioned, setPartitionID, setRepartitioning, setRunning, setStopped, setUsingThreadPriorityManagment, stopAll, stopRunning
 
Methods inherited from interface org.pentaho.di.core.variables.VariableSpace
copyVariablesFrom, environmentSubstitute, environmentSubstitute, getBooleanValueOfVariable, getParentVariableSpace, getVariable, getVariable, initializeVariablesFrom, injectVariables, listVariables, setParentVariableSpace, setVariable, shareVariablesWith
 

Constructor Detail

CombinationLookup

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

processRow

public boolean processRow(StepMetaInterface smi,
                          StepDataInterface sdi)
                   throws 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 interface StepInterface
Overrides:
processRow in class BaseStep
Parameters:
smi - The steps metadata to work with
sdi - 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:
KettleException

setCombiLookup

public void setCombiLookup(RowMetaInterface inputRowMeta)
                    throws KettleDatabaseException
CombinationLookup table: dimension table keys[]: which dim-fields do we use to look up key? retval: name of the key to return

Throws:
KettleDatabaseException

combiInsert

public Long combiInsert(RowMetaInterface rowMeta,
                        Object[] row,
                        Long val_key,
                        Long val_crc)
                 throws KettleDatabaseException
This inserts new record into a junk dimension

Throws:
KettleDatabaseException

init

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

Specified by:
init in interface StepInterface
Overrides:
init in class BaseStep
Parameters:
sii - 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