public class ScpRemote2RemoteTransferHelper extends AbstractLoggingBean
ClientSession
-s and simply copying from one server to the otherModifier and Type | Field and Description |
---|---|
protected java.nio.charset.Charset |
csIn |
protected java.nio.charset.Charset |
csOut |
private ClientSession |
destSession |
protected ScpRemote2RemoteTransferListener |
listener |
private ClientSession |
sourceSession |
log
Constructor and Description |
---|
ScpRemote2RemoteTransferHelper(ClientSession sourceSession,
ClientSession destSession) |
ScpRemote2RemoteTransferHelper(ClientSession sourceSession,
ClientSession destSession,
ScpRemote2RemoteTransferListener listener) |
Modifier and Type | Method and Description |
---|---|
protected void |
executeTransfer(java.lang.String source,
java.util.Collection<ScpClient.Option> srcOptions,
java.lang.String destination,
java.util.Collection<ScpClient.Option> dstOptions) |
ClientSession |
getDestinationSession() |
ClientSession |
getSourceSession() |
protected void |
handleDirectoryTransferRequest(java.lang.String srcPath,
java.io.InputStream srcIn,
java.io.OutputStream srcOut,
java.lang.String dstPath,
java.io.InputStream dstIn,
java.io.OutputStream dstOut,
int depth,
ScpTimestampCommandDetails dirTime,
java.lang.String header) |
protected long |
handleFileTransferRequest(java.lang.String source,
java.io.InputStream srcIn,
java.io.OutputStream srcOut,
java.lang.String destination,
java.io.InputStream dstIn,
java.io.OutputStream dstOut,
ScpTimestampCommandDetails fileTime,
java.lang.String header) |
protected java.lang.Object |
receiveNextCmd(java.lang.Object logHint,
java.io.InputStream in) |
protected void |
redirectDirectoryTransfer(java.lang.String source,
java.io.InputStream srcIn,
java.io.OutputStream srcOut,
java.lang.String destination,
java.io.InputStream dstIn,
java.io.OutputStream dstOut,
int depth) |
protected long |
redirectFileTransfer(java.lang.String source,
java.io.InputStream srcIn,
java.io.OutputStream srcOut,
java.lang.String destination,
java.io.InputStream dstIn,
java.io.OutputStream dstOut) |
protected void |
signalReceivedCommand(AbstractScpCommandDetails details) |
java.lang.String |
toString() |
void |
transferDirectory(java.lang.String source,
java.lang.String destination,
boolean preserveAttributes)
Transfers a directory
|
void |
transferFile(java.lang.String source,
java.lang.String destination,
boolean preserveAttributes)
Transfers a single file
|
protected long |
transferSimpleFile(java.lang.String source,
java.io.InputStream srcIn,
java.io.OutputStream srcOut,
java.lang.String destination,
java.io.InputStream dstIn,
java.io.OutputStream dstOut,
java.lang.String header,
long length) |
protected ScpAckInfo |
transferStatusCode(java.lang.Object logHint,
java.io.InputStream in,
java.io.OutputStream out) |
protected java.lang.String |
transferTimestampCommand(java.lang.String source,
java.io.InputStream srcIn,
java.io.OutputStream srcOut,
java.lang.String destination,
java.io.InputStream dstIn,
java.io.OutputStream dstOut,
java.lang.String header) |
protected final ScpRemote2RemoteTransferListener listener
protected final java.nio.charset.Charset csIn
protected final java.nio.charset.Charset csOut
private final ClientSession sourceSession
private final ClientSession destSession
public ScpRemote2RemoteTransferHelper(ClientSession sourceSession, ClientSession destSession)
public ScpRemote2RemoteTransferHelper(ClientSession sourceSession, ClientSession destSession, ScpRemote2RemoteTransferListener listener)
sourceSession
- The source ClientSession
destSession
- The destination ClientSession
listener
- An optional ScpRemote2RemoteTransferListener
public ClientSession getSourceSession()
public ClientSession getDestinationSession()
public void transferFile(java.lang.String source, java.lang.String destination, boolean preserveAttributes) throws java.io.IOException
source
- Source path in the source sessiondestination
- Destination path in the destination sessionpreserveAttributes
- Whether to preserve the attributes of the transferred file (e.g., permissions, file
associated timestamps, etc.)java.io.IOException
- If failed to transferpublic void transferDirectory(java.lang.String source, java.lang.String destination, boolean preserveAttributes) throws java.io.IOException
source
- Source path in the source sessiondestination
- Destination path in the destination sessionpreserveAttributes
- Whether to preserve the attributes of the transferred file (e.g., permissions, file
associated timestamps, etc.)java.io.IOException
- If failed to transferprotected void executeTransfer(java.lang.String source, java.util.Collection<ScpClient.Option> srcOptions, java.lang.String destination, java.util.Collection<ScpClient.Option> dstOptions) throws java.io.IOException
java.io.IOException
protected long redirectFileTransfer(java.lang.String source, java.io.InputStream srcIn, java.io.OutputStream srcOut, java.lang.String destination, java.io.InputStream dstIn, java.io.OutputStream dstOut) throws java.io.IOException
java.io.IOException
protected long handleFileTransferRequest(java.lang.String source, java.io.InputStream srcIn, java.io.OutputStream srcOut, java.lang.String destination, java.io.InputStream dstIn, java.io.OutputStream dstOut, ScpTimestampCommandDetails fileTime, java.lang.String header) throws java.io.IOException
java.io.IOException
protected void redirectDirectoryTransfer(java.lang.String source, java.io.InputStream srcIn, java.io.OutputStream srcOut, java.lang.String destination, java.io.InputStream dstIn, java.io.OutputStream dstOut, int depth) throws java.io.IOException
java.io.IOException
protected void handleDirectoryTransferRequest(java.lang.String srcPath, java.io.InputStream srcIn, java.io.OutputStream srcOut, java.lang.String dstPath, java.io.InputStream dstIn, java.io.OutputStream dstOut, int depth, ScpTimestampCommandDetails dirTime, java.lang.String header) throws java.io.IOException
java.io.IOException
protected long transferSimpleFile(java.lang.String source, java.io.InputStream srcIn, java.io.OutputStream srcOut, java.lang.String destination, java.io.InputStream dstIn, java.io.OutputStream dstOut, java.lang.String header, long length) throws java.io.IOException
java.io.IOException
protected java.lang.String transferTimestampCommand(java.lang.String source, java.io.InputStream srcIn, java.io.OutputStream srcOut, java.lang.String destination, java.io.InputStream dstIn, java.io.OutputStream dstOut, java.lang.String header) throws java.io.IOException
java.io.IOException
protected ScpAckInfo transferStatusCode(java.lang.Object logHint, java.io.InputStream in, java.io.OutputStream out) throws java.io.IOException
java.io.IOException
protected java.lang.Object receiveNextCmd(java.lang.Object logHint, java.io.InputStream in) throws java.io.IOException
java.io.IOException
protected void signalReceivedCommand(AbstractScpCommandDetails details) throws java.io.IOException
java.io.IOException
public java.lang.String toString()
toString
in class java.lang.Object