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
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 -
Method Summary
Modifier and TypeMethodDescriptionvoidcloseFile(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(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, String dir) voiddeleteFile(org.alfresco.jlan.server.SrvSession sess, org.alfresco.jlan.server.filesys.TreeConnection tree, String name) intfileExists(org.alfresco.jlan.server.SrvSession sess, org.alfresco.jlan.server.filesys.TreeConnection tree, String path) voidflushFile(org.alfresco.jlan.server.SrvSession sess, org.alfresco.jlan.server.filesys.TreeConnection tree, org.alfresco.jlan.server.filesys.NetworkFile file) org.alfresco.jlan.server.filesys.FileInfogetFileInformation(org.alfresco.jlan.server.SrvSession sess, org.alfresco.jlan.server.filesys.TreeConnection tree, String path) 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, String oldPath, 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, 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, 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)
-
Constructor Details
-
NonTransactionalRuleContentDiskDriver
public NonTransactionalRuleContentDiskDriver()
-
-
Method Details
-
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, String path) throws IOException - Specified by:
getFileInformationin interfaceorg.alfresco.jlan.server.filesys.DiskInterface- Throws:
IOException
-
fileExists
public int fileExists(org.alfresco.jlan.server.SrvSession sess, org.alfresco.jlan.server.filesys.TreeConnection tree, String path) - Specified by:
fileExistsin interfaceorg.alfresco.jlan.server.filesys.DiskInterface
-
createContext
public org.alfresco.jlan.server.core.DeviceContext createContext(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 IOException - Specified by:
closeFilein interfaceorg.alfresco.jlan.server.filesys.DiskInterface- Throws:
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 IOException - Specified by:
createDirectoryin interfaceorg.alfresco.jlan.server.filesys.DiskInterface- Throws:
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 IOException - Specified by:
createFilein interfaceorg.alfresco.jlan.server.filesys.DiskInterface- Throws:
IOException
-
deleteDirectory
public void deleteDirectory(org.alfresco.jlan.server.SrvSession sess, org.alfresco.jlan.server.filesys.TreeConnection tree, String dir) throws IOException - Specified by:
deleteDirectoryin interfaceorg.alfresco.jlan.server.filesys.DiskInterface- Throws:
IOException
-
deleteFile
public void deleteFile(org.alfresco.jlan.server.SrvSession sess, org.alfresco.jlan.server.filesys.TreeConnection tree, String name) throws IOException - Specified by:
deleteFilein interfaceorg.alfresco.jlan.server.filesys.DiskInterface- Throws:
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 IOException - Specified by:
flushFilein interfaceorg.alfresco.jlan.server.filesys.DiskInterface- Throws:
IOException
-
isReadOnly
public boolean isReadOnly(org.alfresco.jlan.server.SrvSession sess, org.alfresco.jlan.server.core.DeviceContext ctx) throws IOException - Specified by:
isReadOnlyin interfaceorg.alfresco.jlan.server.filesys.DiskInterface- Throws:
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 IOException - Specified by:
openFilein interfaceorg.alfresco.jlan.server.filesys.DiskInterface- Throws:
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 IOException - Specified by:
readFilein interfaceorg.alfresco.jlan.server.filesys.DiskInterface- Throws:
IOException
-
renameFile
public void renameFile(org.alfresco.jlan.server.SrvSession sess, org.alfresco.jlan.server.filesys.TreeConnection tree, String oldPath, String newPath) throws IOException - Specified by:
renameFilein interfaceorg.alfresco.jlan.server.filesys.DiskInterface- Throws:
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 IOException - Specified by:
seekFilein interfaceorg.alfresco.jlan.server.filesys.DiskInterface- Throws:
IOException
-
setFileInformation
public void setFileInformation(org.alfresco.jlan.server.SrvSession sess, org.alfresco.jlan.server.filesys.TreeConnection tree, String name, org.alfresco.jlan.server.filesys.FileInfo info) throws IOException - Specified by:
setFileInformationin interfaceorg.alfresco.jlan.server.filesys.DiskInterface- Throws:
IOException
-
startSearch
public org.alfresco.jlan.server.filesys.SearchContext startSearch(org.alfresco.jlan.server.SrvSession sess, org.alfresco.jlan.server.filesys.TreeConnection tree, String searchPath, int attrib) throws FileNotFoundException - Specified by:
startSearchin interfaceorg.alfresco.jlan.server.filesys.DiskInterface- Throws:
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 IOException - Specified by:
truncateFilein interfaceorg.alfresco.jlan.server.filesys.DiskInterface- Throws:
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 IOException - Specified by:
writeFilein interfaceorg.alfresco.jlan.server.filesys.DiskInterface- Throws:
IOException
-
setDiskInterface
-
getDiskInterface
-
setRuleEvaluator
-
getRuleEvaluator
-
registerContext
public void registerContext(org.alfresco.jlan.server.core.DeviceContext ctx) throws org.alfresco.jlan.server.core.DeviceContextException Description 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
-
getRepositoryDiskInterface
-
setCommandExecutor
-
getCommandExecutor
-