public class OfBizUserDao extends Object implements ExtendedUserDao
| Constructor and Description |
|---|
OfBizUserDao(OfBizDelegator ofBizDelegator,
com.atlassian.crowd.embedded.spi.DirectoryDao directoryDao,
InternalMembershipDao membershipDao,
UserKeyStore userKeyStore,
UserDeleteVeto userDeleteVeto,
com.atlassian.cache.CacheManager cacheManager,
com.atlassian.beehive.ClusterLockService clusterLockService,
ApplicationProperties applicationProperties,
OfBizTransactionManager ofBizTransactionManager,
DatabaseConfigurationManager databaseConfigurationManager,
com.atlassian.event.api.EventPublisher eventPublisher,
boolean primaryUserDao) |
| Modifier and Type | Method and Description |
|---|---|
com.atlassian.crowd.model.user.User |
add(com.atlassian.crowd.model.user.User user,
com.atlassian.crowd.embedded.api.PasswordCredential credential) |
com.atlassian.crowd.util.BatchResult<com.atlassian.crowd.model.user.User> |
addAll(Set<com.atlassian.crowd.model.user.UserTemplateWithCredentialAndAttributes> users) |
List<OfBizUser> |
findAllByNameOrNull(long directoryId,
Collection<String> userNames) |
OfBizUser |
findByExternalId(long directoryId,
String externalId) |
Map<String,String> |
findByExternalIds(long directoryId,
Set<String> externalIds) |
OfBizUser |
findById(long internalUserId)
Finds a user by internal user ID.
|
List<OfBizUser> |
findByLoginInDb(String username) |
com.atlassian.crowd.model.user.TimestampedUser |
findByName(long directoryId,
String userName) |
OfBizUser |
findByNameOrNull(long directoryId,
String userName)
Tries to find the user by name and returns null if not found.
|
com.atlassian.crowd.model.user.UserWithAttributes |
findByNameWithAttributes(long directoryId,
String userName) |
Set<Long> |
findDirectoryIdsContainingUserName(String username) |
Collection<String> |
findNamesOfUsersInGroups(Collection<String> groupNames)
Returns the lower-cased names of all users in the specified groups.
|
OfBizUser |
findOfBizUser(long directoryId,
String userName) |
void |
flushCache()
Invoked by
OfBizCacheFlushingManager to ensure caches are being flushed in the right order on XMLRestoreFinishedEvent |
Collection<String> |
getAllAttributeKeys() |
Set<String> |
getAllExternalIds(long directoryId) |
com.atlassian.crowd.embedded.api.PasswordCredential |
getCredential(long directoryId,
String userName) |
List<com.atlassian.crowd.embedded.api.PasswordCredential> |
getCredentialHistory(long directoryId,
String userName) |
long |
getUniqueUserCount(Set<Long> directoryIds) |
long |
getUserCount(long directoryId) |
boolean |
isDeletedExternally(long internalUserId)
Checks if user (identified by internal user ID) has been deleted from external user directory.
|
boolean |
isDeletedExternally(long directoryId,
String userName)
Checks if user (identified by directory ID and user name) has been deleted from external user directory.
|
void |
onBeforeUserAuthenticate(BeforeUserAuthenticate beforeUserAuthenticate) |
void |
processUsers(java.util.function.Consumer<? super com.atlassian.crowd.model.user.User> userProcessor)
Performs an operation on every user in the system.
|
void |
remove(com.atlassian.crowd.model.user.User user) |
com.atlassian.crowd.util.BatchResult<String> |
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 oldUser,
String newName) |
<T> List<T> |
search(long directoryId,
com.atlassian.crowd.search.query.entity.EntityQuery<T> query) |
void |
setAttributeForAllInDirectory(long directoryId,
String attrName,
String attrValue) |
void |
storeAttributes(com.atlassian.crowd.model.user.User user,
Map<String,Set<String>> attributes,
boolean updateTimestamp) |
com.atlassian.crowd.model.user.User |
update(com.atlassian.crowd.model.user.User user) |
com.atlassian.crowd.model.user.User |
update(com.atlassian.crowd.model.user.User user,
boolean useJiraExtensions)
Updates user, for detailed description see
UserDao.update(com.atlassian.crowd.model.user.User). |
void |
updateCredential(com.atlassian.crowd.model.user.User user,
com.atlassian.crowd.embedded.api.PasswordCredential credential,
int credentialHistory) |
protected void |
updateGroupMembership(long directoryId,
String oldName,
String newName) |
boolean |
useFullCache() |
boolean |
useInternedUserValues() |
public OfBizUserDao(OfBizDelegator ofBizDelegator, com.atlassian.crowd.embedded.spi.DirectoryDao directoryDao, InternalMembershipDao membershipDao, UserKeyStore userKeyStore, UserDeleteVeto userDeleteVeto, com.atlassian.cache.CacheManager cacheManager, com.atlassian.beehive.ClusterLockService clusterLockService, ApplicationProperties applicationProperties, OfBizTransactionManager ofBizTransactionManager, DatabaseConfigurationManager databaseConfigurationManager, com.atlassian.event.api.EventPublisher eventPublisher, boolean primaryUserDao)
@EventListener public void onBeforeUserAuthenticate(BeforeUserAuthenticate beforeUserAuthenticate)
public boolean useFullCache()
useFullCache in interface ExtendedUserDaopublic boolean useInternedUserValues()
useInternedUserValues in interface ExtendedUserDao@Nonnull public com.atlassian.crowd.model.user.TimestampedUser findByName(long directoryId, String userName) throws UserNotFoundException
findByName in interface com.atlassian.crowd.embedded.spi.UserDaoUserNotFoundException@Nonnull public OfBizUser findOfBizUser(long directoryId, String userName) throws UserNotFoundException
findOfBizUser in interface ExtendedUserDaoUserNotFoundException@Nullable public OfBizUser findByNameOrNull(long directoryId, @Nonnull String userName)
findByNameOrNull in interface ExtendedUserDaodirectoryId - Directory IDuserName - the usernamenull if the user does not exist@Nonnull public List<OfBizUser> findAllByNameOrNull(long directoryId, @Nonnull Collection<String> userNames)
findAllByNameOrNull in interface ExtendedUserDao@Nonnull public Set<Long> findDirectoryIdsContainingUserName(String username)
findDirectoryIdsContainingUserName in interface com.atlassian.crowd.embedded.spi.UserDao@Nonnull public Map<String,String> findByExternalIds(long directoryId, Set<String> externalIds)
findByExternalIds in interface com.atlassian.crowd.embedded.spi.UserDao@Nonnull public OfBizUser findByExternalId(long directoryId, String externalId) throws UserNotFoundException
findByExternalId in interface com.atlassian.crowd.embedded.spi.UserDaoUserNotFoundException@Nullable public OfBizUser findById(long internalUserId)
ExtendedUserDaofindById in interface ExtendedUserDaointernalUserId - the user ID.@Nonnull public com.atlassian.crowd.model.user.UserWithAttributes findByNameWithAttributes(long directoryId, String userName) throws UserNotFoundException
findByNameWithAttributes in interface com.atlassian.crowd.embedded.spi.UserDaoUserNotFoundException@Nullable public com.atlassian.crowd.embedded.api.PasswordCredential getCredential(long directoryId, String userName) throws UserNotFoundException
getCredential in interface com.atlassian.crowd.embedded.spi.UserDaoUserNotFoundExceptionpublic List<com.atlassian.crowd.embedded.api.PasswordCredential> getCredentialHistory(long directoryId, String userName) throws UserNotFoundException
getCredentialHistory in interface com.atlassian.crowd.embedded.spi.UserDaoUserNotFoundExceptionpublic 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
add in interface com.atlassian.crowd.embedded.spi.UserDaocom.atlassian.crowd.exception.UserAlreadyExistsException@Nonnull public com.atlassian.crowd.util.BatchResult<com.atlassian.crowd.model.user.User> addAll(Set<com.atlassian.crowd.model.user.UserTemplateWithCredentialAndAttributes> users)
addAll in interface com.atlassian.crowd.embedded.spi.UserDaopublic void storeAttributes(com.atlassian.crowd.model.user.User user,
Map<String,Set<String>> attributes,
boolean updateTimestamp)
throws UserNotFoundException
storeAttributes in interface com.atlassian.crowd.embedded.spi.UserDaoUserNotFoundExceptionpublic void setAttributeForAllInDirectory(long directoryId,
String attrName,
String attrValue)
setAttributeForAllInDirectory in interface com.atlassian.crowd.embedded.spi.UserDaopublic com.atlassian.crowd.model.user.User update(com.atlassian.crowd.model.user.User user)
throws UserNotFoundException
update in interface com.atlassian.crowd.embedded.spi.UserDaoUserNotFoundExceptionpublic com.atlassian.crowd.model.user.User update(com.atlassian.crowd.model.user.User user,
boolean useJiraExtensions)
throws UserNotFoundException
ExtendedUserDaoUserDao.update(com.atlassian.crowd.model.user.User).update in interface ExtendedUserDaouser - the user details, which should have the same name as the user to modifyuseJiraExtensions - Whether jira extensions should be run.
Currently only extension is that when externally deleted user is updated (inactive and flagged)
"externally deleted" flag is cleared and user is made active.UserNotFoundException - if there is no user with the same name (case-insensitive) and directory as the
user providedUserDao.update(com.atlassian.crowd.model.user.User)public void updateCredential(com.atlassian.crowd.model.user.User user,
com.atlassian.crowd.embedded.api.PasswordCredential credential,
int credentialHistory)
throws UserNotFoundException
updateCredential in interface com.atlassian.crowd.embedded.spi.UserDaoUserNotFoundExceptionpublic com.atlassian.crowd.model.user.User rename(com.atlassian.crowd.model.user.User oldUser,
String newName)
throws UserNotFoundException
rename in interface com.atlassian.crowd.embedded.spi.UserDaoUserNotFoundExceptionprotected void updateGroupMembership(long directoryId,
String oldName,
String newName)
public com.atlassian.crowd.util.BatchResult<String> removeAllUsers(long directoryId, Set<String> userNames)
removeAllUsers in interface com.atlassian.crowd.embedded.spi.UserDaopublic Set<String> getAllExternalIds(long directoryId) throws com.atlassian.crowd.exception.DirectoryNotFoundException
getAllExternalIds in interface com.atlassian.crowd.embedded.spi.UserDaocom.atlassian.crowd.exception.DirectoryNotFoundExceptionpublic long getUserCount(long directoryId)
throws com.atlassian.crowd.exception.DirectoryNotFoundException
getUserCount in interface com.atlassian.crowd.embedded.spi.UserDaocom.atlassian.crowd.exception.DirectoryNotFoundExceptionpublic long getUniqueUserCount(Set<Long> directoryIds) throws com.atlassian.crowd.exception.DirectoryNotFoundException
getUniqueUserCount in interface ExtendedUserDaocom.atlassian.crowd.exception.DirectoryNotFoundExceptionpublic void removeAttribute(com.atlassian.crowd.model.user.User user,
String attributeName)
throws UserNotFoundException
removeAttribute in interface com.atlassian.crowd.embedded.spi.UserDaoUserNotFoundExceptionpublic void remove(com.atlassian.crowd.model.user.User user)
throws UserNotFoundException
remove in interface com.atlassian.crowd.embedded.spi.UserDaoUserNotFoundExceptionpublic <T> List<T> search(long directoryId, com.atlassian.crowd.search.query.entity.EntityQuery<T> query)
search in interface com.atlassian.crowd.embedded.spi.UserDaopublic Collection<String> findNamesOfUsersInGroups(Collection<String> groupNames)
ExtendedUserDaofindNamesOfUsersInGroups in interface ExtendedUserDaogroupNames - the names of the groups to search.public Collection<String> getAllAttributeKeys()
getAllAttributeKeys in interface ExtendedUserDaopublic void processUsers(java.util.function.Consumer<? super com.atlassian.crowd.model.user.User> userProcessor)
ExtendedUserDaoThis can be a time-consuming operation on JIRA instances that contain many users. It is recommended to use one of the search methods where possible.
This method performs a live iteration over a database result set. Care must be taken if additional database
operations are performed within the userProcessor consumer.
processUsers in interface ExtendedUserDaouserProcessor - the operation to perform on each user.public boolean isDeletedExternally(long internalUserId)
ExtendedUserDaoisDeletedExternally in interface ExtendedUserDaointernalUserId - the user ID.public boolean isDeletedExternally(long directoryId,
@Nonnull
String userName)
ExtendedUserDaoisDeletedExternally in interface ExtendedUserDaodirectoryId - Directory IDuserName - the usernamepublic void flushCache()
ExtendedUserDaoOfBizCacheFlushingManager to ensure caches are being flushed in the right order on XMLRestoreFinishedEventflushCache in interface ExtendedUserDaoCopyright © 2002-2023 Atlassian. All Rights Reserved.