Package org.pentaho.di.job.entries.shell
Class JobEntryShell
- java.lang.Object
-
- org.pentaho.di.job.entry.JobEntryBase
-
- org.pentaho.di.job.entries.shell.JobEntryShell
-
- 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
,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
Fields Modifier and Type Field Description boolean
addDate
boolean
addTime
boolean
argFromPrevious
String[]
arguments
boolean
execPerRow
boolean
insertScript
String
logext
String
logfile
org.pentaho.di.core.logging.LogLevel
logFileLevel
String
script
boolean
setAppendLogfile
boolean
setLogfile
-
Fields inherited from class org.pentaho.di.job.entry.JobEntryBase
attributesMap, containerObjectId, entryStepSetVariablesMap, extensionDataMap, log, metaStore, parentJob, parentJobMeta, rep, variables
-
-
Constructor Summary
Constructors Constructor Description JobEntryShell()
JobEntryShell(String name)
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description void
allocate(int nrFields)
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)
Allows JobEntry objects to check themselves for consistencyvoid
clear()
Clears all variable valuesObject
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.org.pentaho.di.core.Result
execute(org.pentaho.di.core.Result result, int nr)
Execute the job entry.String
getFilename()
Gets the filename of the job entry.protected String
getLogfile()
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, org.pentaho.metastore.api.IMetaStore metaStore, org.pentaho.di.repository.ObjectId id_jobentry, List<org.pentaho.di.core.database.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<org.pentaho.di.core.database.DatabaseMeta> databases, List<SlaveServer> slaveServers, Repository rep, org.pentaho.metastore.api.IMetaStore metaStore)
This method is called by PDI whenever a job entry needs to read its settings from XML.void
saveRep(Repository rep, org.pentaho.metastore.api.IMetaStore metaStore, org.pentaho.di.repository.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
setFileName(String n)
Deprecated.usesetFilename(String)
insteadvoid
setScript(String scriptin)
void
setWorkDirectory(String n)
-
Methods inherited from class org.pentaho.di.job.entry.JobEntryBase
addDatetimeToFilename, check, copyVariablesFrom, environmentSubstitute, environmentSubstitute, equals, exportResources, exportResources, fieldSubstitute, getAttribute, getAttributes, getAttributesMap, getBooleanValueOfVariable, getContainerObjectId, getDescription, getDialogClassName, getEntryStepSetVariable, getEntryStepSetVariablesMap, getExtensionDataMap, getHolderType, getLogChannel, getLogChannelId, getLogLevel, getMetaStore, getName, getObjectCopy, getObjectId, getObjectName, getObjectRevision, getObjectType, getParent, getParentJob, getParentJobMeta, getParentVariableSpace, getPluginId, getReferencedObjectDescriptions, getRegistrationDate, getRepository, getRepositoryDirectory, getSQLStatements, getSQLStatements, getSQLStatements, getTypeDesc, getTypeId, getUsedDatabaseConnections, getVariable, getVariable, getVariables, hasChanged, hashCode, hasRepositoryReferences, initializeVariablesFrom, injectVariables, isBasic, isDebug, isDetailed, isDummy, isEvaluation, isForcingSeparateLogging, isFTP, isGatheringMetrics, isHTTP, isJob, isLoggingObjectInUse, isMail, isReferencedObjectEnabled, isRowlevel, isSFTP, isShell, isSpecial, isStart, isTransformation, listVariables, loadReferencedObject, loadReferencedObject, loadRep, loadXML, loadXML, logBasic, logBasic, logDebug, logDebug, logDetailed, logDetailed, logError, logError, logError, logMinimal, logMinimal, logRowlevel, logRowlevel, lookupRepositoryReferences, parseRepositoryObjects, resetErrorsBeforeExecution, saveRep, setAttribute, setAttributes, setAttributesMap, setChanged, setChanged, setContainerObjectId, setDescription, setEntryStepSetVariable, setForcingSeparateLogging, setGatheringMetrics, setID, setLoggingObjectInUse, setLogLevel, setMetaStore, setName, setObjectId, setParentJob, setParentJobMeta, setParentVariableSpace, setPluginId, setRepository, setTypeId, setVariable, shareVariablesWith, toString
-
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.pentaho.di.job.entry.JobEntryInterface
check, exportResources, exportResources, getDescription, getDialogClassName, getLogChannel, getName, getObjectId, getParentJob, getParentJobMeta, getPluginId, getReferencedObjectDescriptions, getSQLStatements, getSQLStatements, getSQLStatements, getTypeId, getUsedDatabaseConnections, hasChanged, hasRepositoryReferences, isDummy, isEvaluation, isJob, isMail, isReferencedObjectEnabled, isShell, isSpecial, isStart, isTransformation, loadReferencedObject, loadReferencedObject, loadRep, loadXML, lookupRepositoryReferences, resetErrorsBeforeExecution, saveRep, setChanged, setChanged, setDescription, setMetaStore, setName, setObjectId, setParentJob, setParentJobMeta, 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 org.pentaho.di.core.logging.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
-
allocate
public void allocate(int nrFields)
-
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 interfaceJobEntryInterface
- Overrides:
clone
in classJobEntryBase
- 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 interfaceJobEntryInterface
- Overrides:
getXML
in classJobEntryBase
- 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 interfaceJobEntryInterface
- Overrides:
loadXML
in classJobEntryBase
- Parameters:
entrynode
- the top-level XML nodedatabases
- the list of databasesslaveServers
- the list of slave serversrep
- the repository objectmetaStore
- 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 interfaceJobEntryInterface
- Overrides:
loadRep
in classJobEntryBase
- Parameters:
rep
- the repository objectmetaStore
- the MetaStore to useid_jobentry
- the id of the job entrydatabases
- the list of databasesslaveServers
- 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 interfaceJobEntryInterface
- Overrides:
saveRep
in classJobEntryBase
- Parameters:
rep
- the repositorymetaStore
- the MetaStore to useid_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 interfaceJobEntryInterface
- Overrides:
clear
in classJobEntryBase
-
setFileName
@Deprecated public void setFileName(String n)
Deprecated.usesetFilename(String)
instead- Parameters:
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 interfaceJobEntryInterface
- Specified by:
getFilename
in interfaceorg.pentaho.di.core.logging.LoggingObjectInterface
- Overrides:
getFilename
in classJobEntryBase
- Returns:
- null
- See Also:
LoggingObjectInterface.getFilename()
-
setFilename
public void setFilename(String n)
-
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 interfaceJobEntryInterface
- Overrides:
getRealFilename
in classJobEntryBase
- Returns:
- null
-
getWorkDirectory
public String getWorkDirectory()
-
setWorkDirectory
public void setWorkDirectory(String n)
-
getScript
public String getScript()
-
setScript
public void setScript(String scriptin)
-
getLogFilename
public String getLogFilename()
-
execute
public org.pentaho.di.core.Result execute(org.pentaho.di.core.Result result, int nr) throws org.pentaho.di.core.exception.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 interfaceJobEntryInterface
- Parameters:
result
- the previous resultnr
- the number of rows- Returns:
- the Result object from execution of this job entry
- Throws:
org.pentaho.di.core.exception.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 interfaceJobEntryInterface
- Overrides:
evaluates
in classJobEntryBase
- 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 interfaceJobEntryInterface
- Overrides:
isUnconditional
in classJobEntryBase
- 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 interfaceJobEntryInterface
- Overrides:
getResourceDependencies
in classJobEntryBase
- Returns:
- an empty list of ResourceReferences
- See Also:
ResourceReference
-
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 interfaceJobEntryInterface
- Overrides:
check
in classJobEntryBase
- Parameters:
remarks
- List of CheckResult objects indicating consistency statusjobMeta
- the metadata object for the job entryspace
- the variable space to resolve string expressions with variables withrepository
- the repository to load Kettle objects frommetaStore
- the MetaStore to load common elements from
-
getLogfile
protected String getLogfile()
-
-