org.alfresco.filesys.repo
Class NonTransactionalRuleContentDiskDriver

java.lang.Object
  extended by 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
NonTransactionalRuleContentDiskDriver()
           
 
Method Summary
 void closeFile(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.DeviceContext createContext(java.lang.String shareName, org.springframework.extensions.config.ConfigElement args)
           
 void createDirectory(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.NetworkFile createFile(org.alfresco.jlan.server.SrvSession sess, org.alfresco.jlan.server.filesys.TreeConnection tree, org.alfresco.jlan.server.filesys.FileOpenParams params)
           
 void deleteDirectory(org.alfresco.jlan.server.SrvSession sess, org.alfresco.jlan.server.filesys.TreeConnection tree, java.lang.String dir)
           
 void deleteFile(org.alfresco.jlan.server.SrvSession sess, org.alfresco.jlan.server.filesys.TreeConnection tree, java.lang.String name)
           
 int fileExists(org.alfresco.jlan.server.SrvSession sess, org.alfresco.jlan.server.filesys.TreeConnection tree, java.lang.String path)
           
 void flushFile(org.alfresco.jlan.server.SrvSession sess, org.alfresco.jlan.server.filesys.TreeConnection tree, org.alfresco.jlan.server.filesys.NetworkFile file)
           
 CommandExecutor getCommandExecutor()
           
 ExtendedDiskInterface getDiskInterface()
           
 org.alfresco.jlan.server.filesys.FileInfo getFileInformation(org.alfresco.jlan.server.SrvSession sess, org.alfresco.jlan.server.filesys.TreeConnection tree, java.lang.String path)
           
 RepositoryDiskInterface getRepositoryDiskInterface()
           
 RuleEvaluator getRuleEvaluator()
           
 void init()
           
 boolean isReadOnly(org.alfresco.jlan.server.SrvSession sess, org.alfresco.jlan.server.core.DeviceContext ctx)
           
 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)
           
 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)
           
 void registerContext(org.alfresco.jlan.server.core.DeviceContext ctx)
          Register an independently created device context object for this instance of the shared device.
 void renameFile(org.alfresco.jlan.server.SrvSession sess, org.alfresco.jlan.server.filesys.TreeConnection tree, java.lang.String oldPath, java.lang.String newPath)
           
 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)
           
 void setCommandExecutor(CommandExecutor commandExecutor)
           
 void setDiskInterface(ExtendedDiskInterface diskInterface)
           
 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)
           
 void setRepositoryDiskInterface(RepositoryDiskInterface repositoryDiskInterface)
           
 void setRuleEvaluator(RuleEvaluator ruleEvaluator)
           
 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)
           
 void treeClosed(org.alfresco.jlan.server.SrvSession sess, org.alfresco.jlan.server.filesys.TreeConnection tree)
           
 void treeOpened(org.alfresco.jlan.server.SrvSession sess, org.alfresco.jlan.server.filesys.TreeConnection tree)
           
 void truncateFile(org.alfresco.jlan.server.SrvSession sess, org.alfresco.jlan.server.filesys.TreeConnection tree, org.alfresco.jlan.server.filesys.NetworkFile file, long siz)
           
 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)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

NonTransactionalRuleContentDiskDriver

public NonTransactionalRuleContentDiskDriver()
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:
getFileInformation in interface org.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:
fileExists in interface org.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:
createContext in interface org.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:
treeOpened in interface org.alfresco.jlan.server.core.DeviceInterface

treeClosed

public void treeClosed(org.alfresco.jlan.server.SrvSession sess,
                       org.alfresco.jlan.server.filesys.TreeConnection tree)
Specified by:
treeClosed in interface org.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:
closeFile in interface org.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:
createDirectory in interface org.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:
createFile in interface org.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:
deleteDirectory in interface org.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:
deleteFile in interface org.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:
flushFile in interface org.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:
isReadOnly in interface org.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:
openFile in interface org.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:
readFile in interface org.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:
renameFile in interface org.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:
seekFile in interface org.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:
setFileInformation in interface org.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:
startSearch in interface org.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:
truncateFile in interface org.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:
writeFile in interface org.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.DeviceContextException
Description copied from interface: ExtendedDiskInterface
Register 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:
registerContext in interface ExtendedDiskInterface
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()


Copyright © 2005 - 2010 Alfresco Software, Inc. All Rights Reserved.