Class PortableHomeFolderManager

  • All Implemented Interfaces:
    HomeFolderManager

    public class PortableHomeFolderManager
    extends java.lang.Object
    implements HomeFolderManager
    Manage home folder creation by binding to events from the cm:person type.
    Author:
    Andy Hind, Alan Davis (support v1 and v2 HomeFolderProviders - code from v1 HomeFolderProviders moved into HomeFolderManager).
    • Constructor Detail

      • PortableHomeFolderManager

        public PortableHomeFolderManager()
    • Method Detail

      • setNodeService

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

        public void setFileFolderService​(FileFolderService fileFolderService)
        Set the FileFolderService
      • setNamespaceService

        public void setNamespaceService​(org.alfresco.service.namespace.NamespaceService namespaceService)
        Set the namespaceService
      • setSearchService

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

        public void setSingletonCache​(org.alfresco.repo.cache.SimpleCache<java.lang.String,​org.alfresco.service.cmr.repository.NodeRef> singletonCache)
      • addProvider

        public void addProvider​(HomeFolderProvider provider)
        Register a home folder provider.
        Parameters:
        provider - HomeFolderProvider
      • addProvider

        public void addProvider​(HomeFolderProvider2 provider)
        Register a home folder provider.
        Parameters:
        provider - HomeFolderProvider2
      • getHomeFolderProvider1

        public HomeFolderProvider getHomeFolderProvider1​(java.lang.String providerName)
        Returns the version 1 HomeFolderProvider with the given name.
      • getHomeFolderProvider2

        public HomeFolderProvider2 getHomeFolderProvider2​(java.lang.String providerName)
        Returns the version 2 HomeFolderProvider2 with the given name.
      • setDefaultProvider

        public void setDefaultProvider​(HomeFolderProvider2 defaultProvider)
        Set the default home folder provider (user which none is specified or when one is not found)
        Parameters:
        defaultProvider - HomeFolderProvider2
      • makeHomeFolder

        public void makeHomeFolder​(org.alfresco.service.cmr.repository.ChildAssociationRef childAssocRef)
        Description copied from interface: HomeFolderManager
        Create / move the home folder if required.
        Specified by:
        makeHomeFolder in interface HomeFolderManager
        Parameters:
        childAssocRef - the primary child association pointing to the person node.
      • modifyHomeFolderNameIfItExists

        public void modifyHomeFolderNameIfItExists​(org.alfresco.service.cmr.repository.NodeRef root,
                                                   java.util.List<java.lang.String> homeFolderPath)
        Modifies (if required) the leaf folder name in the homeFolderPath by appending "-N" (where N is an integer starting with 1), so that a new folder will be created.
        Parameters:
        root - folder.
        homeFolderPath - the full path. Only the final element is used.