Class LegacyFileStateDriver

  • All Implemented Interfaces:
    ExtendedDiskInterface, org.alfresco.jlan.server.core.DeviceInterface, org.alfresco.jlan.server.filesys.DiskInterface

    public class LegacyFileStateDriver
    extends java.lang.Object
    implements ExtendedDiskInterface
    The Legacy file state driver is used to update JLAN's file state cache.

    This class decorates an ExtendedDiskInterface with odds and ends to keep JLan happy.

    In particular this implementation cannot contain any code that requires access to the alfresco repository.

    • Method Summary

      All Methods Instance Methods Concrete Methods 
      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 file)  
      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 name)  
      void flushFile​(org.alfresco.jlan.server.SrvSession sess, org.alfresco.jlan.server.filesys.TreeConnection tree, org.alfresco.jlan.server.filesys.NetworkFile file)  
      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 name)  
      org.alfresco.jlan.server.locking.FileLockingInterface getFileLockingInterface()  
      org.alfresco.jlan.server.locking.OpLockInterface getOpLockInterface()  
      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 params)  
      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 oldName, java.lang.String newName)  
      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 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 setFileLockingInterface​(org.alfresco.jlan.server.locking.FileLockingInterface fileLockingInterface)  
      void setOpLockInterface​(org.alfresco.jlan.server.locking.OpLockInterface opLockInterface)  
      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

      • LegacyFileStateDriver

        public LegacyFileStateDriver()
    • Method Detail

      • init

        public void init()
      • 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
      • 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
      • 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 params)
                                                              throws java.io.IOException
        Specified by:
        openFile in interface org.alfresco.jlan.server.filesys.DiskInterface
        Throws:
        java.io.IOException
      • closeFile

        public void closeFile​(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:
        closeFile in interface org.alfresco.jlan.server.filesys.DiskInterface
        Throws:
        java.io.IOException
      • 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
      • 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
      • 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
      • fileExists

        public int fileExists​(org.alfresco.jlan.server.SrvSession sess,
                              org.alfresco.jlan.server.filesys.TreeConnection tree,
                              java.lang.String name)
        Specified by:
        fileExists in interface org.alfresco.jlan.server.filesys.DiskInterface
      • 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
      • 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 name)
                                                                     throws java.io.IOException
        Specified by:
        getFileInformation 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
      • 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 oldName,
                               java.lang.String newName)
                        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
      • 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
      • setFileLockingInterface

        public void setFileLockingInterface​(org.alfresco.jlan.server.locking.FileLockingInterface fileLockingInterface)
      • getFileLockingInterface

        public org.alfresco.jlan.server.locking.FileLockingInterface getFileLockingInterface()
      • setOpLockInterface

        public void setOpLockInterface​(org.alfresco.jlan.server.locking.OpLockInterface opLockInterface)
      • getOpLockInterface

        public org.alfresco.jlan.server.locking.OpLockInterface getOpLockInterface()