org.pentaho.di.job.entries.job
Class JobEntryJob

java.lang.Object
  extended by org.pentaho.di.job.entry.JobEntryBase
      extended by org.pentaho.di.job.entries.job.JobEntryJob
All Implemented Interfaces:
Cloneable, CheckResultSourceInterface, LoggingObjectInterface, VariableSpace, JobEntryInterface, ResourceHolderInterface

public class JobEntryJob
extends JobEntryBase
implements Cloneable, JobEntryInterface

Recursive definition of a Job. This step means that an entire Job has to be executed. It can be the same Job, but just make sure that you don't get an endless loop. Provide an escape routine using JobEval.

Since:
01-10-2003, Rewritten on 18-06-2004
Author:
Matt

Field Summary
 boolean addDate
           
 boolean addTime
           
 boolean argFromPrevious
           
 String[] arguments
           
 boolean createParentFolder
           
static LogLevel DEFAULT_LOG_LEVEL
           
 boolean execPerRow
           
 boolean followingAbortRemotely
           
 String logext
           
 String logfile
           
 LogLevel logFileLevel
           
 boolean parallel
           
 String[] parameterFieldNames
           
 String[] parameters
           
 String[] parameterValues
           
 boolean paramsFromPrevious
           
 boolean passingAllParameters
           
 boolean setAppendLogfile
           
 boolean setLogfile
           
 boolean waitingToFinish
           
 
Constructor Summary
JobEntryJob()
           
JobEntryJob(String name)
           
 
Method Summary
 void check(List<CheckResultInterface> remarks, JobMeta jobMeta)
          Support for overrides not having to put in a check method
 void clear()
           
 Object clone()
           
 boolean evaluates()
          check whether or not this job entry evaluates.
 Result execute(Result result, int nr)
           
 String exportResources(VariableSpace space, Map<String,ResourceDefinition> definitions, ResourceNamingInterface namingInterface, Repository repository)
          We're going to load the transformation meta data referenced here.
 String getDirectory()
           
 String getFilename()
           
 String getFileName()
          Deprecated. use getFilename() instead.
 Job getJob()
           
 JobMeta getJobMeta(Repository rep, VariableSpace space)
           
 String getJobName()
           
 ObjectId getJobObjectId()
           
 String getLogFilename()
           
 String getRealFilename()
           
 String getRemoteSlaveServerName()
           
 List<ResourceReference> getResourceDependencies(JobMeta jobMeta)
          Get a list of all the resource dependencies that the step is depending on.
 ObjectLocationSpecificationMethod getSpecificationMethod()
           
 List<SQLStatement> getSQLStatements(Repository repository)
           
 List<SQLStatement> getSQLStatements(Repository repository, VariableSpace space)
           
 String getXML()
           
 boolean hasRepositoryReferences()
           
 boolean isExecPerRow()
           
 boolean isFollowingAbortRemotely()
           
 boolean isPassingAllParameters()
           
 boolean isPassingExport()
           
 boolean isUnconditional()
           
 boolean isWaitingToFinish()
           
 void loadRep(Repository rep, ObjectId id_jobentry, List<DatabaseMeta> databases, List<SlaveServer> slaveServers)
          Load the jobentry from repository
 void loadXML(Node entrynode, List<DatabaseMeta> databases, List<SlaveServer> slaveServers, Repository rep)
           
 void lookupRepositoryReferences(Repository repository)
          Look up the references after import
static void main(String[] args)
           
 void saveRep(Repository rep, ObjectId id_job)
           
 void setDirectory(String directory)
           
 void setExecPerRow(boolean runEveryResultRow)
           
 void setFileName(String n)
           
 void setFollowingAbortRemotely(boolean followingAbortRemotely)
           
 void setJobName(String jobname)
           
 void setJobObjectId(ObjectId jobObjectId)
           
 void setPassingAllParameters(boolean passingAllParameters)
           
 void setPassingExport(boolean passingExport)
           
 void setRemoteSlaveServerName(String remoteSlaveServerName)
           
 void setSpecificationMethod(ObjectLocationSpecificationMethod specificationMethod)
           
 void setWaitingToFinish(boolean waitingToFinish)
           
 
