Class DimensionLookupMeta

    • Field Detail

      • TYPE_UPDATE_DIM_PUNCHTHROUGH

        public static final int TYPE_UPDATE_DIM_PUNCHTHROUGH
        See Also:
        Constant Field Values
      • TYPE_UPDATE_DATE_INSERTED

        public static final int TYPE_UPDATE_DATE_INSERTED
        See Also:
        Constant Field Values
      • TYPE_UPDATE_DATE_UPDATED

        public static final int TYPE_UPDATE_DATE_UPDATED
        See Also:
        Constant Field Values
      • TYPE_UPDATE_LAST_VERSION

        public static final int TYPE_UPDATE_LAST_VERSION
        See Also:
        Constant Field Values
      • typeDesc

        public static final String[] typeDesc
      • typeCodes

        public static final String[] typeCodes
      • typeDescLookup

        public static final String[] typeDescLookup
      • START_DATE_ALTERNATIVE_NONE

        public static final int START_DATE_ALTERNATIVE_NONE
        See Also:
        Constant Field Values
      • START_DATE_ALTERNATIVE_SYSDATE

        public static final int START_DATE_ALTERNATIVE_SYSDATE
        See Also:
        Constant Field Values
      • START_DATE_ALTERNATIVE_START_OF_TRANS

        public static final int START_DATE_ALTERNATIVE_START_OF_TRANS
        See Also:
        Constant Field Values
      • START_DATE_ALTERNATIVE_NULL

        public static final int START_DATE_ALTERNATIVE_NULL
        See Also:
        Constant Field Values
      • START_DATE_ALTERNATIVE_COLUMN_VALUE

        public static final int START_DATE_ALTERNATIVE_COLUMN_VALUE
        See Also:
        Constant Field Values
      • CREATION_METHOD_AUTOINC

        public static String CREATION_METHOD_AUTOINC
      • CREATION_METHOD_SEQUENCE

        public static String CREATION_METHOD_SEQUENCE
      • CREATION_METHOD_TABLEMAX

        public static String CREATION_METHOD_TABLEMAX
    • Constructor Detail

      • DimensionLookupMeta

        public DimensionLookupMeta()
    • Method Detail

      • setTableName

        public void setTableName​(String tablename)
        Parameters:
        tablename - The tablename to set.
      • setDatabaseMeta

        public void setDatabaseMeta​(org.pentaho.di.core.database.DatabaseMeta database)
        Parameters:
        database - The database to set.
      • setConnection

        public void setConnection​(String connectionName)
      • isUpdate

        public boolean isUpdate()
        Returns:
        Returns the update.
      • setUpdate

        public void setUpdate​(boolean update)
        Parameters:
        update - The update to set.
      • isAutoIncrement

        public boolean isAutoIncrement()
        Returns:
        Returns the autoIncrement.
      • setAutoIncrement

        public void setAutoIncrement​(boolean autoIncrement)
        Parameters:
        autoIncrement - The autoIncrement to set.
      • setTechKeyCreation

        public void setTechKeyCreation​(String techKeyCreation)
        Set the way how the technical key field should be created.
        Parameters:
        techKeyCreation - which method to use for the creation of the technical key.
      • getTechKeyCreation

        public String getTechKeyCreation()
        Get the way how the technical key field should be created.
        Returns:
        creation way for the technical key.
      • getCommitSize

        public int getCommitSize()
        Returns:
        Returns the commitSize.
      • setCommitSize

        public void setCommitSize​(int commitSize)
        Parameters:
        commitSize - The commitSize to set.
      • getDateField

        public String getDateField()
        Returns:
        Returns the dateField.
      • setDateField

        public void setDateField​(String dateField)
        Parameters:
        dateField - The dateField to set.
      • getDateFrom

        public String getDateFrom()
        Returns:
        Returns the dateFrom.
      • setDateFrom

        public void setDateFrom​(String dateFrom)
        Parameters:
        dateFrom - The dateFrom to set.
      • getDateTo

        public String getDateTo()
        Returns:
        Returns the dateTo.
      • setDateTo

        public void setDateTo​(String dateTo)
        Parameters:
        dateTo - The dateTo to set.
      • getFieldLookup

        public String[] getFieldLookup()
        Returns:
        Fields in the dimension to update or retrieve.
      • setFieldLookup

        public void setFieldLookup​(String[] fieldLookup)
        Parameters:
        fieldLookup - sets the fields in the dimension to update or retrieve.
      • getFieldStream

        public String[] getFieldStream()
        Returns:
        Fields containing the values in the input stream to update the dimension with.
      • setFieldStream

        public void setFieldStream​(String[] fieldStream)
        Parameters:
        fieldStream - The fields containing the values in the input stream to update the dimension with.
      • getFieldUpdate

        public int[] getFieldUpdate()
        Returns:
        Returns the fieldUpdate.
      • setFieldUpdate

        public void setFieldUpdate​(int[] fieldUpdate)
        Parameters:
        fieldUpdate - The fieldUpdate to set.
      • getReturnType

        public int[] getReturnType()
        Returns:
        Returns the returnType.
      • setReturnType

        public void setReturnType​(int[] returnType)
        Parameters:
        returnType - The returnType to set.
      • getKeyField

        public String getKeyField()
        Returns:
        Returns the keyField.
      • setKeyField

        public void setKeyField​(String keyField)
        Parameters:
        keyField - The keyField to set.
      • getKeyLookup

        public String[] getKeyLookup()
        Returns:
        Returns the keyLookup.
      • setKeyLookup

        public void setKeyLookup​(String[] keyLookup)
        Parameters:
        keyLookup - The keyLookup to set.
      • getKeyRename

        public String getKeyRename()
        Returns:
        Returns the keyRename.
      • setKeyRename

        public void setKeyRename​(String keyRename)
        Parameters:
        keyRename - The keyRename to set.
      • getKeyStream

        public String[] getKeyStream()
        Returns:
        Returns the keyStream.
      • setKeyStream

        public void setKeyStream​(String[] keyStream)
        Parameters:
        keyStream - The keyStream to set.
      • getMaxYear

        public int getMaxYear()
        Returns:
        Returns the maxYear.
      • setMaxYear

        public void setMaxYear​(int maxYear)
        Parameters:
        maxYear - The maxYear to set.
      • getMinYear

        public int getMinYear()
        Returns:
        Returns the minYear.
      • setMinYear

        public void setMinYear​(int minYear)
        Parameters:
        minYear - The minYear to set.
      • getSequenceName

        public String getSequenceName()
        Returns:
        Returns the sequenceName.
      • setSequenceName

        public void setSequenceName​(String sequenceName)
        Parameters:
        sequenceName - The sequenceName to set.
      • getVersionField

        public String getVersionField()
        Returns:
        Returns the versionField.
      • setVersionField

        public void setVersionField​(String versionField)
        Parameters:
        versionField - The versionField to set.
      • actualizeWithInjectedValues

        public void actualizeWithInjectedValues()
      • loadXML

        public void loadXML​(Node stepnode,
                            List<org.pentaho.di.core.database.DatabaseMeta> databases,
                            org.pentaho.metastore.api.IMetaStore metaStore)
                     throws org.pentaho.di.core.exception.KettleXMLException
        Description copied from interface: StepMetaInterface
        Load the values for this step from an XML Node
        Specified by:
        loadXML in interface StepMetaInterface
        Overrides:
        loadXML in class BaseStepMeta
        Parameters:
        stepnode - the Node to get the info from
        databases - The available list of databases to reference to
        metaStore - the metastore to optionally load external reference metadata from
        Throws:
        org.pentaho.di.core.exception.KettleXMLException - When an unexpected XML error occurred. (malformed etc.)
      • allocate

        public void allocate​(int nrkeys,
                             int nrfields)
      • getUpdateType

        public static final int getUpdateType​(boolean upd,
                                              String ty)
      • getUpdateType

        public static final String getUpdateType​(boolean upd,
                                                 int t)
      • getUpdateTypeCode

        public static final String getUpdateTypeCode​(boolean upd,
                                                     int t)
      • getStartDateAlternative

        public static final int getStartDateAlternative​(String string)
      • getStartDateAlternativeCode

        public static final String getStartDateAlternativeCode​(int alternative)
      • getStartDateAlternativeDesc

        public static final String getStartDateAlternativeDesc​(int alternative)
      • getStartDateAlternativeCodes

        public static final String[] getStartDateAlternativeCodes()
      • getStartDateAlternativeDescriptions

        public static final String[] getStartDateAlternativeDescriptions()
      • isUpdateTypeWithoutArgument

        public static final boolean isUpdateTypeWithoutArgument​(boolean update,
                                                                int type)
      • getFields

        public void getFields​(org.pentaho.di.core.row.RowMetaInterface row,
                              String name,
                              org.pentaho.di.core.row.RowMetaInterface[] info,
                              StepMeta nextStep,
                              org.pentaho.di.core.variables.VariableSpace space,
                              Repository repository,
                              org.pentaho.metastore.api.IMetaStore metaStore)
                       throws org.pentaho.di.core.exception.KettleStepException
        Description copied from class: BaseStepMeta
        Gets the fields.
        Specified by:
        getFields in interface StepMetaInterface
        Overrides:
        getFields in class BaseStepMeta
        Parameters:
        row - the input row meta that is modified in this method to reflect the output row metadata of the step
        name - Name of the step to use as input for the origin field in the values
        info - Fields used as extra lookup information
        nextStep - the next step that is targeted
        space - the space The variable space to use to replace variables
        repository - the repository to use to load Kettle metadata objects impacting the output fields
        metaStore - the MetaStore to use to load additional external data or metadata impacting the output fields
        Throws:
        org.pentaho.di.core.exception.KettleStepException - the kettle step exception
      • getXML

        public String getXML()
        Description copied from class: BaseStepMeta
        Produces the XML string that describes this step's information.
        Specified by:
        getXML in interface StepMetaInterface
        Overrides:
        getXML in class BaseStepMeta
        Returns:
        String containing the XML describing this step.
      • readRep

        public void readRep​(Repository rep,
                            org.pentaho.metastore.api.IMetaStore metaStore,
                            org.pentaho.di.repository.ObjectId id_step,
                            List<org.pentaho.di.core.database.DatabaseMeta> databases)
                     throws org.pentaho.di.core.exception.KettleException
        Description copied from interface: StepMetaInterface
        Read the steps information from a Kettle repository
        Specified by:
        readRep in interface StepMetaInterface
        Overrides:
        readRep in class BaseStepMeta
        Parameters:
        rep - The repository to read from
        metaStore - The MetaStore to read external information from
        id_step - The step ID
        databases - The databases to reference
        Throws:
        org.pentaho.di.core.exception.KettleException - When an unexpected error occurred (database, network, etc)
      • saveRep

        public void saveRep​(Repository rep,
                            org.pentaho.metastore.api.IMetaStore metaStore,
                            org.pentaho.di.repository.ObjectId id_transformation,
                            org.pentaho.di.repository.ObjectId id_step)
                     throws org.pentaho.di.core.exception.KettleException
        Description copied from interface: StepMetaInterface
        Save the steps data into a Kettle repository
        Specified by:
        saveRep in interface StepMetaInterface
        Overrides:
        saveRep in class BaseStepMeta
        Parameters:
        rep - The Kettle repository to save to
        metaStore - the metaStore to optionally write to
        id_transformation - The transformation ID
        id_step - The step ID
        Throws:
        org.pentaho.di.core.exception.KettleException - When an unexpected error occurred (database, network, etc)
      • getMinDate

        public Date getMinDate()
      • getMaxDate

        public Date getMaxDate()
      • check

        public void check​(List<org.pentaho.di.core.CheckResultInterface> remarks,
                          TransMeta transMeta,
                          StepMeta stepMeta,
                          org.pentaho.di.core.row.RowMetaInterface prev,
                          String[] input,
                          String[] output,
                          org.pentaho.di.core.row.RowMetaInterface info,
                          org.pentaho.di.core.variables.VariableSpace space,
                          Repository repository,
                          org.pentaho.metastore.api.IMetaStore metaStore)
        Description copied from interface: StepMetaInterface
        Checks the settings of this step and puts the findings in a remarks List.
        Specified by:
        check in interface StepMetaInterface
        Overrides:
        check in class BaseStepMeta
        Parameters:
        remarks - The list to put the remarks in @see org.pentaho.di.core.CheckResult
        stepMeta - The stepMeta to help checking
        prev - The fields coming from the previous step
        input - The input step names
        output - The output step names
        info - The fields that are used as information by the step
        space - the variable space to resolve variable expressions with
        repository - the repository to use to load Kettle metadata objects impacting the output fields
        metaStore - the MetaStore to use to load additional external data or metadata impacting the output fields
      • getSQLStatements

        public org.pentaho.di.core.SQLStatement getSQLStatements​(TransMeta transMeta,
                                                                 StepMeta stepMeta,
                                                                 org.pentaho.di.core.row.RowMetaInterface prev,
                                                                 Repository repository,
                                                                 org.pentaho.metastore.api.IMetaStore metaStore)
        Description copied from class: BaseStepMeta
        Standard method to return an SQLStatement object with SQL statements that the step needs in order to work correctly. This can mean "create table", "create index" statements but also "alter table ... add/drop/modify" statements.
        Specified by:
        getSQLStatements in interface StepMetaInterface
        Overrides:
        getSQLStatements in class BaseStepMeta
        Parameters:
        transMeta - TransInfo object containing the complete transformation
        stepMeta - StepMeta object containing the complete step
        prev - Row containing meta-data for the input fields (no data)
        repository - the repository to use to load Kettle metadata objects impacting the output fields
        metaStore - the MetaStore to use to load additional external data or metadata impacting the output fields
        Returns:
        The SQL Statements for this step. If nothing has to be done, the SQLStatement.getSQL() == null. @see SQLStatement
      • analyseImpact

        public void analyseImpact​(List<DatabaseImpact> impact,
                                  TransMeta transMeta,
                                  StepMeta stepMeta,
                                  org.pentaho.di.core.row.RowMetaInterface prev,
                                  String[] input,
                                  String[] output,
                                  org.pentaho.di.core.row.RowMetaInterface info,
                                  Repository repository,
                                  org.pentaho.metastore.api.IMetaStore metaStore)
        Description copied from class: BaseStepMeta
        Each step must be able to report on the impact it has on a database, table field, etc.
        Specified by:
        analyseImpact in interface StepMetaInterface
        Overrides:
        analyseImpact in class BaseStepMeta
        Parameters:
        impact - The list of impacts @see org.pentaho.di.transMeta.DatabaseImpact
        transMeta - The transformation information
        stepMeta - The step information
        prev - The fields entering this step
        input - The previous step names
        output - The output step names
        info - The fields used as information by this step
        repository - the repository to use to load Kettle metadata objects impacting the output fields
        metaStore - the MetaStore to use to load additional external data or metadata impacting the output fields
      • getStep

        public StepInterface getStep​(StepMeta stepMeta,
                                     StepDataInterface stepDataInterface,
                                     int cnr,
                                     TransMeta tr,
                                     Trans trans)
        Description copied from interface: StepMetaInterface
        Get the executing step, needed by Trans to launch a step.
        Specified by:
        getStep in interface StepMetaInterface
        Parameters:
        stepMeta - The step info
        stepDataInterface - the step data interface linked to this step. Here the step can store temporary data, database connections, etc.
        cnr - The copy nr to get
        tr - The transformation info
        trans - The launching transformation
      • getStepData

        public StepDataInterface getStepData()
        Description copied from interface: StepMetaInterface
        Get a new instance of the appropriate data class. This data class implements the StepDataInterface. It basically contains the persisting data that needs to live on, even if a worker thread is terminated.
        Specified by:
        getStepData in interface StepMetaInterface
        Returns:
        The appropriate StepDataInterface class.
      • getUsedDatabaseConnections

        public org.pentaho.di.core.database.DatabaseMeta[] getUsedDatabaseConnections()
        Description copied from class: BaseStepMeta
        This method returns all the database connections that are used by the step.
        Specified by:
        getUsedDatabaseConnections in interface StepMetaInterface
        Overrides:
        getUsedDatabaseConnections in class BaseStepMeta
        Returns:
        an array of database connections meta-data. Return an empty array if no connections are used.
      • setSchemaName

        public void setSchemaName​(String schemaName)
        Parameters:
        schemaName - the schemaName to set
      • getCacheSize

        public int getCacheSize()
        Returns:
        the cacheSize
      • setCacheSize

        public void setCacheSize​(int cacheSize)
        Parameters:
        cacheSize - the cacheSize to set
      • isUsingStartDateAlternative

        public boolean isUsingStartDateAlternative()
        Returns:
        the usingStartDateAlternative
      • setUsingStartDateAlternative

        public void setUsingStartDateAlternative​(boolean usingStartDateAlternative)
        Parameters:
        usingStartDateAlternative - the usingStartDateAlternative to set
      • getStartDateAlternative

        public int getStartDateAlternative()
        Returns:
        the startDateAlternative
      • setStartDateAlternative

        public void setStartDateAlternative​(int startDateAlternative)
        Parameters:
        startDateAlternative - the startDateAlternative to set
      • getStartDateFieldName

        public String getStartDateFieldName()
        Returns:
        the startDateFieldName
      • setStartDateFieldName

        public void setStartDateFieldName​(String startDateFieldName)
        Parameters:
        startDateFieldName - the startDateFieldName to set
      • isPreloadingCache

        public boolean isPreloadingCache()
        Returns:
        the preloadingCache
      • setPreloadingCache

        public void setPreloadingCache​(boolean preloadingCache)
        Parameters:
        preloadingCache - the preloadingCache to set
      • useBatchUpdate

        public boolean useBatchUpdate()
        Returns:
        the useBatchUpdate
      • setUseBatchUpdate

        public void setUseBatchUpdate​(boolean useBatchUpdate)
        Parameters:
        useBatchUpdate - the useBatchUpdate to set
      • getDatabaseTableFields

        protected org.pentaho.di.core.row.RowMetaInterface getDatabaseTableFields​(org.pentaho.di.core.database.Database db,
                                                                                  String schemaName,
                                                                                  String tableName)
                                                                           throws org.pentaho.di.core.exception.KettleDatabaseException
        Throws:
        org.pentaho.di.core.exception.KettleDatabaseException
      • normalizeAllocationFields

        public void normalizeAllocationFields()
      • afterInjectionSynchronization

        public void afterInjectionSynchronization()
        If we use injection we can have different arrays lengths. We need synchronize them for consistency behavior with UI