Class CrowdServiceImpl
java.lang.Object
com.atlassian.crowd.embedded.core.CrowdServiceImpl
- All Implemented Interfaces:
CrowdService
,UnfilteredCrowdService
Default implementation of the CrowdService
-
Constructor Summary
ConstructorDescriptionCrowdServiceImpl
(ApplicationFactory applicationFactory, ApplicationService applicationService, DirectoryInstanceLoader directoryInstanceLoader) -
Method Summary
Modifier and TypeMethodDescriptionAdds agroup
to the directory store.boolean
addGroupToGroup
(Group childGroup, Group parentGroup) Adds a group as a member of a parent group.Adds auser
to the directory store.addUser
(UserWithAttributes user, String credential) Adds auser
to the directory store.boolean
addUserToGroup
(User user, Group group) Adds a user as a member of a group.authenticate
(String name, String credential) Authenticates auser
with the given credential.Gets details of the possible operations that can be performed onnew users
.Finds thegroup
that matches the suppliedname
.getGroupWithAttributes
(String name) Finds thegroup
that matches the suppliedname
.getRemoteUser
(String username) Returns theuser
that matches the suppliedname
from a remote directory.Returns theuser
that matches the suppliedname
.getUserWithAttributes
(String name) Returns theuser
that matches the suppliedname
.boolean
isGroupDirectGroupMember
(Group childGroup, Group parentGroup) Determines if a group is a direct member of another group.boolean
isGroupMemberOfGroup
(Group childGroup, Group parentGroup) Returnstrue
if thechildGroup
is a direct or indirect (nested) member of theparentGroup
.boolean
isGroupMemberOfGroup
(String childGroupName, String parentGroupName) Returnstrue
ifchildGroupName
is a direct or indirect (nested) member ofparentGroupName
.boolean
isUserDirectGroupMember
(User user, Group group) Determines if a user is a direct member of a group.boolean
isUserMemberOfGroup
(User user, Group group) Returnstrue
if the user is a direct or indirect (nested) member of the group.boolean
isUserMemberOfGroup
(String userName, String groupName) Returnstrue
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 thegroup
that matches the suppliedname
.void
removeGroupAttribute
(Group group, 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 theuser
that matches the suppliedname
.void
removeUserAttribute
(User user, 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.renameUser
(User user, String newUsername) Renames theUser
.<T> Iterable<T>
Searches for entities (e.g.void
setGroupAttribute
(Group group, String attributeName, String attributeValue) Adds or updates a group's attributes with the new attributes.void
setGroupAttribute
(Group group, String attributeName, Set<String> attributeValues) Adds or updates a group's attributes with the newattributes
.void
setUserAttribute
(User user, String attributeName, String attributeValue) Adds or updates a user's attribute with the new attribute value.void
setUserAttribute
(User user, String attributeName, Set<String> attributeValues) Adds or updates a user's attribute with the new attribute values.setUserStatusLocally
(String username, boolean userActiveInternally) Deactivates/Activates theUser
in the internal directory.updateGroup
(Group group) Updates thegroup
.updateUser
(User user) Updates theUser
.void
updateUserCredential
(User user, String credential) userAuthenticated
(String username) Acts as if the user has just authenticated.
-
Constructor Details
-
CrowdServiceImpl
public CrowdServiceImpl(ApplicationFactory applicationFactory, ApplicationService applicationService, DirectoryInstanceLoader directoryInstanceLoader)
-
-
Method Details
-
authenticate
public User authenticate(String name, String credential) throws FailedAuthenticationException, OperationFailedException Description copied from interface:CrowdService
Authenticates auser
with the given credential.- Specified by:
authenticate
in interfaceCrowdService
- Parameters:
name
- The name of the user (username).credential
- The supplied credential to authenticate with- Returns:
- The populated user if the authentication is valid.
- Throws:
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 incorrectInactiveAccountException
- 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 foundOperationFailedException
- underlying directory implementation failed to execute the operation.
-
getUser
Description copied from interface:CrowdService
Returns theuser
that matches the suppliedname
.- Specified by:
getUser
in interfaceCrowdService
- Parameters:
name
- the name of the user (username). Does not allow null, blank or empty strings.- Returns:
- user entity or
null
if the user is not found
-
getRemoteUser
Description copied from interface:CrowdService
Returns theuser
that matches the suppliedname
from a remote directory. Note that this may potentially cause a remote call to a authentication service.- Specified by:
getRemoteUser
in interfaceCrowdService
- Parameters:
username
- the name of the user (username). Does not allow null, blank or empty strings.- Returns:
- user entity or
null
if the user is not found
-
userAuthenticated
public User userAuthenticated(String username) throws UserNotFoundException, OperationFailedException, InactiveAccountException Description copied from interface:CrowdService
Acts as if the user has just authenticated. Depending on the configuration it might update the user details from a remote directory. Usually this happens as a part ofCrowdService.authenticate(String, String)
, but this could be called if the user was authenticated in a different way.- Specified by:
userAuthenticated
in interfaceCrowdService
- Parameters:
username
- the username for the authenticated user- Returns:
- the current state of the authenticated user
- Throws:
UserNotFoundException
- when the user doesn't existOperationFailedException
- when one of the post-authentication operation failsInactiveAccountException
- when the user account is inactive
-
getUserWithAttributes
Description copied from interface:CrowdService
Returns theuser
that matches the suppliedname
.- Specified by:
getUserWithAttributes
in interfaceCrowdService
- Parameters:
name
- the name of the user (username).- Returns:
- user entity with attributes or
null
if the user is not found
-
getGroup
Description copied from interface:CrowdService
Finds thegroup
that matches the suppliedname
.- Specified by:
getGroup
in interfaceCrowdService
- Parameters:
name
- the name of the group.- Returns:
- group entity,
null
if not found.
-
getGroupWithAttributes
Description copied from interface:CrowdService
Finds thegroup
that matches the suppliedname
.- Specified by:
getGroupWithAttributes
in interfaceCrowdService
- Parameters:
name
- the name of the group.- Returns:
- group entity with attributes,
null
if not found.
-
search
Description copied from interface:CrowdService
Searches for entities (e.g.Group
orUser
) of type<T>
that match the supplied search query. Search return types must be eitherString
,User
orGroup
.- Specified by:
search
in interfaceCrowdService
- Parameters:
query
- Query for a given entity (e.g.Group
orUser
)- Returns:
- entities of type
T
matching the search query. AnIterable
containing no results will be returned if there are no matches for the query.
-
isUserMemberOfGroup
Description copied from interface:CrowdService
Returnstrue
if the user is a direct or indirect (nested) member of the group.- Specified by:
isUserMemberOfGroup
in interfaceCrowdService
- Parameters:
userName
- user to inspect.groupName
- group to inspect.- Returns:
true
if and only if the user is a direct or indirect (nested) member of the group. If the user or group cannot found, thenfalse
is returned.- See Also:
-
isUserMemberOfGroup
Description copied from interface:CrowdService
Returnstrue
if the user is a direct or indirect (nested) member of the group.- Specified by:
isUserMemberOfGroup
in interfaceCrowdService
- Parameters:
user
- user to inspect.group
- group to inspect.- Returns:
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, thenfalse
is returned.- See Also:
-
isGroupMemberOfGroup
Description copied from interface:CrowdService
Returnstrue
ifchildGroupName
is a direct or indirect (nested) member ofparentGroupName
.- Specified by:
isGroupMemberOfGroup
in interfaceCrowdService
- Parameters:
childGroupName
- name of child group to inspect.parentGroupName
- name of parent group to inspect.- Returns:
true
if and only if thechildGroupName
is a direct or indirect (nested) member of theparentGroupName
. If any of the groups cannot found, thenfalse
is returned.
-
isGroupMemberOfGroup
Description copied from interface:CrowdService
Returnstrue
if thechildGroup
is a direct or indirect (nested) member of theparentGroup
.- Specified by:
isGroupMemberOfGroup
in interfaceCrowdService
- Parameters:
childGroup
- group to inspect.parentGroup
- group to inspect.- Returns:
true
if and only if thechildGroup
is a direct or indirect (nested) member of theparentGroup
. If any of the groups cannot found, thenfalse
is returned.
-
addUser
public User addUser(User user, String credential) throws InvalidUserException, InvalidCredentialException, OperationNotPermittedException, OperationFailedException Description copied from interface:CrowdService
Adds auser
to the directory store. The user must have non-null names and email address.- Specified by:
addUser
in interfaceCrowdService
- Parameters:
user
- template of the user to add.credential
- password. May not be null or blank.- Returns:
- the added user retrieved from the underlying store.
- Throws:
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 performedOperationFailedException
- if the operation failed for any other reason
-
addUser
public UserWithAttributes addUser(UserWithAttributes user, String credential) throws InvalidUserException, InvalidCredentialException, OperationNotPermittedException, OperationFailedException Description copied from interface:CrowdService
Adds auser
to the directory store. The user must have non-null names and email address.- Specified by:
addUser
in interfaceCrowdService
- Parameters:
user
- template of the user to add.credential
- password. May not be null or blank.- Returns:
- the added user retrieved from the underlying store.
- Throws:
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 performedOperationFailedException
- if the operation failed for any other reason
-
updateUser
public User updateUser(User user) throws UserNotFoundException, InvalidUserException, OperationNotPermittedException, OperationFailedException Description copied from interface:CrowdService
Updates theUser
. The user must have non-null names and email address.- Specified by:
updateUser
in interfaceCrowdService
- Parameters:
user
- The user to update.- Returns:
- the updated user retrieved from the underlying store. This might be a new object instance, depending on the underlying
Directory
- Throws:
UserNotFoundException
- if the supplied user does not exist in thedirectory
.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 performedOperationFailedException
- underlying directory implementation failed to execute the operation.
-
setUserStatusLocally
public User setUserStatusLocally(String username, boolean userActiveInternally) throws UserNotFoundException, InvalidUserException, OperationNotPermittedException, OperationFailedException, DirectoryNotFoundException Description copied from interface:CrowdService
Deactivates/Activates theUser
in the internal directory.- Specified by:
setUserStatusLocally
in interfaceCrowdService
- Parameters:
username
- The user to Deactivate/Activate.userActiveInternally
- Operation to Deactivate/Activate.- Returns:
- the updated user retrieved from the underlying store. This might be a new object instance, depending on the underlying
Directory
- Throws:
UserNotFoundException
- if the supplied user does not exist in thedirectory
.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 performedOperationFailedException
- underlying directory implementation failed to execute the operation.DirectoryNotFoundException
-
renameUser
public User renameUser(User user, String newUsername) throws UserNotFoundException, InvalidUserException, OperationNotPermittedException, OperationFailedException Description copied from interface:CrowdService
Renames theUser
.- Specified by:
renameUser
in interfaceCrowdService
- Parameters:
user
- user to rename.newUsername
- new username of the renamed user.- Returns:
- the renamed User.
- Throws:
UserNotFoundException
- if the supplied user does not exist.InvalidUserException
- if the new username does not meet the username requirements for an associated directory.OperationNotPermittedException
- if the directory has been configured to not allow the operation to be performed.OperationFailedException
- underlying directory implementation failed to execute the operation.
-
updateUserCredential
public void updateUserCredential(User user, String credential) throws UserNotFoundException, InvalidCredentialException, OperationNotPermittedException, OperationFailedException Description copied from interface:CrowdService
- Specified by:
updateUserCredential
in interfaceCrowdService
- Parameters:
user
- The name of the user (username).credential
- The new credential (password). May not be null or blank.- Throws:
UserNotFoundException
- if the supplied user does not exist in thedirectory
.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 performedOperationFailedException
- underlying directory implementation failed to execute the operation.
-
setUserAttribute
public void setUserAttribute(User user, String attributeName, String attributeValue) throws UserNotFoundException, OperationNotPermittedException, OperationFailedException Description copied from interface:CrowdService
Adds or updates a user's attribute with the new attribute value. 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 attribute. This will not remove any attributes.- Specified by:
setUserAttribute
in interfaceCrowdService
- Parameters:
user
- user to update.attributeName
- the name of the attributeattributeValue
- the new value of the attribute; any existing values will be replaced- Throws:
UserNotFoundException
- the supplied user does not exist.OperationNotPermittedException
- if the directory has been configured to not allow the operation to be performedOperationFailedException
- underlying directory implementation failed to execute the operation.
-
setUserAttribute
public void setUserAttribute(User user, String attributeName, Set<String> attributeValues) throws UserNotFoundException, OperationNotPermittedException, OperationFailedException Description copied from interface:CrowdService
Adds or updates a user's attribute with the new attribute values. 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.- Specified by:
setUserAttribute
in interfaceCrowdService
- Parameters:
user
- user to update.attributeName
- the name of the attributeattributeValues
- the new set of values; any existing values will be replaced- Throws:
UserNotFoundException
- the supplied user does not exist.OperationNotPermittedException
- if the directory has been configured to not allow the operation to be performedOperationFailedException
- underlying directory implementation failed to execute the operation.
-
removeUserAttribute
public void removeUserAttribute(User user, String attributeName) throws UserNotFoundException, OperationNotPermittedException, OperationFailedException Description copied from interface:CrowdService
Removes all the values for a single attribute key for a user.- Specified by:
removeUserAttribute
in interfaceCrowdService
- Parameters:
user
- user to update.attributeName
- name of attribute to remove.- Throws:
UserNotFoundException
- user with supplied username does not exist.OperationNotPermittedException
- if the directory has been configured to not allow the operation to be performedOperationFailedException
- underlying directory implementation failed to execute the operation.
-
removeAllUserAttributes
public void removeAllUserAttributes(User user) throws UserNotFoundException, OperationNotPermittedException, OperationFailedException Description copied from interface:CrowdService
Remove all attributes for a user.- Specified by:
removeAllUserAttributes
in interfaceCrowdService
- Parameters:
user
- user to update.- Throws:
UserNotFoundException
- user with supplied username does not exist.OperationNotPermittedException
- if the directory has been configured to not allow the operation to be performedOperationFailedException
- underlying directory implementation failed to execute the operation.
-
removeUser
public boolean removeUser(User user) throws OperationNotPermittedException, OperationFailedException Description copied from interface:CrowdService
Removes theuser
that matches the suppliedname
.- Specified by:
removeUser
in interfaceCrowdService
- Parameters:
user
- user to remove.- Returns:
true</tt> if the user was removed as a result of this call, <tt>false
if the user does not exist.- Throws:
OperationNotPermittedException
- if the directory has been configured to not allow the operation to be performedOperationFailedException
- underlying directory implementation failed to execute the operation.
-
addGroup
public Group addGroup(Group group) throws InvalidGroupException, OperationNotPermittedException, OperationFailedException Description copied from interface:CrowdService
Adds agroup
to the directory store.- Specified by:
addGroup
in interfaceCrowdService
- Parameters:
group
- template of the group to add.- Returns:
- the added group retrieved from the underlying store.
- Throws:
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 performedOperationFailedException
- underlying directory implementation failed to execute the operation.
-
updateGroup
public Group updateGroup(Group group) throws InvalidGroupException, OperationNotPermittedException, GroupNotFoundException, OperationFailedException Description copied from interface:CrowdService
Updates thegroup
.- Specified by:
updateGroup
in interfaceCrowdService
- Parameters:
group
- The group to update.- Returns:
- the updated group retrieved from the underlying store.
- Throws:
InvalidGroupException
- the supplied group is invalid.OperationNotPermittedException
- if the directory has been configured to not allow the operation to be performedGroupNotFoundException
- if group with given name does not exist in ANY assigned directory.OperationFailedException
- underlying directory implementation failed to execute the operation.
-
setGroupAttribute
public void setGroupAttribute(Group group, String attributeName, String attributeValue) throws GroupNotFoundException, OperationNotPermittedException, OperationFailedException Description copied from interface:CrowdService
Adds or updates a group's attributes with the new attributes. 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.- Specified by:
setGroupAttribute
in interfaceCrowdService
- Parameters:
group
- name of group to update.attributeName
- the name up the attribute to add or updateattributeValue
- the value of the attribute- Throws:
GroupNotFoundException
- if thegroup
could not be foundOperationNotPermittedException
- if the directory has been configured to not allow the operation to be performedOperationFailedException
- underlying directory implementation failed to execute the operation.
-
setGroupAttribute
public void setGroupAttribute(Group group, String attributeName, Set<String> attributeValues) throws GroupNotFoundException, OperationNotPermittedException, OperationFailedException Description copied from interface:CrowdService
Adds or updates a group's attributes with the newattributes
. 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.- Specified by:
setGroupAttribute
in interfaceCrowdService
- Parameters:
group
- name of group to update.attributeName
- the name up the attribute to add or updateattributeValues
- a set of values to update- Throws:
GroupNotFoundException
- if thegroup
could not be foundOperationNotPermittedException
- if the directory has been configured to not allow the operation to be performedOperationFailedException
- underlying directory implementation failed to execute the operation.
-
removeGroupAttribute
public void removeGroupAttribute(Group group, String attributeName) throws GroupNotFoundException, OperationNotPermittedException, OperationFailedException Description copied from interface:CrowdService
Removes all the values for a single attribute key for a group.- Specified by:
removeGroupAttribute
in interfaceCrowdService
- Parameters:
group
- to update.attributeName
- name of attribute to remove.- Throws:
GroupNotFoundException
- if thegroup
could not be foundOperationNotPermittedException
- if the directory has been configured to not allow the operation to be performedOperationFailedException
- underlying directory implementation failed to execute the operation.
-
removeAllGroupAttributes
public void removeAllGroupAttributes(Group group) throws GroupNotFoundException, OperationNotPermittedException, OperationFailedException Description copied from interface:CrowdService
Removes all group attributes.- Specified by:
removeAllGroupAttributes
in interfaceCrowdService
- Parameters:
group
- to update.- Throws:
GroupNotFoundException
- if thegroup
could not be foundOperationNotPermittedException
- if the directory has been configured to not allow the operation to be performedOperationFailedException
- underlying directory implementation failed to execute the operation.
-
removeGroup
public boolean removeGroup(Group group) throws OperationNotPermittedException, GroupNotFoundException, OperationFailedException Description copied from interface:CrowdService
Removes thegroup
that matches the suppliedname
.- Specified by:
removeGroup
in interfaceCrowdService
- Parameters:
group
- to remove- Returns:
true</tt> if the group was removed as a result of this call, <tt>false
if the group does not exist.- Throws:
OperationNotPermittedException
- if the directory does not allow removal of this groupOperationFailedException
- underlying directory implementation failed to execute the operation.GroupNotFoundException
-
addUserToGroup
public boolean addUserToGroup(User user, Group group) throws GroupNotFoundException, UserNotFoundException, OperationNotPermittedException, OperationFailedException Description copied from interface:CrowdService
Adds a user as a member of a group. This means that all user members ofchildGroup
will appear as members ofparentGroup
to querying applications.- Specified by:
addUserToGroup
in interfaceCrowdService
- Parameters:
user
- The user that will become a member of thegroup
group
- The group that will gain a new member.- Returns:
true</tt> if the user was added to the group as a result of this call, <tt>false
if the user is already a member of the group.- Throws:
GroupNotFoundException
- if thegroup
could not be foundUserNotFoundException
- if theuser
could not be foundOperationNotPermittedException
- if the directory has been configured to not allow the operation to be performedOperationFailedException
- underlying directory implementation failed to execute the operation.
-
addGroupToGroup
public boolean addGroupToGroup(Group childGroup, Group parentGroup) throws GroupNotFoundException, OperationNotPermittedException, InvalidMembershipException, OperationFailedException Description copied from interface:CrowdService
Adds a group as a member of a parent group. Cyclic group membership are allowed (mainly because LDAP allows it) but not recommended. I.e. group A can have group B as its member and group B can have group A as its member at the same time.- Specified by:
addGroupToGroup
in interfaceCrowdService
- Parameters:
childGroup
- The group that will become a member ofparentGroup
parentGroup
- The group that will gain a new member- Returns:
true</tt> if the child group was added to the parent group as a result of this call, <tt>false
if the group is already a member of the group.- Throws:
GroupNotFoundException
- if any of the group could not be found. UseGroupNotFoundException.getGroupName()
to find out which group wasn't foundOperationNotPermittedException
- if the directory has been configured to not allow the operation to be performedInvalidMembershipException
- If the relationship would cause a circular reference.OperationFailedException
- underlying directory implementation failed to execute the operation.
-
removeUserFromGroup
public boolean removeUserFromGroup(User user, Group group) throws GroupNotFoundException, UserNotFoundException, OperationNotPermittedException, MembershipNotFoundException, OperationFailedException Description copied from interface:CrowdService
Removes a user as a member of a group.- Specified by:
removeUserFromGroup
in interfaceCrowdService
- Parameters:
user
- The user that will be removed from thegroup
group
- The group that will lose the member.- Returns:
true</tt> if the user was removed from the group as a result of this call, <tt>false
if the user is not a member of the group.- Throws:
GroupNotFoundException
- if thegroup
could not be foundUserNotFoundException
- if theuser
could not be foundOperationNotPermittedException
- if the directory has been configured to not allow the operation to be performedOperationFailedException
- if the operation failed for any other reasonMembershipNotFoundException
-
removeGroupFromGroup
public boolean removeGroupFromGroup(Group childGroup, Group parentGroup) throws GroupNotFoundException, OperationNotPermittedException, MembershipNotFoundException, OperationFailedException Description copied from interface:CrowdService
Removes a group as a member of a parent group.- Specified by:
removeGroupFromGroup
in interfaceCrowdService
- Parameters:
childGroup
- The group that will be removed fromparentGroup
parentGroup
- The group that will lose the member.- Returns:
true</tt> if childGroup was removed from parentGroup as a result of this call, <tt>false
if childGroup is not a member of the parentGroup.- Throws:
GroupNotFoundException
- if any of the groups could not be found. UseGroupNotFoundException.getGroupName()
to find out which group wasn't foundOperationNotPermittedException
- if the directory has been configured to not allow the operation to be performedOperationFailedException
- if the operation failed for any other reasonMembershipNotFoundException
-
isUserDirectGroupMember
Description copied from interface:CrowdService
Determines if a user is a direct member of a group.- Specified by:
isUserDirectGroupMember
in interfaceCrowdService
- Parameters:
user
- the user for whom to check the group membershipgroup
- the group theuser
is believed to belong to- Returns:
true
if the user is a direct member of the group,false
otherwise (including if the user and/or group could not be found)- Throws:
OperationFailedException
- underlying directory implementation failed to execute the operation.
-
isGroupDirectGroupMember
public boolean isGroupDirectGroupMember(Group childGroup, Group parentGroup) throws OperationFailedException Description copied from interface:CrowdService
Determines if a group is a direct member of another group.- Specified by:
isGroupDirectGroupMember
in interfaceCrowdService
- Parameters:
childGroup
- the group for which to check theparentGroup
membershipparentGroup
- the group thechildGroup
is believed to belong to- Returns:
true
if thechildGroup
is a direct member of theparentGroup
,false
otherwise (including if neither group could be found)- Throws:
OperationFailedException
- underlying directory implementation failed to execute the operation.
-
getCapabilitiesForNewUsers
Description copied from interface:CrowdService
Gets details of the possible operations that can be performed onnew users
.Those capabilities reflects a specific moment in time and are subject to change if any user directory is added, removed or re-ordered.
- Specified by:
getCapabilitiesForNewUsers
in interfaceCrowdService
- Returns:
- the capabilities a new user will have
- See Also:
-