Class ContentDiskDriver2

  • All Implemented Interfaces:
    ExtendedDiskInterface, RepositoryDiskInterface, org.alfresco.jlan.server.core.DeviceInterface, org.alfresco.jlan.server.filesys.DiskInterface, org.alfresco.jlan.server.filesys.DiskSizeInterface, org.alfresco.jlan.server.locking.FileLockingInterface, org.alfresco.jlan.server.locking.OpLockInterface

    public class ContentDiskDriver2
    extends AlfrescoDiskDriver
    implements ExtendedDiskInterface, org.alfresco.jlan.server.filesys.DiskInterface, org.alfresco.jlan.server.filesys.DiskSizeInterface, RepositoryDiskInterface, org.alfresco.jlan.server.locking.OpLockInterface, org.alfresco.jlan.server.locking.FileLockingInterface
    Alfresco Content repository filesystem driver class

    Provides a JLAN ContentDiskDriver for various JLAN protocols such as SMB/CIFS, NFS and FTP.

    • Method Summary

      All Methods Instance Methods Concrete Methods Deprecated Methods 
      Modifier and Type Method Description
      org.alfresco.service.cmr.repository.NodeRef closeFile​(org.alfresco.jlan.server.filesys.TreeConnection tree, org.alfresco.service.cmr.repository.NodeRef rootNode, java.lang.String path, org.alfresco.jlan.server.filesys.NetworkFile file)
      Close the file.
      void closeFile​(org.alfresco.jlan.server.SrvSession session, org.alfresco.jlan.server.filesys.TreeConnection tree, org.alfresco.jlan.server.filesys.NetworkFile file)
      Close the file.
      void copyContent​(org.alfresco.service.cmr.repository.NodeRef rootNode, java.lang.String fromPath, java.lang.String toPath)
      Copy the content from one node to another.
      org.alfresco.jlan.server.core.DeviceContext createContext​(java.lang.String deviceName, org.springframework.extensions.config.ConfigElement cfg)
      Deprecated.
      - no longer used.
      void createDirectory​(org.alfresco.jlan.server.SrvSession sess, org.alfresco.jlan.server.filesys.TreeConnection tree, org.alfresco.jlan.server.filesys.FileOpenParams params)
      Create a new directory on this file system.
      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)
      Create a new file on the file system.
      org.alfresco.jlan.server.filesys.NetworkFile createFile​(org.alfresco.service.cmr.repository.NodeRef rootNode, java.lang.String path, long allocationSize, boolean isHidden)
      CreateFile.
      void deleteDirectory​(org.alfresco.jlan.server.SrvSession session, org.alfresco.jlan.server.filesys.TreeConnection tree, java.lang.String dir)
      Delete the directory from the filesystem.
      void deleteEmptyFile​(org.alfresco.service.cmr.repository.NodeRef rootNode, java.lang.String path)  
      void deleteFile​(org.alfresco.jlan.server.SrvSession session, org.alfresco.jlan.server.filesys.TreeConnection tree, java.lang.String name)  
      org.alfresco.service.cmr.repository.NodeRef deleteFile2​(org.alfresco.jlan.server.SrvSession session, org.alfresco.jlan.server.filesys.TreeConnection tree, org.alfresco.service.cmr.repository.NodeRef rootNode, java.lang.String path)
      Delete the specified file.
      int fileExists​(org.alfresco.jlan.server.SrvSession session, org.alfresco.jlan.server.filesys.TreeConnection tree, java.lang.String name)
      Check if the specified file exists, and whether it is a file or directory.
      void flushFile​(org.alfresco.jlan.server.SrvSession session, org.alfresco.jlan.server.filesys.TreeConnection tree, org.alfresco.jlan.server.filesys.NetworkFile file)
      Flush any buffered output for the specified file.
      AuthenticationContext getAuthenticationContext()
      Return the authentication context
      AuthenticationService getAuthenticationService()
      Return the authentication service
      CheckOutCheckInService getCheckOutCheckInService()  
      CifsHelper getCifsHelper()
      Return the CIFS helper
      ContentComparator getContentComparator()  
      ContentService getContentService()
      Return the content service
      void getDiskInformation​(org.alfresco.jlan.server.filesys.DiskDeviceContext ctx, org.alfresco.jlan.server.filesys.SrvDiskInfo diskDev)
      Get the disk information for this shared disk device.
      FileFolderService getFileFolderService()
      Return the file folder service
      org.alfresco.jlan.server.filesys.FileInfo getFileInformation​(org.alfresco.jlan.server.SrvSession session, org.alfresco.jlan.server.filesys.TreeConnection tree, java.lang.String path)
      Get the file information for the specified file.
      org.alfresco.jlan.server.locking.LockManager getLockManager​(org.alfresco.jlan.server.SrvSession sess, org.alfresco.jlan.server.filesys.TreeConnection tree)
      Return the lock manager used by this filesystem
      LockService getLockService()
      Return the lock service
      org.alfresco.service.namespace.NamespaceService getNamespaceService()
      Return the namespace service
      NodeArchiveService getNodeArchiveService()  
      org.alfresco.service.cmr.repository.NodeRef getNodeForPath​(org.alfresco.service.cmr.repository.NodeRef rootNode, java.lang.String path)
      Get the node for the specified path
      org.alfresco.service.cmr.repository.NodeService getNodeService()
      Return the node service
      org.alfresco.jlan.server.locking.OpLockManager getOpLockManager​(org.alfresco.jlan.server.SrvSession sess, org.alfresco.jlan.server.filesys.TreeConnection tree)  
      org.alfresco.service.cmr.security.PermissionService getPermissionService()
      Return the permission service
      BehaviourFilter getPolicyFilter()
      Get the policy behaviour filter, used to inhibit versioning on a per transaction basis
      org.alfresco.service.cmr.search.SearchService getSearchService()
      Return the search service
      void init()  
      boolean isOpLocksEnabled​(org.alfresco.jlan.server.SrvSession sess, org.alfresco.jlan.server.filesys.TreeConnection tree)  
      boolean isReadOnly​(org.alfresco.jlan.server.SrvSession sess, org.alfresco.jlan.server.core.DeviceContext ctx)
      Determine if the disk device is read-only.
      org.alfresco.jlan.server.filesys.NetworkFile openFile​(org.alfresco.jlan.server.SrvSession session, org.alfresco.jlan.server.filesys.TreeConnection tree, org.alfresco.jlan.server.filesys.FileOpenParams params)
      Open a file or folder - obsolete implementation.
      org.alfresco.jlan.server.filesys.NetworkFile openFile​(org.alfresco.jlan.server.SrvSession session, org.alfresco.jlan.server.filesys.TreeConnection tree, org.alfresco.service.cmr.repository.NodeRef rootNode, java.lang.String path, OpenFileMode mode, boolean truncate)
      Open the file - Repo Specific implementation
      int readFile​(org.alfresco.jlan.server.SrvSession sess, org.alfresco.jlan.server.filesys.TreeConnection tree, org.alfresco.jlan.server.filesys.NetworkFile file, byte[] buffer, int bufferPosition, int size, long fileOffset)
      Read a block of data from the specified file.
      void reduceQuota​(org.alfresco.jlan.server.SrvSession session, org.alfresco.jlan.server.filesys.TreeConnection tree, org.alfresco.jlan.server.filesys.NetworkFile file)  
      void registerContext​(org.alfresco.jlan.server.core.DeviceContext ctx)
      Registers a device context object for this instance of the shared device.
      void renameFile​(org.alfresco.jlan.server.SrvSession session, org.alfresco.jlan.server.filesys.TreeConnection tree, java.lang.String oldName, java.lang.String newName)  
      void renameFile​(org.alfresco.service.cmr.repository.NodeRef rootNode, java.lang.String oldName, java.lang.String newName, boolean soft, boolean moveAsSystem)
      Rename the specified file.
      org.alfresco.jlan.server.filesys.NetworkFile restoreFile​(org.alfresco.jlan.server.SrvSession sess, org.alfresco.jlan.server.filesys.TreeConnection tree, org.alfresco.service.cmr.repository.NodeRef rootNode, java.lang.String path, long allocationSize, org.alfresco.service.cmr.repository.NodeRef originalNodeRef)
      RestoreFile.
      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)
      Seek to the specified file position.
      void setAlfrescoLockKeeper​(LockKeeper lockKeeper)  
      void setAuthenticationContext​(AuthenticationContext authContext)
      Set the authentication context
      void setAuthenticationService​(AuthenticationService authService)
      Set the authentication service
      void setCheckOutCheckInService​(CheckOutCheckInService service)  
      void setCifsHelper​(CifsHelper cifsHelper)  
      void setContentComparator​(ContentComparator contentComparator)  
      void setContentService​(ContentService contentService)  
      void setFileFolderService​(FileFolderService fileService)
      Set the file folder service
      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)
      Set file information
      void setHiddenAspect​(HiddenAspect hiddenAspect)  
      void setLockService​(LockService lockService)
      Set the lock service
      void setMimetypeService​(org.alfresco.service.cmr.repository.MimetypeService mimetypeService)  
      void setNamespaceService​(org.alfresco.service.namespace.NamespaceService namespaceService)  
      void setNodeArchiveService​(NodeArchiveService nodeArchiveService)  
      void setNodeMonitorFactory​(NodeMonitorFactory nodeMonitorFactory)
      Set the node monitor factory
      void setNodeService​(org.alfresco.service.cmr.repository.NodeService nodeService)  
      void setPermissionService​(org.alfresco.service.cmr.security.PermissionService permissionService)
      Set the permission service
      void setPolicyFilter​(BehaviourFilter policyFilter)
      Set the policy behaviour filter, used to inhibit versioning on a per transaction basis
      void setSearchService​(org.alfresco.service.cmr.search.SearchService searchService)  
      org.alfresco.jlan.server.filesys.SearchContext startSearch​(org.alfresco.jlan.server.SrvSession session, org.alfresco.jlan.server.filesys.TreeConnection tree, java.lang.String searchPath, int attributes)
      Start a new search on the filesystem using the specified searchPath that may contain wildcards.
      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 size)
      Truncate a file to the specified size
      int writeFile​(org.alfresco.jlan.server.SrvSession sess, org.alfresco.jlan.server.filesys.TreeConnection tree, org.alfresco.jlan.server.filesys.NetworkFile file, byte[] buffer, int bufferOffset, int size, long fileOffset)
      Write a block of data to the file.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • ContentDiskDriver2

        public ContentDiskDriver2()
    • Method Detail

      • init

        public void init()
      • getCifsHelper

        public final CifsHelper getCifsHelper()
        Return the CIFS helper
        Returns:
        CifsHelper
      • getAuthenticationService

        public final AuthenticationService getAuthenticationService()
        Return the authentication service
        Returns:
        AuthenticationService
      • getAuthenticationContext

        public final AuthenticationContext getAuthenticationContext()
        Return the authentication context
        Returns:
        AuthenticationContext
      • getNodeService

        public final org.alfresco.service.cmr.repository.NodeService getNodeService()
        Return the node service
        Returns:
        NodeService
      • getContentService

        public final ContentService getContentService()
        Return the content service
        Returns:
        ContentService
      • getNamespaceService

        public final org.alfresco.service.namespace.NamespaceService getNamespaceService()
        Return the namespace service
        Returns:
        NamespaceService
      • getSearchService

        public final org.alfresco.service.cmr.search.SearchService getSearchService()
        Return the search service
        Returns:
        SearchService
      • getFileFolderService

        public final FileFolderService getFileFolderService()
        Return the file folder service
        Returns:
        FileFolderService
      • getPermissionService

        public final org.alfresco.service.cmr.security.PermissionService getPermissionService()
        Return the permission service
        Returns:
        PermissionService
      • getLockService

        public final LockService getLockService()
        Return the lock service
        Returns:
        LockService
      • getPolicyFilter

        public BehaviourFilter getPolicyFilter()
        Get the policy behaviour filter, used to inhibit versioning on a per transaction basis
      • setContentService

        public void setContentService​(ContentService contentService)
        Parameters:
        contentService - the content service
      • setNamespaceService

        public void setNamespaceService​(org.alfresco.service.namespace.NamespaceService namespaceService)
        Parameters:
        namespaceService - the namespace service
      • setNodeService

        public void setNodeService​(org.alfresco.service.cmr.repository.NodeService nodeService)
        Parameters:
        nodeService - the node service
      • setSearchService

        public void setSearchService​(org.alfresco.service.cmr.search.SearchService searchService)
        Parameters:
        searchService - the search service
      • setPermissionService

        public void setPermissionService​(org.alfresco.service.cmr.security.PermissionService permissionService)
        Set the permission service
        Parameters:
        permissionService - PermissionService
      • setAuthenticationContext

        public void setAuthenticationContext​(AuthenticationContext authContext)
        Set the authentication context
        Parameters:
        authContext - AuthenticationContext
      • setAuthenticationService

        public void setAuthenticationService​(AuthenticationService authService)
        Set the authentication service
        Parameters:
        authService - AuthenticationService
      • setFileFolderService

        public void setFileFolderService​(FileFolderService fileService)
        Set the file folder service
        Parameters:
        fileService - FileFolderService
      • setMimetypeService

        public void setMimetypeService​(org.alfresco.service.cmr.repository.MimetypeService mimetypeService)
        Parameters:
        mimetypeService - service for helping with mimetypes and encoding
      • setNodeMonitorFactory

        public void setNodeMonitorFactory​(NodeMonitorFactory nodeMonitorFactory)
        Set the node monitor factory
        Parameters:
        nodeMonitorFactory - NodeMonitorFactory
      • setLockService

        public void setLockService​(LockService lockService)
        Set the lock service
        Parameters:
        lockService - LockService
      • setPolicyFilter

        public void setPolicyFilter​(BehaviourFilter policyFilter)
        Set the policy behaviour filter, used to inhibit versioning on a per transaction basis
        Parameters:
        policyFilter - PolicyBehaviourFilter
      • setHiddenAspect

        public void setHiddenAspect​(HiddenAspect hiddenAspect)
        Parameters:
        hiddenAspect -
      • setAlfrescoLockKeeper

        public void setAlfrescoLockKeeper​(LockKeeper lockKeeper)
        Parameters:
        lockKeeper - lockKeeper
      • createContext

        public org.alfresco.jlan.server.core.DeviceContext createContext​(java.lang.String deviceName,
                                                                         org.springframework.extensions.config.ConfigElement cfg)
                                                                  throws org.alfresco.jlan.server.core.DeviceContextException
        Deprecated.
        - no longer used. Construction of context is via spring now.
        Parse and validate the parameter string and create a device context object for this instance of the shared device. The same DeviceInterface implementation may be used for multiple shares.

        Specified by:
        createContext in interface org.alfresco.jlan.server.core.DeviceInterface
        Parameters:
        deviceName - The name of the device
        cfg - ConfigElement the configuration of the device context.
        Returns:
        DeviceContext
        Throws:
        org.alfresco.jlan.server.core.DeviceContextException
      • registerContext

        public void registerContext​(org.alfresco.jlan.server.core.DeviceContext ctx)
                             throws org.alfresco.jlan.server.core.DeviceContextException
        Description copied from class: AlfrescoDiskDriver
        Registers a device context object for this instance of the shared device. The same DeviceInterface implementation may be used for multiple shares. In this base class, we initialize all desktop actions.
        Specified by:
        registerContext in interface ExtendedDiskInterface
        Overrides:
        registerContext in class AlfrescoDiskDriver
        Parameters:
        ctx - the context
        Throws:
        org.alfresco.jlan.server.core.DeviceContextException
      • isReadOnly

        public boolean isReadOnly​(org.alfresco.jlan.server.SrvSession sess,
                                  org.alfresco.jlan.server.core.DeviceContext ctx)
                           throws java.io.IOException
        Determine if the disk device is read-only.
        Specified by:
        isReadOnly in interface org.alfresco.jlan.server.filesys.DiskInterface
        Parameters:
        sess - Server session
        ctx - Device context
        Returns:
        boolean
        Throws:
        java.io.IOException - If an error occurs.
      • getFileInformation

        public org.alfresco.jlan.server.filesys.FileInfo getFileInformation​(org.alfresco.jlan.server.SrvSession session,
                                                                            org.alfresco.jlan.server.filesys.TreeConnection tree,
                                                                            java.lang.String path)
                                                                     throws java.io.IOException
        Get the file information for the specified file.
        Specified by:
        getFileInformation in interface org.alfresco.jlan.server.filesys.DiskInterface
        Parameters:
        session - Server session
        tree - Tree connection
        path - File name/path that information is required for.
        Returns:
        File information if valid, else null
        Throws:
        java.io.IOException - The exception description.
      • startSearch

        public org.alfresco.jlan.server.filesys.SearchContext startSearch​(org.alfresco.jlan.server.SrvSession session,
                                                                          org.alfresco.jlan.server.filesys.TreeConnection tree,
                                                                          java.lang.String searchPath,
                                                                          int attributes)
                                                                   throws java.io.FileNotFoundException
        Start a new search on the filesystem using the specified searchPath that may contain wildcards.
        Specified by:
        startSearch in interface org.alfresco.jlan.server.filesys.DiskInterface
        Parameters:
        session - Server session
        tree - Tree connection
        searchPath - File(s) to search for, may include wildcards.
        attributes - Attributes of the file(s) to search for, see class SMBFileAttribute.
        Returns:
        SearchContext
        Throws:
        java.io.FileNotFoundException - If the search could not be started.
      • fileExists

        public int fileExists​(org.alfresco.jlan.server.SrvSession session,
                              org.alfresco.jlan.server.filesys.TreeConnection tree,
                              java.lang.String name)
        Check if the specified file exists, and whether it is a file or directory.
        Specified by:
        fileExists in interface org.alfresco.jlan.server.filesys.DiskInterface
        Parameters:
        session - Server session
        tree - Tree connection
        name - the path of the file
        Returns:
        FileStatus (0: NotExist, 1 : FileExist, 2: DirectoryExists)
        See Also:
        FileStatus
      • openFile

        public org.alfresco.jlan.server.filesys.NetworkFile openFile​(org.alfresco.jlan.server.SrvSession session,
                                                                     org.alfresco.jlan.server.filesys.TreeConnection tree,
                                                                     org.alfresco.jlan.server.filesys.FileOpenParams params)
                                                              throws java.io.IOException
        Open a file or folder - obsolete implementation.
        Specified by:
        openFile in interface org.alfresco.jlan.server.filesys.DiskInterface
        Parameters:
        session - SrvSession
        tree - TreeConnection
        params - FileOpenParams
        Returns:
        NetworkFile
        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
        Create a new file on the file system.
        Specified by:
        createFile in interface org.alfresco.jlan.server.filesys.DiskInterface
        Parameters:
        sess - Server session
        tree - Tree connection
        params - File create parameters
        Returns:
        NetworkFile
        Throws:
        java.io.IOException - If an error occurs.
      • 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
        Create a new directory on this file system.
        Specified by:
        createDirectory in interface org.alfresco.jlan.server.filesys.DiskInterface
        Parameters:
        sess - Server session
        tree - Tree connection.
        params - Directory create parameters
        Throws:
        java.io.IOException - If an error occurs.
      • deleteDirectory

        public void deleteDirectory​(org.alfresco.jlan.server.SrvSession session,
                                    org.alfresco.jlan.server.filesys.TreeConnection tree,
                                    java.lang.String dir)
                             throws java.io.IOException
        Delete the directory from the filesystem.

        The directory must be empty in order to be able to delete ity

        Specified by:
        deleteDirectory in interface org.alfresco.jlan.server.filesys.DiskInterface
        Parameters:
        session - Server session
        tree - Tree connection
        dir - Directory name.
        Throws:
        java.io.IOException - The exception description.
      • flushFile

        public void flushFile​(org.alfresco.jlan.server.SrvSession session,
                              org.alfresco.jlan.server.filesys.TreeConnection tree,
                              org.alfresco.jlan.server.filesys.NetworkFile file)
                       throws java.io.IOException
        Flush any buffered output for the specified file.
        Specified by:
        flushFile in interface org.alfresco.jlan.server.filesys.DiskInterface
        Parameters:
        session - Server session
        tree - Tree connection
        file - Network file context.
        Throws:
        java.io.IOException - The exception description.
      • closeFile

        public void closeFile​(org.alfresco.jlan.server.SrvSession session,
                              org.alfresco.jlan.server.filesys.TreeConnection tree,
                              org.alfresco.jlan.server.filesys.NetworkFile file)
                       throws java.io.IOException
        Close the file.
        Specified by:
        closeFile in interface org.alfresco.jlan.server.filesys.DiskInterface
        Parameters:
        session - Server session
        tree - Tree connection.
        file - Network file context.
        Throws:
        java.io.IOException - If an error occurs.
      • deleteFile

        public void deleteFile​(org.alfresco.jlan.server.SrvSession session,
                               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
      • deleteFile2

        public org.alfresco.service.cmr.repository.NodeRef deleteFile2​(org.alfresco.jlan.server.SrvSession session,
                                                                       org.alfresco.jlan.server.filesys.TreeConnection tree,
                                                                       org.alfresco.service.cmr.repository.NodeRef rootNode,
                                                                       java.lang.String path)
                                                                throws java.io.IOException
        Delete the specified file.
        Specified by:
        deleteFile2 in interface RepositoryDiskInterface
        Parameters:
        session - Server session
        tree - Tree connection
        rootNode - Root node
        path - NetworkFile
        Returns:
        NodeRef of deletedFile
        Throws:
        java.io.IOException - The exception description.
      • renameFile

        public void renameFile​(org.alfresco.jlan.server.SrvSession session,
                               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
      • renameFile

        public void renameFile​(org.alfresco.service.cmr.repository.NodeRef rootNode,
                               java.lang.String oldName,
                               java.lang.String newName,
                               boolean soft,
                               boolean moveAsSystem)
                        throws java.io.IOException
        Rename the specified file.
        Specified by:
        renameFile in interface RepositoryDiskInterface
        Parameters:
        rootNode -
        oldName - path/name of old file
        newName - path/name of new file
        soft - boolean
        moveAsSystem - move as system
        Throws:
        java.io.IOException - The exception description.
      • 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
        Set file information
        Specified by:
        setFileInformation in interface org.alfresco.jlan.server.filesys.DiskInterface
        Parameters:
        sess - SrvSession
        tree - TreeConnection
        name - String
        info - FileInfo
        Throws:
        java.io.IOException
      • 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 size)
                          throws java.io.IOException
        Truncate a file to the specified size
        Specified by:
        truncateFile in interface org.alfresco.jlan.server.filesys.DiskInterface
        Parameters:
        sess - Server session
        tree - Tree connection
        file - Network file details
        size - New file length
        Throws:
        java.io.IOException - The exception description.
      • 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[] buffer,
                            int bufferPosition,
                            int size,
                            long fileOffset)
                     throws java.io.IOException
        Read a block of data from the specified file.
        Specified by:
        readFile in interface org.alfresco.jlan.server.filesys.DiskInterface
        Parameters:
        sess - Session details
        tree - Tree connection
        file - Network file
        buffer - Buffer to return data to
        bufferPosition - Starting position in the return buffer
        size - Maximum size of data to return
        fileOffset - File offset to read data
        Returns:
        Number of bytes read
        Throws:
        java.io.IOException - The exception description.
      • 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
        Seek to the specified file position.
        Specified by:
        seekFile in interface org.alfresco.jlan.server.filesys.DiskInterface
        Parameters:
        sess - Server session
        tree - Tree connection
        file - Network file.
        pos - Position to seek to.
        typ - Seek type.
        Returns:
        New file position, relative to the start of file.
        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[] buffer,
                             int bufferOffset,
                             int size,
                             long fileOffset)
                      throws java.io.IOException
        Write a block of data to the file.
        Specified by:
        writeFile in interface org.alfresco.jlan.server.filesys.DiskInterface
        Parameters:
        sess - Server session
        tree - Tree connection
        file - Network file details
        buffer - byte[] Data to be written
        bufferOffset - Offset within the buffer that the data starts
        size - int Data length
        fileOffset - Position within the file that the data is to be written.
        Returns:
        Number of bytes actually written
        Throws:
        java.io.IOException - The exception description.
      • getNodeForPath

        public org.alfresco.service.cmr.repository.NodeRef getNodeForPath​(org.alfresco.service.cmr.repository.NodeRef rootNode,
                                                                          java.lang.String path)
                                                                   throws java.io.FileNotFoundException
        Get the node for the specified path
        Parameters:
        rootNode - rootNode
        path - String
        Returns:
        NodeRef
        Throws:
        java.io.FileNotFoundException
      • getLockManager

        public org.alfresco.jlan.server.locking.LockManager getLockManager​(org.alfresco.jlan.server.SrvSession sess,
                                                                           org.alfresco.jlan.server.filesys.TreeConnection tree)
        Return the lock manager used by this filesystem
        Specified by:
        getLockManager in interface org.alfresco.jlan.server.locking.FileLockingInterface
        Parameters:
        sess - SrvSession
        tree - TreeConnection
        Returns:
        LockManager
      • getDiskInformation

        public void getDiskInformation​(org.alfresco.jlan.server.filesys.DiskDeviceContext ctx,
                                       org.alfresco.jlan.server.filesys.SrvDiskInfo diskDev)
                                throws java.io.IOException
        Get the disk information for this shared disk device.
        Specified by:
        getDiskInformation in interface org.alfresco.jlan.server.filesys.DiskSizeInterface
        Parameters:
        ctx - DiskDeviceContext
        diskDev - SrvDiskInfo
        Throws:
        java.io.IOException
      • setCifsHelper

        public void setCifsHelper​(CifsHelper cifsHelper)
      • 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
      • getCheckOutCheckInService

        public final CheckOutCheckInService getCheckOutCheckInService()
        Returns:
        the service to provide check-in and check-out data
      • copyContent

        public void copyContent​(org.alfresco.service.cmr.repository.NodeRef rootNode,
                                java.lang.String fromPath,
                                java.lang.String toPath)
                         throws java.io.FileNotFoundException
        Description copied from interface: RepositoryDiskInterface
        Copy the content from one node to another.
        Specified by:
        copyContent in interface RepositoryDiskInterface
        Parameters:
        rootNode - NodeRef
        fromPath - - the source node
        toPath - - the target node
        Throws:
        java.io.FileNotFoundException
      • createFile

        public org.alfresco.jlan.server.filesys.NetworkFile createFile​(org.alfresco.service.cmr.repository.NodeRef rootNode,
                                                                       java.lang.String path,
                                                                       long allocationSize,
                                                                       boolean isHidden)
                                                                throws java.io.IOException
        Description copied from interface: RepositoryDiskInterface
        CreateFile.
        Specified by:
        createFile in interface RepositoryDiskInterface
        Parameters:
        rootNode - NodeRef
        path - - path
        allocationSize - size to allocate for new file
        isHidden - boolean
        Throws:
        java.io.FileNotFoundException
        java.io.IOException
      • openFile

        public org.alfresco.jlan.server.filesys.NetworkFile openFile​(org.alfresco.jlan.server.SrvSession session,
                                                                     org.alfresco.jlan.server.filesys.TreeConnection tree,
                                                                     org.alfresco.service.cmr.repository.NodeRef rootNode,
                                                                     java.lang.String path,
                                                                     OpenFileMode mode,
                                                                     boolean truncate)
                                                              throws java.io.IOException
        Open the file - Repo Specific implementation
        Specified by:
        openFile in interface RepositoryDiskInterface
        Parameters:
        session - // temp until refactor
        tree - // temp until refactor
        rootNode - NodeRef
        path - String
        mode - OpenFileMode
        truncate - boolean
        Returns:
        NetworkFile
        Throws:
        java.io.IOException
      • closeFile

        public org.alfresco.service.cmr.repository.NodeRef closeFile​(org.alfresco.jlan.server.filesys.TreeConnection tree,
                                                                     org.alfresco.service.cmr.repository.NodeRef rootNode,
                                                                     java.lang.String path,
                                                                     org.alfresco.jlan.server.filesys.NetworkFile file)
                                                              throws java.io.IOException
        Close the file.
        Specified by:
        closeFile in interface RepositoryDiskInterface
        Parameters:
        tree - TreeConnection
        rootNode - NodeRef
        path - - path
        file - - file
        Returns:
        node ref of deleted file
        Throws:
        java.io.IOException - If an error occurs.
      • reduceQuota

        public void reduceQuota​(org.alfresco.jlan.server.SrvSession session,
                                org.alfresco.jlan.server.filesys.TreeConnection tree,
                                org.alfresco.jlan.server.filesys.NetworkFile file)
        Specified by:
        reduceQuota in interface RepositoryDiskInterface
        Parameters:
        session -
        tree -
        file -
      • deleteEmptyFile

        public void deleteEmptyFile​(org.alfresco.service.cmr.repository.NodeRef rootNode,
                                    java.lang.String path)
        Specified by:
        deleteEmptyFile in interface RepositoryDiskInterface
        Parameters:
        rootNode - NodeRef
        path - String
      • getOpLockManager

        public org.alfresco.jlan.server.locking.OpLockManager getOpLockManager​(org.alfresco.jlan.server.SrvSession sess,
                                                                               org.alfresco.jlan.server.filesys.TreeConnection tree)
        Specified by:
        getOpLockManager in interface org.alfresco.jlan.server.locking.OpLockInterface
      • isOpLocksEnabled

        public boolean isOpLocksEnabled​(org.alfresco.jlan.server.SrvSession sess,
                                        org.alfresco.jlan.server.filesys.TreeConnection tree)
        Specified by:
        isOpLocksEnabled in interface org.alfresco.jlan.server.locking.OpLockInterface
      • setContentComparator

        public void setContentComparator​(ContentComparator contentComparator)
      • restoreFile

        public org.alfresco.jlan.server.filesys.NetworkFile restoreFile​(org.alfresco.jlan.server.SrvSession sess,
                                                                        org.alfresco.jlan.server.filesys.TreeConnection tree,
                                                                        org.alfresco.service.cmr.repository.NodeRef rootNode,
                                                                        java.lang.String path,
                                                                        long allocationSize,
                                                                        org.alfresco.service.cmr.repository.NodeRef originalNodeRef)
                                                                 throws java.io.IOException
        Description copied from interface: RepositoryDiskInterface
        RestoreFile. Either restores the file or creates a new one.
        Specified by:
        restoreFile in interface RepositoryDiskInterface
        Parameters:
        sess - SrvSession
        tree - TreeConnection
        rootNode - NodeRef
        path - - path
        allocationSize - size to allocate for new file
        originalNodeRef - NodeRef
        Throws:
        java.io.FileNotFoundException
        java.io.IOException
      • setNodeArchiveService

        public void setNodeArchiveService​(NodeArchiveService nodeArchiveService)