Class JobEntryZipFile

  • 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 JobEntryZipFile
    extends JobEntryBase
    implements Cloneable, JobEntryInterface
    This defines a 'zip file' job entry. Its main use would be to zip files in a directory and process zipped files (deleted or move).
    Since:
    27-02-2007
    Author:
    Samatar Hassan
    • Field Detail

      • compressionRate

        public int compressionRate
      • ifZipFileExists

        public int ifZipFileExists
      • afterZip

        public int afterZip
    • Constructor Detail

      • JobEntryZipFile

        public JobEntryZipFile​(String n)
        Default constructor.
      • JobEntryZipFile

        public JobEntryZipFile()
    • 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<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
      • processRowFile

        public boolean processRowFile​(Job parentJob,
                                      org.pentaho.di.core.Result result,
                                      String realZipfilename,
                                      String realWildcard,
                                      String realWildcardExclude,
                                      String realSourceDirectoryOrFile,
                                      String realMovetodirectory,
                                      boolean createparentfolder)
      • 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
      • getFullFilename

        public String getFullFilename​(String filename,
                                      boolean addDate,
                                      boolean addTime,
                                      boolean specifyFormat,
                                      String datetimeFormat)
      • 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
      • setZipFilename

        public void setZipFilename​(String zipFilename)
      • setWildcard

        public void setWildcard​(String wildcard)
      • setWildcardExclude

        public void setWildcardExclude​(String wildcardexclude)
      • setSourceDirectory

        public void setSourceDirectory​(String sourcedirectory)
      • setMoveToDirectory

        public void setMoveToDirectory​(String movetodirectory)
      • getSourceDirectory

        public String getSourceDirectory()
      • getMoveToDirectory

        public String getMoveToDirectory()
      • getZipFilename

        public String getZipFilename()
      • isCreateMoveToDirectory

        public boolean isCreateMoveToDirectory()
      • setCreateMoveToDirectory

        public void setCreateMoveToDirectory​(boolean createMoveToDirectory)
      • getWildcard

        public String getWildcard()
      • getWildcardExclude

        public String getWildcardExclude()
      • setAddFileToResult

        public void setAddFileToResult​(boolean addfiletoresultin)
      • isAddFileToResult

        public boolean isAddFileToResult()
      • setcreateparentfolder

        public void setcreateparentfolder​(boolean createparentfolder)
      • setDateInFilename

        public void setDateInFilename​(boolean adddate)
      • isDateInFilename

        public boolean isDateInFilename()
      • setTimeInFilename

        public void setTimeInFilename​(boolean addtime)
      • isTimeInFilename

        public boolean isTimeInFilename()
      • isSpecifyFormat

        public boolean isSpecifyFormat()
      • setSpecifyFormat

        public void setSpecifyFormat​(boolean SpecifyFormat)
      • getDateTimeFormat

        public String getDateTimeFormat()
      • setDateTimeFormat

        public void setDateTimeFormat​(String date_time_format)
      • getcreateparentfolder

        public boolean getcreateparentfolder()
      • setDatafromprevious

        public void setDatafromprevious​(boolean isfromprevious)
      • getDatafromprevious

        public boolean getDatafromprevious()
      • 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
      • isIncludingSubFolders

        public boolean isIncludingSubFolders()
        Returns:
        true if the search for files to zip in a folder include sub-folders
      • setIncludingSubFolders

        public void setIncludingSubFolders​(boolean includesSubFolders)
        Parameters:
        includesSubFolders - Set to true if the search for files to zip in a folder needs to include sub-folders
      • getStoredSourcePathDepth

        public String getStoredSourcePathDepth()
      • setStoredSourcePathDepth

        public void setStoredSourcePathDepth​(String storedSourcePathDepth)
      • moveFilesToDestinationFolder

        public boolean moveFilesToDestinationFolder​(org.apache.commons.vfs2.FileObject sourceFileOrFolder,
                                                    org.apache.commons.vfs2.FileObject fileObjectd,
                                                    String realMovetodirectory,
                                                    boolean isSourceDirectory,
                                                    org.apache.commons.vfs2.FileObject zippedFile)