Class JobEntryTrans

java.lang.Object
org.pentaho.di.job.entry.JobEntryBase
org.pentaho.di.job.entries.trans.JobEntryTrans
All Implemented Interfaces:
Cloneable, org.pentaho.di.core.AttributesInterface, org.pentaho.di.core.CheckResultSourceInterface, org.pentaho.di.core.ExtensionDataInterface, org.pentaho.di.core.logging.LoggingObjectInterface, org.pentaho.di.core.logging.LoggingObjectLifecycleInterface, org.pentaho.di.core.variables.VariableSpace, JobEntryInterface, JobEntryRunConfigurableInterface, HasRepositoryDirectories, ResourceHolderInterface

This is the job entry that defines a transformation to be run.
Since:
1-Oct-2003, rewritten on 18-June-2004
Author:
Matt Casters
  • Field Details

    • IS_PENTAHO

      public static final int IS_PENTAHO
      See Also:
    • arguments

      public String[] arguments
    • argFromPrevious

      public boolean argFromPrevious
    • paramsFromPrevious

      public boolean paramsFromPrevious
    • execPerRow

      public boolean execPerRow
    • parameters

      public String[] parameters
    • parameterFieldNames

      public String[] parameterFieldNames
    • parameterValues

      public String[] parameterValues
    • clearResultRows

      public boolean clearResultRows
    • clearResultFiles

      public boolean clearResultFiles
    • createParentFolder

      public boolean createParentFolder
    • setLogfile

      public boolean setLogfile
    • setAppendLogfile

      public boolean setAppendLogfile
    • suppressResultData

      public boolean suppressResultData
    • logfile

      public String logfile
    • logext

      public String logext
    • addDate

      public boolean addDate
    • addTime

      public boolean addTime
    • logFileLevel

      public org.pentaho.di.core.logging.LogLevel logFileLevel
    • waitingToFinish

      public boolean waitingToFinish
    • followingAbortRemotely

      public boolean followingAbortRemotely
  • Constructor Details

    • JobEntryTrans

      public JobEntryTrans(String name)
    • JobEntryTrans

      public JobEntryTrans()
  • Method Details

    • clone

      public Object clone()
      Description copied from class: JobEntryBase
      This method is called when a job entry is duplicated in Spoon. It needs to return a deep copy of this job entry object. It is essential that the implementing class creates proper deep copies if the job entry configuration is stored in modifiable objects, such as lists or custom helper objects.
      Specified by:
      clone in interface JobEntryInterface
      Overrides:
      clone in class JobEntryBase
      Returns:
      a clone of the object
    • setFileName

      public void setFileName(String n)
    • getFileName

      @Deprecated public String getFileName()
      Deprecated.
      use getFilename() instead
      Returns:
      the filename
    • getFilename

      public String getFilename()
      Description copied from class: JobEntryBase
      Gets the filename of the job entry. For JobEntryBase, this method always returns null
      Specified by:
      getFilename in interface JobEntryInterface
      Specified by:
      getFilename in interface org.pentaho.di.core.logging.LoggingObjectInterface
      Overrides:
      getFilename in class JobEntryBase
      Returns:
      null
      See Also:
      • LoggingObjectInterface.getFilename()
    • getRealFilename

      public String getRealFilename()
      Description copied from class: JobEntryBase
      Gets the real filename of the job entry, by substituting any environment variables present in the filename. For JobEntryBase, this method always returns null
      Specified by:
      getRealFilename in interface JobEntryInterface
      Overrides:
      getRealFilename in class JobEntryBase
      Returns:
      null
    • setTransname

      public void setTransname(String transname)
    • getTransname

      public String getTransname()
    • getDirectory

      public String getDirectory()
    • setDirectory

      public void setDirectory(String directory)
    • getDirectories

      public String[] getDirectories()
      Description copied from interface: HasRepositoryDirectories
      If step has reference(s) to another transformation(s)/job(s) returns an array of repository directories. An implementation is considered to define the array order itself.
      Specified by:
      getDirectories in interface HasRepositoryDirectories
      Returns:
      String array of repository directories
    • setDirectories

      public void setDirectories(String[] directories)
      Description copied from interface: HasRepositoryDirectories
      If step has reference(s) to another transformation(s)/job(s) sets updated repository directories from incoming String array. An implementation is considered to define the array order itself.
      Specified by:
      setDirectories in interface HasRepositoryDirectories
      Parameters:
      directories - Array of updated rep directories to set
    • getLogFilename

      public String getLogFilename()
    • getXML

      public String getXML()
      Description copied from class: JobEntryBase
      This method is called by PDI whenever a job entry needs to serialize its settings to XML. It is called when saving a job in Spoon. The method returns an XML string, containing the serialized settings. The string contains a series of XML tags, typically one tag per setting. The helper class org.pentaho.di.core.xml.XMLHandler is typically used to construct the XML string.
      Specified by:
      getXML in interface JobEntryInterface
      Overrides:
      getXML in class JobEntryBase
      Returns:
      the xml representation of the job entry
    • loadXML

      public void loadXML(Node entrynode, List<org.pentaho.di.core.database.DatabaseMeta> databases, List<SlaveServer> slaveServers, Repository rep, org.pentaho.metastore.api.IMetaStore metaStore) throws org.pentaho.di.core.exception.KettleXMLException
      Description copied from interface: JobEntryInterface
      This method is called by PDI whenever a job entry needs to read its settings from XML. The XML node containing the job entry's settings is passed in as an argument. Again, the helper class org.pentaho.di.core.xml.XMLHandler is typically used to conveniently read the settings from the XML node.
      Specified by:
      loadXML in interface JobEntryInterface
      Overrides:
      loadXML in class JobEntryBase
      Parameters:
      entrynode - the top-level XML node
      databases - the list of databases
      slaveServers - the list of slave servers
      rep - the repository object
      metaStore - The metaStore to optionally load from.
      Throws:
      org.pentaho.di.core.exception.KettleXMLException - if any errors occur during the loading of the XML
    • loadRep

      public void loadRep(Repository rep, org.pentaho.metastore.api.IMetaStore metaStore, org.pentaho.di.repository.ObjectId id_jobentry, List<org.pentaho.di.core.database.DatabaseMeta> databases, List<SlaveServer> slaveServers) throws org.pentaho.di.core.exception.KettleException
      Description copied from interface: JobEntryInterface
      This method is called by PDI whenever a job entry needs to read its configuration from a PDI repository. The job entry id given in the arguments should be used as the identifier when using the repository's serialization methods.
      Specified by:
      loadRep in interface JobEntryInterface
      Overrides:
      loadRep in class JobEntryBase
      Parameters:
      rep - the repository object
      metaStore - the MetaStore to use
      id_jobentry - the id of the job entry
      databases - the list of databases
      slaveServers - the list of slave servers
      Throws:
      org.pentaho.di.core.exception.KettleException - if any errors occur during the load
    • saveRep

      public void saveRep(Repository rep, org.pentaho.metastore.api.IMetaStore metaStore, org.pentaho.di.repository.ObjectId id_job) throws org.pentaho.di.core.exception.KettleException
      Description copied from interface: JobEntryInterface
      This method is called by PDI whenever a job entry needs to save its settings to a PDI repository. The repository object passed in as the first argument provides a convenient set of methods for serializing job entry settings. When calling repository serialization methods, job id and job entry id are required. The job id is passed in to saveRep() as an argument, and the job entry id can be obtained by a call to getObjectId() inherited from the base class.
      Specified by:
      saveRep in interface JobEntryInterface
      Overrides:
      saveRep in class JobEntryBase
      Parameters:
      rep - the repository
      metaStore - the MetaStore to use
      id_job - the id_job
      Throws:
      org.pentaho.di.core.exception.KettleException - if any errors occur during the save
    • clear

      public void clear()
      Description copied from class: JobEntryBase
      Clears all variable values
      Specified by:
      clear in interface JobEntryInterface
      Overrides:
      clear in class JobEntryBase
    • execute

      public org.pentaho.di.core.Result execute(org.pentaho.di.core.Result result, int nr) throws org.pentaho.di.core.exception.KettleException
      Execute this job entry and return the result. In this case it means, just set the result boolean in the Result class.
      Specified by:
      execute in interface JobEntryInterface
      Parameters:
      result - The result of the previous execution
      nr - the job entry number
      Returns:
      The Result of the execution.
      Throws:
      org.pentaho.di.core.exception.KettleException - if any Kettle exceptions occur
    • updateResult

      protected void updateResult(org.pentaho.di.core.Result result)
    • getTransMeta

      @Deprecated public TransMeta getTransMeta(Repository rep, org.pentaho.di.core.variables.VariableSpace space) throws org.pentaho.di.core.exception.KettleException
      Parameters:
      rep -
      space -
      Returns:
      Throws:
      org.pentaho.di.core.exception.KettleException
    • getTransMeta

      public TransMeta getTransMeta(Repository rep, org.pentaho.metastore.api.IMetaStore metaStore, org.pentaho.di.core.variables.VariableSpace space) throws org.pentaho.di.core.exception.KettleException
      Throws:
      org.pentaho.di.core.exception.KettleException
    • evaluates

      public boolean evaluates()
      Description copied from class: JobEntryBase
      This method must return true if the job entry supports the true/false outgoing hops. For JobEntryBase, this method always returns false
      Specified by:
      evaluates in interface JobEntryInterface
      Overrides:
      evaluates in class JobEntryBase
      Returns:
      false
    • isUnconditional

      public boolean isUnconditional()
      Description copied from class: JobEntryBase
      This method must return true if the job entry supports the unconditional outgoing hop. For JobEntryBase, this method always returns true
      Specified by:
      isUnconditional in interface JobEntryInterface
      Overrides:
      isUnconditional in class JobEntryBase
      Returns:
      true
    • getSQLStatements

      public List<org.pentaho.di.core.SQLStatement> getSQLStatements(Repository repository, org.pentaho.metastore.api.IMetaStore metaStore, org.pentaho.di.core.variables.VariableSpace space) throws org.pentaho.di.core.exception.KettleException
      Description copied from class: JobEntryBase
      Gets the SQL statements needed by this job entry to execute successfully, given a set of variables. For JobEntryBase, this method returns an empty list.
      Specified by:
      getSQLStatements in interface JobEntryInterface
      Overrides:
      getSQLStatements in class JobEntryBase
      Parameters:
      repository - the repository object
      metaStore - the MetaStore to use
      space - a variable space object containing variable bindings
      Returns:
      an empty list
      Throws:
      org.pentaho.di.core.exception.KettleException - if any errors occur during the generation of SQL statements
    • getDirectoryPath

      public String getDirectoryPath()
      Returns:
      Returns the directoryPath.
    • setDirectoryPath

      public void setDirectoryPath(String directoryPath)
      Parameters:
      directoryPath - The directoryPath to set.
    • isClustering

      public boolean isClustering()
      Returns:
      the clustering
    • setClustering

      public void setClustering(boolean clustering)
      Parameters:
      clustering - the clustering to set
    • check

      public void check(List<org.pentaho.di.core.CheckResultInterface> remarks, JobMeta jobMeta, org.pentaho.di.core.variables.VariableSpace space, Repository repository, org.pentaho.metastore.api.IMetaStore metaStore)
      Description copied from class: JobEntryBase
      Allows JobEntry objects to check themselves for consistency
      Specified by:
      check in interface JobEntryInterface
      Overrides:
      check in class JobEntryBase
      Parameters:
      remarks - List of CheckResult objects indicating consistency status
      jobMeta - the metadata object for the job entry
      space - the variable space to resolve string expressions with variables with
      repository - the repository to load Kettle objects from
      metaStore - the MetaStore to load common elements from
    • getResourceDependencies

      public List<ResourceReference> getResourceDependencies(JobMeta jobMeta)
      Description copied from class: JobEntryBase
      Gets a list of all the resource dependencies that the step is depending on. In JobEntryBase, this method returns an empty resource dependency list.
      Specified by:
      getResourceDependencies in interface JobEntryInterface
      Overrides:
      getResourceDependencies in class JobEntryBase
      Returns:
      an empty list of ResourceReferences
      See Also:
    • exportResources

      public String exportResources(org.pentaho.di.core.variables.VariableSpace space, Map<String,ResourceDefinition> definitions, ResourceNamingInterface namingInterface, Repository repository, org.pentaho.metastore.api.IMetaStore metaStore) throws org.pentaho.di.core.exception.KettleException
      We're going to load the transformation meta data referenced here. Then we're going to give it a new filename, modify that filename in this entries. The parent caller will have made a copy of it, so it should be OK to do so.

      Exports the object to a flat-file system, adding content with filename keys to a set of definitions. The supplied resource naming interface allows the object to name appropriately without worrying about those parts of the implementation specific details.

      Specified by:
      exportResources in interface JobEntryInterface
      Overrides:
      exportResources in class JobEntryBase
      Parameters:
      space - The variable space to resolve (environment) variables with.
      definitions - The map containing the filenames and content
      namingInterface - The resource naming interface allows the object to be named appropriately
      repository - The repository to load resources from
      metaStore - the metaStore to load external metadata from
      Returns:
      The filename for this object. (also contained in the definitions map)
      Throws:
      org.pentaho.di.core.exception.KettleException - in case something goes wrong during the export
    • getLogfile

      protected String getLogfile()
    • getRemoteSlaveServerName

      public String getRemoteSlaveServerName()
      Returns:
      the remote slave server name
    • setRemoteSlaveServerName

      public void setRemoteSlaveServerName(String remoteSlaveServerName)
      Specified by:
      setRemoteSlaveServerName in interface JobEntryRunConfigurableInterface
      Parameters:
      remoteSlaveServerName - the remote slave server name to set
    • isWaitingToFinish

      public boolean isWaitingToFinish()
      Returns:
      the waitingToFinish
    • setWaitingToFinish

      public void setWaitingToFinish(boolean waitingToFinish)
      Parameters:
      waitingToFinish - the waitingToFinish to set
    • isFollowingAbortRemotely

      public boolean isFollowingAbortRemotely()
      Returns:
      the followingAbortRemotely
    • setFollowingAbortRemotely

      public void setFollowingAbortRemotely(boolean followingAbortRemotely)
      Parameters:
      followingAbortRemotely - the followingAbortRemotely to set
    • isLoggingRemoteWork

      public boolean isLoggingRemoteWork()
    • setLoggingRemoteWork

      public void setLoggingRemoteWork(boolean loggingRemoteWork)
      Specified by:
      setLoggingRemoteWork in interface JobEntryRunConfigurableInterface
    • isPassingAllParameters

      public boolean isPassingAllParameters()
      Returns:
      the passingAllParameters
    • setPassingAllParameters

      public void setPassingAllParameters(boolean passingAllParameters)
      Parameters:
      passingAllParameters - the passingAllParameters to set
    • getRunConfiguration

      public String getRunConfiguration()
      Specified by:
      getRunConfiguration in interface JobEntryRunConfigurableInterface
    • setRunConfiguration

      public void setRunConfiguration(String runConfiguration)
      Specified by:
      setRunConfiguration in interface JobEntryRunConfigurableInterface
    • getTrans

      public Trans getTrans()
    • getTransObjectId

      public org.pentaho.di.repository.ObjectId getTransObjectId()
      Returns:
      the transObjectId
    • setTransObjectId

      public void setTransObjectId(org.pentaho.di.repository.ObjectId transObjectId)
      Parameters:
      transObjectId - the transObjectId to set
    • getSpecificationMethod

      public org.pentaho.di.core.ObjectLocationSpecificationMethod getSpecificationMethod()
      Returns:
      the specificationMethod
    • getSpecificationMethods

      public org.pentaho.di.core.ObjectLocationSpecificationMethod[] getSpecificationMethods()
      Description copied from interface: HasRepositoryDirectories
      If step has reference(s) to another transformation(s)/job(s) returns an array of specification method(s) defining the type of an access to a referenced file. An implementation is considered to define the array order itself.
      Specified by:
      getSpecificationMethods in interface HasRepositoryDirectories
      Returns:
      String array of specification method(s)
    • setSpecificationMethod

      public void setSpecificationMethod(org.pentaho.di.core.ObjectLocationSpecificationMethod specificationMethod)
      Parameters:
      specificationMethod - the specificationMethod to set
    • hasRepositoryReferences

      public boolean hasRepositoryReferences()
      Description copied from class: JobEntryBase
      Checks whether the job entry has repository references. For JobEntryBase, this method always returns false
      Specified by:
      hasRepositoryReferences in interface JobEntryInterface
      Overrides:
      hasRepositoryReferences in class JobEntryBase
      Returns:
      false
    • lookupRepositoryReferences

      public void lookupRepositoryReferences(Repository repository) throws org.pentaho.di.core.exception.KettleException
      Look up the references after import
      Specified by:
      lookupRepositoryReferences in interface JobEntryInterface
      Overrides:
      lookupRepositoryReferences in class JobEntryBase
      Parameters:
      repository - the repository to reference.
      Throws:
      org.pentaho.di.core.exception.KettleException - if any errors occur during the lookup
    • getReferencedObjectDescriptions

      public String[] getReferencedObjectDescriptions()
      Specified by:
      getReferencedObjectDescriptions in interface JobEntryInterface
      Overrides:
      getReferencedObjectDescriptions in class JobEntryBase
      Returns:
      The objects referenced in the step, like a a transformation, a job, a mapper, a reducer, a combiner, ...
    • isReferencedObjectEnabled

      public boolean[] isReferencedObjectEnabled()
      Specified by:
      isReferencedObjectEnabled in interface JobEntryInterface
      Overrides:
      isReferencedObjectEnabled in class JobEntryBase
      Returns:
      true for each referenced object that is enabled or has a valid reference definition.
    • loadReferencedObject

      public Object loadReferencedObject(int index, Repository rep, org.pentaho.metastore.api.IMetaStore metaStore, org.pentaho.di.core.variables.VariableSpace space) throws org.pentaho.di.core.exception.KettleException
      Load the referenced object
      Specified by:
      loadReferencedObject in interface JobEntryInterface
      Overrides:
      loadReferencedObject in class JobEntryBase
      Parameters:
      index - the referenced object index to load (in case there are multiple references)
      rep - the repository
      metaStore - metaStore
      space - the variable space to use
      Returns:
      the referenced object once loaded
      Throws:
      org.pentaho.di.core.exception.KettleException
    • setParentJobMeta

      public void setParentJobMeta(JobMeta parentJobMeta)
      Description copied from class: JobEntryBase
      At save and run time, the system will attempt to set the jobMeta so that it can be accessed by the jobEntries if necessary.
      Specified by:
      setParentJobMeta in interface JobEntryInterface
      Overrides:
      setParentJobMeta in class JobEntryBase
      Parameters:
      parentJobMeta - the JobMeta to which this JobEntryInterface belongs
    • prepareFieldNamesParameters

      public void prepareFieldNamesParameters(String[] parameters, String[] parameterFieldNames, String[] parameterValues, org.pentaho.di.core.parameters.NamedParams namedParam, JobEntryTrans jobEntryTrans) throws org.pentaho.di.core.parameters.UnknownParamException
      Throws:
      org.pentaho.di.core.parameters.UnknownParamException
    • isSuppressResultData

      public boolean isSuppressResultData()
    • setSuppressResultData

      public void setSuppressResultData(boolean suppressResultData)
    • callBeforeLog

      public void callBeforeLog()
      Specified by:
      callBeforeLog in interface org.pentaho.di.core.logging.LoggingObjectLifecycleInterface
    • callAfterLog

      public void callAfterLog()
      Specified by:
      callAfterLog in interface org.pentaho.di.core.logging.LoggingObjectLifecycleInterface