|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectcom.atlassian.crowd.embedded.core.CrowdServiceImpl
public class CrowdServiceImpl
Default implementation of the CrowdService
| Constructor Summary | |
|---|---|
CrowdServiceImpl(ApplicationFactory applicationFactory,
ApplicationService applicationService,
DirectoryInstanceLoader directoryInstanceLoader)
|
|
| Method Summary | ||
|---|---|---|
Group |
addGroup(Group group)
Adds a group to the directory store. |
|
void |
addGroupToGroup(Group childGroup,
Group parentGroup)
Adds a group as a member of a parent group. |
|
User |
addUser(User user,
java.lang.String credential)
Adds a user to the directory store. |
|
void |
addUserToGroup(User user,
Group group)
Adds a user as a member of a group. |
|
User |
authenticate(java.lang.String name,
java.lang.String credential)
Authenticates a user with the given credential. |
|
Group |
getGroup(java.lang.String name)
Finds the group that matches the supplied name. |
|
GroupWithAttributes |
getGroupWithAttributes(java.lang.String name)
Finds the group that matches the supplied name. |
|
User |
getUser(java.lang.String name)
Returns the user that matches the supplied name. |
|
UserWithAttributes |
getUserWithAttributes(java.lang.String name)
Returns the user that matches the supplied name. |
|
boolean |
isGroupDirectGroupMember(Group childGroup,
Group parentGroup)
Determines if a group is a direct member of another group. |
|
boolean |
isGroupMemberOfGroup(Group childGroup,
Group parentGroup)
Returns true if the childGroup is a direct or indirect (nested) member of the parentGroup. |
|
boolean |
isGroupMemberOfGroup(java.lang.String childGroupName,
java.lang.String parentGroupName)
Returns true if childGroupName is a direct or indirect (nested) member of parentGroupName. |
|
boolean |
isUserDirectGroupMember(User user,
Group group)
Determines if a user is a direct member of a group. |
|
boolean |
isUserMemberOfGroup(java.lang.String userName,
java.lang.String groupName)
Returns true if the user is a direct or indirect (nested) member of the group. |
|
boolean |
isUserMemberOfGroup(User user,
Group group)
Returns true if the user is a direct or indirect (nested) member of the group. |
|
void |
removeAllGroupAttributes(Group group)
Removes all group attributes. |
|
void |
removeAllUserAttributes(User user)
Remove all attributes for a user. |
|
boolean |
removeGroup(Group group)
Removes the group that matches the supplied name. |
|
void |
removeGroupAttribute(Group group,
java.lang.String attributeName)
Removes all the values for a single attribute key for a group. |
|
boolean |
removeGroupFromGroup(Group childGroup,
Group parentGroup)
Removes a group as a member of a parent group. |
|
boolean |
removeUser(User user)
Removes the user that matches the supplied name. |
|
void |
removeUserAttribute(User user,
java.lang.String attributeName)
Removes all the values for a single attribute key for a user. |
|
boolean |
removeUserFromGroup(User user,
Group group)
Removes a user as a member of a group. |
|
|
search(Query<T> query)
Searches for entities (e.g. |
|
java.lang.Iterable<User> |
searchUsersAllowingDuplicateNames(Query<User> query)
Searches for User entities that match the supplied search query. |
|
void |
setGroupAttribute(Group group,
java.lang.String attributeName,
java.util.Set<java.lang.String> attributeValues)
Adds or updates a group's attributes with the new attributes. |
|
void |
setGroupAttribute(Group group,
java.lang.String attributeName,
java.lang.String attributeValue)
Adds or updates a group's attributes with the new attributes. |
|
void |
setUserAttribute(User user,
java.lang.String attributeName,
java.util.Set<java.lang.String> attributeValues)
Adds or updates a user's attribute with the new attribute values. |
|
void |
setUserAttribute(User user,
java.lang.String attributeName,
java.lang.String attributeValue)
Adds or updates a user's attribute with the new attribute value. |
|
Group |
updateGroup(Group group)
Updates the group. |
|
User |
updateUser(User user)
Updates the User. |
|
void |
updateUserCredential(User user,
java.lang.String credential)
Updates the password for a user. |
|
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public CrowdServiceImpl(ApplicationFactory applicationFactory,
ApplicationService applicationService,
DirectoryInstanceLoader directoryInstanceLoader)
| Method Detail |
|---|
public User authenticate(java.lang.String name,
java.lang.String credential)
throws FailedAuthenticationException,
OperationFailedException
CrowdServiceuser with the given credential.
authenticate in interface CrowdServicename - The name of the user (username).credential - The supplied credential to authenticate with
FailedAuthenticationException - Authentication with the provided credentials failed. It may indicate that
the user does not exist or the user's account is inactive or the credentials are incorrect
InactiveAccountException - The supplied user is inactive.
ExpiredCredentialException - The user's credentials have expired. The user must change their credentials in order to successfully authenticate.
AccountNotFoundException - User with the given name could not be found
OperationFailedException - underlying directory implementation failed to execute the operation.public User getUser(java.lang.String name)
CrowdServiceuser that matches the supplied name.
getUser in interface CrowdServicename - the name of the user (username). Does not allow null, blank or empty strings.
null if the user is not foundpublic UserWithAttributes getUserWithAttributes(java.lang.String name)
CrowdServiceuser that matches the supplied name.
getUserWithAttributes in interface CrowdServicename - the name of the user (username).
null if the user is not foundpublic Group getGroup(java.lang.String name)
CrowdServicegroup that matches the supplied name.
getGroup in interface CrowdServicename - the name of the group.
null if not found.public GroupWithAttributes getGroupWithAttributes(java.lang.String name)
CrowdServicegroup that matches the supplied name.
getGroupWithAttributes in interface CrowdServicename - the name of the group.
null if not found.public <T> java.lang.Iterable<T> search(Query<T> query)
CrowdServiceGroup or User) of type <T> that match the supplied search query.
Search return types must be either String, User or Group.
search in interface CrowdServicequery - Query for a given entity (e.g. Group or User)
T matching the search query. An Iterable containing no results will be
returned if there are no matches for the query.
public boolean isUserMemberOfGroup(java.lang.String userName,
java.lang.String groupName)
CrowdServicetrue if the user is a direct or indirect (nested) member of the group.
isUserMemberOfGroup in interface CrowdServiceuserName - user to inspect.groupName - group to inspect.
true if and only if the user is a direct or indirect (nested) member of the group.
If the user or group cannot found, then false is returned.CrowdService.isUserMemberOfGroup(User, Group)
public boolean isUserMemberOfGroup(User user,
Group group)
CrowdServicetrue if the user is a direct or indirect (nested) member of the group.
isUserMemberOfGroup in interface CrowdServiceuser - user to inspect.group - group to inspect.
true if and only if the user is a direct or indirect (nested) member of the group, otherwise false.
If the user or group cannot found, then false is returned.CrowdService.isUserMemberOfGroup(String, String)
public boolean isGroupMemberOfGroup(java.lang.String childGroupName,
java.lang.String parentGroupName)
CrowdServicetrue if childGroupName is a direct or indirect (nested) member of parentGroupName.
isGroupMemberOfGroup in interface CrowdServicechildGroupName - name of child group to inspect.parentGroupName - name of parent group to inspect.
true if and only if the childGroupName is a direct or indirect (nested) member of the parentGroupName.
If any of the groups cannot found, then false is returned.
public boolean isGroupMemberOfGroup(Group childGroup,
Group parentGroup)
CrowdServicetrue if the childGroup is a direct or indirect (nested) member of the parentGroup.
isGroupMemberOfGroup in interface CrowdServicechildGroup - group to inspect.parentGroup - group to inspect.
true if and only if the childGroup is a direct or indirect (nested) member of the parentGroup.
If any of the groups cannot found, then false is returned.
public User addUser(User user,
java.lang.String credential)
throws InvalidUserException,
InvalidCredentialException,
OperationNotPermittedException,
OperationFailedException
CrowdServiceuser to the directory store. The user must have non-null names and email address.
addUser in interface CrowdServiceuser - template of the user to add.credential - password. May not be null or blank.
InvalidUserException - The supplied user's details are invalid and/or incomplete.
InvalidCredentialException - The supplied credential is invalid, this may be due the credential not matching required directory constraints.
OperationNotPermittedException - if the directory has been configured to not allow the operation to be performed
OperationFailedException - if the operation failed for any other reason
public User updateUser(User user)
throws UserNotFoundException,
InvalidUserException,
OperationNotPermittedException,
OperationFailedException
CrowdServiceUser. The user must have non-null names and email address.
updateUser in interface CrowdServiceuser - The user to update.
Directory
UserNotFoundException - if the supplied user does not exist in the directory.
InvalidUserException - The supplied user's details are invalid and/or incomplete.
OperationNotPermittedException - if the directory has been configured to not allow the operation to be performed
OperationFailedException - underlying directory implementation failed to execute the operation.
public void updateUserCredential(User user,
java.lang.String credential)
throws UserNotFoundException,
InvalidCredentialException,
OperationNotPermittedException,
OperationFailedException
CrowdServicepassword for a user.
updateUserCredential in interface CrowdServiceuser - The name of the user (username).credential - The new credential (password). May not be null or blank.
UserNotFoundException - if the supplied user does not exist in the directory.
InvalidCredentialException - The supplied credential is invalid, this may be due the credential not matching required directory constraints.
OperationNotPermittedException - if the directory has been configured to not allow the operation to be performed
OperationFailedException - underlying directory implementation failed to execute the operation.
public void setUserAttribute(User user,
java.lang.String attributeName,
java.lang.String attributeValue)
throws UserNotFoundException,
OperationNotPermittedException,
OperationFailedException
CrowdService
setUserAttribute in interface CrowdServiceuser - user to update.attributeName - the name of the attributeattributeValue - the new value of the attribute; any existing values will be replaced
UserNotFoundException - the supplied user does not exist.
OperationNotPermittedException - if the directory has been configured to not allow the operation to be performed
OperationFailedException - underlying directory implementation failed to execute the operation.
public void setUserAttribute(User user,
java.lang.String attributeName,
java.util.Set<java.lang.String> attributeValues)
throws UserNotFoundException,
OperationNotPermittedException,
OperationFailedException
CrowdService
setUserAttribute in interface CrowdServiceuser - user to update.attributeName - the name of the attributeattributeValues - the new set of values; any existing values will be replaced
UserNotFoundException - the supplied user does not exist.
OperationNotPermittedException - if the directory has been configured to not allow the operation to be performed
OperationFailedException - underlying directory implementation failed to execute the operation.
public void removeUserAttribute(User user,
java.lang.String attributeName)
throws UserNotFoundException,
OperationNotPermittedException,
OperationFailedException
CrowdService
removeUserAttribute in interface CrowdServiceuser - user to update.attributeName - name of attribute to remove.
UserNotFoundException - user with supplied username does not exist.
OperationNotPermittedException - if the directory has been configured to not allow the operation to be performed
OperationFailedException - underlying directory implementation failed to execute the operation.
public void removeAllUserAttributes(User user)
throws UserNotFoundException,
OperationNotPermittedException,
OperationFailedException
CrowdService
removeAllUserAttributes in interface CrowdServiceuser - user to update.
UserNotFoundException - user with supplied username does not exist.
OperationNotPermittedException - if the directory has been configured to not allow the operation to be performed
OperationFailedException - underlying directory implementation failed to execute the operation.
public boolean removeUser(User user)
throws OperationNotPermittedException,
OperationFailedException
CrowdServiceuser that matches the supplied name.
removeUser in interface CrowdServiceuser - user to remove.
OperationNotPermittedException - if the directory has been configured to not allow the operation to be performed
OperationFailedException - underlying directory implementation failed to execute the operation.
public Group addGroup(Group group)
throws InvalidGroupException,
OperationNotPermittedException,
OperationFailedException
CrowdServicegroup to the directory store.
addGroup in interface CrowdServicegroup - template of the group to add.
InvalidGroupException - if the group already exists in ANY associated directory or the group template does not have the required properties populated.
OperationNotPermittedException - if the directory has been configured to not allow the operation to be performed
OperationFailedException - underlying directory implementation failed to execute the operation.
public Group updateGroup(Group group)
throws InvalidGroupException,
OperationNotPermittedException,
GroupNotFoundException,
OperationFailedException
CrowdServicegroup.
updateGroup in interface CrowdServicegroup - The group to update.
InvalidGroupException - the supplied group is invalid.
OperationNotPermittedException - if the directory has been configured to not allow the operation to be performed
GroupNotFoundException - if group with given name does not exist in ANY assigned directory.
OperationFailedException - underlying directory implementation failed to execute the operation.
public void setGroupAttribute(Group group,
java.lang.String attributeName,
java.lang.String attributeValue)
throws GroupNotFoundException,
OperationNotPermittedException,
OperationFailedException
CrowdService
setGroupAttribute in interface CrowdServicegroup - name of group to update.attributeName - the name up the attribute to add or updateattributeValue - the value of the attribute
GroupNotFoundException - if the group could not be found
OperationNotPermittedException - if the directory has been configured to not allow the operation to be performed
OperationFailedException - underlying directory implementation failed to execute the operation.
public void setGroupAttribute(Group group,
java.lang.String attributeName,
java.util.Set<java.lang.String> attributeValues)
throws GroupNotFoundException,
OperationNotPermittedException,
OperationFailedException
CrowdServiceattributes. The attributes represents new or
updated attributes and does not replace existing attributes unless the key of an attribute matches the key of an
existing. This will not remove any attributes.
setGroupAttribute in interface CrowdServicegroup - name of group to update.attributeName - the name up the attribute to add or updateattributeValues - a set of values to update
GroupNotFoundException - if the group could not be found
OperationNotPermittedException - if the directory has been configured to not allow the operation to be performed
OperationFailedException - underlying directory implementation failed to execute the operation.
public void removeGroupAttribute(Group group,
java.lang.String attributeName)
throws GroupNotFoundException,
OperationNotPermittedException,
OperationFailedException
CrowdService
removeGroupAttribute in interface CrowdServicegroup - to update.attributeName - name of attribute to remove.
GroupNotFoundException - if the group could not be found
OperationNotPermittedException - if the directory has been configured to not allow the operation to be performed
OperationFailedException - underlying directory implementation failed to execute the operation.
public void removeAllGroupAttributes(Group group)
throws GroupNotFoundException,
OperationNotPermittedException,
OperationFailedException
CrowdService
removeAllGroupAttributes in interface CrowdServicegroup - to update.
GroupNotFoundException - if the group could not be found
OperationNotPermittedException - if the directory has been configured to not allow the operation to be performed
OperationFailedException - underlying directory implementation failed to execute the operation.
public boolean removeGroup(Group group)
throws OperationNotPermittedException,
GroupNotFoundException,
OperationFailedException
CrowdServicegroup that matches the supplied name.
removeGroup in interface CrowdServicegroup - to remove
OperationNotPermittedException - if the directory does not allow removal of this group
OperationFailedException - underlying directory implementation failed to execute the operation.
GroupNotFoundException
public void addUserToGroup(User user,
Group group)
throws GroupNotFoundException,
UserNotFoundException,
OperationNotPermittedException,
OperationFailedException
CrowdServicechildGroup will
appear as members of parentGroup to querying applications.
addUserToGroup in interface CrowdServiceuser - The user that will become a member of the groupgroup - The group that will gain a new member.
GroupNotFoundException - if the group could not be found
UserNotFoundException - if the user could not be found
OperationNotPermittedException - if the directory has been configured to not allow the operation to be performed
OperationFailedException - underlying directory implementation failed to execute the operation.
public void addGroupToGroup(Group childGroup,
Group parentGroup)
throws GroupNotFoundException,
OperationNotPermittedException,
InvalidMembershipException,
OperationFailedException
CrowdService
addGroupToGroup in interface CrowdServicechildGroup - The group that will become a member of parentGroupparentGroup - The group that will gain a new member
GroupNotFoundException - if any of the group could not be found. Use GroupNotFoundException.getGroupName()
to find out which group wasn't found
OperationNotPermittedException - if the directory has been configured to not allow the operation to be performed
InvalidMembershipException - If the relationship would cause a circular reference.
OperationFailedException - underlying directory implementation failed to execute the operation.
public boolean removeUserFromGroup(User user,
Group group)
throws GroupNotFoundException,
UserNotFoundException,
OperationNotPermittedException,
MembershipNotFoundException,
OperationFailedException
CrowdService
removeUserFromGroup in interface CrowdServiceuser - The user that will be removed from the groupgroup - The group that will lose the member.
GroupNotFoundException - if the group could not be found
UserNotFoundException - if the user could not be found
OperationNotPermittedException - if the directory has been configured to not allow the operation to be performed
OperationFailedException - if the operation failed for any other reason
MembershipNotFoundException
public boolean removeGroupFromGroup(Group childGroup,
Group parentGroup)
throws GroupNotFoundException,
OperationNotPermittedException,
MembershipNotFoundException,
OperationFailedException
CrowdService
removeGroupFromGroup in interface CrowdServicechildGroup - The group that will be removed from parentGroupparentGroup - The group that will lose the member.
GroupNotFoundException - if any of the groups could not be found. Use GroupNotFoundException.getGroupName()
to find out which group wasn't found
OperationNotPermittedException - if the directory has been configured to not allow the operation to be performed
OperationFailedException - if the operation failed for any other reason
MembershipNotFoundException
public boolean isUserDirectGroupMember(User user,
Group group)
throws OperationFailedException
CrowdService
isUserDirectGroupMember in interface CrowdServiceuser - the user for whom to check the group membershipgroup - the group the user is believed to belong to
true if the user is a direct member of the group, false otherwise
(including if the user and/or group could not be found)
OperationFailedException - underlying directory implementation failed to execute the operation.
public boolean isGroupDirectGroupMember(Group childGroup,
Group parentGroup)
throws OperationFailedException
CrowdService
isGroupDirectGroupMember in interface CrowdServicechildGroup - the group for which to check the parentGroup membershipparentGroup - the group the childGroup is believed to belong to
true if the childGroup is a direct member of the parentGroup, false otherwise
(including if neither group could be found)
OperationFailedException - underlying directory implementation failed to execute the operation.public java.lang.Iterable<User> searchUsersAllowingDuplicateNames(Query<User> query)
User entities that match the supplied search query.
Users with duplicate user names can be returned.
searchUsersAllowingDuplicateNames in interface CrowdServicequery - the search query.
User entities matching the search query. An Iterable containing no results will be
returned if there are no matches for the query.
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||