public class MockDirectoryCache extends Object implements DirectoryCache
Modifier and Type | Field and Description |
---|---|
Map<String,Group> |
groupMap |
com.google.common.collect.SetMultimap<String,String> |
groupMembershipsMap |
Map<String,GroupWithAttributes> |
groupWithAttributesHashMap |
Map<String,GroupWithAttributes> |
localGroups |
Map<String,Group> |
roleMap |
Map<String,User> |
userMap |
com.google.common.collect.SetMultimap<String,String> |
userMembershipsMap |
Map<String,UserWithAttributes> |
userWithAttributesHashMap |
Constructor and Description |
---|
MockDirectoryCache() |
Modifier and Type | Method and Description |
---|---|
void |
addGroupMembersForGroup(Group parentGroup,
Set<String> groups) |
void |
addGroupToGroup(String childGroup,
String parentGroup) |
void |
addOrUpdateCachedGroup(Group group) |
void |
addOrUpdateCachedGroups(Collection<? extends Group> groups,
Date syncStartDate) |
void |
addOrUpdateCachedUser(User user) |
AddUpdateSets<UserTemplateWithCredentialAndAttributes,UserTemplate> |
addOrUpdateCachedUsers(Collection<? extends User> users,
Date syncStartDate)
Synchronises a list of Users from an external directory in the local cache.
|
void |
addUserMembersForGroup(Group parentGroup,
Set<String> remoteUsers) |
void |
addUserToGroup(String username,
String groupName) |
void |
applySyncingGroupAttributes(String groupName,
Set<String> deletedAttributes,
Map<String,Set<String>> storedAttributes)
Removes any syncing group attributes listed in deletedAttributes, and store any that are listed in storedAttributes
If any non-syncing attributes are included, they will be ignored
|
void |
applySyncingUserAttributes(String userName,
Set<String> deletedAttributes,
Map<String,Set<String>> storedAttributes)
Removes any syncing user attributes listed in deletedAttributes, and store any that are listed in storedAttributes
If any non-syncing attributes are included, they will be ignored
|
void |
deleteCachedGroup(String groupname) |
void |
deleteCachedGroups(List<String> groupnames) |
void |
deleteCachedGroups(Set<String> groupnames) |
void |
deleteCachedGroupsByGuids(Set<String> guids) |
void |
deleteCachedGroupsNotIn(GroupType groupType,
List<? extends Group> remoteGroups,
Date syncStartDate) |
void |
deleteCachedGroupsNotInByExternalId(Collection<? extends Group> remoteGroups,
Date syncStartDate) |
void |
deleteCachedUser(String username) |
void |
deleteCachedUsersByGuid(Set<String> guids) |
void |
deleteCachedUsersNotIn(Collection<? extends User> users,
Date syncStartDate) |
void |
deleteGroupMembersForGroup(Group parentGroup,
Set<String> groups) |
void |
deleteUserMembersForGroup(Group parentGroup,
Set<String> remoteUsers) |
Map<String,String> |
findGroupsByExternalIds(Set<String> externalIds)
Searches the specified directory for group names of groups with the specified external ids
|
Map<String,String> |
findGroupsExternalIdsByNames(Set<String> groupNames)
Searches the specified directory for externalIds of groups with the specified names
|
GroupWithAttributes |
findGroupWithAttributesByName(String name) |
Map<String,String> |
findUsersByExternalIds(Set<String> externalIds)
Searches the specified directory for user names of users with the specified external ids, returns
a map from external id to username
|
UserWithAttributes |
findUserWithAttributesByName(String name) |
Set<String> |
getAllGroupGuids()
Returns a set of all group guids present in the cache excluding null values.
|
Set<String> |
getAllLocalGroupNames()
Returns a set of all local group names.
|
Set<String> |
getAllUserGuids()
Returns a set of all user guids present in the cache excluding null values.
|
long |
getExternalCachedGroupCount()
Counts external cached groups in the directory cache
|
Group |
getGroup(String name) |
long |
getGroupCount()
Counts groups in directory cache.
|
Collection<Group> |
getGroups() |
Group |
getRole(String name) |
Collection<Group> |
getRoles() |
long |
getUserCount()
Counts users in directory cache.
|
Collection<User> |
getUsers() |
boolean |
isGroupAttributeSyncCalled() |
boolean |
isUserAttributeSyncCalled() |
void |
removeGroupFromGroup(String childGroup,
String parentGroup) |
void |
removeUserFromGroup(String username,
String groupName) |
void |
syncGroupMembersForGroup(Group parentGroup,
Collection<String> groups) |
void |
syncGroupMembershipsAndMembersForGroup(String groupName,
Set<String> parentGroupNames,
Set<String> childGroupNames) |
void |
syncGroupMembershipsForUser(String childUsername,
Set<String> parentGroupNames) |
void |
syncUserMembersForGroup(Group parentGroup,
Collection<String> users) |
public final Map<String,GroupWithAttributes> localGroups
public final Map<String,UserWithAttributes> userWithAttributesHashMap
public final Map<String,GroupWithAttributes> groupWithAttributesHashMap
public final com.google.common.collect.SetMultimap<String,String> userMembershipsMap
public AddUpdateSets<UserTemplateWithCredentialAndAttributes,UserTemplate> addOrUpdateCachedUsers(Collection<? extends User> users, Date syncStartDate) throws OperationFailedException
DirectoryCache
If the syncStartDate is not null, then it is used to ensure we don't re-introduce stale data if a User is updated
locally after we did our search.
Some callers may intentionally choose to pass null - eg when com.atlassian.crowd.directory.ldap.cache.UsnChangedCacheRefresher
does a partial synchronise.
addOrUpdateCachedUsers
in interface DirectoryCache
users
- A list of Users from the external directory.syncStartDate
- The date that the synchronise started (can be null).OperationFailedException
- If the Internal Directory throws a OperationFailedException - which seems unlikely.public void deleteCachedUsersNotIn(Collection<? extends User> users, Date syncStartDate) throws OperationFailedException
deleteCachedUsersNotIn
in interface DirectoryCache
OperationFailedException
public void deleteCachedUsersByGuid(Set<String> guids) throws OperationFailedException
deleteCachedUsersByGuid
in interface DirectoryCache
OperationFailedException
public void deleteCachedGroups(Set<String> groupnames) throws OperationFailedException
deleteCachedGroups
in interface DirectoryCache
OperationFailedException
public void addOrUpdateCachedGroups(Collection<? extends Group> groups, Date syncStartDate) throws OperationFailedException
addOrUpdateCachedGroups
in interface DirectoryCache
OperationFailedException
public void deleteCachedGroupsByGuids(Set<String> guids) throws OperationFailedException
deleteCachedGroupsByGuids
in interface DirectoryCache
OperationFailedException
public void deleteCachedGroupsNotIn(GroupType groupType, List<? extends Group> remoteGroups, Date syncStartDate) throws OperationFailedException
deleteCachedGroupsNotIn
in interface DirectoryCache
OperationFailedException
public void deleteCachedGroupsNotInByExternalId(Collection<? extends Group> remoteGroups, Date syncStartDate) throws OperationFailedException
deleteCachedGroupsNotInByExternalId
in interface DirectoryCache
OperationFailedException
public void deleteCachedGroups(List<String> groupnames) throws OperationFailedException
OperationFailedException
public Collection<User> getUsers()
public Collection<Group> getGroups()
public Collection<Group> getRoles()
public void syncUserMembersForGroup(Group parentGroup, Collection<String> users) throws OperationFailedException
syncUserMembersForGroup
in interface DirectoryCache
OperationFailedException
public void addUserMembersForGroup(Group parentGroup, Set<String> remoteUsers) throws OperationFailedException
addUserMembersForGroup
in interface DirectoryCache
OperationFailedException
public void deleteUserMembersForGroup(Group parentGroup, Set<String> remoteUsers) throws OperationFailedException
deleteUserMembersForGroup
in interface DirectoryCache
OperationFailedException
public void syncGroupMembersForGroup(Group parentGroup, Collection<String> groups) throws OperationFailedException
syncGroupMembersForGroup
in interface DirectoryCache
OperationFailedException
public void addGroupMembersForGroup(Group parentGroup, Set<String> groups) throws OperationFailedException
addGroupMembersForGroup
in interface DirectoryCache
OperationFailedException
public void deleteGroupMembersForGroup(Group parentGroup, Set<String> groups) throws OperationFailedException
deleteGroupMembersForGroup
in interface DirectoryCache
OperationFailedException
public void addOrUpdateCachedUser(User user) throws OperationFailedException
addOrUpdateCachedUser
in interface DirectoryCache
OperationFailedException
public void deleteCachedUser(String username) throws OperationFailedException
deleteCachedUser
in interface DirectoryCache
OperationFailedException
public void addOrUpdateCachedGroup(Group group) throws OperationFailedException
addOrUpdateCachedGroup
in interface DirectoryCache
OperationFailedException
public void deleteCachedGroup(String groupname) throws OperationFailedException
deleteCachedGroup
in interface DirectoryCache
OperationFailedException
public void addUserToGroup(String username, String groupName) throws OperationFailedException
addUserToGroup
in interface DirectoryCache
OperationFailedException
public void removeUserFromGroup(String username, String groupName) throws OperationFailedException
removeUserFromGroup
in interface DirectoryCache
OperationFailedException
public void addGroupToGroup(String childGroup, String parentGroup) throws OperationFailedException
addGroupToGroup
in interface DirectoryCache
OperationFailedException
public void removeGroupFromGroup(String childGroup, String parentGroup) throws OperationFailedException
removeGroupFromGroup
in interface DirectoryCache
OperationFailedException
public void syncGroupMembershipsForUser(String childUsername, Set<String> parentGroupNames) throws OperationFailedException
syncGroupMembershipsForUser
in interface DirectoryCache
OperationFailedException
public void syncGroupMembershipsAndMembersForGroup(String groupName, Set<String> parentGroupNames, Set<String> childGroupNames) throws OperationFailedException
syncGroupMembershipsAndMembersForGroup
in interface DirectoryCache
OperationFailedException
public Set<String> getAllUserGuids()
DirectoryCache
getAllUserGuids
in interface DirectoryCache
public long getUserCount()
DirectoryCache
getUserCount
in interface DirectoryCache
public Set<String> getAllGroupGuids() throws OperationFailedException
DirectoryCache
getAllGroupGuids
in interface DirectoryCache
OperationFailedException
- if the internal directory throes a OperationFailedExceptionpublic Set<String> getAllLocalGroupNames() throws OperationFailedException
DirectoryCache
getAllLocalGroupNames
in interface DirectoryCache
OperationFailedException
- if the internal directory throes a OperationFailedExceptionpublic long getGroupCount() throws OperationFailedException
DirectoryCache
getGroupCount
in interface DirectoryCache
OperationFailedException
public long getExternalCachedGroupCount()
DirectoryCache
getExternalCachedGroupCount
in interface DirectoryCache
public UserWithAttributes findUserWithAttributesByName(String name) throws UserNotFoundException, OperationFailedException
findUserWithAttributesByName
in interface DirectoryCache
UserNotFoundException
OperationFailedException
public Map<String,String> findUsersByExternalIds(Set<String> externalIds)
DirectoryCache
findUsersByExternalIds
in interface DirectoryCache
externalIds
- the external ids of the users to search forpublic Map<String,String> findGroupsByExternalIds(Set<String> externalIds) throws OperationFailedException
DirectoryCache
findGroupsByExternalIds
in interface DirectoryCache
externalIds
- external ids of the groups to findOperationFailedException
public Map<String,String> findGroupsExternalIdsByNames(Set<String> groupNames) throws OperationFailedException
DirectoryCache
findGroupsExternalIdsByNames
in interface DirectoryCache
groupNames
- names of the groups to findOperationFailedException
public GroupWithAttributes findGroupWithAttributesByName(String name) throws GroupNotFoundException, OperationFailedException
findGroupWithAttributesByName
in interface DirectoryCache
GroupNotFoundException
OperationFailedException
public void applySyncingUserAttributes(String userName, Set<String> deletedAttributes, Map<String,Set<String>> storedAttributes) throws UserNotFoundException, OperationFailedException
DirectoryCache
applySyncingUserAttributes
in interface DirectoryCache
userName
- user to apply attributes todeletedAttributes
- attribute keys that need to be deletedstoredAttributes
- attributes and values that need to be saved (will overwrite any existing attributes with the same keys)UserNotFoundException
OperationFailedException
public void applySyncingGroupAttributes(String groupName, Set<String> deletedAttributes, Map<String,Set<String>> storedAttributes) throws GroupNotFoundException, OperationFailedException
DirectoryCache
applySyncingGroupAttributes
in interface DirectoryCache
groupName
- group to apply attributes todeletedAttributes
- attribute keys that need to be deletedstoredAttributes
- attributes and values that need to be saved (will overwrite any existing attributes with the same keys)GroupNotFoundException
OperationFailedException
public boolean isUserAttributeSyncCalled()
public boolean isGroupAttributeSyncCalled()
Copyright © 2021 Atlassian. All rights reserved.