Class ACLJCRAmetysObjectHelper
- java.lang.Object
- 
- org.ametys.plugins.repository.jcr.ACLJCRAmetysObjectHelper
 
- 
- All Implemented Interfaces:
- LogEnabled,- Component,- Serviceable
 
 public class ACLJCRAmetysObjectHelper extends Object implements Component, Serviceable, LogEnabled Helper for implementingModifiableACLAmetysObjectin JCR under its node.
- 
- 
Field SummaryFields Modifier and Type Field Description protected static Repository_repositoryThe repositoryprotected static AmetysObjectResolver_resolverThe AmetysObject resolver
 - 
Constructor SummaryConstructors Constructor Description ACLJCRAmetysObjectHelper()
 - 
Method SummaryAll Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static voidaddAllowedGroups(Set<GroupIdentity> groups, Node node, String profileId)static voidaddAllowedProfilesForAnonymous(Node node, Set<String> profileIds)static voidaddAllowedProfilesForAnyConnectedUser(Node node, Set<String> profileIds)static voidaddAllowedUsers(Set<UserIdentity> users, Node node, String profileId)static voidaddDeniedGroups(Set<GroupIdentity> groups, Node node, String profileId)static voidaddDeniedProfilesForAnonymous(Node node, Set<String> profileIds)static voidaddDeniedProfilesForAnyConnectedUser(Node node, Set<String> profileIds)static voidaddDeniedUsers(Set<UserIdentity> users, Node node, String profileId)static voiddisallowInheritance(Node node, boolean disallow)static NodeIteratorgetACLGroups(GroupIdentity group, String rootPath, Expression predicat)Returns all ACL objects for a given group (ametys:acl-group nodes)static NodeIteratorgetACLGroups(Expression predicat)Returns all ACL objects for groups (ametys:acl-group nodes)static NodeIteratorgetACLRoots(String rootPath, Expression predicat)Returns all ACL root objects (ametys:acl nodes)static NodeIteratorgetACLUsers(UserIdentity user, String rootPath, Expression predicat)Returns all ACL objects for a given user (ametys:acl-user nodes)static NodeIteratorgetACLUsers(Expression predicat)Returns all ACL objects for users (ametys:acl-user nodes)static Map<ProfileAssignmentStorage.AnonymousOrAnyConnectedKeys,Set<String>>getProfilesForAnonymousAndAnyConnectedUser(Node node)static Map<GroupIdentity,Map<ProfileAssignmentStorage.UserOrGroup,Set<String>>>getProfilesForGroups(Node node, Set<GroupIdentity> groups)static Map<UserIdentity,Map<ProfileAssignmentStorage.UserOrGroup,Set<String>>>getProfilesForUsers(Node node, UserIdentity user)static Set<String>hasAnonymousAnyAllowedProfile(Set<? extends Object> rootNodes, Set<String> profileIds)Returns some profiles that are matching if any ACL Ametys object has one of the given profiles as allowed for anonymousstatic Set<String>hasAnyConnectedAnyAllowedProfile(Set<? extends Object> rootNodes, Set<String> profileIds)Returns some profiles that are matching if any ACL Ametys object has one of the given profiles as allowed for any connected userstatic Set<String>hasGroupAnyAllowedProfile(Set<? extends Object> rootNodes, Set<GroupIdentity> groups, Set<String> profileIds)Returns some profiles that are matching if any ACL Ametys object has one of the given profiles as allowed for the groupstatic Set<String>hasUserAnyAllowedProfile(Set<? extends Object> rootNodes, UserIdentity user, Set<String> profileIds)Returns some profiles that are matching if any ACL Ametys object has one of the given profiles as allowed for the userstatic booleanisInheritanceDisallowed(Node node)Helper forACLAmetysObject.isInheritanceDisallowed()static voidremoveAllowedGroups(Set<GroupIdentity> groups, Node node)static voidremoveAllowedGroups(Set<GroupIdentity> groups, Node node, String profileId)static voidremoveAllowedProfilesForAnonymous(Node node, Set<String> profileIds)static voidremoveAllowedProfilesForAnyConnectedUser(Node node, Set<String> profileIds)static voidremoveAllowedUsers(Set<UserIdentity> users, Node node)static voidremoveAllowedUsers(Set<UserIdentity> users, Node node, String profileId)static voidremoveDeniedGroups(Set<GroupIdentity> groups, Node node)static voidremoveDeniedGroups(Set<GroupIdentity> groups, Node node, String profileId)static voidremoveDeniedProfilesForAnonymous(Node node, Set<String> profileIds)static voidremoveDeniedProfilesForAnyConnectedUser(Node node, Set<String> profileIds)static voidremoveDeniedUsers(Set<UserIdentity> users, Node node)static voidremoveDeniedUsers(Set<UserIdentity> users, Node node, String profileId)static voidremoveGroup(GroupIdentity group)static voidremoveProfile(String profileId)static voidremoveUser(UserIdentity user)voidservice(ServiceManager manager)voidsetLogger(org.slf4j.Logger logger)Called at creation time to provide aLogger.
 
