Package org.alfresco.filesys.repo
Class NonTransactionalRuleContentDiskDriver
- java.lang.Object
-
- org.alfresco.filesys.repo.NonTransactionalRuleContentDiskDriver
-
- All Implemented Interfaces:
ExtendedDiskInterface,org.alfresco.jlan.server.core.DeviceInterface,org.alfresco.jlan.server.filesys.DiskInterface
public class NonTransactionalRuleContentDiskDriver extends java.lang.Object implements ExtendedDiskInterface
Non Transactional DiskDriver with rules engine.Provides a DiskInterface that deals with "shuffles". Shuffles are implemented by the Rules Engine.
Sits on top of the repository and is non-retryable and non-transactional. It is, however thread safe and multiple callers may call in parallel.
-
-
Constructor Summary
Constructors Constructor Description NonTransactionalRuleContentDiskDriver()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidcloseFile(org.alfresco.jlan.server.SrvSession sess, org.alfresco.jlan.server.filesys.TreeConnection tree, org.alfresco.jlan.server.filesys.NetworkFile param)org.alfresco.jlan.server.core.DeviceContextcreateContext(java.lang.String shareName, org.springframework.extensions.config.ConfigElement args)voidcreateDirectory(org.alfresco.jlan.server.SrvSession sess, org.alfresco.jlan.server.filesys.TreeConnection tree, org.alfresco.jlan.server.filesys.FileOpenParams params)org.alfresco.jlan.server.filesys.NetworkFilecreateFile(org.alfresco.jlan.server.SrvSession sess, org.alfresco.jlan.server.filesys.TreeConnection tree, org.alfresco.jlan.server.filesys.FileOpenParams params)voiddeleteDirectory(org.alfresco.jlan.server.SrvSession sess, org.alfresco.jlan.server.filesys.TreeConnection tree, java.lang.String dir)voiddeleteFile(org.alfresco.jlan.server.SrvSession sess, org.alfresco.jlan.server.filesys.TreeConnection tree, java.lang.String name)intfileExists(org.alfresco.jlan.server.SrvSession sess, org.alfresco.jlan.server.filesys.TreeConnection tree, java.lang.String path)voidflushFile(org.alfresco.jlan.server.SrvSession sess, org.alfresco.jlan.server.filesys.TreeConnection tree, org.alfresco.jlan.server.filesys.NetworkFile file)CommandExecutorgetCommandExecutor()ExtendedDiskInterfacegetDiskInterface()org.alfresco.jlan.server.filesys.FileInfogetFileInformation(org.alfresco.jlan.server.SrvSession sess, org.alfresco.jlan.server.filesys.TreeConnection tree, java.lang.String path)RepositoryDiskInterfacegetRepositoryDiskInterface()RuleEvaluatorgetRuleEvaluator()voidinit()booleanisReadOnly(org.alfresco.jlan.server.SrvSession sess, org.alfresco.jlan.server.core.DeviceContext ctx)org.alfresco.jlan.server.filesys.NetworkFileopenFile(org.alfresco.jlan.server.SrvSession sess, org.alfresco.jlan.server.filesys.TreeConnection tree, org.alfresco.jlan.server.filesys.FileOpenParams param)intreadFile(org.alfresco.jlan.server.SrvSession sess, org.alfresco.jlan.server.filesys.TreeConnection tree, org.alfresco.jlan.server.filesys.NetworkFile file, byte[] buf, int bufPos, int siz, long filePos)voidregisterContext(org.alfresco.jlan.server.core.DeviceContext ctx)Register an independently created device context object for this instance of the shared device.voidrenameFile(org.alfresco.jlan.server.SrvSession sess, org.alfresco.jlan.server.filesys.TreeConnection tree, java.lang.String oldPath, java.lang.String newPath)longseekFile(org.alfresco.jlan.server.SrvSession sess, org.alfresco.jlan.server.filesys.TreeConnection tree, org.alfresco.jlan.server.filesys.NetworkFile file, long pos, int typ)voidsetCommandExecutor(CommandExecutor commandExecutor)voidsetDiskInterface(ExtendedDiskInterface diskInterface)voidsetFileInformation(org.alfresco.jlan.server.SrvSession sess, org.alfresco.jlan.server.filesys.TreeConnection tree, java.lang.String name, org.alfresco.jlan.server.filesys.FileInfo info)voidsetRepositoryDiskInterface(RepositoryDiskInterface repositoryDiskInterface)voidsetRuleEvaluator(RuleEvaluator ruleEvaluator)org.alfresco.jlan.server.filesys.SearchContextstartSearch(org.alfresco.jlan.server.SrvSession sess, org.alfresco.jlan.server.filesys.TreeConnection tree, java.lang.String searchPath, int attrib)voidtreeClosed(org.alfresco.jlan.server.SrvSession sess, org.alfresco.jlan.server.filesys.TreeConnection tree)voidtreeOpened(org.alfresco.jlan.server.SrvSession sess, org.alfresco.jlan.server.filesys.TreeConnection tree)voidtruncateFile(org.alfresco.jlan.server.SrvSession sess, org.alfresco.jlan.server.filesys.TreeConnection tree, org.alfresco.jlan.server.filesys.NetworkFile file, long siz)intwriteFile(org.alfresco.jlan.server.SrvSession sess, org.alfresco.jlan.server.filesys.TreeConnection tree, org.alfresco.jlan.server.filesys.NetworkFile file, byte[] buf, int bufoff, int siz, long fileoff)
-
-
-
Method Detail
-
init
public void init()
-
getFileInformation
public org.alfresco.jlan.server.filesys.FileInfo getFileInformation(org.alfresco.jlan.server.SrvSession sess, org.alfresco.jlan.server.filesys.TreeConnection tree, java.lang.String path) throws java.io.IOException- Specified by:
getFileInformationin interfaceorg.alfresco.jlan.server.filesys.DiskInterface- Throws:
java.io.IOException
-
fileExists
public int fileExists(org.alfresco.jlan.server.SrvSession sess, org.alfresco.jlan.server.filesys.TreeConnection tree, java.lang.String path)- Specified by:
fileExistsin interfaceorg.alfresco.jlan.server.filesys.DiskInterface
-
createContext
public org.alfresco.jlan.server.core.DeviceContext createContext(java.lang.String shareName, org.springframework.extensions.config.ConfigElement args) throws org.alfresco.jlan.server.core.DeviceContextException- Specified by:
createContextin interfaceorg.alfresco.jlan.server.core.DeviceInterface- Throws:
org.alfresco.jlan.server.core.DeviceContextException
-
treeOpened
public void treeOpened(org.alfresco.jlan.server.SrvSession sess, org.alfresco.jlan.server.filesys.TreeConnection tree)- Specified by:
treeOpenedin interfaceorg.alfresco.jlan.server.core.DeviceInterface
-
treeClosed
public void treeClosed(org.alfresco.jlan.server.SrvSession sess, org.alfresco.jlan.server.filesys.TreeConnection tree)- Specified by:
treeClosedin interfaceorg.alfresco.jlan.server.core.DeviceInterface
-
closeFile
public void closeFile(org.alfresco.jlan.server.SrvSession sess, org.alfresco.jlan.server.filesys.TreeConnection tree, org.alfresco.jlan.server.filesys.NetworkFile param) throws java.io.IOException- Specified by:
closeFilein interfaceorg.alfresco.jlan.server.filesys.DiskInterface- Throws:
java.io.IOException
-
createDirectory
public void createDirectory(org.alfresco.jlan.server.SrvSession sess, org.alfresco.jlan.server.filesys.TreeConnection tree, org.alfresco.jlan.server.filesys.FileOpenParams params) throws java.io.IOException- Specified by:
createDirectoryin interfaceorg.alfresco.jlan.server.filesys.DiskInterface- Throws:
java.io.IOException
-
createFile
public org.alfresco.jlan.server.filesys.NetworkFile createFile(org.alfresco.jlan.server.SrvSession sess, org.alfresco.jlan.server.filesys.TreeConnection tree, org.alfresco.jlan.server.filesys.FileOpenParams params) throws java.io.IOException- Specified by:
createFilein interfaceorg.alfresco.jlan.server.filesys.DiskInterface- Throws:
java.io.IOException
-
deleteDirectory
public void deleteDirectory(org.alfresco.jlan.server.SrvSession sess, org.alfresco.jlan.server.filesys.TreeConnection tree, java.lang.String dir) throws java.io.IOException- Specified by:
deleteDirectoryin interfaceorg.alfresco.jlan.server.filesys.DiskInterface- Throws:
java.io.IOException
-
deleteFile
public void deleteFile(org.alfresco.jlan.server.SrvSession sess, org.alfresco.jlan.server.filesys.TreeConnection tree, java.lang.String name) throws java.io.IOException- Specified by:
deleteFilein interfaceorg.alfresco.jlan.server.filesys.DiskInterface- Throws:
java.io.IOException
-
flushFile
public void flushFile(org.alfresco.jlan.server.SrvSession sess, org.alfresco.jlan.server.filesys.TreeConnection tree, org.alfresco.jlan.server.filesys.NetworkFile file) throws java.io.IOException- Specified by:
flushFilein interfaceorg.alfresco.jlan.server.filesys.DiskInterface- Throws:
java.io.IOException
-
isReadOnly
public boolean isReadOnly(org.alfresco.jlan.server.SrvSession sess, org.alfresco.jlan.server.core.DeviceContext ctx) throws java.io.IOException- Specified by:
isReadOnlyin interfaceorg.alfresco.jlan.server.filesys.DiskInterface- Throws:
java.io.IOException
-
openFile
public org.alfresco.jlan.server.filesys.NetworkFile openFile(org.alfresco.jlan.server.SrvSession sess, org.alfresco.jlan.server.filesys.TreeConnection tree, org.alfresco.jlan.server.filesys.FileOpenParams param) throws java.io.IOException- Specified by:
openFilein interfaceorg.alfresco.jlan.server.filesys.DiskInterface- Throws:
java.io.IOException
-
readFile
public int readFile(org.alfresco.jlan.server.SrvSession sess, org.alfresco.jlan.server.filesys.TreeConnection tree, org.alfresco.jlan.server.filesys.NetworkFile file, byte[] buf, int bufPos, int siz, long filePos) throws java.io.IOException- Specified by:
readFilein interfaceorg.alfresco.jlan.server.filesys.DiskInterface- Throws:
java.io.IOException
-
renameFile
public void renameFile(org.alfresco.jlan.server.SrvSession sess, org.alfresco.jlan.server.filesys.TreeConnection tree, java.lang.String oldPath, java.lang.String newPath) throws java.io.IOException- Specified by:
renameFilein interfaceorg.alfresco.jlan.server.filesys.DiskInterface- Throws:
java.io.IOException
-
seekFile
public long seekFile(org.alfresco.jlan.server.SrvSession sess, org.alfresco.jlan.server.filesys.TreeConnection tree, org.alfresco.jlan.server.filesys.NetworkFile file, long pos, int typ) throws java.io.IOException- Specified by:
seekFilein interfaceorg.alfresco.jlan.server.filesys.DiskInterface- Throws:
java.io.IOException
-
setFileInformation
public void setFileInformation(org.alfresco.jlan.server.SrvSession sess, org.alfresco.jlan.server.filesys.TreeConnection tree, java.lang.String name, org.alfresco.jlan.server.filesys.FileInfo info) throws java.io.IOException- Specified by:
setFileInformationin interfaceorg.alfresco.jlan.server.filesys.DiskInterface- Throws:
java.io.IOException
-
startSearch
public org.alfresco.jlan.server.filesys.SearchContext startSearch(org.alfresco.jlan.server.SrvSession sess, org.alfresco.jlan.server.filesys.TreeConnection tree, java.lang.String searchPath, int attrib) throws java.io.FileNotFoundException- Specified by:
startSearchin interfaceorg.alfresco.jlan.server.filesys.DiskInterface- Throws:
java.io.FileNotFoundException
-
truncateFile
public void truncateFile(org.alfresco.jlan.server.SrvSession sess, org.alfresco.jlan.server.filesys.TreeConnection tree, org.alfresco.jlan.server.filesys.NetworkFile file, long siz) throws java.io.IOException- Specified by:
truncateFilein interfaceorg.alfresco.jlan.server.filesys.DiskInterface- Throws:
java.io.IOException
-
writeFile
public int writeFile(org.alfresco.jlan.server.SrvSession sess, org.alfresco.jlan.server.filesys.TreeConnection tree, org.alfresco.jlan.server.filesys.NetworkFile file, byte[] buf, int bufoff, int siz, long fileoff) throws java.io.IOException- Specified by:
writeFilein interfaceorg.alfresco.jlan.server.filesys.DiskInterface- Throws:
java.io.IOException
-
setDiskInterface
public void setDiskInterface(ExtendedDiskInterface diskInterface)
-
getDiskInterface
public ExtendedDiskInterface getDiskInterface()
-
setRuleEvaluator
public void setRuleEvaluator(RuleEvaluator ruleEvaluator)
-
getRuleEvaluator
public RuleEvaluator getRuleEvaluator()
-
registerContext
public void registerContext(org.alfresco.jlan.server.core.DeviceContext ctx) throws org.alfresco.jlan.server.core.DeviceContextExceptionDescription copied from interface:ExtendedDiskInterfaceRegister an independently created device context object for this instance of the shared device. Useful, e.g. when context singleton configuration managed by a container.- Specified by:
registerContextin interfaceExtendedDiskInterface- Parameters:
ctx- the device context- Throws:
org.alfresco.jlan.server.core.DeviceContextException
-
setRepositoryDiskInterface
public void setRepositoryDiskInterface(RepositoryDiskInterface repositoryDiskInterface)
-
getRepositoryDiskInterface
public RepositoryDiskInterface getRepositoryDiskInterface()
-
setCommandExecutor
public void setCommandExecutor(CommandExecutor commandExecutor)
-
getCommandExecutor
public CommandExecutor getCommandExecutor()
-
-