Class Scp
- java.lang.Object
-
- org.apache.ivy.plugins.repository.ssh.Scp
-
public class Scp extends java.lang.Object
This class is using the scp client to transfer data and information for the repository.It is based on the SCPClient from the ganymed ssh library from Christian Plattner, released under a BSD style license.
To minimize the dependency to the ssh library and because we needed some additional functionality, we decided to copy'n'paste the single class rather than to inherit or delegate it somehow.
Nevertheless credit should go to the original author.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description class
Scp.FileInfo
-
Constructor Summary
Constructors Constructor Description Scp(com.jcraft.jsch.Session session)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
get(java.lang.String remoteFile, java.io.OutputStream localTarget)
Download a file from the remote server into an OutputStreamvoid
get(java.lang.String remoteFile, java.lang.String localTarget)
Download a file from the remote server to a local file.Scp.FileInfo
getFileinfo(java.lang.String remoteFile)
Initiates an SCP sequence but stops after getting fileinformation headervoid
put(java.lang.String localFile, java.lang.String remoteTargetDir, java.lang.String remoteTargetName, java.lang.String mode)
Copy a local file to a remote site, uses the specified mode when creating the file on the remote side.
-
-
-
Method Detail
-
put
public void put(java.lang.String localFile, java.lang.String remoteTargetDir, java.lang.String remoteTargetName, java.lang.String mode) throws java.io.IOException, RemoteScpException
Copy a local file to a remote site, uses the specified mode when creating the file on the remote side.- Parameters:
localFile
- Path and name of local file. Must be absolute.remoteTargetDir
- Remote target directory where the file has to end up (optional)remoteTargetName
- file name to use on the target systemmode
- a four digit string (e.g., 0644, see "man chmod", "man open")- Throws:
java.io.IOException
- in case of network problemsRemoteScpException
- in case of problems on the target system (connection ok)
-
get
public void get(java.lang.String remoteFile, java.lang.String localTarget) throws java.io.IOException, RemoteScpException
Download a file from the remote server to a local file.- Parameters:
remoteFile
- Path and name of the remote file.localTarget
- Local file where to store the data. Must be absolute.- Throws:
java.io.IOException
- in case of network problemsRemoteScpException
- in case of problems on the target system (connection ok)
-
get
public void get(java.lang.String remoteFile, java.io.OutputStream localTarget) throws java.io.IOException, RemoteScpException
Download a file from the remote server into an OutputStream- Parameters:
remoteFile
- Path and name of the remote file.localTarget
- OutputStream to store the data.- Throws:
java.io.IOException
- in case of network problemsRemoteScpException
- in case of problems on the target system (connection ok)
-
getFileinfo
public Scp.FileInfo getFileinfo(java.lang.String remoteFile) throws java.io.IOException, RemoteScpException
Initiates an SCP sequence but stops after getting fileinformation header- Parameters:
remoteFile
- to get information for- Returns:
- the file information got
- Throws:
java.io.IOException
- in case of network problemsRemoteScpException
- in case of problems on the target system (connection ok)
-
-