Class CifsHelper


  • public class CifsHelper
    extends java.lang.Object
    Class with supplying helper methods and potentially acting as a cache for queries.
    Author:
    derekh
    • Constructor Summary

      Constructors 
      Constructor Description
      CifsHelper()
      Class constructor
    • Method Summary

      All Methods Instance Methods Concrete Methods Deprecated Methods 
      Modifier and Type Method Description
      org.alfresco.service.cmr.repository.NodeRef createNode​(org.alfresco.service.cmr.repository.NodeRef rootNodeRef, java.lang.String path, org.alfresco.service.namespace.QName typeQName)
      Creates a file or directory using the given paths.
      ContentFileInfo getFileInformation​(org.alfresco.service.cmr.repository.NodeRef nodeRef, boolean readOnly, boolean lockedFilesAsOffline)  
      ContentFileInfo getFileInformation​(org.alfresco.service.cmr.repository.NodeRef pathRootNodeRef, java.lang.String path, boolean readOnly, boolean lockedFilesAsOffline)
      Extract a single node's file info, where the node is reference by a path relative to an ancestor node.
      ContentFileInfo getFileInformationImpl​(org.alfresco.service.cmr.repository.NodeRef pathRootNodeRef, java.lang.String path, boolean readOnly, boolean lockedFilesAsOffline)
      Extract a single node's file info, where the node is reference by a path relative to an ancestor node.
      java.lang.String getFileName​(org.alfresco.service.cmr.repository.NodeRef nodeRef)
      Return the file name for a node
      java.lang.String getFileNameImpl​(org.alfresco.service.cmr.repository.NodeRef node)
      Return the file name for a node
      LockService getLockService()  
      org.alfresco.service.cmr.repository.NodeRef getNodeRef​(org.alfresco.service.cmr.repository.NodeRef pathRootNodeRef, java.lang.String path)
      Attempts to fetch a specific single node at the given path.
      java.util.List<org.alfresco.service.cmr.repository.NodeRef> getNodeRefs​(org.alfresco.service.cmr.repository.NodeRef pathRootNodeRef, java.lang.String path)
      Finds the nodes being reference by the given directory and file paths.
      protected org.alfresco.service.cmr.repository.NodeService getNodeService()
      Return the node service
      RetryingTransactionHelper getRetryingTransactionHelper()  
      void init()  
      boolean isDirectory​(org.alfresco.service.cmr.repository.NodeRef nodeRef)  
      boolean isFolderEmpty​(org.alfresco.service.cmr.repository.NodeRef folderNode)
      Check if the folder node is empty
      void move​(org.alfresco.service.cmr.repository.NodeRef nodeToMoveRef, org.alfresco.service.cmr.repository.NodeRef oldParent, org.alfresco.service.cmr.repository.NodeRef newParentNodeRef, java.lang.String newName)
      Deprecated.
      - not used by live code - exception handling is too severe
      void relinkNode​(org.alfresco.service.cmr.repository.NodeRef tempNodeRef, org.alfresco.service.cmr.repository.NodeRef nodeToMoveRef, org.alfresco.service.cmr.repository.NodeRef newParentNodeRef, java.lang.String newName)
      Relink the content data from a new node to an existing node to preserve the version history.
      void rename​(org.alfresco.service.cmr.repository.NodeRef nodeToRenameRef, java.lang.String newName)
      Deprecated.
      - not used by live code - exception handling is too severe
      void setDictionaryService​(org.alfresco.service.cmr.dictionary.DictionaryService dictionaryService)  
      void setExcludedTypes​(java.util.List<java.lang.String> excludedTypes)  
      void setFileFolderService​(FileFolderService fileFolderService)  
      void setHiddenAspect​(HiddenAspect hiddenAspect)  
      void setLockService​(LockService lockService)  
      void setMimetypeService​(org.alfresco.service.cmr.repository.MimetypeService mimetypeService)  
      void setNodeService​(org.alfresco.service.cmr.repository.NodeService nodeService)  
      void setPermissionService​(org.alfresco.service.cmr.security.PermissionService permissionService)  
      void setReadOnlyFlagOnFolders​(boolean setReadOnlyFlagOnFolders)
      Controls whether the read only flag is set on folders.
      void setRetryingTransactionHelper​(RetryingTransactionHelper retryingTransactionHelper)  
      • Methods inherited from class java.lang.Object

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

      • CifsHelper

        public CifsHelper()
        Class constructor
    • Method Detail

      • init

        public void init()
      • setDictionaryService

        public void setDictionaryService​(org.alfresco.service.cmr.dictionary.DictionaryService dictionaryService)
      • setNodeService

        public void setNodeService​(org.alfresco.service.cmr.repository.NodeService nodeService)
      • setFileFolderService

        public void setFileFolderService​(FileFolderService fileFolderService)
      • setMimetypeService

        public void setMimetypeService​(org.alfresco.service.cmr.repository.MimetypeService mimetypeService)
      • setPermissionService

        public void setPermissionService​(org.alfresco.service.cmr.security.PermissionService permissionService)
      • setHiddenAspect

        public void setHiddenAspect​(HiddenAspect hiddenAspect)
      • getNodeService

        protected org.alfresco.service.cmr.repository.NodeService getNodeService()
        Return the node service
        Returns:
        NodeService
      • setExcludedTypes

        public void setExcludedTypes​(java.util.List<java.lang.String> excludedTypes)
      • setReadOnlyFlagOnFolders

        public void setReadOnlyFlagOnFolders​(boolean setReadOnlyFlagOnFolders)
        Controls whether the read only flag is set on folders. This flag, when set, may cause problematic # behaviour in Windows clients and doesn't necessarily mean a folder can't be written to. See ALF-6727. Should we ever set the read only flag on folders?
        Parameters:
        setReadOnlyFlagOnFolders - the setReadOnlyFlagOnFolders to set
      • isDirectory

        public boolean isDirectory​(org.alfresco.service.cmr.repository.NodeRef nodeRef)
        Parameters:
        nodeRef -
        Returns:
        Returns true if the node is a subtype of folder
        Throws:
        org.alfresco.error.AlfrescoRuntimeException - if the type is neither related to a folder or content
      • getFileInformation

        public ContentFileInfo getFileInformation​(org.alfresco.service.cmr.repository.NodeRef pathRootNodeRef,
                                                  java.lang.String path,
                                                  boolean readOnly,
                                                  boolean lockedFilesAsOffline)
                                           throws java.io.FileNotFoundException
        Extract a single node's file info, where the node is reference by a path relative to an ancestor node.
        Parameters:
        pathRootNodeRef -
        path - the path
        Returns:
        Returns the existing node reference
        Throws:
        java.io.FileNotFoundException
      • getFileInformation

        public ContentFileInfo getFileInformation​(org.alfresco.service.cmr.repository.NodeRef nodeRef,
                                                  boolean readOnly,
                                                  boolean lockedFilesAsOffline)
                                           throws java.io.FileNotFoundException
        Throws:
        java.io.FileNotFoundException
      • getFileInformationImpl

        public ContentFileInfo getFileInformationImpl​(org.alfresco.service.cmr.repository.NodeRef pathRootNodeRef,
                                                      java.lang.String path,
                                                      boolean readOnly,
                                                      boolean lockedFilesAsOffline)
                                               throws java.io.FileNotFoundException
        Extract a single node's file info, where the node is reference by a path relative to an ancestor node.
        Parameters:
        pathRootNodeRef -
        path - the path
        Returns:
        Returns the existing node reference
        Throws:
        java.io.FileNotFoundException
      • createNode

        public org.alfresco.service.cmr.repository.NodeRef createNode​(org.alfresco.service.cmr.repository.NodeRef rootNodeRef,
                                                                      java.lang.String path,
                                                                      org.alfresco.service.namespace.QName typeQName)
                                                               throws org.alfresco.jlan.server.filesys.FileExistsException
        Creates a file or directory using the given paths.

        If the directory path doesn't exist, then all the parent directories will be created. If the file path is null, then the file will not be created

        Parameters:
        rootNodeRef - the root node of the path
        path - the path to a node
        typeQName - type of fole
        Returns:
        Returns a newly created file or folder node
        Throws:
        org.alfresco.jlan.server.filesys.FileExistsException - if the file or folder already exists
      • getNodeRefs

        public java.util.List<org.alfresco.service.cmr.repository.NodeRef> getNodeRefs​(org.alfresco.service.cmr.repository.NodeRef pathRootNodeRef,
                                                                                       java.lang.String path)
        Finds the nodes being reference by the given directory and file paths.

        Examples of the path are:

        • \New Folder\New Text Document.txt
        • \New Folder\Sub Folder
        Parameters:
        pathRootNodeRef - the node from which to start the path search
        path - the search path to either a folder or file
        Returns:
        Returns references to all matching nodes
      • getNodeRef

        public org.alfresco.service.cmr.repository.NodeRef getNodeRef​(org.alfresco.service.cmr.repository.NodeRef pathRootNodeRef,
                                                                      java.lang.String path)
                                                               throws java.io.FileNotFoundException
        Attempts to fetch a specific single node at the given path.

        The path may contain wild cards

        Throws:
        java.io.FileNotFoundException - if the path can't be resolved to a node
        See Also:
        getNodeRefs(NodeRef, String)
      • relinkNode

        public void relinkNode​(org.alfresco.service.cmr.repository.NodeRef tempNodeRef,
                               org.alfresco.service.cmr.repository.NodeRef nodeToMoveRef,
                               org.alfresco.service.cmr.repository.NodeRef newParentNodeRef,
                               java.lang.String newName)
                        throws java.io.FileNotFoundException,
                               org.alfresco.jlan.server.filesys.FileExistsException
        Relink the content data from a new node to an existing node to preserve the version history.
        Parameters:
        tempNodeRef - temp nodeRef
        nodeToMoveRef - NodeRef
        newParentNodeRef - NodeRef
        newName - new name
        Throws:
        java.io.FileNotFoundException
        org.alfresco.jlan.server.filesys.FileExistsException
      • move

        public void move​(org.alfresco.service.cmr.repository.NodeRef nodeToMoveRef,
                         org.alfresco.service.cmr.repository.NodeRef oldParent,
                         org.alfresco.service.cmr.repository.NodeRef newParentNodeRef,
                         java.lang.String newName)
                  throws org.alfresco.jlan.server.filesys.FileExistsException
        Deprecated.
        - not used by live code - exception handling is too severe
        Move a node
        Parameters:
        nodeToMoveRef - Node to be moved
        newParentNodeRef - New parent folder node
        newName - New name for the moved node
        Throws:
        org.alfresco.jlan.server.filesys.FileExistsException
      • rename

        public void rename​(org.alfresco.service.cmr.repository.NodeRef nodeToRenameRef,
                           java.lang.String newName)
                    throws org.alfresco.jlan.server.filesys.FileExistsException
        Deprecated.
        - not used by live code - exception handling is too severe
        Rename a node
        Parameters:
        nodeToRenameRef - Node to be renamed
        newName - New name for the node
        Throws:
        org.alfresco.jlan.server.filesys.FileExistsException
      • getFileName

        public java.lang.String getFileName​(org.alfresco.service.cmr.repository.NodeRef nodeRef)
        Return the file name for a node
        Parameters:
        nodeRef - NodeRef of node to get the file name
        Returns:
        String or null if the nodeRef is not valid
      • getFileNameImpl

        public java.lang.String getFileNameImpl​(org.alfresco.service.cmr.repository.NodeRef node)
        Return the file name for a node
        Parameters:
        node - NodeRef
        Returns:
        String
      • isFolderEmpty

        public boolean isFolderEmpty​(org.alfresco.service.cmr.repository.NodeRef folderNode)
        Check if the folder node is empty
        Parameters:
        folderNode - NodeRef
        Returns:
        boolean
      • setLockService

        public void setLockService​(LockService lockService)
      • setRetryingTransactionHelper

        public void setRetryingTransactionHelper​(RetryingTransactionHelper retryingTransactionHelper)