Package org.alfresco.repo.remote
Class RepoRemoteTransportService
- java.lang.Object
-
- org.alfresco.repo.remote.RepoRemoteTransportService
-
- All Implemented Interfaces:
java.lang.Runnable,RepoRemoteTransport
public class RepoRemoteTransportService extends java.lang.Object implements RepoRemoteTransport, java.lang.Runnable
The server side implementation of RepoRemoteTransport. It handles ticket validation, and expiration of idle streams.- Author:
- britt
-
-
Constructor Summary
Constructors Constructor Description RepoRemoteTransportService()Default constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidcloseInputHandle(java.lang.String ticket, java.lang.String handle)Close a remote InputStream.voidcloseOutputHandle(java.lang.String ticket, java.lang.String handle)Close a remote OutputStream.org.alfresco.service.cmr.repository.NodeRefcreateDirectory(java.lang.String ticket, org.alfresco.service.cmr.repository.NodeRef base, java.lang.String path)Create a new directory.java.lang.StringcreateFile(java.lang.String ticket, org.alfresco.service.cmr.repository.NodeRef base, java.lang.String path)Create a file relative to a base node.java.util.Map<java.lang.String,org.alfresco.util.Pair<org.alfresco.service.cmr.repository.NodeRef,java.lang.Boolean>>getListing(java.lang.String ticket, org.alfresco.service.cmr.repository.NodeRef dir)Get a listing of a directory.org.alfresco.service.cmr.repository.NodeRefgetRoot(java.lang.String ticket)Get the root node of the SpacesStore repo.voidinit()The init method.org.alfresco.util.Pair<org.alfresco.service.cmr.repository.NodeRef,java.lang.Boolean>lookup(java.lang.String ticket, org.alfresco.service.cmr.repository.NodeRef base, java.lang.String path)Lookup a node by path relative to a node.java.lang.StringreadFile(java.lang.String ticket, org.alfresco.service.cmr.repository.NodeRef fileRef)Read a file directly.java.lang.StringreadFile(java.lang.String ticket, org.alfresco.service.cmr.repository.NodeRef base, java.lang.String path)Read a file from a relative path.byte[]readInput(java.lang.String ticket, java.lang.String handle, int count)Read a block of bytes over the wire.voidremoveNode(java.lang.String ticket, org.alfresco.service.cmr.repository.NodeRef toRemove)Remove a node directly.voidremoveNode(java.lang.String ticket, org.alfresco.service.cmr.repository.NodeRef base, java.lang.String path)Remove a node via a relative path.voidrename(java.lang.String ticket, org.alfresco.service.cmr.repository.NodeRef base, java.lang.String src, java.lang.String dst)Rename a nodevoidrun()The body of this Runnable.voidsetAuthenticationService(AuthenticationService service)Set the AuthenticationService instance.voidsetIdleTimeout(long timeout)Set the Idle Timeout value.voidsetRepoRemote(RepoRemote remote)Set the RepoRemote instance.voidshutDown()Shutdown the Runnable cleanly.java.lang.StringwriteFile(java.lang.String ticket, org.alfresco.service.cmr.repository.NodeRef base, java.lang.String path)Write to an already existing file.voidwriteOutput(java.lang.String ticket, java.lang.String handle, byte[] buff, int count)Write a portion of a block of bytes over the wire.
-
-
-
Method Detail
-
setIdleTimeout
public void setIdleTimeout(long timeout)
Set the Idle Timeout value.- Parameters:
timeout- The value to set.
-
setRepoRemote
public void setRepoRemote(RepoRemote remote)
Set the RepoRemote instance.
-
setAuthenticationService
public void setAuthenticationService(AuthenticationService service)
Set the AuthenticationService instance.
-
init
public void init()
The init method. This fires up a thread to check for closable streams.
-
run
public void run()
The body of this Runnable.- Specified by:
runin interfacejava.lang.Runnable
-
shutDown
public void shutDown()
Shutdown the Runnable cleanly.
-
closeInputHandle
public void closeInputHandle(java.lang.String ticket, java.lang.String handle)Description copied from interface:RepoRemoteTransportClose a remote InputStream.- Specified by:
closeInputHandlein interfaceRepoRemoteTransport- Parameters:
ticket- The authentication ticket.handle- The handle.
-
closeOutputHandle
public void closeOutputHandle(java.lang.String ticket, java.lang.String handle)Description copied from interface:RepoRemoteTransportClose a remote OutputStream.- Specified by:
closeOutputHandlein interfaceRepoRemoteTransport- Parameters:
ticket- The authentication ticket.handle- The handle.
-
createDirectory
public org.alfresco.service.cmr.repository.NodeRef createDirectory(java.lang.String ticket, org.alfresco.service.cmr.repository.NodeRef base, java.lang.String path)Description copied from interface:RepoRemoteTransportCreate a new directory.- Specified by:
createDirectoryin interfaceRepoRemoteTransportbase- The base node ref.path- The relative path.- Returns:
- The node ref to the newly created directory.
-
createFile
public java.lang.String createFile(java.lang.String ticket, org.alfresco.service.cmr.repository.NodeRef base, java.lang.String path)Description copied from interface:RepoRemoteTransportCreate a file relative to a base node.- Specified by:
createFilein interfaceRepoRemoteTransportbase- The base node ref.path- The relative path.- Returns:
- A handle.
-
getListing
public java.util.Map<java.lang.String,org.alfresco.util.Pair<org.alfresco.service.cmr.repository.NodeRef,java.lang.Boolean>> getListing(java.lang.String ticket, org.alfresco.service.cmr.repository.NodeRef dir)Description copied from interface:RepoRemoteTransportGet a listing of a directory.- Specified by:
getListingin interfaceRepoRemoteTransportdir- The node ref of the directory.- Returns:
- A Map of names to node refs.
-
getRoot
public org.alfresco.service.cmr.repository.NodeRef getRoot(java.lang.String ticket)
Description copied from interface:RepoRemoteTransportGet the root node of the SpacesStore repo.- Specified by:
getRootin interfaceRepoRemoteTransport- Returns:
- The root node ref.
-
lookup
public org.alfresco.util.Pair<org.alfresco.service.cmr.repository.NodeRef,java.lang.Boolean> lookup(java.lang.String ticket, org.alfresco.service.cmr.repository.NodeRef base, java.lang.String path)Description copied from interface:RepoRemoteTransportLookup a node by path relative to a node.- Specified by:
lookupin interfaceRepoRemoteTransportbase- The base node ref.path- The relative path.- Returns:
- The node ref or null.
-
readFile
public java.lang.String readFile(java.lang.String ticket, org.alfresco.service.cmr.repository.NodeRef base, java.lang.String path)Description copied from interface:RepoRemoteTransportRead a file from a relative path.- Specified by:
readFilein interfaceRepoRemoteTransportbase- The base node ref.path- The relative path to the file.- Returns:
- A handle.
-
readFile
public java.lang.String readFile(java.lang.String ticket, org.alfresco.service.cmr.repository.NodeRef fileRef)Description copied from interface:RepoRemoteTransportRead a file directly.- Specified by:
readFilein interfaceRepoRemoteTransportfileRef- The node ref of the file.- Returns:
- A handle.
-
readInput
public byte[] readInput(java.lang.String ticket, java.lang.String handle, int count)Description copied from interface:RepoRemoteTransportRead a block of bytes over the wire.- Specified by:
readInputin interfaceRepoRemoteTransport- Parameters:
ticket- The authentication ticket.handle- The remote handle.count- The number of bytes to try to read.- Returns:
- A buffer of the bytes read. Length is 0 at EOF.
-
removeNode
public void removeNode(java.lang.String ticket, org.alfresco.service.cmr.repository.NodeRef base, java.lang.String path)Description copied from interface:RepoRemoteTransportRemove a node via a relative path.- Specified by:
removeNodein interfaceRepoRemoteTransportbase- The base node ref.path- The relative path.
-
removeNode
public void removeNode(java.lang.String ticket, org.alfresco.service.cmr.repository.NodeRef toRemove)Description copied from interface:RepoRemoteTransportRemove a node directly.- Specified by:
removeNodein interfaceRepoRemoteTransporttoRemove- The node ref to remove.
-
rename
public void rename(java.lang.String ticket, org.alfresco.service.cmr.repository.NodeRef base, java.lang.String src, java.lang.String dst)Description copied from interface:RepoRemoteTransportRename a node- Specified by:
renamein interfaceRepoRemoteTransportbase- The base node ref.src- The relative source path.dst- The relative target path.
-
writeFile
public java.lang.String writeFile(java.lang.String ticket, org.alfresco.service.cmr.repository.NodeRef base, java.lang.String path)Description copied from interface:RepoRemoteTransportWrite to an already existing file.- Specified by:
writeFilein interfaceRepoRemoteTransportbase- The base node ref.path- The relative path.- Returns:
- A handle.
-
writeOutput
public void writeOutput(java.lang.String ticket, java.lang.String handle, byte[] buff, int count)Description copied from interface:RepoRemoteTransportWrite a portion of a block of bytes over the wire.- Specified by:
writeOutputin interfaceRepoRemoteTransport- Parameters:
ticket- The authentication ticket.handle- The remote handle.buff- The buffer with data.count- The number of bytes to write.
-
-