public class DbCachingRemoteChangeOperations extends Object implements DirectoryCacheChangeOperations
DirectoryCacheChangeOperations.AddRemoveSets<T>, DirectoryCacheChangeOperations.GroupShadowingType, DirectoryCacheChangeOperations.GroupsToAddUpdateReplace
Constructor and Description |
---|
DbCachingRemoteChangeOperations(DirectoryDao directoryDao,
RemoteDirectory remoteDirectory,
InternalRemoteDirectory internalDirectory,
SynchronisationStatusManager synchronisationStatusManager,
MultiEventPublisher eventPublisher,
UserDao userDao,
GroupDao groupDao,
GroupActionStrategy groupActionStrategy) |
Modifier and Type | Method and Description |
---|---|
void |
addGroupMembershipsForGroup(Group parentGroup,
Collection<String> groupsToAdd) |
void |
addGroups(Set<GroupTemplate> groupsToAdd) |
void |
addGroupToGroup(String childGroup,
String parentGroup) |
void |
addOrUpdateCachedGroup(Group group) |
void |
addOrUpdateCachedUser(User user) |
void |
addUserMembershipsForGroup(Group group,
Set<String> usersToAdd) |
void |
addUsers(Set<UserTemplateWithCredentialAndAttributes> usersToAdd) |
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(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> remoteUsers,
Date synchStartDate) |
DirectoryCacheChangeOperations.AddRemoveSets<String> |
findGroupMembershipForGroupChanges(Group parentGroup,
Collection<String> remoteGroups) |
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
|
DirectoryCacheChangeOperations.GroupsToAddUpdateReplace |
findGroupsToUpdate(Collection<? extends Group> remoteGroups,
Date syncStartDate) |
GroupWithAttributes |
findGroupWithAttributesByName(String name) |
DirectoryCacheChangeOperations.AddRemoveSets<String> |
findUserMembershipForGroupChanges(Group group,
Collection<String> remoteUsers) |
Map<String,String> |
findUsersByExternalIds(Set<String> externalIds) |
UserWithAttributes |
findUserWithAttributesByName(String name) |
Set<String> |
getAllGroupGuids() |
Set<String> |
getAllLocalGroupNames() |
Set<String> |
getAllUserGuids() |
protected Directory |
getDirectory() |
long |
getExternalCachedGroupCount() |
long |
getGroupCount() |
long |
getUserCount() |
AddUpdateSets<UserTemplateWithCredentialAndAttributes,UserTemplate> |
getUsersToAddAndUpdate(Collection<? extends User> remoteUsers,
Date syncStartDate)
Returns the users that need to be added or updated given the list of all remote users.
|
protected boolean |
hasChanged(User remoteUser,
User internalUser) |
DirectoryCacheChangeOperations.GroupShadowingType |
isGroupShadowed(Group remoteGroup)
Returns true if the given remote Group should not have its memberships synchronised for any reason.
|
protected static Map<String,TimestampedUser> |
mapUsersByExternalId(Collection<TimestampedUser> users) |
void |
removeGroupFromGroup(String childGroup,
String parentGroup) |
void |
removeGroupMembershipsForGroup(Group parentGroup,
Collection<String> groupsToRemove) |
void |
removeGroups(Collection<String> groupsToRemove) |
void |
removeUserFromGroup(String username,
String groupName) |
void |
removeUserMembershipsForGroup(Group group,
Set<String> usersToRemove) |
void |
syncGroupMembershipsAndMembersForGroup(String groupName,
Set<String> parentGroupNames,
Set<String> childGroupNames) |
void |
syncGroupMembershipsForUser(String childUsername,
Set<String> parentGroupNames) |
void |
updateGroups(Collection<GroupTemplate> groupsToUpdate) |
void |
updateUsers(Collection<UserTemplate> usersToUpdate) |
public DbCachingRemoteChangeOperations(DirectoryDao directoryDao, RemoteDirectory remoteDirectory, InternalRemoteDirectory internalDirectory, SynchronisationStatusManager synchronisationStatusManager, MultiEventPublisher eventPublisher, UserDao userDao, GroupDao groupDao, GroupActionStrategy groupActionStrategy)
public void addUsers(Set<UserTemplateWithCredentialAndAttributes> usersToAdd) throws OperationFailedException
addUsers
in interface DirectoryCacheChangeOperations
OperationFailedException
public void updateUsers(Collection<UserTemplate> usersToUpdate) throws OperationFailedException
updateUsers
in interface DirectoryCacheChangeOperations
OperationFailedException
public void deleteCachedUsersByGuid(Set<String> guids) throws OperationFailedException
deleteCachedUsersByGuid
in interface DirectoryCacheChangeOperations
OperationFailedException
public void deleteCachedUsersNotIn(Collection<? extends User> remoteUsers, Date synchStartDate) throws OperationFailedException
deleteCachedUsersNotIn
in interface DirectoryCacheChangeOperations
OperationFailedException
public DirectoryCacheChangeOperations.GroupsToAddUpdateReplace findGroupsToUpdate(Collection<? extends Group> remoteGroups, Date syncStartDate) throws OperationFailedException
findGroupsToUpdate
in interface DirectoryCacheChangeOperations
OperationFailedException
public void removeGroups(Collection<String> groupsToRemove) throws OperationFailedException
removeGroups
in interface DirectoryCacheChangeOperations
OperationFailedException
public void addGroups(Set<GroupTemplate> groupsToAdd) throws OperationFailedException
addGroups
in interface DirectoryCacheChangeOperations
OperationFailedException
public void updateGroups(Collection<GroupTemplate> groupsToUpdate) throws OperationFailedException
updateGroups
in interface DirectoryCacheChangeOperations
OperationFailedException
public void deleteCachedGroupsNotIn(GroupType groupType, List<? extends Group> remoteGroups, Date syncStartDate) throws OperationFailedException
deleteCachedGroupsNotIn
in interface DirectoryCacheChangeOperations
OperationFailedException
public void deleteCachedGroupsNotInByExternalId(Collection<? extends Group> remoteGroups, Date syncStartDate) throws OperationFailedException
deleteCachedGroupsNotInByExternalId
in interface DirectoryCacheChangeOperations
OperationFailedException
public void deleteCachedGroups(Set<String> groupnames) throws OperationFailedException
deleteCachedGroups
in interface DirectoryCacheChangeOperations
OperationFailedException
public void deleteCachedGroupsByGuids(Set<String> guids) throws OperationFailedException
deleteCachedGroupsByGuids
in interface DirectoryCacheChangeOperations
OperationFailedException
public DirectoryCacheChangeOperations.AddRemoveSets<String> findUserMembershipForGroupChanges(Group group, Collection<String> remoteUsers) throws OperationFailedException
findUserMembershipForGroupChanges
in interface DirectoryCacheChangeOperations
OperationFailedException
public void removeUserMembershipsForGroup(Group group, Set<String> usersToRemove) throws OperationFailedException
removeUserMembershipsForGroup
in interface DirectoryCacheChangeOperations
OperationFailedException
public void addUserMembershipsForGroup(Group group, Set<String> usersToAdd) throws OperationFailedException
addUserMembershipsForGroup
in interface DirectoryCacheChangeOperations
OperationFailedException
public DirectoryCacheChangeOperations.AddRemoveSets<String> findGroupMembershipForGroupChanges(Group parentGroup, Collection<String> remoteGroups) throws OperationFailedException
findGroupMembershipForGroupChanges
in interface DirectoryCacheChangeOperations
OperationFailedException
public void addGroupMembershipsForGroup(Group parentGroup, Collection<String> groupsToAdd) throws OperationFailedException
addGroupMembershipsForGroup
in interface DirectoryCacheChangeOperations
OperationFailedException
public void removeGroupMembershipsForGroup(Group parentGroup, Collection<String> groupsToRemove) throws OperationFailedException
removeGroupMembershipsForGroup
in interface DirectoryCacheChangeOperations
OperationFailedException
protected Directory getDirectory() throws DirectoryNotFoundException
DirectoryNotFoundException
public DirectoryCacheChangeOperations.GroupShadowingType isGroupShadowed(Group remoteGroup) throws OperationFailedException
isGroupShadowed
in interface DirectoryCacheChangeOperations
remoteGroup
- The Group to test.OperationFailedException
- If there is an error trying to find the group in the Internal Directory (should not occur).public AddUpdateSets<UserTemplateWithCredentialAndAttributes,UserTemplate> getUsersToAddAndUpdate(Collection<? extends User> remoteUsers, Date syncStartDate) throws OperationFailedException
getUsersToAddAndUpdate
in interface DirectoryCacheChangeOperations
remoteUsers
- List of all remote users.syncStartDate
- Date and time of the start of the synchronisation. Used to determine which users need to be
synchronised. Can be null in which case all the users are synchronised.OperationFailedException
- if the operation failed for any reasonprotected static Map<String,TimestampedUser> mapUsersByExternalId(Collection<TimestampedUser> users)
public void addOrUpdateCachedUser(User user) throws OperationFailedException
addOrUpdateCachedUser
in interface DirectoryCacheChangeOperations
OperationFailedException
public void deleteCachedUser(String username) throws OperationFailedException
deleteCachedUser
in interface DirectoryCacheChangeOperations
OperationFailedException
public void addOrUpdateCachedGroup(Group group) throws OperationFailedException
addOrUpdateCachedGroup
in interface DirectoryCacheChangeOperations
OperationFailedException
public void deleteCachedGroup(String groupName) throws OperationFailedException
deleteCachedGroup
in interface DirectoryCacheChangeOperations
OperationFailedException
public void addUserToGroup(String username, String groupName) throws OperationFailedException
addUserToGroup
in interface DirectoryCacheChangeOperations
OperationFailedException
public void addGroupToGroup(String childGroup, String parentGroup) throws OperationFailedException
addGroupToGroup
in interface DirectoryCacheChangeOperations
OperationFailedException
public void removeUserFromGroup(String username, String groupName) throws OperationFailedException
removeUserFromGroup
in interface DirectoryCacheChangeOperations
OperationFailedException
public void removeGroupFromGroup(String childGroup, String parentGroup) throws OperationFailedException
removeGroupFromGroup
in interface DirectoryCacheChangeOperations
OperationFailedException
public void syncGroupMembershipsForUser(String childUsername, Set<String> parentGroupNames) throws OperationFailedException
syncGroupMembershipsForUser
in interface DirectoryCacheChangeOperations
OperationFailedException
public void syncGroupMembershipsAndMembersForGroup(String groupName, Set<String> parentGroupNames, Set<String> childGroupNames) throws OperationFailedException
syncGroupMembershipsAndMembersForGroup
in interface DirectoryCacheChangeOperations
OperationFailedException
public UserWithAttributes findUserWithAttributesByName(String name) throws UserNotFoundException, OperationFailedException
findUserWithAttributesByName
in interface DirectoryCacheChangeOperations
UserNotFoundException
OperationFailedException
public GroupWithAttributes findGroupWithAttributesByName(String name) throws GroupNotFoundException, OperationFailedException
findGroupWithAttributesByName
in interface DirectoryCacheChangeOperations
GroupNotFoundException
OperationFailedException
public Map<String,String> findUsersByExternalIds(Set<String> externalIds)
findUsersByExternalIds
in interface DirectoryCacheChangeOperations
public Map<String,String> findGroupsByExternalIds(Set<String> externalIds) throws OperationFailedException
DirectoryCacheChangeOperations
findGroupsByExternalIds
in interface DirectoryCacheChangeOperations
externalIds
- external ids of the groups to findOperationFailedException
public Map<String,String> findGroupsExternalIdsByNames(Set<String> groupNames) throws OperationFailedException
DirectoryCacheChangeOperations
findGroupsExternalIdsByNames
in interface DirectoryCacheChangeOperations
groupNames
- names of the groups to findOperationFailedException
public void applySyncingUserAttributes(String userName, Set<String> deletedAttributes, Map<String,Set<String>> storedAttributes) throws UserNotFoundException, OperationFailedException
DirectoryCacheChangeOperations
applySyncingUserAttributes
in interface DirectoryCacheChangeOperations
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
DirectoryCacheChangeOperations
applySyncingGroupAttributes
in interface DirectoryCacheChangeOperations
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 Set<String> getAllUserGuids() throws OperationFailedException
getAllUserGuids
in interface DirectoryCacheChangeOperations
OperationFailedException
public Set<String> getAllGroupGuids() throws OperationFailedException
getAllGroupGuids
in interface DirectoryCacheChangeOperations
OperationFailedException
public long getUserCount() throws OperationFailedException
getUserCount
in interface DirectoryCacheChangeOperations
OperationFailedException
public long getGroupCount() throws OperationFailedException
getGroupCount
in interface DirectoryCacheChangeOperations
OperationFailedException
public long getExternalCachedGroupCount() throws OperationFailedException
getExternalCachedGroupCount
in interface DirectoryCacheChangeOperations
OperationFailedException
public Set<String> getAllLocalGroupNames() throws OperationFailedException
getAllLocalGroupNames
in interface DirectoryCacheChangeOperations
OperationFailedException
Copyright © 2020 Atlassian. All rights reserved.