- 
- 
- 
Field Detail- 
_resolverprotected static AmetysObjectResolver _resolver The AmetysObject resolver
 - 
_repositoryprotected static Repository _repository The repository
 
- 
 - 
Constructor Detail- 
ACLJCRAmetysObjectHelperpublic ACLJCRAmetysObjectHelper() 
 
- 
 - 
Method Detail- 
servicepublic void service(ServiceManager manager) throws ServiceException - Specified by:
- servicein interface- Serviceable
- Throws:
- ServiceException
 
 - 
setLoggerpublic void setLogger(org.slf4j.Logger logger) Description copied from interface:LogEnabledCalled at creation time to provide aLogger.- Specified by:
- setLoggerin interface- LogEnabled
- Parameters:
- logger- a- Loggerfor messages.
 
 - 
hasUserAnyAllowedProfilepublic static Set<String> hasUserAnyAllowedProfile(Set<? extends Object> rootNodes, UserIdentity user, Set<String> profileIds) Returns some profiles that are matching if any ACL Ametys object has one of the given profiles as allowed for the user- Parameters:
- user- The user
- profileIds- The ids of the profiles to check
- rootNodes- The JCR root nodes where starts the query search (must be something like "//element(myNode, ametys:collection)"), it will be the beginning of the JCR query. Can be null to not restrict the search.
- Returns:
- If the Set is empty, it means the user has no matching profile.
 If the Set is non empty, it contains at least one of the given profile BUT it may not contains all the matching profiles for the user AND it can contains some other profiles that were not in the given profiles
 
 - 
hasGroupAnyAllowedProfilepublic static Set<String> hasGroupAnyAllowedProfile(Set<? extends Object> rootNodes, Set<GroupIdentity> groups, Set<String> profileIds) Returns some profiles that are matching if any ACL Ametys object has one of the given profiles as allowed for the group- Parameters:
- groups- The groups
- profileIds- The ids of the profiles
- rootNodes- The JCR root nodes where starts the query search (must be something like "//element(myNode, ametys:collection)"), it will be the beginning of the JCR query. Can be null to not restrict the search.
- Returns:
- If the Set is empty, it means the group has no matching profile.
 If the Set is non empty, it contains at least one of the given profile BUT it may not contains all the matching profiles for the group AND it can contains some other profiles that were not in the given profiles
 
 - 
hasAnyConnectedAnyAllowedProfilepublic static Set<String> hasAnyConnectedAnyAllowedProfile(Set<? extends Object> rootNodes, Set<String> profileIds) Returns some profiles that are matching if any ACL Ametys object has one of the given profiles as allowed for any connected user- Parameters:
- profileIds- The ids of the profiles
- rootNodes- The JCR root nodes where starts the query search (must be something like "//element(myNode, ametys:collection)"), it will be the beginning of the JCR query. Can be null to not restrict the search.
- Returns:
- If the Set is empty, it means any connected user has no matching profile.
 If the Set is non empty, it contains at least one of the given profile BUT it may not contains all the matching profiles for anyconnected user AND it can contains some other profiles that were not in the given profiles
 
 - 
hasAnonymousAnyAllowedProfilepublic static Set<String> hasAnonymousAnyAllowedProfile(Set<? extends Object> rootNodes, Set<String> profileIds) Returns some profiles that are matching if any ACL Ametys object has one of the given profiles as allowed for anonymous- Parameters:
- profileIds- The ids of the profiles
- rootNodes- The JCR root nodes where starts the query search (must be something like "//element(myNode, ametys:collection)"), it will be the beginning of the JCR query. Can be null to not restrict the search.
- Returns:
- If the Set is empty, it means anonymous has no matching profile.
 If the Set is non empty, it contains at least one of the given profile BUT it may not contains all the matching profiles for anonymous AND it can contains some other profiles that were not in the given profiles
 
 - 
