public class GridFTPClient extends FTPClient
setMode()
, setType()
,
setDataChannelProtection()
,
and setDataChannelAuthentication()
that affect data channel settings
must be called before passive or active data channel mode is set.Modifier and Type | Field and Description |
---|---|
protected GridFTPServerFacade |
gLocalServer |
protected GridFTPSession |
gSession |
protected String |
usageString |
algorithms, controlChannel, dateFormat, localServer, portPattern, session, useAllo, username
Constructor and Description |
---|
GridFTPClient(String host,
int port)
Constructs client and connects it to the remote server.
|
Modifier and Type | Method and Description |
---|---|
void |
authenticate(GSSCredential credential)
Performs authentication with specified user credentials.
|
void |
authenticate(GSSCredential credential,
String username)
Performs authentication with specified user credentials and
a specific username (assuming the user dn maps to the passed username).
|
void |
changeGroup(String group,
String file)
Change the Unix group membership of a file.
|
void |
changeModificationTime(int year,
int month,
int day,
int hour,
int min,
int sec,
String file)
Change the modification time of a file.
|
protected void |
checkGridFTPSupport()
assure that the server supports extended transfer features;
throw exception if not
|
String |
checksum(ChecksumAlgorithm algorithm,
long offset,
long length,
String file)
Computes and returns a checksum of a file.
|
protected void |
checkTransferParamsGet() |
void |
createSymbolicLink(String link_target,
String link_name)
Create a symbolic link on the FTP server.
|
void |
extendedGet(String remoteFileName,
long size,
DataSink sink,
MarkerListener mListener)
Performs extended retrieve (partial retrieve mode starting
at offset 0).
|
void |
extendedGet(String remoteFileName,
long offset,
long size,
DataSink sink,
MarkerListener mListener)
Performs extended retrieve (partial retrieve mode).
|
void |
extendedMultipleTransfer(long[] remoteSrcFileOffset,
long[] remoteSrcFileLength,
String[] remoteSrcFile,
GridFTPClient destination,
long[] remoteDstFileOffset,
String[] remoteDstFile,
MarkerListener mListener,
MultipleTransferCompleteListener doneListener) |
void |
extendedMultipleTransfer(String[] remoteSrcFile,
GridFTPClient destination,
String[] remoteDstFile,
MarkerListener mListener,
MultipleTransferCompleteListener doneListener) |
void |
extendedPut(String remoteFileName,
DataSource source,
MarkerListener mListener)
Performs extended store (adujsted store mode with offset 0).
|
void |
extendedPut(String remoteFileName,
long offset,
DataSource source,
MarkerListener mListener)
Performs extended store (adujsted store mode).
|
void |
extendedTransfer(String remoteSrcFile,
GridFTPClient destination,
String remoteDstFile,
MarkerListener mListener)
Performs a third-party transfer between two servers using extended
block mode.
|
void |
extendedTransfer(String remoteSrcFile,
long remoteSrcFileOffset,
long remoteSrcFileLength,
GridFTPClient destination,
String remoteDstFile,
long remoteDstFileOffset,
MarkerListener mListener)
Performs a third-party transfer between two servers using extended
block mode.
|
void |
get(String remoteFileName,
File localFile) |
Authorization |
getAuthorization()
Returns authorization method for the control channel.
|
int |
getControlChannelProtection()
Returns control channel protection level.
|
DataChannelAuthentication |
getDataChannelAuthentication()
Returns data channel authentication mode (DCAU).
|
int |
getDataChannelProtection()
Returns data channel protection level.
|
protected String |
getModeStr(int mode) |
Vector |
list(String filter,
String modifier)
Performs remote directory listing like
FTPClient.list() . |
protected void |
listCheck()
check performed at the beginning of list()
|
Vector |
mlsd(String filter)
Performs remote directory listing like
FTPClient.mlsd() . |
void |
mlsr(String path,
MlsxEntryWriter writer)
Performs a recursive directory listing starting at the given path
(or, if path is null, at the current directory of the FTP server).
|
Vector |
nlist(String path)
Performs remote directory listing like
FTPClient.nlist() . |
void |
put(File localFile,
String remoteFileName,
boolean append) |
void |
setAuthorization(Authorization authorization)
Sets authorization method for the control channel.
|
void |
setChecksum(ChecksumAlgorithm algorithm,
String value)
Sets the checksum values ahead of the transfer
|
void |
setControlChannelProtection(int protection)
Sets control channel protection level.
|
void |
setDataChannelAuthentication(DataChannelAuthentication type)
Sets data channel authentication mode (DCAU)
|
void |
setDataChannelProtection(int protection)
Sets data channel protection level (PROT).
|
void |
setLocalNoDataChannelAuthentication()
Sets compatibility mode with old GSIFTP server.
|
void |
setLocalStripedActive()
Starts local server in striped active mode.
|
HostPortList |
setLocalStripedPassive()
Behaves like setLocalStripedPassive(FTPServerFacade.ANY_PORT,
FTPServerFacade.DEFAULT_QUEUE)
|
HostPortList |
setLocalStripedPassive(int port,
int queue)
Starts local server in striped passive mode.
|
void |
setLocalTCPBufferSize(int size)
Sets local TCP buffer size (for both receiving and sending).
|
void |
setStripedActive(HostPortList hpl)
Sets remote server to striped active server mode (SPOR).
|
HostPortList |
setStripedPassive()
Sets remote server to striped passive server mode (SPAS).
|
void |
setTCPBufferSize(int size)
Sets remote server TCP buffer size, in the following way:
First see if server supports "SBUF" and if so, use it.
|
void |
setUsageInformation(String appName,
String appVer) |
abort, actualSetMode, allocate, asynchGet, asynchGet2, asynchPut, asynchPut, asynchPut2, authorize, changeDir, checkGETPUTSupport, checkTransferParams, checkTransferParamsPut, close, close, deleteDir, deleteFile, exists, get, get127Reply, get2, getChecksum, getChecksum, getCurrentDir, getFeatureList, getHost, getLastModified, getLastReply, getPort, getSize, getSupportedCksumAlgorithms, getUseAllo, getUserName, goUpDir, isActiveMode, isCksumAlgorithmSupported, isFeatureSupported, isPassiveMode, lastModified, list, list, list, makeDir, mlsd, mlsd, mlst, nlist, nlist, performTransfer, put, put, put2, quote, rename, setActive, setActive, setChecksum, setClientWaitParams, setLocalActive, setLocalPassive, setLocalPassive, setMode, setOptions, setPassive, setPassiveMode, setProtectionBufferSize, setRestartMarker, setType, setUseAllo, site, size, transfer, transfer, transferBegin, transferRun, transferRunSingleThread, transferStart, transferWait
protected GridFTPSession gSession
protected GridFTPServerFacade gLocalServer
protected String usageString
public GridFTPClient(String host, int port) throws IOException, ServerException
host
- remote server hostport
- remote server portIOException
ServerException
public void authenticate(GSSCredential credential) throws IOException, ServerException
credential
- user credentials to use.IOException
- on i/o errorServerException
- on server refusal or faulty server behaviorpublic void authenticate(GSSCredential credential, String username) throws IOException, ServerException
credential
- user credentials to use.username
- specific username to authenticate as.IOException
- on i/o errorServerException
- on server refusal or faulty server behaviorpublic Vector list(String filter, String modifier) throws ServerException, ClientException, IOException
FTPClient.list()
.
Note: This method cannot be used
in conjunction with parallelism or striping; set parallelism to
1 before calling it. Otherwise, use
FTPClient.list()
.
Unlike in vanilla FTP, here IMAGE mode is allowed.
For more documentation, look at FTPClient.list
in class FTPClient
filter
- "*" for example, can be null.modifier
- "-d" for example, can be null.FileInfo
objects, representing
remote filesServerException
ClientException
IOException
FTPClient.mlsd(String)
public Vector nlist(String path) throws ServerException, ClientException, IOException
FTPClient.nlist()
.
Note: This method cannot be used
in conjunction with parallelism or striping; set parallelism to
1 before calling it. Otherwise, use
FTPClient.nlist()
.
Unlike in vanilla FTP, here IMAGE mode is allowed.
For more documentation, look at FTPClient.nlist
in class FTPClient
path
- directory to perform listing of. If null, listing
of current directory will be performed.FileInfo
objects, representing
remote filesServerException
ClientException
IOException
public Vector mlsd(String filter) throws ServerException, ClientException, IOException
FTPClient.mlsd()
.
Note: This method cannot be used
in conjunction with parallelism or striping; set parallelism to
1 before calling it. Otherwise, use
FTPClient.mlsd()
.
Unlike in vanilla FTP, here IMAGE mode is allowed.
For more documentation, look at FTPClient.mlsd
in class FTPClient
filter
- directory to perform listing of. If null, listing
of current directory will be performed.MlsxEntry
objects, representing
remote filesServerException
ClientException
IOException
protected void listCheck() throws ClientException
FTPClient
listCheck
in class FTPClient
ClientException
protected void checkTransferParamsGet() throws ServerException, IOException, ClientException
checkTransferParamsGet
in class FTPClient
ServerException
IOException
ClientException
protected String getModeStr(int mode)
getModeStr
in class FTPClient
public void setTCPBufferSize(int size) throws IOException, ServerException
IOException
ServerException
public void setLocalTCPBufferSize(int size) throws ClientException
ClientException
public HostPortList setStripedPassive() throws IOException, ServerException
IOException
ServerException
public void setStripedActive(HostPortList hpl) throws IOException, ServerException
IOException
ServerException
public HostPortList setLocalStripedPassive(int port, int queue) throws IOException
port
- required server port; can be set to FTPServerFacade.ANY_PORTqueue
- max size of queue of awaiting new data channel connection
requestsIOException
public HostPortList setLocalStripedPassive() throws IOException
IOException
public void setLocalStripedActive() throws ClientException, IOException
ClientException
IOException
public void extendedGet(String remoteFileName, long size, DataSink sink, MarkerListener mListener) throws IOException, ClientException, ServerException
remoteFileName
- file to retrievesize
- number of bytes of remote file to transmitsink
- data sink to store the filemListener
- marker listenerIOException
ClientException
ServerException
public void extendedGet(String remoteFileName, long offset, long size, DataSink sink, MarkerListener mListener) throws IOException, ClientException, ServerException
remoteFileName
- file to retrieveoffset
- the staring offset in the remote filesize
- number of bytes of remote file to transmitsink
- data sink to store the filemListener
- marker listenerIOException
ClientException
ServerException
public void extendedPut(String remoteFileName, DataSource source, MarkerListener mListener) throws IOException, ServerException, ClientException
remoteFileName
- file name to storesource
- source for the data to transfermListener
- marker listenerIOException
ServerException
ClientException
public void extendedPut(String remoteFileName, long offset, DataSource source, MarkerListener mListener) throws IOException, ServerException, ClientException
remoteFileName
- file name to storeoffset
- the offset added to the file pointer before storing
the blocks of the file.source
- source for the data to transfermListener
- marker listenerIOException
ServerException
ClientException
public void extendedTransfer(String remoteSrcFile, GridFTPClient destination, String remoteDstFile, MarkerListener mListener) throws IOException, ServerException, ClientException
remoteSrcFile
- source filenamedestination
- destination serverremoteDstFile
- destination filenamemListener
- transer progress listener.
Can be set to null.IOException
ServerException
ClientException
public void extendedTransfer(String remoteSrcFile, long remoteSrcFileOffset, long remoteSrcFileLength, GridFTPClient destination, String remoteDstFile, long remoteDstFileOffset, MarkerListener mListener) throws IOException, ServerException, ClientException
remoteSrcFile
- source filenameremoteSrcFileOffset
- source filename offsetremoteSrcFileLength
- source filename length to transferdestination
- destination serverremoteDstFile
- destination filenameremoteDstFileOffset
- destination filename offsetmListener
- transer progress listener.
Can be set to null.IOException
ServerException
ClientException
public void extendedMultipleTransfer(long[] remoteSrcFileOffset, long[] remoteSrcFileLength, String[] remoteSrcFile, GridFTPClient destination, long[] remoteDstFileOffset, String[] remoteDstFile, MarkerListener mListener, MultipleTransferCompleteListener doneListener) throws IOException, ServerException, ClientException
public void extendedMultipleTransfer(String[] remoteSrcFile, GridFTPClient destination, String[] remoteDstFile, MarkerListener mListener, MultipleTransferCompleteListener doneListener) throws IOException, ServerException, ClientException
protected void checkGridFTPSupport() throws IOException, ServerException
IOException
ServerException
public void setDataChannelAuthentication(DataChannelAuthentication type) throws IOException, ServerException
type
- for 2-party transfer must be
DataChannelAuthentication.SELF or DataChannelAuthentication.NONEIOException
ServerException
public void setLocalNoDataChannelAuthentication()
public DataChannelAuthentication getDataChannelAuthentication()
public void setDataChannelProtection(int protection) throws IOException, ServerException
protection
- should be
CLEAR
,
SAFE
, or
PRIVATE
, or
CONFIDENTIAL
.IOException
ServerException
public int getDataChannelProtection()
CLEAR
,
SAFE
, or
PRIVATE
, or
CONFIDENTIAL
.public void setAuthorization(Authorization authorization)
authorization
- authorization method.public Authorization getAuthorization()
public void setControlChannelProtection(int protection)
protection
- should be
CLEAR
,
SAFE
, or
PRIVATE
, or
CONFIDENTIAL
.public int getControlChannelProtection()
CLEAR
,
SAFE
, or
PRIVATE
, or
CONFIDENTIAL
.public void get(String remoteFileName, File localFile) throws IOException, ClientException, ServerException
get
in class FTPClient
IOException
ClientException
ServerException
public void put(File localFile, String remoteFileName, boolean append) throws IOException, ServerException, ClientException
put
in class FTPClient
IOException
ServerException
ClientException
public void setChecksum(ChecksumAlgorithm algorithm, String value) throws IOException, ServerException
algorithm
- the checksume algorithmvalue
- the checksum value as hexadecimal numberServerException
- if an error occured.IOException
public String checksum(ChecksumAlgorithm algorithm, long offset, long length, String file) throws IOException, ServerException
algorithm
- the checksume algorithmoffset
- the offsetlength
- the lengthfile
- file to compute checksum ofServerException
- if an error occured.IOException
public void mlsr(String path, MlsxEntryWriter writer) throws ServerException, ClientException, IOException
path
- path to begin recursive directory listingwriter
- sink for created MlsxEntry instancesServerException
ClientException
IOException
public void changeGroup(String group, String file) throws IOException, ServerException
group
- the name or ID of the groupfile
- the file whose group membership should be changedServerException
- if an error occurred.IOException
public void changeModificationTime(int year, int month, int day, int hour, int min, int sec, String file) throws IOException, ServerException
year
- Modifcation yearmonth
- Modification month (1-12)day
- Modification day (1-31)hour
- Modification hour (0-23)min
- Modification minutes (0-59)sec
- Modification seconds (0-59)file
- file whose modification time should be changedIOException
ServerException
- if an error occurred.public void createSymbolicLink(String link_target, String link_name) throws IOException, ServerException
link_target
- the path to which the symbolic link should pointlink_name
- the path of the symbolic link to createIOException
ServerException
- if an error occurred.Copyright © 2016. All rights reserved.