Class DimensionLookup

  • 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

    public class DimensionLookup
    extends BaseDatabaseStep
    implements StepInterface
    Manages a slowly changing dimension (lookup or update)
    Since:
    14-may-2003
    Author:
    Matt
    • 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 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:
        org.pentaho.di.core.exception.KettleException
      • isAutoIncrement

        protected boolean isAutoIncrement()
      • 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
        This inserts new record into dimension Optionally, if the entry already exists, update date range from previous version of the entry.
        Throws:
        org.pentaho.di.core.exception.KettleException
      • isRowLevel

        public boolean isRowLevel()
        Description copied from class: BaseStep
        Checks if is row level.
        Overrides:
        isRowLevel in class BaseStep
        Returns:
        true, if is row level
      • isDebug

        public boolean isDebug()
        Description copied from class: BaseStep
        Checks if is debug.
        Overrides:
        isDebug in class BaseStep
        Returns:
        true, if is debug
      • dimUpdate

        public void dimUpdate​(org.pentaho.di.core.row.RowMetaInterface rowMeta,
                              Object[] row,
                              Long dimkey,
                              Date valueDate)
                       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
      • getPKG

        protected Class<?> getPKG()
        Description copied from class: BaseDatabaseStep
        Returns the specific step class needed for logging
        Specified by:
        getPKG in class BaseDatabaseStep
        Returns:
        the specific step class needed for logging