org.pentaho.di.job.entries.shell
Class JobEntryShell

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

public class JobEntryShell
extends JobEntryBase
implements Cloneable, JobEntryInterface

Shell type of Job Entry. You can define shell scripts to be executed in a Job.

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

Field Summary
 boolean addDate
           
 boolean addTime
           
 boolean argFromPrevious
           
 String[] arguments
           
 boolean execPerRow
           
 boolean insertScript
           
 String logext
           
 String logfile
           
 LogLevel logFileLevel
           
 String script
           
 boolean setAppendLogfile
           
 boolean setLogfile
           
 
Constructor Summary
JobEntryShell()
           
JobEntryShell(String name)
           
 
Method Summary
 void check(List<CheckResultInterface> remarks, JobMeta jobMeta)
          Support for overrides not having to put in a check method.
 void clear()
          Clears all variable values
 Object clone()
          This method is called when a job entry is duplicated in Spoon.
 boolean evaluates()
          This method must return true if the job entry supports the true/false outgoing hops.
 Result execute(Result result, int nr)
          Execute the job entry.
 String getFilename()
          Gets the filename of the job entry.
 String getLogFilename()
           
 String getRealFilename()
          Gets the real filename of the job entry, by substituting any environment variables present in the filename.
 List<ResourceReference> getResourceDependencies(JobMeta jobMeta)
          Gets a list of all the resource dependencies that the step is depending on.
 String getScript()
           
 String getWorkDirectory()
           
 String getXML()
          This method is called by PDI whenever a job entry needs to serialize its settings to XML.
 boolean isUnconditional()
          This method must return true if the job entry supports the unconditional outgoing hop.
 void loadRep(Repository rep, ObjectId id_jobentry, List<DatabaseMeta> databases, List<SlaveServer> slaveServers)
          This method is called by PDI whenever a job entry needs to read its configuration from a PDI repository.
 void loadXML(Node entrynode, List<DatabaseMeta> databases, List<SlaveServer> slaveServers, Repository rep)
          This method is called by PDI whenever a job entry needs to read its settings from XML.
 void saveRep(Repository rep, ObjectId id_job)
          This method is called by PDI whenever a job entry needs to save its settings to a PDI repository.
 void setFileName(String n)
           
 void setScript(String scriptin)
           
 void setWorkDirectory(String n)
           
 
Methods inherited from class org.pentaho.di.job.entry.JobEntryBase
copyVariablesFrom, environmentSubstitute, environmentSubstitute, equals, exportResources, getBooleanValueOfVariable, getContainerObjectId, getDescription, getDialogClassName, getHolderType, getLogChannel, getLogChannelId, getLogLevel, getName, getObjectCopy, getObjectId, getObjectName, getObjectRevision, getObjectType, getParent, getParentJob, getParentVariableSpace, getPluginId, getRegistrationDate, getRepository, getRepositoryDirectory, getSQLStatements, getSQLStatements, getTypeDesc, getTypeId, getUsedDatabaseConnections, getVariable, getVariable, hasChanged, hasRepositoryReferences, 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, lookupRepositoryReferences, 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
exportResources, getDescription, getDialogClassName, getLogChannel, getName, getObjectId, getParentJob, getPluginId, getSQLStatements, getSQLStatements, getTypeId, getUsedDatabaseConnections, hasChanged, hasRepositoryReferences, isDummy, isEvaluation, isJob, isMail, isShell, isSpecial, isStart, isTransformation, lookupRepositoryReferences, resetErrorsBeforeExecution, setChanged, setChanged, setDescription, setName, setObjectId, setParentJob, setPluginId, setRepository
 

Field Detail

arguments

public String[] arguments

argFromPrevious

public boolean argFromPrevious

setLogfile

public boolean setLogfile

logfile

public String logfile

logext

public String logext

addDate

public boolean addDate

addTime

public boolean addTime

logFileLevel

public LogLevel logFileLevel

execPerRow

public boolean execPerRow

setAppendLogfile

public boolean setAppendLogfile

insertScript

public boolean insertScript

script

public String script
Constructor Detail

JobEntryShell

public JobEntryShell(String name)

JobEntryShell

public JobEntryShell()
Method Detail

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

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<DatabaseMeta> databases,
                    List<SlaveServer> slaveServers,
                    Repository rep)
             throws 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
Parameters:
entrynode - the top-level XML node
databases - the list of databases
slaveServers - the list of slave servers
rep - the repository object
Throws:
KettleXMLException - if any errors occur during the loading of the XML

loadRep

public void loadRep(Repository rep,
                    ObjectId id_jobentry,
                    List<DatabaseMeta> databases,
                    List<SlaveServer> slaveServers)
             throws KettleException
Description copied from class: JobEntryBase
This method is called by PDI whenever a job entry needs to read its configuration from a PDI repository. For JobEntryBase, this method performs no operations.

Specified by:
loadRep in interface JobEntryInterface
Overrides:
loadRep in class JobEntryBase
Parameters:
rep - the repository object
id_jobentry - the id of the job entry
databases - the list of databases
slaveServers - the list of slave servers
Throws:
KettleException - if any errors occur during the load

saveRep

public void saveRep(Repository rep,
                    ObjectId id_job)
             throws KettleException
Description copied from class: JobEntryBase
This method is called by PDI whenever a job entry needs to save its settings to a PDI repository. For JobEntryBase, this method performs no operations

Specified by:
saveRep in interface JobEntryInterface
Overrides:
saveRep in class JobEntryBase
Parameters:
rep - the repository object
id_job - the id_job
Throws:
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

setFileName

public void setFileName(String n)

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 LoggingObjectInterface
Specified by:
getFilename in interface JobEntryInterface
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

setWorkDirectory

public void setWorkDirectory(String n)

getWorkDirectory

public String getWorkDirectory()

setScript

public void setScript(String scriptin)

getScript

public String getScript()

getLogFilename

public String getLogFilename()

execute

public Result execute(Result result,
                      int nr)
               throws KettleException
Description copied from interface: JobEntryInterface
Execute the job entry. The previous result and number of rows are provided to the method for the purpose of chaining job entries, transformations, etc.

Specified by:
execute in interface JobEntryInterface
Parameters:
result - the previous result
nr - the number of rows
Returns:
the Result object from execution of this job entry
Throws:
KettleException - if any Kettle exceptions occur

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

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:
ResourceReference

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. For JobEntryBase, this method performs no operations.

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