org.apache.maven.wagon.providers.ssh
Class AbstractSshWagon

java.lang.Object
  extended byorg.apache.maven.wagon.AbstractWagon
      extended byorg.apache.maven.wagon.providers.ssh.AbstractSshWagon
All Implemented Interfaces:
org.apache.maven.wagon.CommandExecutor, org.apache.maven.wagon.Wagon
Direct Known Subclasses:
ScpWagon, SftpWagon

public abstract class AbstractSshWagon
extends org.apache.maven.wagon.AbstractWagon
implements org.apache.maven.wagon.CommandExecutor

Common SSH operations.

Version:
$Id: AbstractSshWagon.java 314922 2005-10-12 14:16:36Z brett $
Author:
Brett Porter

Nested Class Summary
private static class AbstractSshWagon.WagonUserInfo
           
 
Nested classes inherited from class org.apache.maven.wagon.CommandExecutor
 
Field Summary
static int DEFAULT_SSH_PORT
           
static java.lang.String EXEC_CHANNEL
           
private  InteractiveUserInfo interactiveUserInfo
           
private  KnownHostsProvider knownHostsProvider
           
private static byte LF
           
private static int LINE_BUFFER_SIZE
           
protected  com.jcraft.jsch.Session session
           
static int SOCKS5_PROXY_PORT
           
private  com.jcraft.jsch.UIKeyboardInteractive uIKeyboardInteractive
           
 
Fields inherited from class org.apache.maven.wagon.AbstractWagon
authenticationInfo, DEFAULT_BUFFER_SIZE, interactive, proxyInfo, repository, sessionEventSupport, transferEventSupport
 
Fields inherited from interface org.apache.maven.wagon.CommandExecutor
ROLE
 
Constructor Summary
AbstractSshWagon()
           
 
Method Summary
 void closeConnection()
           
 void executeCommand(java.lang.String command)
           
private  java.io.File findPrivateKey()
           
 InteractiveUserInfo getInteractiveUserInfo()
           
 KnownHostsProvider getKnownHostsProvider()
           
protected  void handleGetException(org.apache.maven.wagon.resource.Resource resource, java.lang.Exception e, java.io.File destination)
           
 void openConnection()
           
 void putDirectory(java.io.File sourceDirectory, java.lang.String destinationDirectory)
           
protected  java.lang.String readLine(java.io.InputStream in)
           
protected static void sendEom(java.io.OutputStream out)
           
 void setInteractiveUserInfo(InteractiveUserInfo interactiveUserInfo)
           
 void setKnownHostsProvider(KnownHostsProvider knownHostsProvider)
           
 boolean supportsDirectoryCopy()
           
 
Methods inherited from class org.apache.maven.wagon.AbstractWagon
addSessionListener, addTransferListener, connect, connect, connect, connect, createParentDirectories, createZip, disconnect, fireGetCompleted, fireGetInitiated, fireGetStarted, firePutCompleted, firePutInitiated, firePutStarted, fireSessionConnectionRefused, fireSessionDebug, fireSessionDisconnected, fireSessionDisconnecting, fireSessionError, fireSessionLoggedIn, fireSessionLoggedOff, fireSessionOpened, fireSessionOpening, fireTransferDebug, fireTransferError, fireTransferProgress, getAuthenticationInfo, getPath, getProxyInfo, getRepository, getSessionEventSupport, getTransfer, getTransfer, getTransferEventSupport, hasSessionListener, hasTransferListener, isInteractive, postProcessListeners, putTransfer, removeSessionListener, removeTransferListener, setInteractive, setSessionEventSupport, setTransferEventSupport, transfer, transfer
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.apache.maven.wagon.CommandExecutor
 
Methods inherited from interface org.apache.maven.wagon.Wagon
addSessionListener, addTransferListener, connect, connect, connect, connect, disconnect, get, getIfNewer, getRepository, hasSessionListener, hasTransferListener, isInteractive, put, removeSessionListener, removeTransferListener, setInteractive
 

Field Detail

DEFAULT_SSH_PORT

public static final int DEFAULT_SSH_PORT
See Also:
Constant Field Values

SOCKS5_PROXY_PORT

public static final int SOCKS5_PROXY_PORT
See Also:
Constant Field Values

session

protected com.jcraft.jsch.Session session

EXEC_CHANNEL

public static final java.lang.String EXEC_CHANNEL
See Also:
Constant Field Values

LINE_BUFFER_SIZE

private static final int LINE_BUFFER_SIZE
See Also:
Constant Field Values

LF

private static final byte LF
See Also:
Constant Field Values

knownHostsProvider

private KnownHostsProvider knownHostsProvider

interactiveUserInfo

private InteractiveUserInfo interactiveUserInfo

uIKeyboardInteractive

private com.jcraft.jsch.UIKeyboardInteractive uIKeyboardInteractive
Constructor Detail

AbstractSshWagon

public AbstractSshWagon()
Method Detail

openConnection

public void openConnection()
                    throws org.apache.maven.wagon.authentication.AuthenticationException
Specified by:
openConnection in interface org.apache.maven.wagon.Wagon
Throws:
org.apache.maven.wagon.authentication.AuthenticationException

findPrivateKey

private java.io.File findPrivateKey()

executeCommand

public void executeCommand(java.lang.String command)
                    throws org.apache.maven.wagon.CommandExecutionException
Specified by:
executeCommand in interface org.apache.maven.wagon.CommandExecutor
Throws:
org.apache.maven.wagon.CommandExecutionException

readLine

protected java.lang.String readLine(java.io.InputStream in)
                             throws java.io.IOException
Throws:
java.io.IOException

sendEom

protected static void sendEom(java.io.OutputStream out)
                       throws java.io.IOException
Throws:
java.io.IOException

closeConnection

public void closeConnection()

handleGetException

protected void handleGetException(org.apache.maven.wagon.resource.Resource resource,
                                  java.lang.Exception e,
                                  java.io.File destination)
                           throws org.apache.maven.wagon.TransferFailedException,
                                  org.apache.maven.wagon.ResourceDoesNotExistException
Throws:
org.apache.maven.wagon.TransferFailedException
org.apache.maven.wagon.ResourceDoesNotExistException

getKnownHostsProvider

public final KnownHostsProvider getKnownHostsProvider()

setKnownHostsProvider

public final void setKnownHostsProvider(KnownHostsProvider knownHostsProvider)

getInteractiveUserInfo

public InteractiveUserInfo getInteractiveUserInfo()

setInteractiveUserInfo

public void setInteractiveUserInfo(InteractiveUserInfo interactiveUserInfo)

putDirectory

public void putDirectory(java.io.File sourceDirectory,
                         java.lang.String destinationDirectory)
                  throws org.apache.maven.wagon.TransferFailedException,
                         org.apache.maven.wagon.ResourceDoesNotExistException,
                         org.apache.maven.wagon.authorization.AuthorizationException
Specified by:
putDirectory in interface org.apache.maven.wagon.Wagon
Throws:
org.apache.maven.wagon.TransferFailedException
org.apache.maven.wagon.ResourceDoesNotExistException
org.apache.maven.wagon.authorization.AuthorizationException

supportsDirectoryCopy

public boolean supportsDirectoryCopy()
Specified by:
supportsDirectoryCopy in interface org.apache.maven.wagon.Wagon