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

java.lang.Object
  extended by org.apache.maven.wagon.AbstractWagon
      extended by org.apache.maven.wagon.StreamWagon
          extended by org.apache.maven.wagon.providers.ssh.jsch.AbstractJschWagon
All Implemented Interfaces:
CommandExecutor, SshWagon, StreamingWagon, Wagon
Direct Known Subclasses:
ScpWagon, SftpWagon

public abstract class AbstractJschWagon
extends StreamWagon
implements SshWagon, CommandExecutor

AbstractJschWagon

Version:
$Id: AbstractJschWagon.java 1170464 2011-09-14 07:56:38Z olamy $

Field Summary
protected static String EXEC_CHANNEL
           
protected  com.jcraft.jsch.Session session
           
protected  ScpHelper sshTool
           
 
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
 
Fields inherited from interface org.apache.maven.wagon.Wagon
DEFAULT_CONNECTION_TIMEOUT, DEFAULT_READ_TIMEOUT
 
Constructor Summary
AbstractJschWagon()
           
 
Method Summary
 void closeConnection()
           
 void executeCommand(String command)
           
 Streams executeCommand(String command, boolean ignoreFailures)
           
 List<String> getFileList(String destinationDirectory)
          

Returns a List of strings naming the files and directories in the directory denoted by this abstract pathname.

 InteractiveUserInfo getInteractiveUserInfo()
           
 KnownHostsProvider getKnownHostsProvider()
           
protected  void handleGetException(Resource resource, Exception e)
           
 void openConnectionInternal()
           
 void putDirectory(File sourceDirectory, String destinationDirectory)
          Copy a directory from local system to remote
 boolean resourceExists(String resourceName)
          Check if a remote resource exists
 void setInteractiveUserInfo(InteractiveUserInfo interactiveUserInfo)
           
 void setKnownHostsProvider(KnownHostsProvider knownHostsProvider)
           
 boolean supportsDirectoryCopy()
          Flag indicating if this wagon supports directory copy operations.
 
Methods inherited from class org.apache.maven.wagon.StreamWagon
checkInputStream, checkOutputStream, fillInputData, fillOutputData, get, getIfNewer, getIfNewerToStream, getInputStream, getOutputStream, getToStream, put, putFromStream, putFromStream, putFromStream
 
Methods inherited from class org.apache.maven.wagon.AbstractWagon
addSessionListener, addTransferListener, cleanupGetTransfer, cleanupPutTransfer, connect, connect, connect, connect, connect, connect, createParentDirectories, disconnect, finishGetTransfer, finishPutTransfer, fireGetCompleted, fireGetInitiated, fireGetStarted, firePutCompleted, firePutInitiated, firePutStarted, fireSessionConnectionRefused, fireSessionDebug, fireSessionDisconnected, fireSessionDisconnecting, fireSessionError, fireSessionLoggedIn, fireSessionLoggedOff, fireSessionOpened, fireSessionOpening, fireTransferDebug, fireTransferError, fireTransferProgress, getAuthenticationInfo, getPath, getPermissionsOverride, getProxyInfo, getProxyInfo, getReadTimeout, getRepository, getSessionEventSupport, getTimeout, getTransfer, getTransfer, getTransfer, getTransfer, getTransferEventSupport, hasSessionListener, hasTransferListener, isInteractive, openConnection, postProcessListeners, putTransfer, putTransfer, removeSessionListener, removeTransferListener, setInteractive, setPermissionsOverride, setReadTimeout, setSessionEventSupport, setTimeout, 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, connect, connect, disconnect, get, getIfNewer, getReadTimeout, getRepository, getTimeout, hasSessionListener, hasTransferListener, isInteractive, openConnection, put, removeSessionListener, removeTransferListener, setInteractive, setReadTimeout, setTimeout
 

Field Detail

sshTool

protected ScpHelper sshTool

session

protected com.jcraft.jsch.Session session

EXEC_CHANNEL

