Class SshRepository
- java.lang.Object
-
- org.apache.ivy.plugins.repository.AbstractRepository
-
- org.apache.ivy.plugins.repository.ssh.AbstractSshBasedRepository
-
- org.apache.ivy.plugins.repository.ssh.SshRepository
-
- All Implemented Interfaces:
Repository
public class SshRepository extends AbstractSshBasedRepository
Ivy Repository based on SSH
-
-
Constructor Summary
Constructors Constructor Description SshRepository()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
get(java.lang.String source, java.io.File destination)
Fetch a resource from the repository.java.lang.String
getCreateDirCommand()
java.lang.String
getExistCommand()
java.lang.String
getListCommand()
protected java.lang.String
getRepositoryScheme()
return ssh as scheme use the Resolver type name here? would be nice if it would be static, so we could use SshResolver.getTypeName()Resource
getResource(java.lang.String source)
create a new resource with lazy initializingjava.util.List
list(java.lang.String parent)
Return a listing of resources namesjava.io.InputStream
openStream(SshResource resource)
Not really streaming...need to implement a proper streaming approach?void
put(java.io.File source, java.lang.String destination, boolean overwrite)
SshResource
resolveResource(java.lang.String source)
Fetch the needed file information for a given file (size, last modification time) and report it back in a SshResourcevoid
setCreateDirCommand(java.lang.String createDirCommand)
void
setExistCommand(java.lang.String existCommand)
void
setFileSeparator(char fileSeparator)
The file separator is the separator to use on the target system On a unix system it is '/', but I don't know, how this is solved on different ssh implementations.void
setListCommand(java.lang.String cmd)
sets the list command to use for a directory listing listing must be only the filename and each filename on a separate linevoid
setPublishPermissions(java.lang.String permissions)
A four digit string (e.g., 0644, see "man chmod", "man open") specifying the permissions of the published files.-
Methods inherited from class org.apache.ivy.plugins.repository.ssh.AbstractSshBasedRepository
getHost, getKeyFile, getKeyFilePassword, getPassFile, getPort, getSession, getUser, getUserPassword, isAllowedAgentUse, releaseSession, setAllowedAgentUse, setHost, setKeyFile, setKeyFilePassword, setPassFile, setPort, setUser, setUserPassword
-
Methods inherited from class org.apache.ivy.plugins.repository.AbstractRepository
addTransferListener, fireTransferCompleted, fireTransferCompleted, fireTransferError, fireTransferError, fireTransferEvent, fireTransferInitiated, fireTransferProgress, fireTransferStarted, fireTransferStarted, getFileSeparator, getName, hasTransferListener, put, removeTransferListener, setName, standardize, toString
-
-
-
-
Method Detail
-
getResource
public Resource getResource(java.lang.String source)
create a new resource with lazy initializing- Parameters:
source
- A string identifying the resource.- Returns:
- The resource associated with the resource identifier.
-
resolveResource
public SshResource resolveResource(java.lang.String source)
Fetch the needed file information for a given file (size, last modification time) and report it back in a SshResource- Parameters:
source
- ssh uri for the file to get info for- Returns:
- SshResource filled with the needed informations
- See Also:
Repository.getResource(java.lang.String)
-
list
public java.util.List list(java.lang.String parent) throws java.io.IOException
Description copied from interface:Repository
Return a listing of resources names- Parameters:
parent
- The parent directory from which to generate the listing.- Returns:
- A listing of the parent directory's file content, as a List of String.
- Throws:
java.io.IOException
- On listing failure.
-
put
public void put(java.io.File source, java.lang.String destination, boolean overwrite) throws java.io.IOException
- Overrides:
put
in classAbstractRepository
- Throws:
java.io.IOException
-
get
public void get(java.lang.String source, java.io.File destination) throws java.io.IOException
Description copied from interface:Repository
Fetch a resource from the repository.- Parameters:
source
- A string identifying the resource to be fetched.destination
- Where to place the fetched resource.- Throws:
java.io.IOException
- On retrieval failure.
-
setListCommand
public void setListCommand(java.lang.String cmd)
sets the list command to use for a directory listing listing must be only the filename and each filename on a separate line- Parameters:
cmd
- to use. default is "ls -1"
-
getListCommand
public java.lang.String getListCommand()
- Returns:
- the list command to use
-
getCreateDirCommand
public java.lang.String getCreateDirCommand()
- Returns:
- the createDirCommand
-
setCreateDirCommand
public void setCreateDirCommand(java.lang.String createDirCommand)
- Parameters:
createDirCommand
- the createDirCommand to set
-
getExistCommand
public java.lang.String getExistCommand()
- Returns:
- the existCommand
-
setExistCommand
public void setExistCommand(java.lang.String existCommand)
- Parameters:
existCommand
- the existCommand to set
-
setFileSeparator
public void setFileSeparator(char fileSeparator)
The file separator is the separator to use on the target system On a unix system it is '/', but I don't know, how this is solved on different ssh implementations. Using the default might be fine- Parameters:
fileSeparator
- The fileSeparator to use. default '/'
-
setPublishPermissions
public void setPublishPermissions(java.lang.String permissions)
A four digit string (e.g., 0644, see "man chmod", "man open") specifying the permissions of the published files.
-
getRepositoryScheme
protected java.lang.String getRepositoryScheme()
return ssh as scheme use the Resolver type name here? would be nice if it would be static, so we could use SshResolver.getTypeName()- Specified by:
getRepositoryScheme
in classAbstractSshBasedRepository
-
openStream
public java.io.InputStream openStream(SshResource resource) throws java.io.IOException
Not really streaming...need to implement a proper streaming approach?- Parameters:
resource
- to stream- Returns:
- InputStream of the resource data
- Throws:
java.io.IOException
-
-