Class ScriptMeta

    • Constructor Detail

      • ScriptMeta

        public ScriptMeta()
    • Method Detail

      • getLength

        public int[] getLength()
        Returns:
        Returns the length.
      • setLength

        public void setLength​(int[] length)
        Parameters:
        length - The length to set.
      • getFieldname

        public String[] getFieldname()
        Returns:
        Returns the name.
      • setFieldname

        public void setFieldname​(String[] fieldname)
        Parameters:
        fieldname - The name to set.
      • getPrecision

        public int[] getPrecision()
        Returns:
        Returns the precision.
      • setPrecision

        public void setPrecision​(int[] precision)
        Parameters:
        precision - The precision to set.
      • getRename

        public String[] getRename()
        Returns:
        Returns the rename.
      • setRename

        public void setRename​(String[] rename)
        Parameters:
        rename - The rename to set.
      • getType

        public int[] getType()
        Returns:
        Returns the type.
      • setType

        public void setType​(int[] type)
        Parameters:
        type - The type to set.
      • getNumberOfJSScripts

        public int getNumberOfJSScripts()
      • getJSScriptNames

        public String[] getJSScriptNames()
      • 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 nrfields)
      • getFields

        public void getFields​(org.pentaho.di.core.row.RowMetaInterface row,
                              String originStepname,
                              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
        originStepname - 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)
      • 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
      • getFunctionFromScript

        public String getFunctionFromScript​(String strFunction,
                                            String strScript)
      • getValue

        public boolean getValue​(Bindings scope,
                                int i,
                                org.pentaho.di.compatibility.Value res,
                                StringBuilder message)
      • getStep

        public StepInterface getStep​(StepMeta stepMeta,
                                     StepDataInterface stepDataInterface,
                                     int cnr,
                                     TransMeta transMeta,
                                     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
        transMeta - 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.
      • parseXmlForAdditionalClasses

        public void parseXmlForAdditionalClasses()
                                          throws org.pentaho.di.core.exception.KettleException
        Throws:
        org.pentaho.di.core.exception.KettleException
      • getReplace

        public boolean[] getReplace()
        Returns:
        the replace
      • setReplace

        public void setReplace​(boolean[] replace)
        Parameters:
        replace - the replace to set
      • createNewScriptEngine

        public static ScriptEngine createNewScriptEngine​(String stepName)
        Instanciates the right scripting language interpreter, falling back to Javascript for backward compat. Because Kettle GUI sucks for extensibility, we use the script name extension to determine the language rather than add a Combo box. Complain to Pentaho please.
        Parameters:
        stepName -
        Returns: