jfileupload.transfer.client.ftp
Class FTPTransfer

java.lang.Object
  extended by jfileupload.transfer.client.core.AbstractTransferController
      extended by jfileupload.transfer.client.ftp.FTPTransfer
All Implemented Interfaces:
TransferController
Direct Known Subclasses:
FTPUploadTransfer

public abstract class FTPTransfer
extends AbstractTransferController

This class implements a TransferController for FTP protocol. It relies on Commons-Net 1.x.


Field Summary
static java.lang.String ACCOUNT
           
static java.lang.String ACCOUNTCREATION
           
static java.lang.String ACCOUNTCREATIONCHMOD
           
static java.lang.String ACCOUNTPWD
           
protected  CommandMonitor commandMonitor
           
static java.lang.String COMMANDMONITOR
           
static java.lang.String DELETEFOLDER
           
static java.lang.String DEPRECATEDPASSWORD
           
static java.lang.String DEPRECATEDURL
           
static java.lang.String DEPRECATEDUSERNAME
           
static java.lang.String DISABLEAUTH
           
static java.lang.String FTPCOMMANDMONITOR
           
static java.lang.String FTPPOSITIVELOGIN
           
static java.lang.String FTPSESSION
           
static java.lang.String FTPSMODE
           
static java.lang.String FTPSPROT
           
static java.lang.String PASV
           
static java.lang.String REMOTEVERIFICATION
           
protected static java.lang.String SFTPCLIENT
           
static java.lang.String SITECOMMAND
           
protected  java.lang.String targetURL
           
static java.lang.String TRANSFERTYPE
           
protected  java.lang.String wd
           
static java.lang.String WEAKSSL
           
 
Fields inherited from class jfileupload.transfer.client.core.AbstractTransferController
BUFFERSIZE, GZIPEXTENSION, ZIPEXTENSION
 
Fields inherited from interface jfileupload.transfer.client.core.TransferController
COMPLETED_STATUS, MAX_AUTH_ATTEMPTS, PREPROCESSING_FILTER, RUNNING_STATUS, WAITING_STATUS
 
Constructor Summary
FTPTransfer()
          FTP Implementation.
 
Method Summary
abstract  void begin()
          Start (fire and forget) asynchroneous transfer.
abstract  void cancel()
          Cancel transfer.
protected  boolean chmod(org.apache.commons.net.ftp.FTPClient ftpclient, java.lang.String file, int permissions)
          Run chmod with SITE command.
protected  void closeCommandMonitor(java.lang.Exception ex)
           
protected  void connect(java.util.HashMap meta)
          Connect to FTP server with credentials parameters.
abstract  java.lang.Object execute()
          Start synchroneous transfer.
protected  void FTPConnect(java.util.HashMap meta)
          Connect and authenticate to FTP server according to ftpsession parameter.
protected  void FTPDisconnect(java.util.HashMap meta)
          Disconnect from FTP server according to ftpsession parameter.
protected  void FTPDisconnect(java.util.HashMap meta, boolean force)
          Disconnect from FTP server according to ftpsession parameter.
 org.apache.commons.net.ftp.FTPClient getClient()
          Return FTP(S) Client instance.
 void init()
          Inits FTP transfer (SSL Factory ...)
protected  boolean makeAndChangeDirectory(org.apache.commons.net.ftp.FTPClient ftpclient, java.lang.String folder, boolean recursive, java.lang.String chmod)
          Create folder(s) and subfolder(s).
 java.lang.String normalizePath(java.lang.String path)
           
protected  void notifyProtocolListeners(java.lang.String[] info, boolean response)
          Notify protocol listeners
 void registerSSLSocketFactory()
          Register a custom SSL socket factory.
protected  void runCommandMonitor(java.util.HashMap meta)
           
 
Methods inherited from class jfileupload.transfer.client.core.AbstractTransferController
addChecksumListener, addCompressListener, addFilterListener, addProtocolListener, addSplitListener, addTransferListener, authenticate, checksumCompletedNotification, checksumStartedNotification, checkZipMaxSize, cleanFilter, cleanFilter, compress, compress, compressFolder, compressingNotification, compressionFailedNotification, computeChecksum, executeFilter, executeFilter, getAllowedSourceFiles, getAuthentication, getBlackList, getChecksumListeners, getChunks, getChunkSize, getCompressListeners, getCRC32, getEncoding, getExt, getFilter, getFilter, getFilterChain, getFilterIDs, getFilterImpl, getFilterImpl, getFilterListeners, getHidden, getLastChunkSize, getLong, getMaxDepth, getMaxFiles, getMaxSize, getMD5, getMinSize, getOverwrite, getParameters, getParamFile, getPassword, getPolicy, getPreProcessingFilter, getPreProcessingFilterImpl, getProtocolListeners, getRawConf, getResume, getResumeOffset, getRetry, getRetryDelay, getRootDir, getServerUrl, getSource, getSplitListeners, getStatus, getTarget, getTemplate, getTimeOut, getTmpDir, getTmpFolder, getTransferFileFilter, getTransferListeners, getUsername, getWhiteList, getZipFolder, getZipIgnoreList, getZipMaxSize, getZipOnFly, hexDump, isAllowed, isThreaded, recurse, recursiveCompress, removeChecksumListener, removeCompressListener, removeFilterListener, removeProtocolListener, removeSplitListener, removeTransferListener, rename, setAuthentication, setBlackList, setChunkSize, setEncoding, setExt, setFilter, setFilter, setFilterChain, setFilterIDs, setFilterImpl, setFilterImpl, setHidden, setMaxDepth, setMaxFiles, setMaxSize, setMinSize, setOverwrite, setParameters, setParamFile, setPassword, setPolicy, setPreProcessingFilter, setPreProcessingFilterImpl, setRawConf, setResume, setResumeOffset, setRetry, setRetryDelay, setRootDir, setServerUrl, setSource, setStatus, setTarget, setTemplate, setThreaded, setTimeOut, setTmpDir, setUsername, setWhiteList, setZipFolder, setZipIgnoreList, setZipMaxSize, setZipOnFly
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

PASV

public static java.lang.String PASV

FTPSMODE

public static java.lang.String FTPSMODE

FTPSPROT

public static java.lang.String FTPSPROT

FTPSESSION

public static java.lang.String FTPSESSION

WEAKSSL

public static java.lang.String WEAKSSL

DEPRECATEDUSERNAME

public static java.lang.String DEPRECATEDUSERNAME

DEPRECATEDPASSWORD

public static java.lang.String DEPRECATEDPASSWORD

DEPRECATEDURL

public static java.lang.String DEPRECATEDURL

ACCOUNT

public static java.lang.String ACCOUNT

SITECOMMAND

public static java.lang.String SITECOMMAND

DISABLEAUTH

public static java.lang.String DISABLEAUTH

ACCOUNTCREATION

public static java.lang.String ACCOUNTCREATION

ACCOUNTCREATIONCHMOD

public static java.lang.String ACCOUNTCREATIONCHMOD

ACCOUNTPWD

public static java.lang.String ACCOUNTPWD

TRANSFERTYPE

public static java.lang.String TRANSFERTYPE

REMOTEVERIFICATION

public static java.lang.String REMOTEVERIFICATION

DELETEFOLDER

public static java.lang.String DELETEFOLDER

COMMANDMONITOR

public static java.lang.String COMMANDMONITOR

FTPCOMMANDMONITOR

public static java.lang.String FTPCOMMANDMONITOR

FTPPOSITIVELOGIN

public static java.lang.String FTPPOSITIVELOGIN

SFTPCLIENT

protected static java.lang.String SFTPCLIENT

targetURL

protected java.lang.String targetURL

wd

protected java.lang.String wd

commandMonitor

protected CommandMonitor commandMonitor
Constructor Detail

FTPTransfer

public FTPTransfer()
FTP Implementation.

Method Detail

init

public void init()
          throws ClientException
Inits FTP transfer (SSL Factory ...)

Specified by:
init in interface TransferController
Overrides:
init in class AbstractTransferController
Throws:
ClientException

registerSSLSocketFactory

public void registerSSLSocketFactory()
Register a custom SSL socket factory.


getClient

public org.apache.commons.net.ftp.FTPClient getClient()
Return FTP(S) Client instance.

Returns:

FTPConnect

protected void FTPConnect(java.util.HashMap meta)
                   throws ClientException
Connect and authenticate to FTP server according to ftpsession parameter.

Parameters:
meta -
Throws:
ClientException

FTPDisconnect

protected void FTPDisconnect(java.util.HashMap meta,
                             boolean force)
Disconnect from FTP server according to ftpsession parameter.

Parameters:
meta -
force - Force disconnect whatever ftpsession parameter.

FTPDisconnect

protected void FTPDisconnect(java.util.HashMap meta)
Disconnect from FTP server according to ftpsession parameter.

Parameters:
meta -

connect

protected void connect(java.util.HashMap meta)
                throws ClientException
Connect to FTP server with credentials parameters.

Parameters:
meta - credentials
Throws:
ClientException

makeAndChangeDirectory

protected boolean makeAndChangeDirectory(org.apache.commons.net.ftp.FTPClient ftpclient,
                                         java.lang.String folder,
                                         boolean recursive,
                                         java.lang.String chmod)
                                  throws java.io.IOException,
                                         ClientException
Create folder(s) and subfolder(s).

Parameters:
ftpclient -
folder -
recursive -
chmod - optional Unix chmod
Returns:
Throws:
java.io.IOException
ClientException

chmod

protected boolean chmod(org.apache.commons.net.ftp.FTPClient ftpclient,
                        java.lang.String file,
                        int permissions)
                 throws java.io.IOException
Run chmod with SITE command.

Parameters:
ftpclient -
file -
permissions -
Returns:
Throws:
java.io.IOException

notifyProtocolListeners

protected void notifyProtocolListeners(java.lang.String[] info,
                                       boolean response)
Notify protocol listeners

Parameters:
info -

runCommandMonitor

protected void runCommandMonitor(java.util.HashMap meta)

closeCommandMonitor

protected void closeCommandMonitor(java.lang.Exception ex)

normalizePath

public java.lang.String normalizePath(java.lang.String path)

begin

public abstract void begin()
Description copied from interface: TransferController
Start (fire and forget) asynchroneous transfer.

Specified by:
begin in interface TransferController
Specified by:
begin in class AbstractTransferController

cancel

public abstract void cancel()
Description copied from interface: TransferController
Cancel transfer.

Specified by:
cancel in interface TransferController
Specified by:
cancel in class AbstractTransferController

execute

public abstract java.lang.Object execute()
                                  throws ClientException
Description copied from interface: TransferController
Start synchroneous transfer.

Specified by:
execute in interface TransferController
Specified by:
execute in class AbstractTransferController
Throws:
ClientException