Methods inherited from class org.pentaho.di.job.entry.JobEntryBase
copyVariablesFrom, environmentSubstitute, environmentSubstitute, equals, getBooleanValueOfVariable, getContainerObjectId, getDescription, getDialogClassName, getHolderType, getLogChannel, getLogChannelId, getLogLevel, getName, getObjectCopy, getObjectId, getObjectName, getObjectRevision, getObjectType, getParent, getParentJob, getParentVariableSpace, getPluginId, getRegistrationDate, getRepository, getRepositoryDirectory, getTypeDesc, getTypeId, getUsedDatabaseConnections, getVariable, getVariable, hasChanged, initializeVariablesFrom, injectVariables, isBasic, isDebug, isDetailed, isDummy, isEvaluation, isFTP, isHTTP, isJob, isMail, isRowlevel, isSFTP, isShell, isSpecial, isStart, isTransformation, listVariables, loadXML, logBasic, logBasic, logDebug, logDebug, logDetailed, logDetailed, logError, logError, logError, logMinimal, logMinimal, logRowlevel, logRowlevel, parseRepositoryObjects, resetErrorsBeforeExecution, setChanged, setChanged, setContainerObjectId, setDescription, setID, setLogLevel, setName, setObjectId, setParentJob, setParentVariableSpace, setPluginId, setRepository, setTypeId, setVariable, shareVariablesWith, toString
 
Methods inherited from class java.lang.Object
getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.pentaho.di.job.entry.JobEntryInterface
getDescription, getDialogClassName, getLogChannel, getName, getObjectId, getParentJob, getPluginId, getTypeId, getUsedDatabaseConnections, hasChanged, isDummy, isEvaluation, isJob, isMail, isShell, isSpecial, isStart, isTransformation, resetErrorsBeforeExecution, setChanged, setChanged, setDescription, setName, setObjectId, setParentJob, setPluginId, setRepository
 

Field Detail

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

setLogfile

public boolean setLogfile

logfile

public String logfile

logext

public String logext

addDate

public boolean addDate

addTime

public boolean addTime

logFileLevel

public LogLevel logFileLevel

parallel

public boolean parallel

setAppendLogfile

public boolean setAppendLogfile

createParentFolder

public boolean createParentFolder

waitingToFinish

public boolean waitingToFinish

followingAbortRemotely

public boolean followingAbortRemotely

passingAllParameters

public boolean passingAllParameters

DEFAULT_LOG_LEVEL

public static final LogLevel DEFAULT_LOG_LEVEL
Constructor Detail

JobEntryJob

public JobEntryJob(String name)

JobEntryJob

public JobEntryJob()
Method Detail

clone

public Object clone()
Specified by:
clone in interface JobEntryInterface
Overrides:
clone in class JobEntryBase

setFileName

public void setFileName(String n)

getFileName

public String getFileName()
Deprecated. use getFilename() instead.

Returns:
the filename

getFilename

public String getFilename()
Specified by:
getFilename in interface LoggingObjectInterface
Specified by:
getFilename in interface JobEntryInterface
Overrides:
getFilename in class JobEntryBase
Returns:
the filename

getRealFilename

public String getRealFilename()
Specified by:
getRealFilename in interface JobEntryInterface
Overrides:
getRealFilename in class JobEntryBase

setJobName

public void setJobName(String jobname)

getJobName

public String getJobName()

getDirectory

public String getDirectory()

setDirectory

public void setDirectory(String directory)

isPassingExport

public boolean isPassingExport()

setPassingExport

public void setPassingExport(boolean passingExport)

getLogFilename

public String getLogFilename()

getXML

public String getXML()
Specified by:
getXML in interface JobEntryInterface
Overrides:
getXML in class JobEntryBase

loadXML

public void loadXML(Node entrynode,
                    List<DatabaseMeta> databases,
                    List<SlaveServer> slaveServers,
                    Repository rep)
             throws KettleXMLException
Specified by:
loadXML in interface JobEntryInterface
Throws:
KettleXMLException

loadRep

public void loadRep(Repository rep,
                    ObjectId id_jobentry,
                    List<DatabaseMeta> databases,
                    List<SlaveServer> slaveServers)
             throws KettleException
Load the jobentry from repository

Specified by:
loadRep in interface JobEntryInterface
Overrides:
loadRep in class JobEntryBase
Throws:
KettleException

saveRep

