Class AbstractSshMessage
- java.lang.Object
-
- org.apache.tools.ant.taskdefs.optional.ssh.AbstractSshMessage
-
- Direct Known Subclasses:
ScpFromMessage,ScpToMessage
public abstract class AbstractSshMessage extends java.lang.ObjectAbstract class for ssh upload and download
-
-
Constructor Summary
Constructors Constructor Description AbstractSshMessage(boolean verbose, boolean compressed, com.jcraft.jsch.Session session)Constructor for AbstractSshMessageAbstractSshMessage(boolean verbose, com.jcraft.jsch.Session session)Constructor for AbstractSshMessageAbstractSshMessage(com.jcraft.jsch.Session session)Constructor for AbstractSshMessage
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract voidexecute()Carry out the transfer.protected booleangetCompressed()Is the compressed attribute set.protected com.jcraft.jsch.SftpProgressMonitorgetProgressMonitor()Get the progress monitor.protected booleangetVerbose()Is the verbose attribute set.protected voidlog(java.lang.String message)Log a message to the log listener.protected voidlogStats(long timeStarted, long timeEnded, long totalLength)Log transfer stats to the log listener.protected com.jcraft.jsch.ChannelopenExecChannel(java.lang.String command)Open an ssh channel.protected com.jcraft.jsch.ChannelSftpopenSftpChannel()Open an ssh sftp channel.protected voidsendAck(java.io.OutputStream out)Send an ack.voidsetLogListener(LogListener aListener)Set a log listener.protected inttrackProgress(long filesize, long totalLength, int percentTransmitted)Track progress every 10% if 100kb < filesize < 1Mb.protected voidwaitForAck(java.io.InputStream in)Reads the response, throws a BuildException if the response indicates an error.
-
-
-
Constructor Detail
-
AbstractSshMessage
public AbstractSshMessage(com.jcraft.jsch.Session session)
Constructor for AbstractSshMessage- Parameters:
session- the ssh session to use
-
AbstractSshMessage
public AbstractSshMessage(boolean verbose, com.jcraft.jsch.Session session)Constructor for AbstractSshMessage- Parameters:
verbose- if true do verbose loggingsession- the ssh session to use- Since:
- Ant 1.6.2
-
AbstractSshMessage
public AbstractSshMessage(boolean verbose, boolean compressed, com.jcraft.jsch.Session session)Constructor for AbstractSshMessage- Parameters:
verbose- if true do verbose loggingcompressed- if true use compressionsession- the ssh session to use- Since:
- Ant 1.9.8
-
-
Method Detail
-
openExecChannel
protected com.jcraft.jsch.Channel openExecChannel(java.lang.String command) throws com.jcraft.jsch.JSchExceptionOpen an ssh channel.- Parameters:
command- the command to use- Returns:
- the channel
- Throws:
com.jcraft.jsch.JSchException- on error
-
openSftpChannel
protected com.jcraft.jsch.ChannelSftp openSftpChannel() throws com.jcraft.jsch.JSchExceptionOpen an ssh sftp channel.- Returns:
- the channel
- Throws:
com.jcraft.jsch.JSchException- on error
-
sendAck
protected void sendAck(java.io.OutputStream out) throws java.io.IOExceptionSend an ack.- Parameters:
out- the output stream to use- Throws:
java.io.IOException- on error
-
waitForAck
protected void waitForAck(java.io.InputStream in) throws java.io.IOException, BuildExceptionReads the response, throws a BuildException if the response indicates an error.- Parameters:
in- the input stream to use- Throws:
java.io.IOException- on I/O errorBuildException- on other errors
-
execute
public abstract void execute() throws java.io.IOException, com.jcraft.jsch.JSchExceptionCarry out the transfer.- Throws:
java.io.IOException- on I/O errorscom.jcraft.jsch.JSchException- on ssh errors
-
setLogListener
public void setLogListener(LogListener aListener)
Set a log listener.- Parameters:
aListener- the log listener
-
log
protected void log(java.lang.String message)
Log a message to the log listener.- Parameters:
message- the message to log
-
logStats
protected void logStats(long timeStarted, long timeEnded, long totalLength)Log transfer stats to the log listener.- Parameters:
timeStarted- the time startedtimeEnded- the finishing timetotalLength- the total length
-
getVerbose
protected final boolean getVerbose()
Is the verbose attribute set.- Returns:
- true if the verbose attribute is set
- Since:
- Ant 1.6.2
-
getCompressed
protected final boolean getCompressed()
Is the compressed attribute set.- Returns:
- true if the compressed attribute is set
- Since:
- Ant 1.9.8
-
trackProgress
protected final int trackProgress(long filesize, long totalLength, int percentTransmitted)Track progress every 10% if 100kb < filesize < 1Mb. For larger files track progress for every percent transmitted.- Parameters:
filesize- the size of the file been transmittedtotalLength- the total transmission sizepercentTransmitted- the current percent transmitted- Returns:
- the percent that the file is of the total
-
getProgressMonitor
protected com.jcraft.jsch.SftpProgressMonitor getProgressMonitor()
Get the progress monitor.- Returns:
- the progress monitor.
-
-