com.atlassian.confluence.user.crowd
Class CachedCrowdUserDao
java.lang.Object
com.atlassian.confluence.user.crowd.CachedCrowdUserDao
- All Implemented Interfaces:
- com.atlassian.crowd.embedded.hibernate2.InternalUserDao, com.atlassian.crowd.embedded.spi.UserDao
public class CachedCrowdUserDao
- extends Object
- implements com.atlassian.crowd.embedded.hibernate2.InternalUserDao
A caching decorator for an InternalUserDao.
Constructor Summary |
CachedCrowdUserDao(com.atlassian.crowd.embedded.hibernate2.InternalUserDao delegate,
com.atlassian.cache.CacheFactory cacheFactory)
|
Method Summary |
com.atlassian.crowd.model.user.User |
add(com.atlassian.crowd.model.user.User user,
com.atlassian.crowd.embedded.api.PasswordCredential credential)
|
com.atlassian.crowd.embedded.spi.BatchResult<com.atlassian.crowd.model.user.User> |
addAll(Set<com.atlassian.crowd.model.user.UserTemplateWithCredentialAndAttributes> users)
Removes all the adding users from the cache if they exist and delegates to the addAll method of the delegate DAO. |
com.atlassian.crowd.model.user.TimestampedUser |
findByName(long directoryId,
String userName)
|
Collection<com.atlassian.crowd.model.user.InternalUser> |
findByNames(long directoryId,
Collection<String> userNames)
|
com.atlassian.crowd.model.user.UserWithAttributes |
findByNameWithAttributes(long directoryId,
String userName)
|
com.atlassian.crowd.embedded.api.PasswordCredential |
getCredential(long directoryId,
String userName)
|
List<com.atlassian.crowd.embedded.api.PasswordCredential> |
getCredentialHistory(long directoryId,
String userName)
|
com.atlassian.crowd.model.user.InternalUser |
internalFindByName(long directoryId,
String userName)
|
com.atlassian.crowd.model.user.InternalUser |
internalFindByUser(com.atlassian.crowd.model.user.User user)
|
void |
remove(com.atlassian.crowd.model.user.User user)
|
void |
removeAllUsers(long directoryId)
|
void |
removeAllUsers(long directoryId,
Set<String> userNames)
|
void |
removeAttribute(com.atlassian.crowd.model.user.User user,
String attributeName)
|
com.atlassian.crowd.model.user.User |
rename(com.atlassian.crowd.model.user.User user,
String newName)
|
|
search(long directoryId,
com.atlassian.crowd.search.query.entity.EntityQuery<T> query)
|
void |
storeAttributes(com.atlassian.crowd.model.user.User user,
Map<String,Set<String>> attributes)
|
com.atlassian.crowd.model.user.User |
update(com.atlassian.crowd.model.user.User user)
|
void |
updateCredential(com.atlassian.crowd.model.user.User user,
com.atlassian.crowd.embedded.api.PasswordCredential credential,
int maxCredentialHistory)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
CachedCrowdUserDao
public CachedCrowdUserDao(com.atlassian.crowd.embedded.hibernate2.InternalUserDao delegate,
com.atlassian.cache.CacheFactory cacheFactory)
findByName
public com.atlassian.crowd.model.user.TimestampedUser findByName(long directoryId,
String userName)
throws com.atlassian.crowd.exception.UserNotFoundException
- Specified by:
findByName
in interface com.atlassian.crowd.embedded.spi.UserDao
- Throws:
com.atlassian.crowd.exception.UserNotFoundException
findByNameWithAttributes
public com.atlassian.crowd.model.user.UserWithAttributes findByNameWithAttributes(long directoryId,
String userName)
throws com.atlassian.crowd.exception.UserNotFoundException
- Specified by:
findByNameWithAttributes
in interface com.atlassian.crowd.embedded.spi.UserDao
- Throws:
com.atlassian.crowd.exception.UserNotFoundException
getCredential
public com.atlassian.crowd.embedded.api.PasswordCredential getCredential(long directoryId,
String userName)
throws com.atlassian.crowd.exception.UserNotFoundException
- Specified by:
getCredential
in interface com.atlassian.crowd.embedded.spi.UserDao
- Throws:
com.atlassian.crowd.exception.UserNotFoundException
getCredentialHistory
public List<com.atlassian.crowd.embedded.api.PasswordCredential> getCredentialHistory(long directoryId,
String userName)
throws com.atlassian.crowd.exception.UserNotFoundException
- Specified by:
getCredentialHistory
in interface com.atlassian.crowd.embedded.spi.UserDao
- Throws:
com.atlassian.crowd.exception.UserNotFoundException
addAll
public com.atlassian.crowd.embedded.spi.BatchResult<com.atlassian.crowd.model.user.User> addAll(Set<com.atlassian.crowd.model.user.UserTemplateWithCredentialAndAttributes> users)
- Removes all the adding users from the cache if they exist and delegates to the addAll method of the delegate DAO.
This method will not try and update the cache like
add(User,PasswordCredential)
because:
- We want to delegate to the "addAll" method on the delegate as its the fastest way to add
a large number of users, we can't just delegate to add method
- Unlike the add method, we don't get a reference to the added user so we can't reliably
update the cache, so we just remove it.
- Specified by:
addAll
in interface com.atlassian.crowd.embedded.spi.UserDao
- Parameters:
users
- the users to add
- Returns:
- a BatchResult describing the result
add
public com.atlassian.crowd.model.user.User add(com.atlassian.crowd.model.user.User user,
com.atlassian.crowd.embedded.api.PasswordCredential credential)
throws com.atlassian.crowd.exception.UserAlreadyExistsException,
IllegalArgumentException,
com.atlassian.crowd.exception.DirectoryNotFoundException
- Specified by:
add
in interface com.atlassian.crowd.embedded.spi.UserDao
- Throws:
com.atlassian.crowd.exception.UserAlreadyExistsException
IllegalArgumentException
com.atlassian.crowd.exception.DirectoryNotFoundException
storeAttributes
public void storeAttributes(com.atlassian.crowd.model.user.User user,
Map<String,Set<String>> attributes)
throws com.atlassian.crowd.exception.UserNotFoundException
- Specified by:
storeAttributes
in interface com.atlassian.crowd.embedded.spi.UserDao
- Throws:
com.atlassian.crowd.exception.UserNotFoundException
update
public com.atlassian.crowd.model.user.User update(com.atlassian.crowd.model.user.User user)
throws com.atlassian.crowd.exception.UserNotFoundException,
IllegalArgumentException
- Specified by:
update
in interface com.atlassian.crowd.embedded.spi.UserDao
- Throws:
com.atlassian.crowd.exception.UserNotFoundException
IllegalArgumentException
updateCredential
public void updateCredential(com.atlassian.crowd.model.user.User user,
com.atlassian.crowd.embedded.api.PasswordCredential credential,
int maxCredentialHistory)
throws com.atlassian.crowd.exception.UserNotFoundException,
IllegalArgumentException
- Specified by:
updateCredential
in interface com.atlassian.crowd.embedded.spi.UserDao
- Throws:
com.atlassian.crowd.exception.UserNotFoundException
IllegalArgumentException
rename
public com.atlassian.crowd.model.user.User rename(com.atlassian.crowd.model.user.User user,
String newName)
throws com.atlassian.crowd.exception.UserNotFoundException,
com.atlassian.crowd.exception.UserAlreadyExistsException,
IllegalArgumentException
- Specified by:
rename
in interface com.atlassian.crowd.embedded.spi.UserDao
- Throws:
com.atlassian.crowd.exception.UserNotFoundException
com.atlassian.crowd.exception.UserAlreadyExistsException
IllegalArgumentException
removeAttribute
public void removeAttribute(com.atlassian.crowd.model.user.User user,
String attributeName)
throws com.atlassian.crowd.exception.UserNotFoundException
- Specified by:
removeAttribute
in interface com.atlassian.crowd.embedded.spi.UserDao
- Throws:
com.atlassian.crowd.exception.UserNotFoundException
remove
public void remove(com.atlassian.crowd.model.user.User user)
throws com.atlassian.crowd.exception.UserNotFoundException
- Specified by:
remove
in interface com.atlassian.crowd.embedded.spi.UserDao
- Throws:
com.atlassian.crowd.exception.UserNotFoundException
search
public <T> List<T> search(long directoryId,
com.atlassian.crowd.search.query.entity.EntityQuery<T> query)
- Specified by:
search
in interface com.atlassian.crowd.embedded.spi.UserDao
internalFindByName
public com.atlassian.crowd.model.user.InternalUser internalFindByName(long directoryId,
String userName)
throws com.atlassian.crowd.exception.UserNotFoundException
- Specified by:
internalFindByName
in interface com.atlassian.crowd.embedded.hibernate2.InternalUserDao
- Throws:
com.atlassian.crowd.exception.UserNotFoundException
internalFindByUser
public com.atlassian.crowd.model.user.InternalUser internalFindByUser(com.atlassian.crowd.model.user.User user)
throws com.atlassian.crowd.exception.UserNotFoundException
- Specified by:
internalFindByUser
in interface com.atlassian.crowd.embedded.hibernate2.InternalUserDao
- Throws:
com.atlassian.crowd.exception.UserNotFoundException
removeAllUsers
public void removeAllUsers(long directoryId)
- Specified by:
removeAllUsers
in interface com.atlassian.crowd.embedded.hibernate2.InternalUserDao
findByNames
public Collection<com.atlassian.crowd.model.user.InternalUser> findByNames(long directoryId,
Collection<String> userNames)
- Specified by:
findByNames
in interface com.atlassian.crowd.embedded.hibernate2.InternalUserDao
removeAllUsers
public void removeAllUsers(long directoryId,
Set<String> userNames)
- Specified by:
removeAllUsers
in interface com.atlassian.crowd.embedded.spi.UserDao