Class AbstractSshMessage

java.lang.Object
org.apache.tools.ant.taskdefs.optional.ssh.AbstractSshMessage
Direct Known Subclasses:
ScpFromMessage, ScpToMessage

public abstract class AbstractSshMessage extends Object
Abstract class for ssh upload and download
  • Constructor Summary

    Constructors
    Constructor
    Description
    AbstractSshMessage(boolean verbose, boolean compressed, com.jcraft.jsch.Session session)
    Constructor for AbstractSshMessage
    AbstractSshMessage(boolean verbose, com.jcraft.jsch.Session session)
    Constructor for AbstractSshMessage
    AbstractSshMessage(com.jcraft.jsch.Session session)
    Constructor for AbstractSshMessage
  • Method Summary

    Modifier and Type
    Method
    Description
    abstract void
    Carry out the transfer.
    protected final boolean
    Is the compressed attribute set.
    protected com.jcraft.jsch.SftpProgressMonitor
    Get the progress monitor.
    protected final boolean
    Is the verbose attribute set.
    protected void
    log(String message)
    Log a message to the log listener.
    protected void
    logStats(long timeStarted, long timeEnded, long totalLength)
    Log transfer stats to the log listener.
    protected com.jcraft.jsch.Channel
    Open an ssh channel.
    protected com.jcraft.jsch.ChannelSftp
    Open an ssh sftp channel.
    protected void
    Send an ack.
    void
    Set a log listener.
    protected final int
    trackProgress(long filesize, long totalLength, int percentTransmitted)
    Track progress every 10% if 100kb < filesize < 1Mb.
    protected void
    Reads the response, throws a BuildException if the response indicates an error.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • 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 logging
      session - 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 logging
      compressed - if true use compression
      session - the ssh session to use
      Since:
      Ant 1.9.8
  • Method Details

    • openExecChannel

      protected com.jcraft.jsch.Channel openExecChannel(String command) throws com.jcraft.jsch.JSchException
      Open 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.JSchException
      Open an ssh sftp channel.
      Returns:
      the channel
      Throws:
      com.jcraft.jsch.JSchException - on error
    • sendAck

      protected void sendAck(OutputStream out) throws IOException
      Send an ack.
      Parameters:
      out - the output stream to use
      Throws:
      IOException - on error
    • waitForAck

      protected void waitForAck(InputStream in) throws IOException, BuildException
      Reads the response, throws a BuildException if the response indicates an error.
      Parameters:
      in - the input stream to use
      Throws:
      IOException - on I/O error
      BuildException - on other errors
    • execute

      public abstract void execute() throws IOException, com.jcraft.jsch.JSchException
      Carry out the transfer.
      Throws:
      IOException - on I/O errors
      com.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(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 started
      timeEnded - the finishing time
      totalLength - 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 transmitted
      totalLength - the total transmission size
      percentTransmitted - 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.