org.apache.maven.wagon.providers.ssh.jsch
Class ScpWagon

java.lang.Object
  extended by org.apache.maven.wagon.AbstractWagon
      extended by org.apache.maven.wagon.providers.ssh.AbstractSshWagon
          extended by org.apache.maven.wagon.providers.ssh.jsch.AbstractJschWagon
              extended by org.apache.maven.wagon.providers.ssh.jsch.ScpWagon
All Implemented Interfaces:
org.apache.maven.wagon.CommandExecutor, org.apache.maven.wagon.providers.ssh.SshWagon, org.apache.maven.wagon.Wagon

public class ScpWagon
extends AbstractJschWagon

A base class for deployers and fetchers using protocols from SSH2 family and JSch library for underlying implementation

This is responsible for authentification stage of the process.

We will first try to use public keys for authentication and if that doesn't work then we fall back to using the login and password

Version:
$Id: ScpWagon.java 477374 2006-11-20 22:34:46Z brett $

Field Summary
private static char ACK_SEPARATOR
           
private static char COPY_START_CHAR
           
private static java.lang.String END_OF_FILES_MSG
           
private static byte LF
           
private static int LINE_BUFFER_SIZE
           
 
Fields inherited from class org.apache.maven.wagon.providers.ssh.jsch.AbstractJschWagon
EXEC_CHANNEL, session
 
Fields inherited from class org.apache.maven.wagon.providers.ssh.AbstractSshWagon
DEFAULT_SSH_PORT, interactiveUserInfo, knownHostsProvider, PATH_SEPARATOR
 
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
ScpWagon()
           
 
Method Summary
private  void checkAck(java.io.InputStream in)
           
 void get(java.lang.String resourceName, java.io.File destination)
           
 void get(java.lang.String basedir, org.apache.maven.wagon.resource.Resource resource, java.io.File destination)
           
 void put(java.io.File source, java.lang.String destination)
           
 void put(java.io.File source, java.lang.String basedir, org.apache.maven.wagon.resource.Resource resource, java.lang.String octalMode)
           
protected  java.lang.String readLine(java.io.InputStream in)
           
protected static void sendEom(java.io.OutputStream out)
           
private  void setFileGroup(org.apache.maven.wagon.repository.RepositoryPermissions permissions, java.lang.String basedir, org.apache.maven.wagon.resource.Resource resource)
           
 
Methods inherited from class org.apache.maven.wagon.providers.ssh.jsch.AbstractJschWagon
closeConnection, executeCommand, openConnection
 
Methods inherited from class org.apache.maven.wagon.providers.ssh.AbstractSshWagon
executeCommand, getDirectoryMode, getFileList, getIfNewer, getInteractiveUserInfo, getKnownHostsProvider, getOctalMode, getOctalMode, getPort, getPrivateKey, getResource, getResourceDirectory, getResourceFilename, handleGetException, putDirectory, resourceExists, setInteractiveUserInfo, setKnownHostsProvider, 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, 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.Wagon
addSessionListener, addTransferListener, connect, connect, connect, connect, disconnect, getRepository, hasSessionListener, hasTransferListener, isInteractive, removeSessionListener, removeTransferListener, setInteractive
 

Field Detail

COPY_START_CHAR

private static final char COPY_START_CHAR
See Also:
Constant Field Values

ACK_SEPARATOR

private static final char ACK_SEPARATOR
See Also:
Constant Field Values

END_OF_FILES_MSG

private static final java.lang.String END_OF_FILES_MSG
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
Constructor Detail

ScpWagon

public ScpWagon()
Method Detail

put

public void put(java.io.File source,
                java.lang.String destination)
         throws org.apache.maven.wagon.TransferFailedException,
                org.apache.maven.wagon.ResourceDoesNotExistException,
                org.apache.maven.wagon.authorization.AuthorizationException
Throws:
org.apache.maven.wagon.TransferFailedException
org.apache.maven.wagon.ResourceDoesNotExistException
org.apache.maven.wagon.authorization.AuthorizationException

setFileGroup

private void setFileGroup(org.apache.maven.wagon.repository.RepositoryPermissions permissions,
                          java.lang.String basedir,
                          org.apache.maven.wagon.resource.Resource resource)
                   throws org.apache.maven.wagon.TransferFailedException
Throws:
org.apache.maven.wagon.TransferFailedException

get

public void get(java.lang.String resourceName,
                java.io.File destination)
         throws org.apache.maven.wagon.TransferFailedException,
                org.apache.maven.wagon.ResourceDoesNotExistException,
                org.apache.maven.wagon.authorization.AuthorizationException
Throws:
org.apache.maven.wagon.TransferFailedException
org.apache.maven.wagon.ResourceDoesNotExistException
org.apache.maven.wagon.authorization.AuthorizationException

put

public void put(java.io.File source,
                java.lang.String basedir,
                org.apache.maven.wagon.resource.Resource resource,
                java.lang.String octalMode)
         throws org.apache.maven.wagon.TransferFailedException
Throws:
org.apache.maven.wagon.TransferFailedException

checkAck

private void checkAck(java.io.InputStream in)
               throws java.io.IOException,
                      org.apache.maven.wagon.TransferFailedException
Throws:
java.io.IOException
org.apache.maven.wagon.TransferFailedException

get

public void get(java.lang.String basedir,
                org.apache.maven.wagon.resource.Resource resource,
                java.io.File destination)
         throws org.apache.maven.wagon.ResourceDoesNotExistException,
                org.apache.maven.wagon.TransferFailedException
Throws:
org.apache.maven.wagon.ResourceDoesNotExistException
org.apache.maven.wagon.TransferFailedException

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