public void saveRep(Repository rep,
                    ObjectId id_job)
             throws KettleException
Specified by:
saveRep in interface JobEntryInterface
Overrides:
saveRep in class JobEntryBase
Throws:
KettleException

execute

public Result execute(Result result,
                      int nr)
               throws KettleException
Specified by:
execute in interface JobEntryInterface
Throws:
KettleException

clear

public void clear()
Specified by:
clear in interface JobEntryInterface
Overrides:
clear in class JobEntryBase

evaluates

public boolean evaluates()
Description copied from class: JobEntryBase
check whether or not this job entry evaluates.

Specified by:
evaluates in interface JobEntryInterface
Overrides:
evaluates in class JobEntryBase
Returns:
true if the job entry evaluates

isUnconditional

public boolean isUnconditional()
Specified by:
isUnconditional in interface JobEntryInterface
Overrides:
isUnconditional in class JobEntryBase

getSQLStatements

public List<SQLStatement> getSQLStatements(Repository repository)
                                    throws KettleException
Specified by:
getSQLStatements in interface JobEntryInterface
Overrides:
getSQLStatements in class JobEntryBase
Throws:
KettleException

getSQLStatements

public List<SQLStatement> getSQLStatements(Repository repository,
                                           VariableSpace space)
                                    throws KettleException
Specified by:
getSQLStatements in interface JobEntryInterface
Overrides:
getSQLStatements in class JobEntryBase
Throws:
KettleException

getJobMeta

public JobMeta getJobMeta(Repository rep,
                          VariableSpace space)
                   throws KettleException
Throws:
KettleException

isExecPerRow

public boolean isExecPerRow()
Returns:
Returns the runEveryResultRow.

setExecPerRow

public void setExecPerRow(boolean runEveryResultRow)
Parameters:
runEveryResultRow - The runEveryResultRow to set.

getResourceDependencies

public List<ResourceReference> getResourceDependencies(JobMeta jobMeta)
Description copied from class: JobEntryBase
Get a list of all the resource dependencies that the step is depending on.

Specified by:
getResourceDependencies in interface JobEntryInterface
Overrides:
getResourceDependencies in class JobEntryBase
Returns:
a list of all the resource dependencies that the step is depending on

exportResources

public String exportResources(VariableSpace space,
                              Map<String,ResourceDefinition> definitions,
                              ResourceNamingInterface namingInterface,
                              Repository repository)
                       throws 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.

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 name appropriately
repository - The repository to load resources from
Returns:
The filename for this object. (also contained in the definitions map)
Throws:
KettleException - in case something goes wrong during the export

check

public void check(List<CheckResultInterface> remarks,
                  JobMeta jobMeta)
Description copied from class: JobEntryBase
Support for overrides not having to put in a check method

Specified by:
check in interface JobEntryInterface
Overrides:
check in class JobEntryBase
Parameters:
remarks - CheckResults from checking the job entry
jobMeta - JobMeta information letting threading back to the JobMeta possible

main

public static void main(String[] args)

getRemoteSlaveServerName

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

setRemoteSlaveServerName

public void setRemoteSlaveServerName(String remoteSlaveServerName)
Parameters:
remoteSlaveServerName - the remoteSlaveServer 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

isPassingAllParameters

public boolean isPassingAllParameters()
Returns:
the passingAllParameters

setPassingAllParameters

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

getJob

public Job getJob()

getJobObjectId

public ObjectId getJobObjectId()
Returns:
the jobObjectId

setJobObjectId

public void setJobObjectId(ObjectId jobObjectId)
Parameters:
jobObjectId - the jobObjectId to set

getSpecificationMethod

public ObjectLocationSpecificationMethod getSpecificationMethod()
Returns:
the specificationMethod

setSpecificationMethod

public void setSpecificationMethod(ObjectLocationSpecificationMethod specificationMethod)
Parameters:
specificationMethod - the specificationMethod to set

hasRepositoryReferences

public boolean hasRepositoryReferences()
Specified by:
hasRepositoryReferences in interface JobEntryInterface
Overrides:
hasRepositoryReferences in class JobEntryBase
Returns:
True if the job entry defines one or more references to a repository object.

lookupRepositoryReferences

public void lookupRepositoryReferences(Repository repository)
                                throws 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:
KettleException