|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface DirectoryManager
A service interface providing:
ApplicationService
interface
amalgamate results from multiple directories.
In the future, it is likely that we will break up the DirectoryManager into
a DirectoryManager (directory CRUD), RemoteDirectoryManager (remote directory delegater)
and a TokenManager (token ops) for better functional decomposition.
Method Summary | ||
---|---|---|
BulkAddResult<Group> |
addAllGroups(long directoryId,
Collection<GroupTemplate> groups,
boolean overwrite)
Will add a collection of Group to the directory specified by the passed in directoryId param. |
|
BulkAddResult<User> |
addAllUsers(long directoryId,
Collection<UserTemplateWithCredentialAndAttributes> users,
boolean overwrite)
Will add a collection of users to the directory specified by the passed in directoryId param. |
|
BulkAddResult<String> |
addAllUsersToGroup(long directoryID,
Collection<String> userNames,
String groupName)
A bulk version of addUserToGroup(long, String, String) . |
|
Directory |
addDirectory(Directory directory)
Adds the given directory. |
|
Group |
addGroup(long directoryId,
GroupTemplate group)
Adds a Group to the directory specified by the passed in directoryId . |
|
void |
addGroupToGroup(long directoryId,
String childGroup,
String parentGroup)
Adds an existing child group as direct member of an existing parent group in the directory specified by the passed in directoryId . |
|
User |
addUser(long directoryId,
UserTemplate user,
PasswordCredential credential)
Adds a User to the directory specified by the passed in directoryId . |
|
void |
addUserToGroup(long directoryId,
String username,
String groupName)
Adds an existing user as a direct member of an existing group in the directory specified by the passed in directoryId . |
|
User |
authenticateUser(long directoryId,
String username,
PasswordCredential passwordCredential)
|
|
List<Directory> |
findAllDirectories()
Returns a List of all directories in the system. |
|
Directory |
findDirectoryById(long directoryID)
Returns a Directory based on the passed in directoryId . |
|
Directory |
findDirectoryByName(String name)
Finds a directory given the supplied name . |
|
Group |
findGroupByName(long directoryId,
String groupName)
Returns the group matching the supplied groupName in the directory specified by the passed in directoryId .. |
|
GroupWithAttributes |
findGroupWithAttributesByName(long directoryId,
String groupName)
Returns the group with all attributes matching the supplied groupName in the directory specified by the passed in directoryId .. |
|
User |
findUserByName(long directoryId,
String username)
Returns the user matching the supplied username in the directory specified by the passed in directoryId .. |
|
UserWithAttributes |
findUserWithAttributesByName(long directoryId,
String username)
Returns the user with all attributes matching the supplied username in the directory specified by the passed in directoryId .. |
|
DirectorySynchronisationInformation |
getDirectorySynchronisationInformation(long directoryId)
Retrieves the sync info for the directory - last sync start time & duration, current sync start time (if directory is currently synchronising) |
|
boolean |
isGroupDirectGroupMember(long directoryId,
String childGroup,
String parentGroup)
Returns true if the childGroup is a direct member of the parentGroup in the directory specified by the passed in directoryId . |
|
boolean |
isGroupNestedGroupMember(long directoryId,
String childGroup,
String parentGroup)
Returns true if the childGroup is a direct or indirect (nested) member of the parentGroup in the directory specified by the passed in directoryId . |
|
boolean |
isSynchronisable(long directoryId)
Returns true if the underlying directory implementation supports manual synchronisation of the directory's local cache. |
|
boolean |
isSynchronising(long directoryId)
Returns true if the given Directory is currently synchronising. |
|
boolean |
isUserDirectGroupMember(long directoryId,
String username,
String groupName)
Returns true if the user is a direct member of the group in the directory specified by the passed in directoryId . |
|
boolean |
isUserNestedGroupMember(long directoryId,
String username,
String groupName)
Returns true if the user is a direct or indirect (nested) member of the group in the directory specified by the passed in directoryId . |
|
void |
removeDirectory(Directory directory)
Removes a given directory and all its associated entities and mappings. |
|
void |
removeGroup(long directoryId,
String groupName)
Removes a group matching the supplied groupName in the directory specified by the passed in directoryId . |
|
void |
removeGroupAttributes(long directoryId,
String groupName,
String attributeName)
Removes a group's attribute values in the directory specified by the passed in directoryId . |
|
void |
removeGroupFromGroup(long directoryId,
String childGroup,
String parentGroup)
Removes an existing child group from being a direct member of an existing parent group in the directory specified by the passed in directoryId . |
|
void |
removeUser(long directoryId,
String username)
Removes a user matching the supplied username in the directory specified by the passed in directoryId . |
|
void |
removeUserAttributes(long directoryId,
String username,
String attributeName)
Removes a user's attribute values in the directory specified by the passed in directoryId . |
|
void |
removeUserFromGroup(long directoryId,
String username,
String groupName)
Removes an existing user from being a direct member of an existing group in the directory specified by the passed in directoryId . |
|
Group |
renameGroup(long directoryId,
String oldGroupname,
String newGroupname)
Renames a group in the directory specified by the passed in directoryId . |
|
User |
renameUser(long directoryId,
String oldUsername,
String newUsername)
Renames a user in the directory specified by the passed in directoryId . |
|
void |
resetPassword(long directoryId,
String username)
Deprecated. since 2.1 |
|
|
searchDirectGroupRelationships(long directoryId,
MembershipQuery<T> query)
Searches for direct group relationships in the directory specified by the passed in directoryId . |
|
List<Directory> |
searchDirectories(EntityQuery<Directory> query)
Returns a List of Directories matching the search query. |
|
|
searchGroups(long directoryId,
EntityQuery<T> query)
Returns a list of groups matching the given query in the directory specified by the passed in directoryId .. |
|
|
searchNestedGroupRelationships(long directoryId,
MembershipQuery<T> query)
Searches for direct and indirect (nested) group relationships in the directory specified by the passed in directoryId . |
|
|
searchUsers(long directoryId,
EntityQuery<T> query)
Returns a list of users matching the given query in the directory specified by the passed in directoryId .. |
|
void |
storeGroupAttributes(long directoryId,
String groupName,
Map<String,Set<String>> attributes)
Adds or updates a group's attributes with the new Map of attribute values in the directory specified by the passed in directoryId . |
|
void |
storeUserAttributes(long directoryId,
String username,
Map<String,Set<String>> attributes)
Adds or updates a user's attributes with the new Map of attribute values in the directory specified by the passed in directoryId . |
|
boolean |
supportsNestedGroups(long directoryId)
Returns true if the underlying directory implementation supports nested groups. |
|
void |
synchroniseCache(long directoryId,
SynchronisationMode mode)
Requests that this directory should update its cache by synchronising with the remote User data. |
|
void |
synchroniseCache(long directoryId,
SynchronisationMode mode,
boolean runInBackground)
Requests that this directory should update its cache by synchronising with the remote User data. |
|
Directory |
updateDirectory(Directory directory)
Updates the passed in directory. |
|
Group |
updateGroup(long directoryId,
GroupTemplate group)
Updates a group with the supplied template and returns the updated group retrieved from the directory specified by the passed in directoryId . |
|
User |
updateUser(long directoryId,
UserTemplate user)
Updates a user with the supplied template and returns the updated user retrieved from the directory specified by the passed in directoryId . |
|
void |
updateUserCredential(long directoryId,
String username,
PasswordCredential credential)
This will update the user's credential in the given directory specified by the passed in directoryId . |
Method Detail |
---|
Directory addDirectory(Directory directory) throws DirectoryInstantiationException
directory
- the Directory to add
DirectoryInstantiationException
- if there was an error instantiating the directoryDirectory findDirectoryById(long directoryID) throws DirectoryNotFoundException
directoryId
.
directoryID
- the id of the directory to find
DirectoryNotFoundException
- is thrown if the Directory cannot be found.List<Directory> findAllDirectories()
List<Directory> searchDirectories(EntityQuery<Directory> query)
query
- the context to search on
Directory findDirectoryByName(String name) throws DirectoryNotFoundException
name
.
name
- the name of the directory
name
DirectoryNotFoundException
- if no Directory is foundDirectory updateDirectory(Directory directory) throws DirectoryNotFoundException
directory
- the directory with updated attributes
DirectoryNotFoundException
- if no Directory is foundvoid removeDirectory(Directory directory) throws DirectoryNotFoundException, DirectoryCurrentlySynchronisingException
directory
- the directory to remove
DirectoryNotFoundException
- if the directory cannot be found
DirectoryCurrentlySynchronisingException
- if the directory is currently synchronisingUser authenticateUser(long directoryId, String username, PasswordCredential passwordCredential) throws OperationFailedException, InactiveAccountException, InvalidAuthenticationException, ExpiredCredentialException, DirectoryNotFoundException, UserNotFoundException
directoryId
- the id of the directory to authenticate againstusername
- the username to use for authenticationpasswordCredential
- the credential to use for authentication
OperationFailedException
- underlying directory implementation failed to execute the operation.
InactiveAccountException
- if the user account is inactive
InvalidAuthenticationException
- if authentication with the provided credentials failed
ExpiredCredentialException
- if the credentials of the user have expired.
DirectoryNotFoundException
- if the directory with the given directoryId cannot be found.
UserNotFoundException
- if no user with the supplied username exists in the directoryUser findUserByName(long directoryId, String username) throws DirectoryNotFoundException, UserNotFoundException, OperationFailedException
directoryId
..
directoryId
- ID of the directory to search.username
- username of the user to retrieve.
DirectoryNotFoundException
- if the directory with the given directoryId cannot be found.
UserNotFoundException
- if no user with the supplied username exists in the directory
OperationFailedException
- underlying directory implementation failed to execute the operation.findUserWithAttributesByName(long, String)
UserWithAttributes findUserWithAttributesByName(long directoryId, String username) throws DirectoryNotFoundException, UserNotFoundException, OperationFailedException
directoryId
..
directoryId
- ID of the directory to search.username
- username of the user to retrieve.
DirectoryNotFoundException
- if the directory with the given directoryId cannot be found.
UserNotFoundException
- if no user with the supplied username exists in the directory
OperationFailedException
- underlying directory implementation failed to execute the operation.findUserByName(long, String)
<T> List<T> searchUsers(long directoryId, EntityQuery<T> query) throws DirectoryNotFoundException, OperationFailedException
directoryId
..
directoryId
- ID of the directory to search.query
- query to exectute.
User
entities or String
usernames matching the query criteria.
OperationFailedException
- underlying directory implementation failed to execute the operation.
DirectoryNotFoundException
- if the directory with the given directoryId cannot be found.User addUser(long directoryId, UserTemplate user, PasswordCredential credential) throws InvalidCredentialException, InvalidUserException, DirectoryPermissionException, DirectoryNotFoundException, OperationFailedException, UserAlreadyExistsException
directoryId
.
directoryId
- ID of the directory to add the user to.user
- a template of the user to be added.credential
- the password credential of the user (unencrypted).
InvalidCredentialException
- if the user's credential does not meet the validation requirements for the given directory.
InvalidUserException
- if the user template does not have the required properties populated.
OperationFailedException
- underlying directory implementation failed to execute the operation.
DirectoryPermissionException
- if the directory is not allowed to perform operations of type OperationType.CREATE_USER
.
DirectoryNotFoundException
- if the directory with the given directoryId cannot be found.
UserAlreadyExistsException
- if the user already exists in the given directoryUser updateUser(long directoryId, UserTemplate user) throws DirectoryNotFoundException, UserNotFoundException, DirectoryPermissionException, InvalidUserException, OperationFailedException
directoryId
.
This method cannot be used to rename the user, update the user's credentials or update the user's custom attributes.
directoryId
- ID of the directory to find and update the user.user
- template of the user to update.
DirectoryNotFoundException
- if the directory with the given directoryId cannot be found.
UserNotFoundException
- if no user with the supplied username exists in the directory
OperationFailedException
- underlying directory implementation failed to execute the operation.
DirectoryPermissionException
- if the directory is not allowed to perform operations of type OperationType.UPDATE_USER
.
InvalidUserException
- the user template does not have the required properties populated.renameUser(long, String, String)
,
updateUserCredential(long, String, com.atlassian.crowd.embedded.api.PasswordCredential)
,
storeUserAttributes(long, String, java.util.Map)
,
removeUserAttributes(long, String, String)
User renameUser(long directoryId, String oldUsername, String newUsername) throws DirectoryNotFoundException, UserNotFoundException, OperationFailedException, DirectoryPermissionException, InvalidUserException, UserAlreadyExistsException
directoryId
.
directoryId
- ID of the directory to find and update the user.oldUsername
- current username of the user.newUsername
- desired username of the user.
DirectoryNotFoundException
- if the directory with the given directoryId cannot be found.
UserNotFoundException
- if no user with the supplied username exists in the directory
OperationFailedException
- underlying directory implementation failed to execute the operation.
DirectoryPermissionException
- if the directory is not allowed to perform operations of type OperationType.UPDATE_USER
.
InvalidUserException
- if the new username does not meet the username requirements of the directory
UserAlreadyExistsException
- if the newUsername user already exists in the given directory
UnsupportedOperationException
- if the directory does not support user renamingvoid storeUserAttributes(long directoryId, String username, Map<String,Set<String>> attributes) throws DirectoryPermissionException, DirectoryNotFoundException, UserNotFoundException, OperationFailedException
directoryId
.
The attributes map represents new or updated attributes and does not replace existing attributes unless the key of an attribute
matches the key of an existing attribute on the user.
This method does not update primary field attributes like firstName, lastName, etc.
directoryId
- ID of the directory to find and update the user.username
- username of the user to update.attributes
- map of one-to-many attribute-values. All attribute keys are treated as new or updated attributes.
DirectoryNotFoundException
- if the directory with the given directoryId cannot be found.
UserNotFoundException
- if no user with the supplied username exists in the directory
OperationFailedException
- underlying directory implementation failed to execute the operation.
DirectoryPermissionException
- if the directory is not allowed to perform operations of type OperationType.UPDATE_USER_ATTRIBUTE
.updateUser(long, com.atlassian.crowd.model.user.UserTemplate)
void removeUserAttributes(long directoryId, String username, String attributeName) throws DirectoryPermissionException, DirectoryNotFoundException, UserNotFoundException, OperationFailedException
directoryId
.
directoryId
- ID of the directory to find and update the user.username
- username of the user to update.attributeName
- all attribute values for this key will be removed from the user.
DirectoryNotFoundException
- if the directory with the given directoryId cannot be found.
UserNotFoundException
- if no user with the supplied username exists in the directory
OperationFailedException
- underlying directory implementation failed to execute the operation.
DirectoryPermissionException
- if the directory is not allowed to perform operations of type OperationType.UPDATE_USER_ATTRIBUTE
.updateUser(long, com.atlassian.crowd.model.user.UserTemplate)
void updateUserCredential(long directoryId, String username, PasswordCredential credential) throws DirectoryPermissionException, InvalidCredentialException, DirectoryNotFoundException, UserNotFoundException, OperationFailedException
directoryId
.
directoryId
- ID of the directory to find and update the user.username
- username of the user to update.credential
- the new password credential for the user (unencrypted).
OperationFailedException
- underlying directory implementation failed to execute the operation.
DirectoryPermissionException
- if the directory is not allowed to perform operations of type OperationType.UPDATE_USER
.
InvalidCredentialException
- if the new credential does not meet the requirements for the given directory.
DirectoryNotFoundException
- if the directory with the given directoryId cannot be found.
UserNotFoundException
- if no user with the supplied username exists in the directoryvoid resetPassword(long directoryId, String username) throws DirectoryNotFoundException, UserNotFoundException, InvalidEmailAddressException, DirectoryPermissionException, InvalidCredentialException, OperationFailedException
directoryId
.
directoryId
- ID of the directory to find and update the user credential.username
- username of the user to update.
DirectoryNotFoundException
- if the directory with the given directoryId cannot be found.
UserNotFoundException
- if no user with the supplied username exists in the directory
OperationFailedException
- underlying directory implementation failed to execute the operation.
InvalidEmailAddressException
- if the user does not have a valid email address to send the password reset email to.
DirectoryPermissionException
- if the directory is not allowed to perform operations of type OperationType.UPDATE_USER
.
InvalidCredentialException
- if the randomly generated credential does not meet the requirements for the given directory.void removeUser(long directoryId, String username) throws DirectoryNotFoundException, UserNotFoundException, DirectoryPermissionException, OperationFailedException
directoryId
.
directoryId
- ID of the directory to remove the user from.username
- username of the user to remove.
DirectoryNotFoundException
- if the directory with the given directoryId cannot be found.
UserNotFoundException
- if no user with the supplied username exists in the directory
DirectoryPermissionException
- if the directory is not allowed to perform operations of type OperationType.DELETE_USER
.
OperationFailedException
- underlying directory implementation failed to execute the operation.Group findGroupByName(long directoryId, String groupName) throws GroupNotFoundException, DirectoryNotFoundException, OperationFailedException
directoryId
..
directoryId
- ID of the directory to search.groupName
- groupName of the group to retrieve.
GroupNotFoundException
- if no group with the supplied groupName exists in the directory
DirectoryNotFoundException
- if the directory with the given directoryId cannot be found.
OperationFailedException
- underlying directory implementation failed to execute the operation.findGroupWithAttributesByName(long, String)
GroupWithAttributes findGroupWithAttributesByName(long directoryId, String groupName) throws GroupNotFoundException, DirectoryNotFoundException, OperationFailedException
directoryId
..
directoryId
- ID of the directory to search.groupName
- groupName of the group to retrieve.
GroupNotFoundException
- if no group with the supplied groupName exists in the directory
DirectoryNotFoundException
- if the directory with the given directoryId cannot be found.
OperationFailedException
- underlying directory implementation failed to execute the operation.findGroupByName(long, String)
<T> List<T> searchGroups(long directoryId, EntityQuery<T> query) throws DirectoryNotFoundException, OperationFailedException
directoryId
..
directoryId
- ID of the directory to search.query
- query to exectute.
Group
entities or String
groupNames matching the query criteria.
OperationFailedException
- underlying directory implementation failed to execute the operation.
DirectoryNotFoundException
- if the directory with the given directoryId cannot be found.Group addGroup(long directoryId, GroupTemplate group) throws InvalidGroupException, DirectoryPermissionException, DirectoryNotFoundException, OperationFailedException
directoryId
.
directoryId
- ID of the directory to add the group to.group
- a template of the group to be added.
InvalidGroupException
- if the group already exists in the given directory.
OperationFailedException
- underlying directory implementation failed to execute the operation.
DirectoryPermissionException
- if the directory is not allowed to perform operations of type OperationType.CREATE_GROUP
.
DirectoryNotFoundException
- if the directory with the given directoryId cannot be found after the add operation.Group updateGroup(long directoryId, GroupTemplate group) throws GroupNotFoundException, DirectoryNotFoundException, DirectoryPermissionException, InvalidGroupException, OperationFailedException, ReadOnlyGroupException
directoryId
.
This method cannot be used to rename the group, update the group's credentials or update the group's custom attributes.
directoryId
- ID of the directory to find and update the group.group
- template of the group to update.
GroupNotFoundException
- if no group with the supplied groupName exists in the directory
DirectoryNotFoundException
- if the directory with the given directoryId cannot be found.
OperationFailedException
- underlying directory implementation failed to execute the operation.
DirectoryPermissionException
- if the directory is not allowed to perform operations of type OperationType.UPDATE_GROUP
.
InvalidGroupException
- if the group template does not have the required properties populated.
ReadOnlyGroupException
- if the group is read-onlyrenameGroup(long, String, String)
,
storeGroupAttributes(long, String, java.util.Map)
,
removeGroupAttributes(long, String, String)
Group renameGroup(long directoryId, String oldGroupname, String newGroupname) throws GroupNotFoundException, DirectoryNotFoundException, DirectoryPermissionException, InvalidGroupException, OperationFailedException
directoryId
.
directoryId
- ID of the directory to find and update the group.oldGroupname
- current groupName of the group.newGroupname
- desired groupName of the group.
GroupNotFoundException
- if the group with the oldGroupname does not exist in the directory or if the directory with the given directoryId cannot be found.
DirectoryNotFoundException
- if the directory with the given directoryId cannot be found.
OperationFailedException
- underlying directory implementation failed to execute the operation.
DirectoryPermissionException
- if the directory is not allowed to perform operations of type OperationType.UPDATE_GROUP
.
InvalidGroupException
- if the new groupName does not meet the groupName requirements of the directory or if a group already exists with the new groupName.void storeGroupAttributes(long directoryId, String groupName, Map<String,Set<String>> attributes) throws DirectoryPermissionException, GroupNotFoundException, DirectoryNotFoundException, OperationFailedException
directoryId
.
The attributes map represents new or updated attributes and does not replace existing attributes unless the key of an attribute
matches the key of an existing attribute on the group.
This method does not update primary field attributes like firstName, lastName, etc.
directoryId
- ID of the directory to find and update the group.groupName
- groupName of the group to update.attributes
- map of one-to-many attribute-values. All attribute keys are treated as new or updated attributes.
GroupNotFoundException
- if no group with the supplied groupName exists in the directory
DirectoryNotFoundException
- if the directory with the given directoryId cannot be found.
OperationFailedException
- underlying directory implementation failed to execute the operation.
DirectoryPermissionException
- if the directory is not allowed to perform operations of type OperationType.UPDATE_GROUP_ATTRIBUTE
.updateGroup(long, com.atlassian.crowd.model.group.GroupTemplate)
void removeGroupAttributes(long directoryId, String groupName, String attributeName) throws DirectoryPermissionException, GroupNotFoundException, DirectoryNotFoundException, OperationFailedException
directoryId
.
directoryId
- ID of the directory to find and update the group.groupName
- groupName of the group to update.attributeName
- all attribute values for this key will be removed from the group.
GroupNotFoundException
- if no group with the supplied groupName exists in the directory
DirectoryNotFoundException
- if the directory with the given directoryId cannot be found.
OperationFailedException
- underlying directory implementation failed to execute the operation.
DirectoryPermissionException
- if the directory is not allowed to perform operations of type OperationType.UPDATE_GROUP_ATTRIBUTE
.updateGroup(long, com.atlassian.crowd.model.group.GroupTemplate)
void removeGroup(long directoryId, String groupName) throws GroupNotFoundException, DirectoryNotFoundException, DirectoryPermissionException, OperationFailedException, ReadOnlyGroupException
directoryId
.
directoryId
- ID of the directory to remove the group from.groupName
- groupName of the group to remove.
GroupNotFoundException
- if no group with the supplied groupName exists in the directory
DirectoryNotFoundException
- if the directory with the given directoryId cannot be found.
DirectoryPermissionException
- if the directory is not allowed to perform operations of type OperationType.DELETE_GROUP
.
ReadOnlyGroupException
- if the group is read-only
OperationFailedException
- underlying directory implementation failed to execute the operation.boolean isUserDirectGroupMember(long directoryId, String username, String groupName) throws DirectoryNotFoundException, OperationFailedException
true
if the user is a direct member of the group in the directory specified by the passed in directoryId
.
directoryId
- ID of the directory to inspect membership information.username
- name of the user to inspect.groupName
- name of the group to inspect.
true
if and only if the user is a direct member of the group. If the group or user does not exist in the directory, false
is returned.
OperationFailedException
- underlying directory implementation failed to execute the operation.
DirectoryNotFoundException
- if the directory with the given directoryId cannot be found.boolean isGroupDirectGroupMember(long directoryId, String childGroup, String parentGroup) throws DirectoryNotFoundException, OperationFailedException
true
if the childGroup is a direct member of the parentGroup in the directory specified by the passed in directoryId
.
directoryId
- ID of the directory to inspect membership information.childGroup
- name of the group to inspect.parentGroup
- name of the group to inspect.
true
if and only if the childGroup is a direct member of the parentGroup. If either group does not exist in the directory, false
is returned.
OperationFailedException
- underlying directory implementation failed to execute the operation.
DirectoryNotFoundException
- if the directory with the given directoryId cannot be found.void addUserToGroup(long directoryId, String username, String groupName) throws DirectoryPermissionException, DirectoryNotFoundException, UserNotFoundException, GroupNotFoundException, OperationFailedException, ReadOnlyGroupException, MembershipAlreadyExistsException
directoryId
.
directoryId
- ID of the directory to add membership information.username
- username of the user.groupName
- name of the group.
DirectoryNotFoundException
- if the directory with the given directoryId cannot be found.
UserNotFoundException
- if the user does not exist in the directory
GroupNotFoundException
- if the group does not exist in the directory
OperationFailedException
- underlying directory implementation failed to execute the operation.
DirectoryPermissionException
- if the directory is not allowed to perform operations of type OperationType.UPDATE_GROUP
.
MembershipAlreadyExistsException
- if the user is already a member of the group
ReadOnlyGroupException
- if the group is read-onlyvoid addGroupToGroup(long directoryId, String childGroup, String parentGroup) throws DirectoryPermissionException, DirectoryNotFoundException, GroupNotFoundException, InvalidMembershipException, NestedGroupsNotSupportedException, OperationFailedException, ReadOnlyGroupException, MembershipAlreadyExistsException
directoryId
.
directoryId
- ID of the directory to add membership information.childGroup
- name of child group.parentGroup
- name of the parent group.
DirectoryNotFoundException
- if the directory with the given directoryId cannot be found.
GroupNotFoundException
- if the group does not exist in the directory
OperationFailedException
- underlying directory implementation failed to execute the operation.
DirectoryPermissionException
- if the directory is not allowed to perform operations of type OperationType.UPDATE_GROUP
.
InvalidMembershipException
- GroupType of childGroup does not match parentGroup.
MembershipAlreadyExistsException
- if the child group is already a child of the parent group
NestedGroupsNotSupportedException
- If the directory does not support nested groups.
ReadOnlyGroupException
- if the group is read-onlyvoid removeUserFromGroup(long directoryId, String username, String groupName) throws DirectoryPermissionException, DirectoryNotFoundException, UserNotFoundException, GroupNotFoundException, MembershipNotFoundException, OperationFailedException, ReadOnlyGroupException
directoryId
.
directoryId
- ID of the directory to add membership information.username
- username of the user.groupName
- name of the group.
DirectoryNotFoundException
- if the directory with the given directoryId cannot be found.
UserNotFoundException
- if the user does not exist in the directory
GroupNotFoundException
- if the group does not exist in the directory
OperationFailedException
- underlying directory implementation failed to execute the operation.
DirectoryPermissionException
- if the directory is not allowed to perform operations of type OperationType.UPDATE_GROUP
.
MembershipNotFoundException
- user is not a direct member of group.
ReadOnlyGroupException
- if the group is read-onlyvoid removeGroupFromGroup(long directoryId, String childGroup, String parentGroup) throws DirectoryPermissionException, GroupNotFoundException, DirectoryNotFoundException, InvalidMembershipException, MembershipNotFoundException, OperationFailedException, ReadOnlyGroupException
directoryId
.
directoryId
- ID of the directory to add membership information.childGroup
- name of child group.parentGroup
- name of the parent group.
DirectoryNotFoundException
- if the directory with the given directoryId cannot be found.
GroupNotFoundException
- if the group does not exist in the directory
OperationFailedException
- underlying directory implementation failed to execute the operation.
DirectoryPermissionException
- if the directory is not allowed to perform operations of type OperationType.UPDATE_GROUP
.
MembershipNotFoundException
- group is not a direct member of group.
InvalidMembershipException
- GroupType of childGroup does not match parentGroup.
ReadOnlyGroupException
- if the group is read-only<T> List<T> searchDirectGroupRelationships(long directoryId, MembershipQuery<T> query) throws DirectoryNotFoundException, OperationFailedException
directoryId
.
directoryId
- ID of the directory to inspect membership information.query
- membership query.
User
entities,
Group
entites,
String
usernames or String
group names matching the query criteria. If there are no
results, returns an empty List.
OperationFailedException
- underlying directory implementation failed to execute the operation.
DirectoryNotFoundException
- if the directory with the given directoryId cannot be found.boolean isUserNestedGroupMember(long directoryId, String username, String groupName) throws DirectoryNotFoundException, OperationFailedException
true
if the user is a direct or indirect (nested) member of the group in the directory specified by the passed in directoryId
.
If the directory does not support nested groups, this call will be equivalent to isUserDirectGroupMember(long, String, String)
.
WARNING: this method could be very slow if the underlying RemoteDirectory does not employ caching.
directoryId
- ID of the directory to inspect membership information.username
- name of the user to inspect.groupName
- name of the group to inspect.
true
if and only if the user is a direct or indirect (nested) member of the group. If the group or user does not exist in the directory, false
is returned.
OperationFailedException
- underlying directory implementation failed to execute the operation.
DirectoryNotFoundException
- if the directory with the given directoryId cannot be found.boolean isGroupNestedGroupMember(long directoryId, String childGroup, String parentGroup) throws DirectoryNotFoundException, OperationFailedException
true
if the childGroup is a direct or indirect (nested) member of the parentGroup in the directory specified by the passed in directoryId
.
If the directory does not support nested groups, this call will be equivalent to isGroupDirectGroupMember(long, String, String)
.
WARNING: this method could be very slow if the underlying RemoteDirectory does not employ caching.
directoryId
- ID of the directory to inspect membership information.childGroup
- name of the user to inspect.parentGroup
- name of the group to inspect.
true
if and only if the childGroup is a direct or indirect (nested) member of the parentGruop. If either group does not exist in the directory, false
is returned.
OperationFailedException
- underlying directory implementation failed to execute the operation.
DirectoryNotFoundException
- if the directory with the given directoryId cannot be found.<T> List<T> searchNestedGroupRelationships(long directoryId, MembershipQuery<T> query) throws DirectoryNotFoundException, OperationFailedException
directoryId
.
If the directory does not support nested groups, this call will be equivalent to searchDirectGroupRelationships(long, com.atlassian.crowd.search.query.membership.MembershipQuery)
.
WARNING: this method could be very slow if the underlying RemoteDirectory does not employ caching.
directoryId
- ID of the directory to inspect membership information.query
- membership query.
User
entities,
Group
entites,
String
usernames or String
group names matching the query criteria.
OperationFailedException
- underlying directory implementation failed to execute the operation.
DirectoryNotFoundException
- if the directory with the given directoryId cannot be found.BulkAddResult<User> addAllUsers(long directoryId, Collection<UserTemplateWithCredentialAndAttributes> users, boolean overwrite) throws DirectoryPermissionException, DirectoryNotFoundException, OperationFailedException
directoryId
param.
If adding a particular user fails then this user will be skipped
and the error will be reported in the logs and the BulkAddResult object.
If the underlying directory supports
bulk adding of entities (ie. implements InternalRemoteDirectory
),
it may be faster than manual iteration of each entity.
directoryId
- the directory to add the User too.users
- the templates of the users to add.overwrite
- true
if you want to remove any existing user matching a username in the users to add prior to adding the user.
false
if you want to skip over users that already exist (same username exists).
OperationFailedException
- underlying directory implementation failed to execute the operation.
DirectoryPermissionException
- if the directory is not allowed to perform operations of type OperationType.CREATE_USER
.
or if the overwrite
is true
and the directory is not allowed to perform operations of type
OperationType.DELETE_USER
DirectoryNotFoundException
- if the directory with the given directoryId cannot be found.BulkAddResult<Group> addAllGroups(long directoryId, Collection<GroupTemplate> groups, boolean overwrite) throws DirectoryPermissionException, DirectoryNotFoundException, OperationFailedException, InvalidGroupException
directoryId
param.
If adding a group fails then this user will be skipped
and the error will be reported in the logs and the BulkAddResult object.
If the underlying directory supports
bulk adding of entities (ie. implements InternalRemoteDirectory
),
it may be faster than manual iteration of each entity.
directoryId
- the directory to add the Group too.groups
- the Groups to add.overwrite
- true
if you want to remove any existing group matching a username in the groups to add prior to adding the group.
false
if you want to skip over groups that already exist (same group name exists).
OperationFailedException
- underlying directory implementation failed to execute the operation.
DirectoryPermissionException
- if the directory is not allowed to perform operations of type OperationType.CREATE_GROUP
.
or if the overwrite
is true
and the directory is not allowed to perform operations of type
OperationType.DELETE_GROUP
DirectoryNotFoundException
- if the directory with the given directoryId cannot be found.
InvalidGroupException
- if any of the group is invalidBulkAddResult<String> addAllUsersToGroup(long directoryID, Collection<String> userNames, String groupName) throws DirectoryPermissionException, DirectoryNotFoundException, GroupNotFoundException, OperationFailedException
addUserToGroup(long, String, String)
.
If creating a particular membership fails, it will be
skipped and the error will be reported in the logs and the BulkAddResult object.
If the underlying directory supports bulk adding of entities
(ie. implements InternalRemoteDirectory
),
it may be faster than manual iteration of each entity.
directoryID
- the directory to add the membership to.userNames
- usernames of users to add membership to.groupName
- name of group to add users to.
OperationFailedException
- underlying directory implementation failed to execute the operation.
DirectoryPermissionException
- if the directory is not allowed to perform operations of type OperationType.UPDATE_GROUP
.
DirectoryNotFoundException
- if the directory with the given directoryId cannot be found.
GroupNotFoundException
- if the groupName did not resolve to a groupboolean supportsNestedGroups(long directoryId) throws DirectoryInstantiationException, DirectoryNotFoundException
directoryId
- ID of directory.
DirectoryInstantiationException
- if there was an error instantiating the directory
DirectoryNotFoundException
- if the directory could not be found.boolean isSynchronisable(long directoryId) throws DirectoryInstantiationException, DirectoryNotFoundException
directoryId
- ID of directory.
DirectoryInstantiationException
- if there was an error instantiating the directory
DirectoryNotFoundException
- if the directory could not be found.void synchroniseCache(long directoryId, SynchronisationMode mode) throws OperationFailedException, DirectoryNotFoundException
directoryId
- ID of directory.mode
- the mode of the synchronisation
OperationFailedException
- underlying directory implementation failed to execute the operation.
DirectoryNotFoundException
- if the directory could not be found.void synchroniseCache(long directoryId, SynchronisationMode mode, boolean runInBackground) throws OperationFailedException, DirectoryNotFoundException
directoryId
- ID of directory.mode
- the mode of the synchronisationrunInBackground
- If True the synchronise will happen asynchronously.
OperationFailedException
- underlying directory implementation failed to execute the operation.
DirectoryNotFoundException
- if the directory could not be found.boolean isSynchronising(long directoryId) throws DirectoryInstantiationException, DirectoryNotFoundException
directoryId
- ID of directory.
DirectoryInstantiationException
- if there was an error instantiating the directory
DirectoryNotFoundException
- if the directory could not be foundDirectorySynchronisationInformation getDirectorySynchronisationInformation(long directoryId) throws DirectoryInstantiationException, DirectoryNotFoundException
directoryId
- ID of directory
DirectoryInstantiationException
- if there was an error instantiating the directory
DirectoryNotFoundException
- if the directory could not be found.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |