public class IndexedUserDao extends Object
| Constructor and Description |
|---|
IndexedUserDao(ExtendedUserDao dao,
UserIndexer indexer,
CrowdQueryTranslator translator,
ClusterMessagingService clusterMessagingService,
OfBizTransactionManager ofBizTransactionManager,
int maxBatchSize,
com.atlassian.event.api.EventPublisher eventPublisher,
UserKeyStore userKeyStore) |
| 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) |
protected ExtendedUserDao |
delegate() |
List<OfBizUser> |
findAllByNameOrNull(long directoryId,
Collection<String> userNames) |
com.atlassian.crowd.model.user.TimestampedUser |
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.
|
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 |
onApplicationStarted(JiraStartedEvent event) |
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 user,
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 maxCredentialHistory) |
boolean |
useFullCache() |
boolean |
useInternedUserValues() |
public IndexedUserDao(ExtendedUserDao dao, UserIndexer indexer, CrowdQueryTranslator translator, ClusterMessagingService clusterMessagingService, OfBizTransactionManager ofBizTransactionManager, int maxBatchSize, com.atlassian.event.api.EventPublisher eventPublisher, UserKeyStore userKeyStore)
protected final ExtendedUserDao delegate()
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
add in interface com.atlassian.crowd.embedded.spi.UserDaocom.atlassian.crowd.exception.UserAlreadyExistsExceptionIllegalArgumentExceptioncom.atlassian.crowd.exception.DirectoryNotFoundExceptionpublic 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 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
rename in interface com.atlassian.crowd.embedded.spi.UserDaocom.atlassian.crowd.exception.UserNotFoundExceptioncom.atlassian.crowd.exception.UserAlreadyExistsExceptionIllegalArgumentExceptionpublic com.atlassian.crowd.model.user.User update(com.atlassian.crowd.model.user.User user)
throws com.atlassian.crowd.exception.UserNotFoundException,
IllegalArgumentException
update in interface com.atlassian.crowd.embedded.spi.UserDaocom.atlassian.crowd.exception.UserNotFoundExceptionIllegalArgumentExceptionpublic void remove(com.atlassian.crowd.model.user.User user)
throws com.atlassian.crowd.exception.UserNotFoundException
remove in interface com.atlassian.crowd.embedded.spi.UserDaocom.atlassian.crowd.exception.UserNotFoundExceptionpublic com.atlassian.crowd.util.BatchResult<String> removeAllUsers(long directoryId, Set<String> userNames)
removeAllUsers in interface com.atlassian.crowd.embedded.spi.UserDaopublic <T> List<T> search(long directoryId, com.atlassian.crowd.search.query.entity.EntityQuery<T> query)
search in interface com.atlassian.crowd.embedded.spi.UserDaopublic void flushCache()
ExtendedUserDaoOfBizCacheFlushingManager to ensure caches are being flushed in the right order on XMLRestoreFinishedEventflushCache in interface ExtendedUserDao@EventListener public void onApplicationStarted(JiraStartedEvent event)
public boolean useFullCache()
useFullCache in interface ExtendedUserDaopublic boolean useInternedUserValues()
useInternedUserValues in interface ExtendedUserDaopublic long getUniqueUserCount(Set<Long> directoryIds) throws com.atlassian.crowd.exception.DirectoryNotFoundException
getUniqueUserCount in interface ExtendedUserDaocom.atlassian.crowd.exception.DirectoryNotFoundExceptionpublic 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 com.atlassian.crowd.model.user.TimestampedUser findByName(long directoryId,
String userName)
throws com.atlassian.crowd.exception.UserNotFoundException
findByName in interface com.atlassian.crowd.embedded.spi.UserDaocom.atlassian.crowd.exception.UserNotFoundExceptionpublic com.atlassian.crowd.model.user.TimestampedUser findByExternalId(long directoryId,
String externalId)
throws com.atlassian.crowd.exception.UserNotFoundException
findByExternalId in interface com.atlassian.crowd.embedded.spi.UserDaocom.atlassian.crowd.exception.UserNotFoundExceptionpublic com.atlassian.crowd.model.user.UserWithAttributes findByNameWithAttributes(long directoryId,
String userName)
throws com.atlassian.crowd.exception.UserNotFoundException
findByNameWithAttributes in interface com.atlassian.crowd.embedded.spi.UserDaocom.atlassian.crowd.exception.UserNotFoundExceptionpublic com.atlassian.crowd.embedded.api.PasswordCredential getCredential(long directoryId,
String userName)
throws com.atlassian.crowd.exception.UserNotFoundException
getCredential in interface com.atlassian.crowd.embedded.spi.UserDaocom.atlassian.crowd.exception.UserNotFoundExceptionpublic List<com.atlassian.crowd.embedded.api.PasswordCredential> getCredentialHistory(long directoryId, String userName) throws com.atlassian.crowd.exception.UserNotFoundException
getCredentialHistory in interface com.atlassian.crowd.embedded.spi.UserDaocom.atlassian.crowd.exception.UserNotFoundExceptionpublic 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
updateCredential in interface com.atlassian.crowd.embedded.spi.UserDaocom.atlassian.crowd.exception.UserNotFoundExceptionIllegalArgumentExceptionpublic void removeAttribute(com.atlassian.crowd.model.user.User user,
String attributeName)
throws com.atlassian.crowd.exception.UserNotFoundException
removeAttribute in interface com.atlassian.crowd.embedded.spi.UserDaocom.atlassian.crowd.exception.UserNotFoundExceptionpublic void setAttributeForAllInDirectory(long directoryId,
String attrName,
String attrValue)
setAttributeForAllInDirectory in interface com.atlassian.crowd.embedded.spi.UserDaopublic OfBizUser findOfBizUser(long directoryId, String userName) throws UserNotFoundException
findOfBizUser in interface ExtendedUserDaoUserNotFoundExceptionpublic List<OfBizUser> findAllByNameOrNull(long directoryId, @Nonnull Collection<String> userNames)
findAllByNameOrNull in interface ExtendedUserDao@Nullable public OfBizUser findByNameOrNull(long directoryId, @Nonnull String userName)
ExtendedUserDaofindByNameOrNull in interface ExtendedUserDaodirectoryId - Directory IDuserName - the usernamenull if the user does not existpublic 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.DirectoryNotFoundException@Nullable public OfBizUser findById(long internalUserId)
ExtendedUserDaofindById in interface ExtendedUserDaointernalUserId - the user ID.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 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 storeAttributes(com.atlassian.crowd.model.user.User user,
Map<String,Set<String>> attributes,
boolean updateTimestamp)
throws com.atlassian.crowd.exception.UserNotFoundException
storeAttributes in interface com.atlassian.crowd.embedded.spi.UserDaocom.atlassian.crowd.exception.UserNotFoundExceptionpublic Set<Long> findDirectoryIdsContainingUserName(String username)
findDirectoryIdsContainingUserName in interface com.atlassian.crowd.embedded.spi.UserDaoCopyright © 2002-2022 Atlassian. All Rights Reserved.