public class RequestCachingGroupManager extends Object implements GroupManager
DefaultGroupManager
which adds request caching
functionality around some of its methods. When methods of this class are called outside of request scope all calls
will simply get delegated to underlying DefaultGroupManager
.Constructor and Description |
---|
RequestCachingGroupManager(DefaultGroupManager defaultGroupManager,
RequestCacheFactory requestCacheFactory) |
Modifier and Type | Method and Description |
---|---|
void |
addUserToGroup(ApplicationUser user,
com.atlassian.crowd.embedded.api.Group group)
Adds a user as a member of a group.
|
com.atlassian.crowd.embedded.api.Group |
createGroup(String groupName)
Create a group with the given name.
|
Collection<String> |
filterUsersInAllGroupsDirect(Collection<String> userNames,
Collection<String> groupNames)
Returns a collection of user names for the users that are direct members of every one of the supplied groups.
|
Collection<com.atlassian.crowd.embedded.api.Group> |
getAllGroups()
Get all groups.
|
Set<ApplicationUser> |
getConnectUsers()
Deprecated.
|
Collection<ApplicationUser> |
getDirectUsersInGroup(com.atlassian.crowd.embedded.api.Group group)
Returns all the users that are direct members of the group.
|
com.atlassian.crowd.embedded.api.Group |
getGroup(String groupName)
Returns the Group for this groupName, else null if no such Group exists.
|
com.atlassian.crowd.embedded.api.Group |
getGroupEvenWhenUnknown(String groupName)
Returns the Group for this groupName, if no such Group exists then a proxy unknown immutable Group object is
returned.
|
Collection<String> |
getGroupNamesForUser(ApplicationUser user)
Returns the names of all the groups that the given user belongs to.
|
Collection<String> |
getGroupNamesForUser(String userName)
Returns the names of all the groups that the given user belongs to.
|
com.atlassian.crowd.embedded.api.Group |
getGroupObject(String groupName)
Returns the Group for this groupName, else null if no such Group exists.
|
Collection<com.atlassian.crowd.embedded.api.Group> |
getGroupsForUser(ApplicationUser user)
Returns all the groups that the given user belongs to.
|
Collection<com.atlassian.crowd.embedded.api.Group> |
getGroupsForUser(String userName)
Returns all the groups that the given user belongs to.
|
Collection<String> |
getNamesOfDirectMembersOfGroups(Collection<String> groupNames,
int limit)
Returns a list of all active user names that are direct members in at least one of the supplied groups.
|
Collection<String> |
getUserNamesInGroup(com.atlassian.crowd.embedded.api.Group group)
Returns the names of all the users in a group.
|
Collection<String> |
getUserNamesInGroup(String groupName)
Returns the names of all the users in a group.
|
Collection<String> |
getUserNamesInGroups(Collection<com.atlassian.crowd.embedded.api.Group> groups)
Returns the names of all the users in a collection of groups.
|
Collection<ApplicationUser> |
getUsersInGroup(com.atlassian.crowd.embedded.api.Group group)
Returns all the users in a group.
|
Collection<ApplicationUser> |
getUsersInGroup(String groupName)
Returns all the users in a group.
|
Collection<ApplicationUser> |
getUsersInGroup(String groupName,
Boolean includeInactive)
Returns all the users in a group.
|
Page<ApplicationUser> |
getUsersInGroup(String groupName,
Boolean includeInactive,
PageRequest pageRequest)
Returns a page with users in a group.
|
int |
getUsersInGroupCount(com.atlassian.crowd.embedded.api.Group group)
Returns a count of all active users in a group.
|
int |
getUsersInGroupCount(String groupName)
Returns a count of all active users in a group.
|
boolean |
groupExists(com.atlassian.crowd.embedded.api.Group group)
Returns
true if the given group exists. |
boolean |
groupExists(String groupName)
Returns
true if the given group name exists. |
boolean |
isUserInGroup(ApplicationUser user,
com.atlassian.crowd.embedded.api.Group group)
Returns
true if the user is a member of the group. |
boolean |
isUserInGroup(ApplicationUser user,
String groupName)
Returns
true if the user is a member of the named group. |
boolean |
isUserInGroup(String username,
String groupname)
Returns
true if the user is a member of the group. |
public RequestCachingGroupManager(DefaultGroupManager defaultGroupManager, RequestCacheFactory requestCacheFactory)
public boolean groupExists(String groupName)
GroupManager
true
if the given group name exists.groupExists
in interface GroupManager
groupName
- The group name.true
if the given group name exists.public boolean groupExists(@Nonnull com.atlassian.crowd.embedded.api.Group group)
GroupManager
true
if the given group exists.groupExists
in interface GroupManager
group
- The group.true
if the given group exists.public Collection<com.atlassian.crowd.embedded.api.Group> getAllGroups()
GroupManager
getAllGroups
in interface GroupManager
public com.atlassian.crowd.embedded.api.Group createGroup(String groupName) throws com.atlassian.crowd.exception.OperationNotPermittedException, com.atlassian.crowd.exception.embedded.InvalidGroupException
GroupManager
createGroup
in interface GroupManager
groupName
- The group name.com.atlassian.crowd.exception.OperationNotPermittedException
- if the directory has been configured to not allow the operation to be performedcom.atlassian.crowd.exception.embedded.InvalidGroupException
- if the group already exists in ANY associated directory or the group template does not have the required properties populated.public com.atlassian.crowd.embedded.api.Group getGroup(String groupName)
GroupManager
getGroup
in interface GroupManager
groupName
- The group name.public com.atlassian.crowd.embedded.api.Group getGroupEvenWhenUnknown(String groupName)
GroupManager
getGroupEvenWhenUnknown
in interface GroupManager
groupName
- The group name.public com.atlassian.crowd.embedded.api.Group getGroupObject(String groupName)
GroupManager
Legacy synonym for GroupManager.getGroup(String)
.
getGroupObject
in interface GroupManager
groupName
- The group name.GroupManager.getGroup(String)
public boolean isUserInGroup(String username, String groupname)
GroupManager
true
if the user is a member of the group.
Note that if the username or groupname is null, then it will return false.
Performance note: If you have a full user object, then calling one of the other
isUserInGroup()
methods directly is more efficient.
isUserInGroup
in interface GroupManager
username
- user to inspect.groupname
- group to inspect.true
if and only if the user is a direct or indirect (nested) member of the group.GroupManager.isUserInGroup(ApplicationUser, Group)
,
GroupManager.isUserInGroup(ApplicationUser, String)
public boolean isUserInGroup(ApplicationUser user, com.atlassian.crowd.embedded.api.Group group)
GroupManager
true
if the user is a member of the group.
Note that if the User or Group object is null, then it will return false. This was done to retain consistency with the old OSUser behaviour of User.inGroup() and Group.containsUser()
isUserInGroup
in interface GroupManager
user
- user to inspect.group
- group to inspect.true
if and only if the user is a direct or indirect (nested) member of the group.public boolean isUserInGroup(ApplicationUser user, String groupName)
GroupManager
true
if the user is a member of the named group.
If you already have the user object, then this method is faster than the alternative of passing in the username because it saves on an unnecessary user lookup to find the correct User Directory.
isUserInGroup
in interface GroupManager
user
- user to inspect.groupName
- group to inspect.true
if and only if the user is a direct or indirect (nested) member of the group.public Collection<ApplicationUser> getUsersInGroup(String groupName)
GroupManager
getUsersInGroup
in interface GroupManager
groupName
- The group#getUsersInGroup(Group)}
public Collection<ApplicationUser> getUsersInGroup(String groupName, Boolean includeInactive)
GroupManager
getUsersInGroup
in interface GroupManager
groupName
- The groupincludeInactive
- if set to true inactive users will be returned as wellpublic Page<ApplicationUser> getUsersInGroup(String groupName, Boolean includeInactive, PageRequest pageRequest)
GroupManager
getUsersInGroup
in interface GroupManager
groupName
- name of the group for which users are returnedincludeInactive
- if set to true inactive users will be returned as wellpageRequest
- parameters of the page to returnpublic Collection<ApplicationUser> getUsersInGroup(com.atlassian.crowd.embedded.api.Group group)
GroupManager
getUsersInGroup
in interface GroupManager
group
- The group#getUsersInGroup(String)}
public int getUsersInGroupCount(com.atlassian.crowd.embedded.api.Group group)
GroupManager
getUsersInGroupCount
in interface GroupManager
group
- The group#getUsersInGroupCount(String)}
public int getUsersInGroupCount(String groupName)
GroupManager
getUsersInGroupCount
in interface GroupManager
groupName
- The group name#getUsersInGroupCount(Group)}
public Collection<String> getNamesOfDirectMembersOfGroups(Collection<String> groupNames, int limit)
GroupManager
getNamesOfDirectMembersOfGroups
in interface GroupManager
groupNames
- A collection of group names to find direct members oflimit
- A maximum number of names to returnpublic Collection<String> filterUsersInAllGroupsDirect(Collection<String> userNames, Collection<String> groupNames)
GroupManager
filterUsersInAllGroupsDirect
in interface GroupManager
userNames
- A collection of user namesgroupNames
- A collection of groupspublic Collection<String> getUserNamesInGroup(com.atlassian.crowd.embedded.api.Group group)
GroupManager
getUserNamesInGroup
in interface GroupManager
group
- The group#getUsersInGroup(Group)}
public Collection<String> getUserNamesInGroups(Collection<com.atlassian.crowd.embedded.api.Group> groups)
GroupManager
getUserNamesInGroups
in interface GroupManager
groups
- The collection of groupspublic Collection<String> getUserNamesInGroup(String groupName)
GroupManager
getUserNamesInGroup
in interface GroupManager
groupName
- The group#getUsersInGroup(String)}
public Collection<ApplicationUser> getDirectUsersInGroup(com.atlassian.crowd.embedded.api.Group group)
GroupManager
getDirectUsersInGroup
in interface GroupManager
group
- The group#getUsersInGroup(String)}
public Collection<com.atlassian.crowd.embedded.api.Group> getGroupsForUser(String userName)
GroupManager
getGroupsForUser
in interface GroupManager
userName
- The userGroupManager.getGroupNamesForUser(String)
public Collection<com.atlassian.crowd.embedded.api.Group> getGroupsForUser(@Nonnull ApplicationUser user)
GroupManager
getGroupsForUser
in interface GroupManager
user
- The userGroupManager.getGroupNamesForUser(String)
public Collection<String> getGroupNamesForUser(String userName)
GroupManager
getGroupNamesForUser
in interface GroupManager
userName
- The userGroupManager.getGroupsForUser(String)
,
GroupManager.getGroupNamesForUser(com.atlassian.jira.user.ApplicationUser)
public Collection<String> getGroupNamesForUser(@Nonnull ApplicationUser user)
GroupManager
getGroupNamesForUser
in interface GroupManager
user
- The userGroupManager.getGroupsForUser(String)
public void addUserToGroup(ApplicationUser user, com.atlassian.crowd.embedded.api.Group group) throws com.atlassian.crowd.exception.GroupNotFoundException, com.atlassian.crowd.exception.UserNotFoundException, com.atlassian.crowd.exception.OperationNotPermittedException, com.atlassian.crowd.exception.OperationFailedException
GroupManager
addUserToGroup
in interface GroupManager
user
- The user that will become a member of the group.group
- The group that will gain a new member.com.atlassian.crowd.exception.GroupNotFoundException
- if the group
could not be foundcom.atlassian.crowd.exception.UserNotFoundException
- if the user
could not be foundcom.atlassian.crowd.exception.OperationNotPermittedException
- if the directory has been configured to not allow the operation to be performedcom.atlassian.crowd.exception.OperationFailedException
- If the underlying directory implementation failed to execute the operation.@Deprecated public Set<ApplicationUser> getConnectUsers()
GroupManager
Set
in JIRA Server as connect plugins are only
supported in JIRA Cloud. This result does not filter out inactive users.getConnectUsers
in interface GroupManager
Copyright © 2002-2018 Atlassian. All Rights Reserved.