Package org.silverpeas.core.admin.user
Class UserManager
- java.lang.Object
-
- org.silverpeas.core.admin.user.UserManager
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
UserManager()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description String
addUser(UserDetail userDetail, boolean addOnlyInSilverpeas, boolean indexation)
Adds the given user in Silverpeas and optionally in the specified domain in Silverpeas (this only works with domains that can be directly managed by Silverpeas).void
blankUser(UserDetail user)
Blanks any profile information about the specified user.String
deleteUser(UserDetail user, boolean onlyInSilverpeas)
Deletes the given user in Silverpeas and optionally in the domain he belongs to (this only works with domains that can be directly managed by Silverpeas).static UserManager
get()
Gets an instance of theUserManager
from the underlying IoD container.String[]
getAllAdminIds(UserDetail fromUser)
Gets the identifier of all the administrators in the Silverpeas domain of the specified user.List<String>
getAllUserIdsInDomain(String sDomainId)
Gets the identifier of all the users that belong to the specified domain.List<String>
getAllUserIdsInGroups(List<String> groupIds)
Gets the identifier of the users that are at least in one of the specified group or one of their sub-groupsList<UserDetail>
getAllUsers()
Gets all users (except deleted ones) from all domains.List<UserDetail>
getAllUsersFromNewestToOldest()
Get all users (except deleted ones) from all domainsList<String>
getAllUsersIds()
Gets the identifier of all the users in Silverpeas.UserDetail[]
getAllUsersInDomain(String sDomainId, boolean includeRemoved)
Gets all the users that belong to the specified domain in order to perform a synchronization with the service backing the domain.UserDetail[]
getAllUsersInGroups(List<String> groupIds)
Gets the users that are at least in one of the specified groups or one of their subgroups.List<String>
getDirectUserIdsInRole(String roleId, boolean includeRemoved)
List<String>
getDirectUserIdsInSpaceRole(String spaceRoleId, boolean includeRemoved)
Integer[]
getManageableSpaceIds(String sUserId, List<String> groupIds)
Gets the identifiers of all the spaces that are manageable by given user and by the specified groups of users.List<UserDetail>
getNonBlankedDeletedUsersOfDomains(String... domainIds)
Gets all the deleted users in the specified domains.List<UserDetail>
getRemovedUsersOfDomains(String... domainIds)
Gets all the removed users in the specified domains.int
getUserCount()
Gets the total number of users in Silverpeas, whatever the domain to which they belong.UserDetail
getUserDetail(String sUserId)
Get the user corresponding to the given user Id (only infos in cache table).UserFull
getUserFull(String sUserId)
Get full information about the user with the given unique identifier (only info in cache table) from its domain.String
getUserIdByLoginAndDomain(String sLogin, String sDomainId)
Gets the unique identifier of the user in Silverpeas that is qualified by the given login (ignoring the case) and that belongs to the specified domain.String
getUserIdBySpecificIdAndDomainId(String sSpecificId, String sDomainId)
Gets the unique identifier of the user in Silverpeas having the specified specific identifier in the given domain.String[]
getUserIdsByAccessLevel(UserAccessLevel accessLevel)
String[]
getUserIdsByDomainAndByAccessLevel(String sDomainId, UserAccessLevel accessLevel)
Gets the identifier of all the users that belong to the specified domain and that have the given access level.List<UserDetail>
getUsersBySpecificIdsAndDomainId(Collection<String> specificIds, String domainId)
Gets all the users having the specified unique identifier for the given domain.ListSlice<UserDetail>
getUsersMatchingCriteria(UserDetailsSearchCriteria criteria)
Gets the users that match the specified criteria.List<UserDetail>
getUsersOfDomains(List<String> domainIds)
Get all users (except deleted ones) from specified domainsList<UserDetail>
getUsersOfDomainsFromNewestToOldest(List<String> domainIds)
Get all users (except deleted ones) from specified domainsList<UserDetail>
getUsersWithSensitiveData(String... domainIds)
Gets all the users in the specified user domains that have sensitive information.boolean
isEmailExisting(String email)
Checks if an existing user already have the given email.List<UserFull>
listUserFulls(Collection<String> userIds)
Gets full information about users corresponding to given unique identifiers (only info in cache table) from its domain.void
migrateUser(UserDetail userDetail, String targetDomainId)
String
removeUser(UserDetail user, boolean indexation)
Removes the given user in Silverpeas.String
restoreUser(UserDetail user, boolean indexation)
Restores the given user in Silverpeas.String
updateUser(UserDetail user, boolean indexation)
Updates the given user (only in silverpeas, the user isn't updated in the domain he belongs to).String
updateUserFull(UserFull userFull)
Updates the given user both in Silverpeas and in the domain to which the user belongs.
-
-
-
Method Detail
-
get
public static UserManager get()
Gets an instance of theUserManager
from the underlying IoD container.- Returns:
- a
UserManager
instance.
-
getUserCount
public int getUserCount() throws AdminException
Gets the total number of users in Silverpeas, whatever the domain to which they belong.- Returns:
- the total number of users in Silverpeas.
- Throws:
AdminException
- if the user counting fails.
-
getAllUsersInGroups
public UserDetail[] getAllUsersInGroups(List<String> groupIds) throws AdminException
Gets the users that are at least in one of the specified groups or one of their subgroups.- Parameters:
groupIds
- the unique identifiers of the groups.- Returns:
- all the users that are in the specified groups and subgroups.
- Throws:
AdminException
- if the getting of users fails.
-
getUsersMatchingCriteria
public ListSlice<UserDetail> getUsersMatchingCriteria(UserDetailsSearchCriteria criteria) throws AdminException
Gets the users that match the specified criteria.- Parameters:
criteria
- the criteria in searching of user details.- Returns:
- a slice of the list of user details matching the criteria or an empty list of no ones are found.
- Throws:
AdminException
- if an error occurs while getting the user details.
-
getAllUserIdsInGroups
public List<String> getAllUserIdsInGroups(List<String> groupIds) throws AdminException
Gets the identifier of the users that are at least in one of the specified group or one of their sub-groups- Parameters:
groupIds
- the idenfifiers of the groups.- Returns:
- a list of user identifiers.
- Throws:
AdminException
- if the getting fails.
-
getDirectUserIdsInRole
public List<String> getDirectUserIdsInRole(String roleId, boolean includeRemoved) throws AdminException
- Throws:
AdminException
-
getDirectUserIdsInSpaceRole
public List<String> getDirectUserIdsInSpaceRole(String spaceRoleId, boolean includeRemoved) throws AdminException
- Throws:
AdminException
-
getAllUsersInDomain
public UserDetail[] getAllUsersInDomain(String sDomainId, boolean includeRemoved) throws AdminException
Gets all the users that belong to the specified domain in order to perform a synchronization with the service backing the domain.- Parameters:
sDomainId
- the unique identifier of a domain in Silverpeas.includeRemoved
- true to include removed users, false otherwise.- Returns:
- an array with all the users in that domain.
- Throws:
AdminException
- if the getting fails.
-
getAllUserIdsInDomain
public List<String> getAllUserIdsInDomain(String sDomainId) throws AdminException
Gets the identifier of all the users that belong to the specified domain.- Parameters:
sDomainId
- the unique identifier of the domain in Silverpeas.- Returns:
- a list with all the user identifiers.
- Throws:
AdminException
- if the getting of the user identifiers fails.
-
getUserIdsByAccessLevel
public String[] getUserIdsByAccessLevel(UserAccessLevel accessLevel) throws AdminException
- Throws:
AdminException
-
getUserIdsByDomainAndByAccessLevel
public String[] getUserIdsByDomainAndByAccessLevel(String sDomainId, UserAccessLevel accessLevel) throws AdminException
Gets the identifier of all the users that belong to the specified domain and that have the given access level.- Parameters:
sDomainId
- the unique identifier of a domain in Silverpeas.accessLevel
- the access level of the users to get.- Returns:
- an array with all the user identifiers.
- Throws:
AdminException
- if the getting of the user identifiers fails.
-
getManageableSpaceIds
public Integer[] getManageableSpaceIds(String sUserId, List<String> groupIds) throws AdminException
Gets the identifiers of all the spaces that are manageable by given user and by the specified groups of users.- Parameters:
sUserId
- the unique identifier of the space managers.groupIds
- the unique identifiers of the groups in which users are space managers.- Returns:
- an array with the identifiers of the spaces.
- Throws:
AdminException
- if an error occurs while getting the space identifiers.
-
getAllUsersIds
public List<String> getAllUsersIds() throws AdminException
Gets the identifier of all the users in Silverpeas.- Returns:
- a list with the identifier of all the users in Silverpeas.
- Throws:
AdminException
- if an error occurs while getting all the user identifiers.
-
getAllAdminIds
public String[] getAllAdminIds(UserDetail fromUser) throws AdminException
Gets the identifier of all the administrators in the Silverpeas domain of the specified user. These administrators are the users that have the administrative access right or that are the domain manager.- Parameters:
fromUser
- the user from which the query for administrators are performed. The administrators must be in the same domain than this user.- Returns:
- an array with the identifier of all the administrators in the domain of the given user.
- Throws:
AdminException
- if an error occurs while querying the administrators.
-
getUserFull
public UserFull getUserFull(String sUserId) throws AdminException
Get full information about the user with the given unique identifier (only info in cache table) from its domain.- Parameters:
sUserId
- the unique identifier of the user to get.- Returns:
- a
UserFull
instance. - Throws:
AdminException
- if an error occurs while getting the user.
-
listUserFulls
public List<UserFull> listUserFulls(Collection<String> userIds) throws AdminException
Gets full information about users corresponding to given unique identifiers (only info in cache table) from its domain.- Parameters:
userIds
- the unique identifiers of user to get.- Returns:
- list of
UserFull
instance. - Throws:
AdminException
- if an error occurs while getting the user.
-
getUserDetail
public UserDetail getUserDetail(String sUserId) throws AdminException
Get the user corresponding to the given user Id (only infos in cache table).If the user does not exists, null is returned.
- Parameters:
sUserId
- the identifier of searched identifier.- Returns:
- the corresponding
UserDetail
instance if any, null otherwise. - Throws:
AdminException
- on technical error.
-
getUserIdBySpecificIdAndDomainId
public String getUserIdBySpecificIdAndDomainId(String sSpecificId, String sDomainId) throws AdminException
Gets the unique identifier of the user in Silverpeas having the specified specific identifier in the given domain.If the user does not exists, null is returned.
- Parameters:
sSpecificId
- the specific identifier of the searched user in the given domain.sDomainId
- the identifier of the domain the user belongs to.- Returns:
- the corresponding
UserDetail
instance if any, null otherwise. - Throws:
AdminException
- on technical error.
-
getUsersBySpecificIdsAndDomainId
public List<UserDetail> getUsersBySpecificIdsAndDomainId(Collection<String> specificIds, String domainId) throws AdminException
Gets all the users having the specified unique identifier for the given domain.- Parameters:
specificIds
- an array of domain specific identifiers.domainId
- the unique identifier of the domain.- Returns:
- a list of users matching the identifiers specific to the given domain.
- Throws:
AdminException
-
getUserIdByLoginAndDomain
public String getUserIdByLoginAndDomain(String sLogin, String sDomainId) throws AdminException
Gets the unique identifier of the user in Silverpeas that is qualified by the given login (ignoring the case) and that belongs to the specified domain.If the user does not exists, null is returned.
- Parameters:
sLogin
- the login of the searched user in the specified domain.sDomainId
- the identifier of the domain the user belongs to.- Returns:
- the corresponding
UserDetail
instance if any, null otherwise. - Throws:
AdminException
- on technical error.
-
migrateUser
public void migrateUser(UserDetail userDetail, String targetDomainId) throws AdminException
- Throws:
AdminException
-
addUser
public String addUser(UserDetail userDetail, boolean addOnlyInSilverpeas, boolean indexation) throws AdminException
Adds the given user in Silverpeas and optionally in the specified domain in Silverpeas (this only works with domains that can be directly managed by Silverpeas).- Parameters:
userDetail
- the detail about the user to add.addOnlyInSilverpeas
- does the user be registered into only Silverpeas? If false, the user will be also registered into the domain the user has to belong to.indexation
- true to perform indexation.- Returns:
- the unique identifier of the added user. This identifier is set by the registering process.
- Throws:
AdminException
- if the user registering fails.
-
restoreUser
public String restoreUser(UserDetail user, boolean indexation) throws AdminException
Restores the given user in Silverpeas.- Parameters:
user
- the user to restore.indexation
- true to perform indexation.- Returns:
- the unique identifier of the restored user.
- Throws:
AdminException
- if the restore fails.
-
removeUser
public String removeUser(UserDetail user, boolean indexation) throws AdminException
Removes the given user in Silverpeas.- Parameters:
user
- the user to remove.indexation
- true to perform indexation.- Returns:
- the unique identifier of the removed user.
- Throws:
AdminException
- if the remove fails.
-
deleteUser
public String deleteUser(UserDetail user, boolean onlyInSilverpeas) throws AdminException
Deletes the given user in Silverpeas and optionally in the domain he belongs to (this only works with domains that can be directly managed by Silverpeas).- Parameters:
user
- the user to delete.onlyInSilverpeas
- the user has to be deleted only in Silverpeas or also in the domain he belongs to?- Returns:
- the unique identifier of the deleted user.
- Throws:
AdminException
- if the deletion fails.
-
blankUser
public void blankUser(UserDetail user) throws AdminException
Blanks any profile information about the specified user. This method can be invoked only for already deleted users. Although a user is deleted, profile information are kept in the data source in order to keep the links between him and its contributions within Silverpeas. At his own request, those data can be cleared in the data source so that the links are broken. Nevertheless, to keep the coherence with all of the operations in Silverpeas and to keep them simple, the tuple associated with the user profile isn't deleted in the data source, only the data inside it are blanked. One consequence to this method is to remove its last name and to replace its first name by the term "Anonymous".- Parameters:
user
- the user to blank in Silverpeas.- Throws:
AdminException
- if the user isn't deleted or if an error occurs while blanking it.
-
updateUser
public String updateUser(UserDetail user, boolean indexation) throws AdminException
Updates the given user (only in silverpeas, the user isn't updated in the domain he belongs to).- Parameters:
user
- the user to update.indexation
- true to perform indexation.- Returns:
- the unique identifier of the user that was updated.
- Throws:
AdminException
- if an error occurs while updating the user.
-
updateUserFull
public String updateUserFull(UserFull userFull) throws AdminException
Updates the given user both in Silverpeas and in the domain to which the user belongs.- Parameters:
userFull
- the user with full information about him.- Returns:
- the unique identifier of the updated user.
- Throws:
AdminException
- if the update fails.
-
isEmailExisting
public boolean isEmailExisting(String email) throws AdminException
Checks if an existing user already have the given email.- Parameters:
email
- email to check- Returns:
- true if at least one user with given email is found. False otherwise.
- Throws:
AdminException
- if the checking fails.
-
getAllUsers
public List<UserDetail> getAllUsers() throws AdminException
Gets all users (except deleted ones) from all domains.- Returns:
- a List of UserDetail sort by alphabetical order
- Throws:
AdminException
- if getting all the users fails.
-
getAllUsersFromNewestToOldest
public List<UserDetail> getAllUsersFromNewestToOldest() throws AdminException
Get all users (except deleted ones) from all domains- Returns:
- a List of UserDetail sort by reverse creation order
- Throws:
AdminException
- if the getting fails.
-
getUsersOfDomains
public List<UserDetail> getUsersOfDomains(List<String> domainIds) throws AdminException
Get all users (except deleted ones) from specified domains- Returns:
- a List of UserDetail sort by alphabetical order
- Throws:
AdminException
- if getting all the users in the specified domains fails.
-
getRemovedUsersOfDomains
public List<UserDetail> getRemovedUsersOfDomains(String... domainIds) throws AdminException
Gets all the removed users in the specified domains. If no domains are given, then all the removed users in Silverpeas are returned.- Parameters:
domainIds
- zero, one or more unique identifiers of user domains in Silverpeas.- Returns:
- a list of the removed users in Silverpeas. If no users are removed in the specified domains, then an empty list is returned.
- Throws:
AdminException
- if the removed users cannot be fetched or if an unexpected exception is thrown.
-
getNonBlankedDeletedUsersOfDomains
public List<UserDetail> getNonBlankedDeletedUsersOfDomains(String... domainIds) throws AdminException
Gets all the deleted users in the specified domains. If no domains are given, then all the deleted users in Silverpeas are returned.- Parameters:
domainIds
- zero, one or more unique identifiers of user domains in Silverpeas.- Returns:
- a list of the deleted users in Silverpeas. If no users are deleted in the specified domains, then an empty list is returned.
- Throws:
AdminException
- if the deleted users cannot be fetched or if an unexpected exception is thrown.
-
getUsersWithSensitiveData
public List<UserDetail> getUsersWithSensitiveData(String... domainIds) throws AdminException
Gets all the users in the specified user domains that have sensitive information.- Parameters:
domainIds
- zero, one or more unique identifiers of Silverpeas domains. If no domains are passed, then all the domains are taken by the request.- Returns:
- a list of user details.
- Throws:
AdminException
- if the users with sensitive data cannot be fetched or in an unexpected exception is thrown.
-
getUsersOfDomainsFromNewestToOldest
public List<UserDetail> getUsersOfDomainsFromNewestToOldest(List<String> domainIds) throws AdminException
Get all users (except deleted ones) from specified domains- Returns:
- a List of UserDetail sort by reverse creation order
- Throws:
AdminException
- if the getting of all the users in the specified domains fails.
-
-