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.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 execute()
    Carry out the transfer.
    protected boolean getCompressed()
    Is the compressed attribute set.
    protected com.jcraft.jsch.SftpProgressMonitor getProgressMonitor()
    Get the progress monitor.
    protected boolean getVerbose()
    Is the verbose attribute set.
    protected void log​(java.lang.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 openExecChannel​(java.lang.String command)
    Open an ssh channel.
    protected com.jcraft.jsch.ChannelSftp openSftpChannel()
    Open an ssh sftp channel.
    protected void sendAck​(java.io.OutputStream out)
    Send an ack.
    void setLogListener​(LogListener aListener)
    Set a log listener.
    protected int trackProgress​(long filesize, long totalLength, int percentTransmitted)
    Track progress every 10% if 100kb < filesize < 1Mb.
    protected void waitForAck​(java.io.InputStream in)
    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​(java.lang.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​(java.io.OutputStream out) throws java.io.IOException
      Send 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, BuildException
      Reads 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 error
      BuildException - on other errors
    • execute

      public abstract void execute() throws java.io.IOException, com.jcraft.jsch.JSchException
      Carry out the transfer.
      Throws:
      java.io.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​(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 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.