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 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
     
  • Method Summary

    Modifier and Type
    Method
    Description
    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(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, String dir)
     
    void
    deleteFile(org.alfresco.jlan.server.SrvSession sess, org.alfresco.jlan.server.filesys.TreeConnection tree, String name)
     
    int
    fileExists(org.alfresco.jlan.server.SrvSession sess, org.alfresco.jlan.server.filesys.TreeConnection tree, String path)
     
    void
    flushFile(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.FileInfo
    getFileInformation(org.alfresco.jlan.server.SrvSession sess, org.alfresco.jlan.server.filesys.TreeConnection tree, String path)
     
     
     
    void
     
    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, String oldPath, 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
     
    void
     
    void
    setFileInformation(org.alfresco.jlan.server.SrvSession sess, org.alfresco.jlan.server.filesys.TreeConnection tree, String name, org.alfresco.jlan.server.filesys.FileInfo info)
     
    void
     
    void
     
    org.alfresco.jlan.server.filesys.SearchContext
    startSearch(org.alfresco.jlan.server.SrvSession sess, org.alfresco.jlan.server.filesys.TreeConnection tree, 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 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:
      getFileInformation in interface org.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:
      fileExists in interface org.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:
      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 IOException
      Specified by:
      closeFile in interface org.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:
      createDirectory in interface org.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:
      createFile in interface org.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:
      deleteDirectory in interface org.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:
      deleteFile in interface org.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:
      flushFile in interface org.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:
      isReadOnly in interface org.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:
      openFile in interface org.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:
      readFile in interface org.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:
      renameFile in interface org.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:
      seekFile in interface org.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:
      setFileInformation in interface org.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:
      startSearch in interface org.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:
      truncateFile in interface org.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:
      writeFile in interface org.alfresco.jlan.server.filesys.DiskInterface
      Throws:
      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
      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()