Class JobEntryFileCompare

java.lang.Object
org.pentaho.di.job.entry.JobEntryBase
org.pentaho.di.job.entries.filecompare.JobEntryFileCompare
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 JobEntryFileCompare extends JobEntryBase implements Cloneable, JobEntryInterface
This defines a 'file compare' job entry. It will compare 2 files in a binary way, and will either follow the true flow upon the files being the same or the false flow otherwise.
Since:
01-02-2007
Author:
Sven Boden
  • Constructor Details

    • JobEntryFileCompare

      public JobEntryFileCompare(String n)
    • JobEntryFileCompare

      public JobEntryFileCompare()
  • 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
    • 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
    • getRealFilename1

      public String getRealFilename1()
    • getRealFilename2

      public String getRealFilename2()
    • equalFileContents

      protected boolean equalFileContents(org.apache.commons.vfs2.FileObject file1, org.apache.commons.vfs2.FileObject file2) throws org.pentaho.di.core.exception.KettleFileException
      Check whether 2 files have the same contents.
      Parameters:
      file1 - first file to compare
      file2 - second file to compare
      Returns:
      true if files are equal, false if they are not
      Throws:
      IOException - upon IO problems
      org.pentaho.di.core.exception.KettleFileException
    • execute

      public org.pentaho.di.core.Result execute(org.pentaho.di.core.Result previousResult, int nr)
      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:
      previousResult - the previous result
      nr - the number of rows
      Returns:
      the Result object from execution of this job entry
    • 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
    • setFilename1

      public void setFilename1(String filename)
    • getFilename1

      public String getFilename1()
    • setFilename2

      public void setFilename2(String filename)
    • getFilename2

      public String getFilename2()
    • isAddFilenameToResult

      public boolean isAddFilenameToResult()
    • setAddFilenameToResult

      public void setAddFilenameToResult(boolean addFilenameToResult)
    • 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:
    • 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
    • getParentJobMeta

      public JobMeta getParentJobMeta()
      Description copied from interface: JobEntryInterface
      Return Gets the parent jobMeta. This default method will throw an exception if a job entry attempts to call the getter when not implemented.
      Specified by:
      getParentJobMeta in interface JobEntryInterface
      Overrides:
      getParentJobMeta in class JobEntryBase
      Returns:
      The parent jobMeta at save and during execution.
    • 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