getACLRootspublic static NodeIterator getACLRoots(String rootPath, Expression predicat) Returns all ACL root objects (ametys:acl nodes)- Parameters:
- rootPath- The root path to restrict the search. Can be null.
- predicat- The predicat expression. Can be null.
- Returns:
- The ACL root objects
 
 - 
getACLUserspublic static NodeIterator getACLUsers(UserIdentity user, String rootPath, Expression predicat) Returns all ACL objects for a given user (ametys:acl-user nodes)- Parameters:
- user- The user
- rootPath- The root path to restrict the search. Can be null.
- predicat- The predicat expression. Can be null.
- Returns:
- The ACL user objects for user
 
 - 
getACLUserspublic static NodeIterator getACLUsers(Expression predicat) Returns all ACL objects for users (ametys:acl-user nodes)- Parameters:
- predicat- The predicat expression. Can be null.
- Returns:
- The ACL user objects for users
 
 - 
getACLGroupspublic static NodeIterator getACLGroups(Expression predicat) Returns all ACL objects for groups (ametys:acl-group nodes)- Parameters:
- predicat- The predicat expression. Can be null.
- Returns:
- The ACL group objects for groups
 
 - 
getACLGroupspublic static NodeIterator getACLGroups(GroupIdentity group, String rootPath, Expression predicat) Returns all ACL objects for a given group (ametys:acl-group nodes)- Parameters:
- group- The group
- rootPath- The root path to restrict the search. Can be null.
- predicat- The predicat expression. Can be null.
- Returns:
- The ACL user objects for groups
 
 - 
getProfilesForAnonymousAndAnyConnectedUserpublic static Map<ProfileAssignmentStorage.AnonymousOrAnyConnectedKeys,Set<String>> getProfilesForAnonymousAndAnyConnectedUser(Node node) - Parameters:
- node- The JCR node for the Ametys object
- Returns:
- a map containing allowed/denied profiles that anonymous and any connected user has on the given object
 
 - 
addAllowedProfilesForAnyConnectedUserpublic static void addAllowedProfilesForAnyConnectedUser(Node node, Set<String> profileIds) - Parameters:
- node- The JCR node for the Ametys object
- profileIds- The profiles to add
 
 - 
removeAllowedProfilesForAnyConnectedUserpublic static void removeAllowedProfilesForAnyConnectedUser(Node node, Set<String> profileIds) - Parameters:
- node- The JCR node for the Ametys object
- profileIds- The profiles to remove
 
 - 
addDeniedProfilesForAnyConnectedUserpublic static void addDeniedProfilesForAnyConnectedUser(Node node, Set<String> profileIds) - Parameters:
- node- The JCR node for the Ametys object
- profileIds- The profiles to add
 
 - 
removeDeniedProfilesForAnyConnectedUserpublic static void removeDeniedProfilesForAnyConnectedUser(Node node, Set<String> profileIds) - Parameters:
- node- The JCR node for the Ametys object
- profileIds- The profiles to remove
 
 - 
addAllowedProfilesForAnonymouspublic static void addAllowedProfilesForAnonymous(Node node, Set<String> profileIds) - Parameters:
- node- The JCR node for the Ametys object
- profileIds- The profiles to add
 
 - 
removeAllowedProfilesForAnonymouspublic static void removeAllowedProfilesForAnonymous(Node node, Set<String> profileIds) - Parameters:
- node- The JCR node for the Ametys object
- profileIds- The profiles to remove
 
 - 
addDeniedProfilesForAnonymouspublic static void addDeniedProfilesForAnonymous(Node node, Set<String> profileIds) - Parameters:
- node- The JCR node for the Ametys object
- profileIds- The profiles to add
 
 - 
removeDeniedProfilesForAnonymouspublic static void removeDeniedProfilesForAnonymous(Node node, Set<String> profileIds) - Parameters:
- node- The JCR node for the Ametys object
- profileIds- The profiles to remove
 
 - 
