Class PortableHomeFolderManager
java.lang.Object
org.alfresco.repo.security.person.PortableHomeFolderManager
- All Implemented Interfaces:
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 Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddProvider(HomeFolderProvider provider) Register a home folder provider.voidaddProvider(HomeFolderProvider2 provider) Register a home folder provider.getHomeFolder(HomeFolderProvider2 provider, NodeRef person, boolean referenceRootNode) Helper method forHomeFolderProvider2.getHomeFolder(NodeRef)implementations to return aHomeSpaceNodeRefgetHomeFolderProvider1(String providerName) Returns the version 1 HomeFolderProvider with the given name.getHomeFolderProvider2(String providerName) Returns the version 2 HomeFolderProvider2 with the given name.getPersonProperty(NodeRef person, QName name) Helper method forHomeFolderProvider2.getHomeFolder(org.alfresco.service.cmr.repository.NodeRef)(so that it does not need its own NodeService) that returns a person property value.voidmakeHomeFolder(ChildAssociationRef childAssocRef) Create / move the home folder if required.voidmodifyHomeFolderNameIfItExists(NodeRef root, List<String> homeFolderPath) Modifies (if required) the leaf folder name in thehomeFolderPathby appending"-N"(where N is an integer starting with 1), so that a new folder will be created.voidsetDefaultProvider(HomeFolderProvider2 defaultProvider) Set the default home folder provider (user which none is specified or when one is not found)voidsetFileFolderService(FileFolderService fileFolderService) Set the FileFolderServicevoidsetNamespaceService(NamespaceService namespaceService) Set the namespaceServicevoidsetNodeService(NodeService nodeService) Set the node service.voidsetSearchService(SearchService searchService) voidsetSingletonCache(SimpleCache<String, NodeRef> singletonCache)
-
Constructor Details
-
PortableHomeFolderManager
public PortableHomeFolderManager()
-
-
Method Details
-
setNodeService
Set the node service. -
setFileFolderService
Set the FileFolderService -
setNamespaceService
Set the namespaceService -
setSearchService
- Parameters:
searchService- the searchService to set
-
setSingletonCache
-
addProvider
Register a home folder provider.- Parameters:
provider- HomeFolderProvider
-
addProvider
Register a home folder provider.- Parameters:
provider- HomeFolderProvider2
-
getHomeFolderProvider1
Returns the version 1 HomeFolderProvider with the given name. -
getHomeFolderProvider2
Returns the version 2 HomeFolderProvider2 with the given name. -
setDefaultProvider
Set the default home folder provider (user which none is specified or when one is not found)- Parameters:
defaultProvider- HomeFolderProvider2
-
makeHomeFolder
Description copied from interface:HomeFolderManagerCreate / move the home folder if required.- Specified by:
makeHomeFolderin interfaceHomeFolderManager- Parameters:
childAssocRef- the primary child association pointing to the person node.
-
getPersonProperty
Helper method forHomeFolderProvider2.getHomeFolder(org.alfresco.service.cmr.repository.NodeRef)(so that it does not need its own NodeService) that returns a person property value. -
getHomeFolder
public HomeSpaceNodeRef getHomeFolder(HomeFolderProvider2 provider, NodeRef person, boolean referenceRootNode) Helper method forHomeFolderProvider2.getHomeFolder(NodeRef)implementations to return aHomeSpaceNodeRef- Parameters:
referenceRootNode- indicates that a reference to the root node should be returned if the home folder property on the person has not yet been set.
-
modifyHomeFolderNameIfItExists
Modifies (if required) the leaf folder name in thehomeFolderPathby 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.
-