Class DirectoryManagerGeneric
java.lang.Object
com.atlassian.crowd.manager.directory.DirectoryManagerGeneric
- All Implemented Interfaces:
DirectoryManager
- Direct Known Subclasses:
RecoveryModeAwareDirectoryManager
-
Constructor Summary
ConstructorsConstructorDescriptionDirectoryManagerGeneric(com.atlassian.crowd.embedded.spi.DirectoryDao directoryDao, ApplicationDAO applicationDAO, MultiEventPublisher eventPublisher, PermissionManager permissionManager, DirectoryInstanceLoader directoryInstanceLoader, DirectorySynchroniser directorySynchroniser, DirectoryPollerManager directoryPollerManager, com.atlassian.beehive.ClusterLockService lockService, SynchronisationStatusManager synchronisationStatusManager, BeforeGroupRemoval beforeGroupRemoval, Optional<NestedGroupsCacheProvider> nestedGroupsCacheProvider, LDAPPropertiesHelper ldapPropertiesHelper, LdapConnectionPropertiesDiffResultMapper ldapConnectionPropertiesDiffResultMapper) -
Method Summary
Modifier and TypeMethodDescriptionaddAllGroups(long directoryId, Collection<GroupTemplate> groups, boolean overwrite) addAllUsers(long directoryId, Collection<UserTemplateWithCredentialAndAttributes> users, boolean overwrite) addAllUsersToGroup(long directoryId, Collection<String> userNames, String groupName) addDirectory(Directory directory) addGroup(long directoryId, GroupTemplate group) voidaddGroupToGroup(long directoryId, String childGroup, String parentGroup) addUser(long directoryId, UserTemplate user, PasswordCredential credential) addUser(long directoryId, UserTemplateWithAttributes user, PasswordCredential credential) voidaddUserToGroup(long directoryId, String username, String groupName) authenticateUser(long directoryId, String username, PasswordCredential passwordCredential) countDirectMembersOfGroup(long directoryId, String groupName, int querySizeHint) voidexpireAllPasswords(long directoryId) filterNestedUserMembersOfGroups(long directoryId, Set<String> userNames, Set<String> groupNames) findAuthorisedApplications(long directoryId, List<String> groupNames) findDirectoryById(long directoryId) findDirectoryByName(String name) findGroupByName(long directoryId, String groupName) findGroupWithAttributesByName(long directoryId, String groupName) findRemoteUserByName(Long directoryId, String username) findUserByExternalId(long directoryId, String externalId) findUserByName(long directoryId, String username) findUserWithAttributesByExternalId(long directoryId, String externalId) findUserWithAttributesByName(long directoryId, String username) getDirectorySynchronisationInformation(long directoryId) getSynchronisationMode(long directoryId) getUserAvatarByName(long directoryId, String username, int sizeHint) booleanisGroupDirectGroupMember(long directoryId, String childGroup, String parentGroup) booleanisGroupNestedGroupMember(long directoryId, String childGroupName, String parentGroupName) booleanisSynchronisable(long directoryId) booleanisSynchronising(long directoryId) booleanisUserDirectGroupMember(long directoryId, String username, String groupName) booleanisUserNestedGroupMember(long directoryId, String username, String groupName) booleanisUserNestedGroupMember(long directoryId, String username, Set<String> groupNames) voidremoveDirectory(Directory directory) voidremoveGroup(long directoryId, String groupName) voidremoveGroupAttributes(long directoryId, String groupName, String attributeName) voidremoveGroupFromGroup(long directoryId, String childGroup, String parentGroup) voidremoveUser(long directoryId, String username) voidremoveUserAttributes(long directoryId, String username, String attributeName) voidremoveUserFromGroup(long directoryId, String username, String groupName) renameGroup(long directoryId, String oldGroupname, String newGroupname) renameUser(long directoryId, String oldUsername, String newUsername) <T> List<T>searchDirectGroupRelationships(long directoryId, MembershipQuery<T> query) searchDirectGroupRelationshipsGroupedByName(long directoryId, MembershipQuery<T> query) searchDirectories(EntityQuery<Directory> query) <T> List<T>searchGroups(long directoryId, EntityQuery<T> query) <T> List<T>searchNestedGroupRelationships(long directoryId, MembershipQuery<T> query) <T> List<T>searchUsers(long directoryId, EntityQuery<T> query) voidvoidbooleansupportsExpireAllPasswords(long directoryId) booleansupportsNestedGroups(long directoryId) voidsynchroniseCache(long directoryId, SynchronisationMode mode) voidsynchroniseCache(long directoryId, SynchronisationMode mode, boolean runInBackground) updateDirectory(Directory directory) updateGroup(long directoryId, GroupTemplate group) updateUser(long directoryId, UserTemplate user) voidupdateUserCredential(long directoryId, String username, PasswordCredential credential) updateUserFromRemoteDirectory(User remoteUser) userAuthenticated(long directoryId, String username)
-
Constructor Details
-
DirectoryManagerGeneric
public DirectoryManagerGeneric(com.atlassian.crowd.embedded.spi.DirectoryDao directoryDao, ApplicationDAO applicationDAO, MultiEventPublisher eventPublisher, PermissionManager permissionManager, DirectoryInstanceLoader directoryInstanceLoader, DirectorySynchroniser directorySynchroniser, DirectoryPollerManager directoryPollerManager, com.atlassian.beehive.ClusterLockService lockService, SynchronisationStatusManager synchronisationStatusManager, BeforeGroupRemoval beforeGroupRemoval, Optional<NestedGroupsCacheProvider> nestedGroupsCacheProvider, LDAPPropertiesHelper ldapPropertiesHelper, LdapConnectionPropertiesDiffResultMapper ldapConnectionPropertiesDiffResultMapper)
-
-
Method Details
-
addDirectory
- Specified by:
addDirectoryin interfaceDirectoryManager- Throws:
DirectoryInstantiationException
-
findDirectoryById
- Specified by:
findDirectoryByIdin interfaceDirectoryManager- Throws:
DirectoryNotFoundException
-
findAllDirectories
- Specified by:
findAllDirectoriesin interfaceDirectoryManager
-
searchDirectories
- Specified by:
searchDirectoriesin interfaceDirectoryManager
-
findDirectoryByName
- Specified by:
findDirectoryByNamein interfaceDirectoryManager- Throws:
DirectoryNotFoundException
-
updateDirectory
- Specified by:
updateDirectoryin interfaceDirectoryManager- Throws:
DirectoryNotFoundException
-
removeDirectory
public void removeDirectory(Directory directory) throws DirectoryNotFoundException, DirectoryCurrentlySynchronisingException - Specified by:
removeDirectoryin interfaceDirectoryManager- Throws:
DirectoryNotFoundExceptionDirectoryCurrentlySynchronisingException
-
supportsNestedGroups
public boolean supportsNestedGroups(long directoryId) throws DirectoryInstantiationException, DirectoryNotFoundException - Specified by:
supportsNestedGroupsin interfaceDirectoryManager- Throws:
DirectoryInstantiationExceptionDirectoryNotFoundException
-
isSynchronisable
public boolean isSynchronisable(long directoryId) throws DirectoryInstantiationException, DirectoryNotFoundException - Specified by:
isSynchronisablein interfaceDirectoryManager- Throws:
DirectoryInstantiationExceptionDirectoryNotFoundException
-
getSynchronisationMode
public SynchronisationMode getSynchronisationMode(long directoryId) throws DirectoryInstantiationException, DirectoryNotFoundException - Specified by:
getSynchronisationModein interfaceDirectoryManager- Throws:
DirectoryInstantiationExceptionDirectoryNotFoundException
-
synchroniseCache
public void synchroniseCache(long directoryId, SynchronisationMode mode) throws OperationFailedException, DirectoryNotFoundException - Specified by:
synchroniseCachein interfaceDirectoryManager- Throws:
OperationFailedExceptionDirectoryNotFoundException
-
synchroniseCache
public void synchroniseCache(long directoryId, SynchronisationMode mode, boolean runInBackground) throws OperationFailedException, DirectoryNotFoundException - Specified by:
synchroniseCachein interfaceDirectoryManager- Throws:
OperationFailedExceptionDirectoryNotFoundException
-
isSynchronising
public boolean isSynchronising(long directoryId) throws DirectoryInstantiationException, DirectoryNotFoundException - Specified by:
isSynchronisingin interfaceDirectoryManager- Throws:
DirectoryInstantiationExceptionDirectoryNotFoundException
-
getDirectorySynchronisationInformation
public DirectorySynchronisationInformation getDirectorySynchronisationInformation(long directoryId) throws DirectoryInstantiationException, DirectoryNotFoundException - Specified by:
getDirectorySynchronisationInformationin interfaceDirectoryManager- Throws:
DirectoryInstantiationExceptionDirectoryNotFoundException
-
authenticateUser
public User authenticateUser(long directoryId, String username, PasswordCredential passwordCredential) throws OperationFailedException, InactiveAccountException, InvalidAuthenticationException, ExpiredCredentialException, DirectoryNotFoundException, UserNotFoundException -
userAuthenticated
public User userAuthenticated(long directoryId, String username) throws OperationFailedException, DirectoryNotFoundException, UserNotFoundException, InactiveAccountException - Specified by:
userAuthenticatedin interfaceDirectoryManager- Throws:
OperationFailedExceptionDirectoryNotFoundExceptionUserNotFoundExceptionInactiveAccountException
-
findUserByName
public User findUserByName(long directoryId, String username) throws OperationFailedException, DirectoryNotFoundException, UserNotFoundException - Specified by:
findUserByNamein interfaceDirectoryManager- Throws:
OperationFailedExceptionDirectoryNotFoundExceptionUserNotFoundException
-
findUserWithAttributesByName
public UserWithAttributes findUserWithAttributesByName(long directoryId, String username) throws OperationFailedException, DirectoryNotFoundException, UserNotFoundException - Specified by:
findUserWithAttributesByNamein interfaceDirectoryManager- Throws:
OperationFailedExceptionDirectoryNotFoundExceptionUserNotFoundException
-
searchUsers
public <T> List<T> searchUsers(long directoryId, EntityQuery<T> query) throws OperationFailedException, DirectoryNotFoundException - Specified by:
searchUsersin interfaceDirectoryManager- Throws:
OperationFailedExceptionDirectoryNotFoundException
-
addUser
public User addUser(long directoryId, UserTemplate user, PasswordCredential credential) throws InvalidCredentialException, InvalidUserException, OperationFailedException, DirectoryPermissionException, DirectoryNotFoundException, UserAlreadyExistsException -
addUser
public UserWithAttributes addUser(long directoryId, UserTemplateWithAttributes user, PasswordCredential credential) throws InvalidCredentialException, InvalidUserException, OperationFailedException, DirectoryPermissionException, DirectoryNotFoundException, UserAlreadyExistsException -
updateUser
public User updateUser(long directoryId, UserTemplate user) throws OperationFailedException, DirectoryPermissionException, InvalidUserException, DirectoryNotFoundException, UserNotFoundException - Specified by:
updateUserin interfaceDirectoryManager- Throws:
OperationFailedExceptionDirectoryPermissionExceptionInvalidUserExceptionDirectoryNotFoundExceptionUserNotFoundException
-
renameUser
public User renameUser(long directoryId, String oldUsername, String newUsername) throws OperationFailedException, DirectoryPermissionException, InvalidUserException, DirectoryNotFoundException, UserNotFoundException, UserAlreadyExistsException -
storeUserAttributes
public void storeUserAttributes(long directoryId, String username, Map<String, Set<String>> attributes) throws OperationFailedException, DirectoryPermissionException, DirectoryNotFoundException, UserNotFoundException- Specified by:
storeUserAttributesin interfaceDirectoryManager- Throws:
OperationFailedExceptionDirectoryPermissionExceptionDirectoryNotFoundExceptionUserNotFoundException
-
removeUserAttributes
public void removeUserAttributes(long directoryId, String username, String attributeName) throws OperationFailedException, DirectoryPermissionException, DirectoryNotFoundException, UserNotFoundException - Specified by:
removeUserAttributesin interfaceDirectoryManager- Throws:
OperationFailedExceptionDirectoryPermissionExceptionDirectoryNotFoundExceptionUserNotFoundException
-
updateUserCredential
public void updateUserCredential(long directoryId, String username, PasswordCredential credential) throws OperationFailedException, DirectoryPermissionException, InvalidCredentialException, DirectoryNotFoundException, UserNotFoundException - Specified by:
updateUserCredentialin interfaceDirectoryManager- Throws:
OperationFailedExceptionDirectoryPermissionExceptionInvalidCredentialExceptionDirectoryNotFoundExceptionUserNotFoundException
-
removeUser
public void removeUser(long directoryId, String username) throws DirectoryPermissionException, OperationFailedException, DirectoryNotFoundException, UserNotFoundException - Specified by:
removeUserin interfaceDirectoryManager- Throws:
DirectoryPermissionExceptionOperationFailedExceptionDirectoryNotFoundExceptionUserNotFoundException
-
findGroupByName
public Group findGroupByName(long directoryId, String groupName) throws OperationFailedException, GroupNotFoundException, DirectoryNotFoundException - Specified by:
findGroupByNamein interfaceDirectoryManager- Throws:
OperationFailedExceptionGroupNotFoundExceptionDirectoryNotFoundException
-
findGroupWithAttributesByName
public GroupWithAttributes findGroupWithAttributesByName(long directoryId, String groupName) throws OperationFailedException, GroupNotFoundException, DirectoryNotFoundException - Specified by:
findGroupWithAttributesByNamein interfaceDirectoryManager- Throws:
OperationFailedExceptionGroupNotFoundExceptionDirectoryNotFoundException
-
searchGroups
public <T> List<T> searchGroups(long directoryId, EntityQuery<T> query) throws OperationFailedException, DirectoryNotFoundException - Specified by:
searchGroupsin interfaceDirectoryManager- Throws:
OperationFailedExceptionDirectoryNotFoundException
-
addGroup
public Group addGroup(long directoryId, GroupTemplate group) throws InvalidGroupException, OperationFailedException, DirectoryPermissionException, DirectoryNotFoundException - Specified by:
addGroupin interfaceDirectoryManager- Throws:
InvalidGroupExceptionOperationFailedExceptionDirectoryPermissionExceptionDirectoryNotFoundException
-
updateGroup
public Group updateGroup(long directoryId, GroupTemplate group) throws OperationFailedException, DirectoryPermissionException, InvalidGroupException, DirectoryNotFoundException, GroupNotFoundException, ReadOnlyGroupException -
renameGroup
public Group renameGroup(long directoryId, String oldGroupname, String newGroupname) throws OperationFailedException, DirectoryPermissionException, InvalidGroupException, DirectoryNotFoundException, GroupNotFoundException - Specified by:
renameGroupin interfaceDirectoryManager- Throws:
OperationFailedExceptionDirectoryPermissionExceptionInvalidGroupExceptionDirectoryNotFoundExceptionGroupNotFoundException
-
storeGroupAttributes
public void storeGroupAttributes(long directoryId, String groupName, Map<String, Set<String>> attributes) throws OperationFailedException, DirectoryPermissionException, DirectoryNotFoundException, GroupNotFoundException- Specified by:
storeGroupAttributesin interfaceDirectoryManager- Throws:
OperationFailedExceptionDirectoryPermissionExceptionDirectoryNotFoundExceptionGroupNotFoundException
-
removeGroupAttributes
public void removeGroupAttributes(long directoryId, String groupName, String attributeName) throws OperationFailedException, DirectoryPermissionException, DirectoryNotFoundException, GroupNotFoundException - Specified by:
removeGroupAttributesin interfaceDirectoryManager- Throws:
OperationFailedExceptionDirectoryPermissionExceptionDirectoryNotFoundExceptionGroupNotFoundException
-
removeGroup
public void removeGroup(long directoryId, String groupName) throws DirectoryPermissionException, OperationFailedException, DirectoryNotFoundException, GroupNotFoundException, ReadOnlyGroupException - Specified by:
removeGroupin interfaceDirectoryManager- Throws:
DirectoryPermissionExceptionOperationFailedExceptionDirectoryNotFoundExceptionGroupNotFoundExceptionReadOnlyGroupException
-
isUserDirectGroupMember
public boolean isUserDirectGroupMember(long directoryId, String username, String groupName) throws OperationFailedException, DirectoryNotFoundException - Specified by:
isUserDirectGroupMemberin interfaceDirectoryManager- Throws:
OperationFailedExceptionDirectoryNotFoundException
-
isGroupDirectGroupMember
public boolean isGroupDirectGroupMember(long directoryId, String childGroup, String parentGroup) throws OperationFailedException, DirectoryNotFoundException - Specified by:
isGroupDirectGroupMemberin interfaceDirectoryManager- Throws:
OperationFailedExceptionDirectoryNotFoundException
-
addUserToGroup
public void addUserToGroup(long directoryId, String username, String groupName) throws DirectoryPermissionException, OperationFailedException, DirectoryNotFoundException, GroupNotFoundException, UserNotFoundException, ReadOnlyGroupException, MembershipAlreadyExistsException -
addGroupToGroup
public void addGroupToGroup(long directoryId, String childGroup, String parentGroup) throws DirectoryPermissionException, OperationFailedException, InvalidMembershipException, NestedGroupsNotSupportedException, DirectoryNotFoundException, GroupNotFoundException, ReadOnlyGroupException, MembershipAlreadyExistsException -
removeUserFromGroup
public void removeUserFromGroup(long directoryId, String username, String groupName) throws DirectoryPermissionException, OperationFailedException, MembershipNotFoundException, DirectoryNotFoundException, GroupNotFoundException, UserNotFoundException, ReadOnlyGroupException -
removeGroupFromGroup
public void removeGroupFromGroup(long directoryId, String childGroup, String parentGroup) throws DirectoryPermissionException, OperationFailedException, InvalidMembershipException, MembershipNotFoundException, DirectoryNotFoundException, GroupNotFoundException, ReadOnlyGroupException -
searchDirectGroupRelationships
public <T> List<T> searchDirectGroupRelationships(long directoryId, MembershipQuery<T> query) throws OperationFailedException, DirectoryNotFoundException - Specified by:
searchDirectGroupRelationshipsin interfaceDirectoryManager- Throws:
OperationFailedExceptionDirectoryNotFoundException
-
searchDirectGroupRelationshipsGroupedByName
public <T> Map<String,List<T>> searchDirectGroupRelationshipsGroupedByName(long directoryId, MembershipQuery<T> query) throws OperationFailedException, DirectoryNotFoundException - Specified by:
searchDirectGroupRelationshipsGroupedByNamein interfaceDirectoryManager- Throws:
OperationFailedExceptionDirectoryNotFoundException
-
countDirectMembersOfGroup
public BoundedCount countDirectMembersOfGroup(long directoryId, String groupName, int querySizeHint) throws OperationFailedException, DirectoryNotFoundException - Specified by:
countDirectMembersOfGroupin interfaceDirectoryManager- Throws:
OperationFailedExceptionDirectoryNotFoundException
-
isUserNestedGroupMember
@Transactional(readOnly=true) public boolean isUserNestedGroupMember(long directoryId, String username, String groupName) throws OperationFailedException, DirectoryNotFoundException - Specified by:
isUserNestedGroupMemberin interfaceDirectoryManager- Throws:
OperationFailedExceptionDirectoryNotFoundException
-
isUserNestedGroupMember
@Transactional(readOnly=true) public boolean isUserNestedGroupMember(long directoryId, String username, Set<String> groupNames) throws OperationFailedException, DirectoryNotFoundException - Specified by:
isUserNestedGroupMemberin interfaceDirectoryManager- Throws:
OperationFailedExceptionDirectoryNotFoundException
-
filterNestedUserMembersOfGroups
@Transactional(readOnly=true) public Set<String> filterNestedUserMembersOfGroups(long directoryId, Set<String> userNames, Set<String> groupNames) throws OperationFailedException, DirectoryNotFoundException - Specified by:
filterNestedUserMembersOfGroupsin interfaceDirectoryManager- Throws:
OperationFailedExceptionDirectoryNotFoundException
-
isGroupNestedGroupMember
@Transactional(readOnly=true) public boolean isGroupNestedGroupMember(long directoryId, String childGroupName, String parentGroupName) throws OperationFailedException, DirectoryNotFoundException - Specified by:
isGroupNestedGroupMemberin interfaceDirectoryManager- Throws:
OperationFailedExceptionDirectoryNotFoundException
-
searchNestedGroupRelationships
@Transactional(readOnly=true) public <T> List<T> searchNestedGroupRelationships(long directoryId, MembershipQuery<T> query) throws OperationFailedException, DirectoryNotFoundException - Specified by:
searchNestedGroupRelationshipsin interfaceDirectoryManager- Throws:
OperationFailedExceptionDirectoryNotFoundException
-
addAllUsers
public BulkAddResult<User> addAllUsers(long directoryId, Collection<UserTemplateWithCredentialAndAttributes> users, boolean overwrite) throws DirectoryPermissionException, OperationFailedException, DirectoryNotFoundException - Specified by:
addAllUsersin interfaceDirectoryManager- Throws:
DirectoryPermissionExceptionOperationFailedExceptionDirectoryNotFoundException
-
addAllGroups
public BulkAddResult<Group> addAllGroups(long directoryId, Collection<GroupTemplate> groups, boolean overwrite) throws DirectoryPermissionException, OperationFailedException, DirectoryNotFoundException - Specified by:
addAllGroupsin interfaceDirectoryManager- Throws:
DirectoryPermissionExceptionOperationFailedExceptionDirectoryNotFoundException
-
addAllUsersToGroup
public BulkAddResult<String> addAllUsersToGroup(long directoryId, Collection<String> userNames, String groupName) throws DirectoryPermissionException, OperationFailedException, DirectoryNotFoundException, GroupNotFoundException - Specified by:
addAllUsersToGroupin interfaceDirectoryManager- Throws:
DirectoryPermissionExceptionOperationFailedExceptionDirectoryNotFoundExceptionGroupNotFoundException
-
findUserByExternalId
public User findUserByExternalId(long directoryId, String externalId) throws DirectoryNotFoundException, UserNotFoundException, OperationFailedException - Specified by:
findUserByExternalIdin interfaceDirectoryManager- Throws:
DirectoryNotFoundExceptionUserNotFoundExceptionOperationFailedException
-
findUserWithAttributesByExternalId
public UserWithAttributes findUserWithAttributesByExternalId(long directoryId, String externalId) throws DirectoryNotFoundException, UserNotFoundException, OperationFailedException - Specified by:
findUserWithAttributesByExternalIdin interfaceDirectoryManager- Throws:
DirectoryNotFoundExceptionUserNotFoundExceptionOperationFailedException
-
expireAllPasswords
public void expireAllPasswords(long directoryId) throws OperationFailedException, DirectoryNotFoundException - Specified by:
expireAllPasswordsin interfaceDirectoryManager- Throws:
OperationFailedExceptionDirectoryNotFoundException
-
supportsExpireAllPasswords
public boolean supportsExpireAllPasswords(long directoryId) throws DirectoryInstantiationException, DirectoryNotFoundException - Specified by:
supportsExpireAllPasswordsin interfaceDirectoryManager- Throws:
DirectoryInstantiationExceptionDirectoryNotFoundException
-
getUserAvatarByName
public AvatarReference getUserAvatarByName(long directoryId, String username, int sizeHint) throws UserNotFoundException, OperationFailedException, DirectoryNotFoundException - Specified by:
getUserAvatarByNamein interfaceDirectoryManager- Throws:
UserNotFoundExceptionOperationFailedExceptionDirectoryNotFoundException
-
findRemoteUserByName
@Nonnull public User findRemoteUserByName(Long directoryId, String username) throws OperationFailedException, DirectoryNotFoundException, UserNotFoundException - Specified by:
findRemoteUserByNamein interfaceDirectoryManager- Throws:
OperationFailedExceptionDirectoryNotFoundExceptionUserNotFoundException
-
updateUserFromRemoteDirectory
public User updateUserFromRemoteDirectory(User remoteUser) throws OperationFailedException, DirectoryNotFoundException, UserNotFoundException - Specified by:
updateUserFromRemoteDirectoryin interfaceDirectoryManager- Throws:
OperationFailedExceptionDirectoryNotFoundExceptionUserNotFoundException
-
findAuthorisedApplications
- Specified by:
findAuthorisedApplicationsin interfaceDirectoryManager
-