Class JobEntryFTP

  • 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 JobEntryFTP
    extends JobEntryBase
    implements Cloneable, JobEntryInterface
    This defines an FTP job entry.
    Since:
    05-11-2003
    Author:
    Matt
    • Field Detail

      • ifFileExistsSkip

        public int ifFileExistsSkip
      • SifFileExistsSkip

        public String SifFileExistsSkip
      • ifFileExistsCreateUniq

        public int ifFileExistsCreateUniq
      • SifFileExistsCreateUniq

        public String SifFileExistsCreateUniq
      • ifFileExistsFail

        public int ifFileExistsFail
      • SifFileExistsFail

        public String SifFileExistsFail
      • ifFileExists

        public int ifFileExists
      • SifFileExists

        public String SifFileExists
      • SUCCESS_IF_AT_LEAST_X_FILES_DOWNLOADED

        public String SUCCESS_IF_AT_LEAST_X_FILES_DOWNLOADED
      • SUCCESS_IF_ERRORS_LESS

        public String SUCCESS_IF_ERRORS_LESS
      • SUCCESS_IF_NO_ERRORS

        public String SUCCESS_IF_NO_ERRORS
    • Constructor Detail

      • JobEntryFTP

        public JobEntryFTP​(String n)
      • JobEntryFTP

        public JobEntryFTP()
    • 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
      • setLimit

        public void setLimit​(String nr_limitin)
      • getLimit

        public String getLimit()
      • setSuccessCondition

        public void setSuccessCondition​(String success_condition)
      • getSuccessCondition

        public String getSuccessCondition()
      • setCreateMoveFolder

        public void setCreateMoveFolder​(boolean createmovefolderin)
      • isCreateMoveFolder

        public boolean isCreateMoveFolder()
      • setAddDateBeforeExtension

        public void setAddDateBeforeExtension​(boolean AddDateBeforeExtension)
      • isAddDateBeforeExtension

        public boolean isAddDateBeforeExtension()
      • setAddToResult

        public void setAddToResult​(boolean isaddresultin)
      • isAddToResult

        public boolean isAddToResult()
      • 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)
      • isMoveFiles

        public boolean isMoveFiles()
        Returns:
        Returns the movefiles.
      • setMoveFiles

        public void setMoveFiles​(boolean movefilesin)
        Parameters:
        movefilesin - The movefiles to set.
      • getMoveToDirectory

        public String getMoveToDirectory()
        Returns:
        Returns the movetodirectory.
      • setMoveToDirectory

        public void setMoveToDirectory​(String movetoin)
        Parameters:
        movetoin - The movetodirectory to set.
      • isBinaryMode

        public boolean isBinaryMode()
        Returns:
        Returns the binaryMode.
      • setBinaryMode

        public void setBinaryMode​(boolean binaryMode)
        Parameters:
        binaryMode - The binaryMode to set.
      • getFtpDirectory

        public String getFtpDirectory()
        Returns:
        Returns the directory.
      • setFtpDirectory

        public void setFtpDirectory​(String directory)
        Parameters:
        directory - The directory to set.
      • getPassword

        public String getPassword()
        Returns:
        Returns the password.
      • setPassword

        public void setPassword​(String password)
        Parameters:
        password - The password to set.
      • getServerName

        public String getServerName()
        Returns:
        Returns the serverName.
      • setServerName

        public void setServerName​(String serverName)
        Parameters:
        serverName - The serverName to set.
      • getPort

        public String getPort()
        Returns:
        Returns the port.
      • setPort

        public void setPort​(String port)
        Parameters:
        port - The port to set.
      • getUserName

        public String getUserName()
        Returns:
        Returns the userName.
      • setUserName

        public void setUserName​(String userName)
        Parameters:
        userName - The userName to set.
      • getWildcard

        public String getWildcard()
        Returns:
        Returns the wildcard.
      • setWildcard

        public void setWildcard​(String wildcard)
        Parameters:
        wildcard - The wildcard to set.
      • getTargetDirectory

        public String getTargetDirectory()
        Returns:
        Returns the targetDirectory.
      • setTargetDirectory

        public void setTargetDirectory​(String targetDirectory)
        Parameters:
        targetDirectory - The targetDirectory to set.
      • setTimeout

        public void setTimeout​(int timeout)
        Parameters:
        timeout - The timeout to set.
      • getTimeout

        public int getTimeout()
        Returns:
        Returns the timeout.
      • setRemove

        public void setRemove​(boolean remove)
        Parameters:
        remove - The remove to set.
      • getRemove

        public boolean getRemove()
        Returns:
        Returns the remove.
      • isOnlyGettingNewFiles

        public boolean isOnlyGettingNewFiles()
        Returns:
        Returns the onlyGettingNewFiles.
      • setOnlyGettingNewFiles

        public void setOnlyGettingNewFiles​(boolean onlyGettingNewFilesin)
        Parameters:
        onlyGettingNewFiles - The onlyGettingNewFiles to set.
      • getControlEncoding

        public String getControlEncoding()
        Get the control encoding to be used for ftp'ing
        Returns:
        the used encoding
      • setControlEncoding

        public void setControlEncoding​(String encoding)
        Set the encoding to be used for ftp'ing. This determines how names are translated in dir e.g. It does impact the contents of the files being ftp'ed.
        Parameters:
        encoding - The encoding to be used.
      • getProxyHost

        public String getProxyHost()
        Returns:
        Returns the hostname of the ftp-proxy.
      • setProxyHost

        public void setProxyHost​(String proxyHost)
        Parameters:
        proxyHost - The hostname of the proxy.
      • setProxyPassword

        public void setProxyPassword​(String proxyPassword)
        Parameters:
        proxyPassword - The password which is used to authenticate at the socks proxy.
      • getProxyPassword

        public String getProxyPassword()
        Returns:
        Returns the password which is used to authenticate at the proxy.
      • setSocksProxyPassword

        public void setSocksProxyPassword​(String socksProxyPassword)
        Parameters:
        proxyPassword - The password which is used to authenticate at the proxy.
      • getSocksProxyPassword

        public String getSocksProxyPassword()
        Returns:
        Returns the password which is used to authenticate at the socks proxy.
      • setProxyPort

        public void setProxyPort​(String proxyPort)
        Parameters:
        proxyPort - The port of the ftp-proxy.
      • getProxyPort

        public String getProxyPort()
        Returns:
        Returns the port of the ftp-proxy.
      • getProxyUsername

        public String getProxyUsername()
        Returns:
        Returns the username which is used to authenticate at the proxy.
      • setProxyUsername

        public void setProxyUsername​(String proxyUsername)
        Parameters:
        proxyUsername - The username which is used to authenticate at the proxy.
      • getSocksProxyUsername

        public String getSocksProxyUsername()
        Returns:
        Returns the username which is used to authenticate at the socks proxy.
      • setSocksProxyUsername

        public void setSocksProxyUsername​(String socksPoxyUsername)
        Parameters:
        proxyUsername - The username which is used to authenticate at the socks proxy.
      • setSocksProxyHost

        public void setSocksProxyHost​(String socksProxyHost)
        Parameters:
        socksProxyHost - The host name of the socks proxy host
      • getSocksProxyHost

        public String getSocksProxyHost()
        Returns:
        The host name of the socks proxy host
      • setSocksProxyPort

        public void setSocksProxyPort​(String socksProxyPort)
        Parameters:
        socksProxyPort - The port number the socks proxy host is using
      • getSocksProxyPort

        public String getSocksProxyPort()
        Returns:
        The port number the socks proxy host is using
      • initFTPClient

        protected com.enterprisedt.net.ftp.FTPClient initFTPClient()
      • 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
      • normalizePath

        public String normalizePath​(String path)
                             throws Exception
        normalize / to \ and remove trailing slashes from a path
        Parameters:
        path -
        Returns:
        normalized path
        Throws:
        Exception
      • 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
      • needsDownload

        protected boolean needsDownload​(String filename)
        See if the filename on the FTP server needs downloading. The default is to check the presence of the file in the target directory. If you need other functionality, extend this class and build it into a plugin.
        Parameters:
        filename - The local filename to check
        remoteFileSize - The size of the remote file
        Returns:
        true if the file needs downloading
      • isActiveConnection

        public boolean isActiveConnection()
        Returns:
        the activeConnection
      • setActiveConnection

        public void setActiveConnection​(boolean passive)
        Parameters:
        activeConnection - the activeConnection to set
      • 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
      • hookInOtherParsers

        protected void hookInOtherParsers​(com.enterprisedt.net.ftp.FTPClient ftpClient)
                                   throws com.enterprisedt.net.ftp.FTPException,
                                          IOException
        Hook in known parsers, and then those that have been specified in the variable ftp.file.parser.class.names
        Parameters:
        ftpClient -
        Throws:
        com.enterprisedt.net.ftp.FTPException
        IOException