From 76cbb2f8ffaaf380cd7a697de42d031f99c019cd Mon Sep 17 00:00:00 2001 From: Jamal Kaabi-Mofrad Date: Fri, 8 Jul 2016 15:11:27 +0000 Subject: [PATCH] Merged 5.1.N (5.1.2) to 5.2.N (5.2.1) 128649 jkaabimofrad: Merged JAMAL/MNT-16371 (5.1.2) to 5.1.N (5.1.2) 128626 jkaabimofrad: MNT-16371: Turned off Inherit Permissions and explicitly added the Site Manager role for the Site to the surf-config folder when it is first created. Also, revoked ownership privileges for surf-config contents. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/DEV/5.2.N/root@128660 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../service/cmr/model/FileFolderUtil.java | 36 +++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/source/java/org/alfresco/service/cmr/model/FileFolderUtil.java b/source/java/org/alfresco/service/cmr/model/FileFolderUtil.java index 14d26d4892..838b3ee3be 100644 --- a/source/java/org/alfresco/service/cmr/model/FileFolderUtil.java +++ b/source/java/org/alfresco/service/cmr/model/FileFolderUtil.java @@ -123,6 +123,38 @@ public class FileFolderUtil List pathElementDetails, QName folderTypeQName, BehaviourFilter behaviourFilter, Set parentBehavioursToDisable) { + return makeFolders(service, nodeService, parentNodeRef, pathElementDetails, folderTypeQName, behaviourFilter, parentBehavioursToDisable, null); + } + + /** + * Checks for the presence of, and creates as necessary, the folder + * structure in the provided paths with the following options: + *
    + *
  • Option to disable parent behaviour(s) when creating sub-folder.
  • + *
  • Each folder has the option to have its own set of aspects
  • + *
+ * + * @param service the FileFolderService object + * @param nodeService the NodeService object + * @param parentNodeRef the node under which the path will be created + * @param pathElementDetails the list of folder hierarchy where each folder + * can have its own set of aspects - may not be empty + * @param folderTypeQName the types of nodes to create. This must be a valid + * subtype of {@link org.alfresco.model.ContentModel#TYPE_FOLDER + * they folder type} + * @param behaviourFilter the BehaviourFilter object + * @param parentBehavioursToDisable the set of behaviours that must be + * disabled + * @param allFoldersRefsInThePath (Optional) if an instance of a Set is provided, + * then it'd be populated with nodeRefs of all + * the folders that have been specified in the path + * elements details.({@code pathElementDetails}). + * @return Returns the {@code FileInfo} of the last folder in the path. + */ + public static FileInfo makeFolders(FileFolderService service, NodeService nodeService, NodeRef parentNodeRef, + List pathElementDetails, QName folderTypeQName, BehaviourFilter behaviourFilter, + Set parentBehavioursToDisable, Set allFoldersRefsInThePath) + { validate(pathElementDetails, service, folderTypeQName); NodeRef currentParentRef = parentNodeRef; @@ -178,6 +210,10 @@ public class FileFolderUtil // it exists currentParentRef = nodeRef; } + if (allFoldersRefsInThePath != null) + { + allFoldersRefsInThePath.add(currentParentRef); + } } // done // Used to call toFileInfo((currentParentRef, true);