getProfilesForUserspublic static Map<UserIdentity,Map<ProfileAssignmentStorage.UserOrGroup,Set<String>>> getProfilesForUsers(Node node, UserIdentity user) - Parameters:
- node- The JCR node for the Ametys object
- user- The user to get profiles for. Can be null to get profiles for all users that have rights
- Returns:
- The map of allowed users with their assigned allowed/denied profiles
 
 - 
addAllowedUserspublic static void addAllowedUsers(Set<UserIdentity> users, Node node, String profileId) - Parameters:
- users- The users to add
- node- The JCR node for the Ametys object
- profileId- The id of the profile
 
 - 
removeAllowedUserspublic static void removeAllowedUsers(Set<UserIdentity> users, Node node, String profileId) - Parameters:
- users- The users to remove
- node- The JCR node for the Ametys object
- profileId- The id of the profile
 
 - 
removeAllowedUserspublic static void removeAllowedUsers(Set<UserIdentity> users, Node node) - Parameters:
- users- The users to remove
- node- The JCR node for the Ametys object
 
 - 
addDeniedUserspublic static void addDeniedUsers(Set<UserIdentity> users, Node node, String profileId) - Parameters:
- users- The users to add
- node- The JCR node for the Ametys object
- profileId- The id of the profile
 
 - 
removeDeniedUserspublic static void removeDeniedUsers(Set<UserIdentity> users, Node node, String profileId) - Parameters:
- users- The users to remove
- node- The JCR node for the Ametys object
- profileId- The id of the profile
 
 - 
removeDeniedUserspublic static void removeDeniedUsers(Set<UserIdentity> users, Node node) - Parameters:
- users- The users to remove
- node- The JCR node for the Ametys object
 
 - 
getProfilesForGroupspublic static Map<GroupIdentity,Map<ProfileAssignmentStorage.UserOrGroup,Set<String>>> getProfilesForGroups(Node node, Set<GroupIdentity> groups) - Parameters:
- node- The JCR node for the Ametys object
- groups- The group to get profiles for. Can be null to get profiles for all groups that have rights
- Returns:
- The map of allowed/denied groups with their assigned profiles
 
 - 
addAllowedGroupspublic static void addAllowedGroups(Set<GroupIdentity> groups, Node node, String profileId) - Parameters:
- groups- The groups to add
- node- The JCR node for the Ametys object
- profileId- The id of the profile
 
 - 
removeAllowedGroupspublic static void removeAllowedGroups(Set<GroupIdentity> groups, Node node, String profileId) - Parameters:
- groups- The groups to remove
- node- The JCR node for the Ametys object
- profileId- The id of the profile
 
 - 
removeAllowedGroupspublic static void removeAllowedGroups(Set<GroupIdentity> groups, Node node) - Parameters:
- groups- The groups to remove
- node- The JCR node for the Ametys object
 
 - 
addDeniedGroupspublic static void addDeniedGroups(Set<GroupIdentity> groups, Node node, String profileId) - Parameters:
- groups- The groups to add
- node- The JCR node for the Ametys object
- profileId- The id of the profile
 
 - 
removeDeniedGroupspublic static void removeDeniedGroups(Set<GroupIdentity> groups, Node node, String profileId) - Parameters:
- groups- The groups to remove
- node- The JCR node for the Ametys object
- profileId- The id of the profile
 
 - 
removeDeniedGroupspublic static void removeDeniedGroups(Set<GroupIdentity> groups, Node node) - Parameters:
- groups- The groups to remove
- node- The JCR node for the Ametys object
 
 - 
removeProfilepublic static void removeProfile(String profileId) - Parameters:
- profileId- The id of the profile
 
 - 
removeUserpublic static void removeUser(UserIdentity user) - Parameters:
- user- The user
 
 - 
removeGrouppublic static void removeGroup(GroupIdentity group) - Parameters:
- group- The group
 
 - 
isInheritanceDisallowedpublic static boolean isInheritanceDisallowed(Node node) Helper forACLAmetysObject.isInheritanceDisallowed()- Parameters:
- node- The JCR node for the Ametys object
- Returns:
- true if the inheritance is disallow of the given node
 
 - 
disallowInheritancepublic static void disallowInheritance(Node node, boolean disallow) - Parameters:
- node- The JCR node for the Ametys object
- disallow- true to disallow the inheritance, false otherwise
 
 
- 
 
-