Class CachingConfluenceUserDao
- java.lang.Object
-
- com.atlassian.confluence.impl.user.persistence.dao.CachingConfluenceUserDao
-
- All Implemented Interfaces:
ConfluenceUserDao
public class CachingConfluenceUserDao extends Object implements ConfluenceUserDao
This class is responsible for caching user keys by username.- Since:
- 5.8
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description intcountUnsyncedUsers()Get a count of all unsynced users in Confluence.voidcreate(ConfluenceUser user)Create a new ConfluenceUser.static CachingConfluenceUserDaocreate(ConfluenceUserDao delegate, com.atlassian.cache.CacheFactory cacheFactory)ConfluenceUserfindByKey(@Nullable com.atlassian.sal.api.user.UserKey key)Retrieve a ConfluenceUser by the user key.Map<com.atlassian.sal.api.user.UserKey,Optional<ConfluenceUser>>findByKeys(Set<com.atlassian.sal.api.user.UserKey> userkeys)Performs a bulk lookup of multipleConfluenceUsers.ConfluenceUserfindByUsername(@Nullable String username)Find the ConfluenceUser with the given user name.List<ConfluenceUser>findConfluenceUsersByLowerNames(Iterable<String> lowerNames)Find allConfluenceUserwhich have the given lowerNames.Map<com.atlassian.sal.api.user.UserKey,String>findLowerNamesByKeys(Iterable<com.atlassian.sal.api.user.UserKey> keys)Bulk operation to find lowercase name corresponding to user key.Map<String,com.atlassian.sal.api.user.UserKey>findUserKeysByLowerNames(Iterable<String> names)Bulk operation to find user key corresponding to lowercase name.Set<ConfluenceUser>getAll()List<com.atlassian.sal.api.user.UserKey>getAllUserKeys()Currently for testing purpose onlybooleanisDeletedUser(ConfluenceUser user)Check whether or not a user has been deleted completely from the application.booleanisUnsyncedUser(ConfluenceUser user)Check whether or not a user exists in the application as unsynced.voidremove(ConfluenceUser user)Remove the supplied ConfluenceUser from persistence.ConfluenceUserrename(ConfluenceUser userToRename, String newUsername, boolean overrideExisting)Renames a userConfluenceUserrename(String oldUsername, String newUsername, boolean overrideExisting)Renames a userList<ConfluenceUser>searchUnsyncedUsers(String searchParam)Search all unsynced users, whose account has been disconnected from an external directory, i.e.voidupdate(ConfluenceUser user)Change a property of an existing ConfluenceUser.
-
-
-
Method Detail
-
create
public static CachingConfluenceUserDao create(ConfluenceUserDao delegate, com.atlassian.cache.CacheFactory cacheFactory)
- Since:
- 7.5
-
create
public void create(ConfluenceUser user)
Description copied from interface:ConfluenceUserDaoCreate a new ConfluenceUser.- Specified by:
createin interfaceConfluenceUserDao
-
update
public void update(ConfluenceUser user)
Description copied from interface:ConfluenceUserDaoChange a property of an existing ConfluenceUser.- Specified by:
updatein interfaceConfluenceUserDao
-
remove
public void remove(ConfluenceUser user)
Description copied from interface:ConfluenceUserDaoRemove the supplied ConfluenceUser from persistence.- Specified by:
removein interfaceConfluenceUserDao
-
rename
public ConfluenceUser rename(String oldUsername, String newUsername, boolean overrideExisting)
Description copied from interface:ConfluenceUserDaoRenames a user- Specified by:
renamein interfaceConfluenceUserDao- Parameters:
oldUsername- old username for the usernewUsername- new username for the useroverrideExisting- True if possible existing mapping should make way for the renamed one. False for opposite behaviour.- Returns:
- renamed user
-
rename
public ConfluenceUser rename(ConfluenceUser userToRename, String newUsername, boolean overrideExisting)
Description copied from interface:ConfluenceUserDaoRenames a user- Specified by:
renamein interfaceConfluenceUserDao- Parameters:
userToRename- ConfluenceUser object representing user to renamenewUsername- new username for the useroverrideExisting- True if possible existing mapping should make way for the renamed one. False for opposite behaviour.- Returns:
- renamed user
-
findByKey
public ConfluenceUser findByKey(@Nullable com.atlassian.sal.api.user.UserKey key)
Description copied from interface:ConfluenceUserDaoRetrieve a ConfluenceUser by the user key.- Specified by:
findByKeyin interfaceConfluenceUserDao- Returns:
- a ConfluenceUser with the supplied key
-
findByUsername
public ConfluenceUser findByUsername(@Nullable String username)
Description copied from interface:ConfluenceUserDaoFind the ConfluenceUser with the given user name.Note that username lookups are case-insensitive, so the user you get back may not have exactly the same name as the name passed to this method.
- Specified by:
findByUsernamein interfaceConfluenceUserDao- Returns:
- a ConfluenceUser with the supplied username.
-
getAll
public Set<ConfluenceUser> getAll()
- Specified by:
getAllin interfaceConfluenceUserDao- Returns:
- all the ConfluenceUser
-
findUserKeysByLowerNames
public Map<String,com.atlassian.sal.api.user.UserKey> findUserKeysByLowerNames(Iterable<String> names)
Description copied from interface:ConfluenceUserDaoBulk operation to find user key corresponding to lowercase name.- Specified by:
findUserKeysByLowerNamesin interfaceConfluenceUserDao- Returns:
- map of lowercase name by user key
-
findLowerNamesByKeys
public Map<com.atlassian.sal.api.user.UserKey,String> findLowerNamesByKeys(Iterable<com.atlassian.sal.api.user.UserKey> keys)
Description copied from interface:ConfluenceUserDaoBulk operation to find lowercase name corresponding to user key.- Specified by:
findLowerNamesByKeysin interfaceConfluenceUserDao- Returns:
- map of user key by lowercase name
-
isDeletedUser
public boolean isDeletedUser(ConfluenceUser user)
Description copied from interface:ConfluenceUserDaoCheck whether or not a user has been deleted completely from the application. This means the user has a known mapping and no backing user and they have been remapped such that their username is equal to their user key.- Specified by:
isDeletedUserin interfaceConfluenceUserDao- Returns:
- true if the user has a known mapping, no backing user, and a username equal to their user key, false otherwise (even if the user doesn't exist)
-
isUnsyncedUser
public boolean isUnsyncedUser(ConfluenceUser user)
Description copied from interface:ConfluenceUserDaoCheck whether or not a user exists in the application as unsynced. This means that the user's account might have been disconnected from one or more user directories. The user has a known mapping and no backing user, but has not been fully deleted (per the definition ofConfluenceUserDao.isDeletedUser(ConfluenceUser)). This may include users who have technically been removed through Confluence prior to 6.13.0.- Specified by:
isUnsyncedUserin interfaceConfluenceUserDao- Returns:
- true if the user hasn't been deleted but has a known mapping and no backing user, false otherwise (even if the user doesn't exist)
-
searchUnsyncedUsers
public List<ConfluenceUser> searchUnsyncedUsers(String searchParam)
Description copied from interface:ConfluenceUserDaoSearch all unsynced users, whose account has been disconnected from an external directory, i.e. a user who has a known mapping but no backing user, but who has not yet been deleted from the application.- Specified by:
searchUnsyncedUsersin interfaceConfluenceUserDao- Parameters:
searchParam- the username parameter to search by- Returns:
- a list of lowercase usernames
-
countUnsyncedUsers
public int countUnsyncedUsers()
Description copied from interface:ConfluenceUserDaoGet a count of all unsynced users in Confluence. An unsynced user is a user that was managed in an external directory but has since been removed from the directory without being deleted in Confluence.- Specified by:
countUnsyncedUsersin interfaceConfluenceUserDao- Returns:
- the total number of all unsynced users.
-
findByKeys
public Map<com.atlassian.sal.api.user.UserKey,Optional<ConfluenceUser>> findByKeys(Set<com.atlassian.sal.api.user.UserKey> userkeys)
Description copied from interface:ConfluenceUserDaoPerforms a bulk lookup of multipleConfluenceUsers.- Specified by:
findByKeysin interfaceConfluenceUserDao- Parameters:
userkeys- The set ofUserKeys- Returns:
- A
MapofUserKeys toOptionalConfluenceUsers. EveryUserKeypresent in the userkeys parameter will have an entry in this map.
-
findConfluenceUsersByLowerNames
public List<ConfluenceUser> findConfluenceUsersByLowerNames(Iterable<String> lowerNames)
Description copied from interface:ConfluenceUserDaoFind allConfluenceUserwhich have the given lowerNames.- Specified by:
findConfluenceUsersByLowerNamesin interfaceConfluenceUserDao- Parameters:
lowerNames- the lower names to match against a ConfluenceUser.- Returns:
- a list of confluence users which have the given lowerNames.
-
getAllUserKeys
public List<com.atlassian.sal.api.user.UserKey> getAllUserKeys()
Description copied from interface:ConfluenceUserDaoCurrently for testing purpose only- Specified by:
getAllUserKeysin interfaceConfluenceUserDao- Returns:
- all user keys
-
-