protected static final String EXEC_CHANNEL
See Also:
Constant Field Values
Constructor Detail

AbstractJschWagon

public AbstractJschWagon()
Method Detail

openConnectionInternal

public void openConnectionInternal()
                            throws AuthenticationException
Specified by:
openConnectionInternal in class AbstractWagon
Throws:
AuthenticationException

closeConnection

public void closeConnection()
Specified by:
closeConnection in class StreamWagon

executeCommand

public Streams executeCommand(String command,
                              boolean ignoreFailures)
                       throws CommandExecutionException
Specified by:
executeCommand in interface CommandExecutor
Throws:
CommandExecutionException

handleGetException

protected void handleGetException(Resource resource,
                                  Exception e)
                           throws TransferFailedException
Throws:
TransferFailedException

getFileList

public List<String> getFileList(String destinationDirectory)
                         throws TransferFailedException,
                                ResourceDoesNotExistException,
                                AuthorizationException
Description copied from interface: Wagon

Returns a List of strings naming the files and directories in the directory denoted by this abstract pathname.

If this abstract pathname does not denote a directory, or does not exist, then this method throws ResourceDoesNotExistException. Otherwise a List of strings is returned, one for each file or directory in the directory. Names denoting the directory itself and the directory's parent directory are not included in the result. Each string is a file name rather than a complete path.

There is no guarantee that the name strings in the resulting list will appear in any specific order; they are not, in particular, guaranteed to appear in alphabetical order.

Specified by:
getFileList in interface Wagon
Overrides:
getFileList in class AbstractWagon
Parameters:
destinationDirectory - directory to list contents of
Returns:
A List of strings naming the files and directories in the directory denoted by this abstract pathname. The List will be empty if the directory is empty.
Throws:
TransferFailedException - if there's an error trying to access the remote side
ResourceDoesNotExistException - if destinationDirectory does not exist or is not a directory
AuthorizationException - if not authorized to list the contents of the directory

putDirectory

public void putDirectory(File sourceDirectory,
                         String destinationDirectory)
                  throws TransferFailedException,
                         ResourceDoesNotExistException,
                         AuthorizationException
Description copied from interface: Wagon
Copy a directory from local system to remote

Specified by:
putDirectory in interface Wagon
Overrides:
putDirectory in class AbstractWagon
Parameters:
sourceDirectory - the local directory
destinationDirectory - the remote destination
Throws:
TransferFailedException
ResourceDoesNotExistException
AuthorizationException

resourceExists

public boolean resourceExists(String resourceName)
                       throws TransferFailedException,
                              AuthorizationException
Description copied from interface: Wagon
Check if a remote resource exists

Specified by:
resourceExists in interface Wagon
Overrides:
resourceExists in class AbstractWagon
Returns:
whether the resource exists or not
Throws:
TransferFailedException - if there's an error trying to access the remote side
AuthorizationException - if not authorized to verify the existence of the resource

supportsDirectoryCopy

public boolean supportsDirectoryCopy()
Description copied from interface: Wagon
Flag indicating if this wagon supports directory copy operations.

Specified by:
supportsDirectoryCopy in interface Wagon
Overrides:
supportsDirectoryCopy in class AbstractWagon
Returns:
whether if this wagon supports directory operations

executeCommand

public void executeCommand(String command)
                    throws CommandExecutionException
Specified by:
executeCommand in interface CommandExecutor
Throws:
CommandExecutionException

getInteractiveUserInfo

public InteractiveUserInfo getInteractiveUserInfo()

getKnownHostsProvider

public KnownHostsProvider getKnownHostsProvider()

setInteractiveUserInfo

public void setInteractiveUserInfo(InteractiveUserInfo interactiveUserInfo)

setKnownHostsProvider

public void setKnownHostsProvider(KnownHostsProvider knownHostsProvider)
Specified by:
setKnownHostsProvider in interface SshWagon


Copyright © 2003-2011 The Apache Software Foundation. All Rights Reserved.