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 voidget(java.lang.String source, java.io.File destination)Fetch a resource from the repository.java.lang.StringgetCreateDirCommand()java.lang.StringgetExistCommand()java.lang.StringgetListCommand()protected java.lang.StringgetRepositoryScheme()return ssh as scheme use the Resolver type name here? would be nice if it would be static, so we could use SshResolver.getTypeName()ResourcegetResource(java.lang.String source)create a new resource with lazy initializingjava.util.Listlist(java.lang.String parent)Return a listing of resources namesjava.io.InputStreamopenStream(SshResource resource)Not really streaming...need to implement a proper streaming approach?voidput(java.io.File source, java.lang.String destination, boolean overwrite)SshResourceresolveResource(java.lang.String source)Fetch the needed file information for a given file (size, last modification time) and report it back in a SshResourcevoidsetCreateDirCommand(java.lang.String createDirCommand)voidsetExistCommand(java.lang.String existCommand)voidsetFileSeparator(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.voidsetListCommand(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 linevoidsetPublishPermissions(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.IOExceptionDescription copied from interface:RepositoryReturn 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:
putin classAbstractRepository- Throws:
java.io.IOException
-
get
public void get(java.lang.String source, java.io.File destination) throws java.io.IOExceptionDescription copied from interface:RepositoryFetch 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:
getRepositorySchemein 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
-
-