@@ -11263,8 +11263,8 @@ public String[] getUserList(Condition condition, String domain, String profileNa
1126311263 if (((AbstractUserStoreManager) secManager).isUniqueUserIdEnabled()) {
1126411264 UniqueIDPaginatedSearchResult users = ((AbstractUserStoreManager) secManager).doGetUserListWithID(condition,
1126511265 profileName, limit, offset, sortBy, sortOrder);
11266- addUsersToUserIdCache (users.getUsers());
11267- addUsersToUserNameCache (users.getUsers());
11266+ addUsersToUserIdCacheOnRead (users.getUsers());
11267+ addUsersToUserNameCacheOnRead (users.getUsers());
1126811268 filteredUsers = users.getUsers().stream().map(User::getUsername).toArray(String[]::new);
1126911269 } else {
1127011270 PaginatedSearchResult users = ((AbstractUserStoreManager) secManager).doGetUserList(condition,
@@ -13910,8 +13910,8 @@ public String getUserIDFromUserName(String userName) throws UserStoreException {
1391013910 log.debug("User is not available in cache or database.");
1391113911 return null;
1391213912 }
13913- addToUserIDCache (userID, userName, userStore);
13914- addToUserNameCache (userID, userName, userStore);
13913+ addToUserIDCacheOnRead (userID, userName, userStore);
13914+ addToUserNameCacheOnRead (userID, userName, userStore);
1391513915 return userID;
1391613916 }
1391713917
@@ -13920,8 +13920,8 @@ public String getUserIDFromUserName(String userName) throws UserStoreException {
1392013920 userStore.getDomainName(), null);
1392113921 if (claims != null && claims.size() == 1) {
1392213922 userID = claims.get(USER_ID_CLAIM_URI);
13923- addToUserIDCache (userID, userName, userStore);
13924- addToUserNameCache (userID, userName, userStore);
13923+ addToUserIDCacheOnRead (userID, userName, userStore);
13924+ addToUserNameCacheOnRead (userID, userName, userStore);
1392513925 return userID;
1392613926 }
1392713927 }
@@ -14014,8 +14014,8 @@ private String getUserNameFromCurrentUserStore(String userID, UserStore userStor
1401414014 }
1401514015 return null;
1401614016 }
14017- addToUserNameCache (userID, userName, userStore);
14018- addToUserIDCache (userID, userName, userStore);
14017+ addToUserNameCacheOnRead (userID, userName, userStore);
14018+ addToUserIDCacheOnRead (userID, userName, userStore);
1401914019 }
1402014020 return UserCoreUtil.addDomainToName(userName, userStore.getDomainName());
1402114021 }
@@ -14055,13 +14055,27 @@ private String getFromUserIDCache(String userName, UserStore userStore) {
1405514055
1405614056 private void addToUserIDCache(String userID, String userName, UserStore userStore) {
1405714057
14058+ UserIdResolverCache.getInstance()
14059+ .addToCache(UserCoreUtil.addDomainToName(userName, userStore.getDomainName()), userID,
14060+ RESOLVE_USER_ID_FROM_USER_NAME_CACHE_NAME, tenantId);
14061+ }
14062+
14063+ private void addToUserIDCacheOnRead(String userID, String userName, UserStore userStore) {
14064+
1405814065 UserIdResolverCache.getInstance()
1405914066 .addToCacheOnRead(UserCoreUtil.addDomainToName(userName, userStore.getDomainName()), userID,
1406014067 RESOLVE_USER_ID_FROM_USER_NAME_CACHE_NAME, tenantId);
1406114068 }
1406214069
1406314070 private void addToUserNameCache(String userID, String userName, UserStore userStore) {
1406414071
14072+ UserIdResolverCache.getInstance()
14073+ .addToCache(userID, UserCoreUtil.addDomainToName(userName, userStore.getDomainName()),
14074+ RESOLVE_USER_NAME_FROM_USER_ID_CACHE_NAME, tenantId);
14075+ }
14076+
14077+ private void addToUserNameCacheOnRead(String userID, String userName, UserStore userStore) {
14078+
1406514079 UserIdResolverCache.getInstance()
1406614080 .addToCacheOnRead(userID, UserCoreUtil.addDomainToName(userName, userStore.getDomainName()),
1406714081 RESOLVE_USER_NAME_FROM_USER_ID_CACHE_NAME, tenantId);
@@ -14082,6 +14096,16 @@ private void clearUserIDResolverCache(String userID, String userName, UserStore
1408214096
1408314097 private void addUsersToUserIdCache(List<User> userList) {
1408414098
14099+ UserIdResolverCache userIdResolverCacheInstance = UserIdResolverCache.getInstance();
14100+ for (User user : userList) {
14101+ userIdResolverCacheInstance.addToCache(
14102+ UserCoreUtil.addDomainToName(user.getUsername(), user.getUserStoreDomain()), user.getUserID(),
14103+ RESOLVE_USER_ID_FROM_USER_NAME_CACHE_NAME, tenantId);
14104+ }
14105+ }
14106+
14107+ private void addUsersToUserIdCacheOnRead(List<User> userList) {
14108+
1408514109 UserIdResolverCache userIdResolverCacheInstance = UserIdResolverCache.getInstance();
1408614110 for (User user : userList) {
1408714111 userIdResolverCacheInstance.addToCacheOnRead(
@@ -14092,6 +14116,16 @@ private void addUsersToUserIdCache(List<User> userList) {
1409214116
1409314117 private void addUsersToUserNameCache(List<User> userList) {
1409414118
14119+ UserIdResolverCache userIdResolverCacheInstance = UserIdResolverCache.getInstance();
14120+ for (User user : userList) {
14121+ userIdResolverCacheInstance.addToCache(
14122+ user.getUserID(), UserCoreUtil.addDomainToName(user.getUsername(), user.getUserStoreDomain()),
14123+ RESOLVE_USER_NAME_FROM_USER_ID_CACHE_NAME, tenantId);
14124+ }
14125+ }
14126+
14127+ private void addUsersToUserNameCacheOnRead(List<User> userList) {
14128+
1409514129 UserIdResolverCache userIdResolverCacheInstance = UserIdResolverCache.getInstance();
1409614130 for (User user : userList) {
1409714131 userIdResolverCacheInstance.addToCacheOnRead(
@@ -17210,8 +17244,8 @@ private List<User> getFilteredUsers(Condition condition, String profileName, int
1721017244 if (isUniqueUserIdEnabled(secManager)) {
1721117245 UniqueIDPaginatedSearchResult users = ((AbstractUserStoreManager) secManager)
1721217246 .doGetUserListWithID(condition, profileName, limit, offset, sortBy, sortOrder);
17213- addUsersToUserIdCache (users.getUsers());
17214- addUsersToUserNameCache (users.getUsers());
17247+ addUsersToUserIdCacheOnRead (users.getUsers());
17248+ addUsersToUserNameCacheOnRead (users.getUsers());
1721517249 filteredUsers = users.getUsers();
1721617250 } else {
1721717251 PaginatedSearchResult users = ((AbstractUserStoreManager) secManager)
@@ -18468,8 +18502,8 @@ public List<User> getUserListOfGroup(String groupID, int limit, int offset, Stri
1846818502 UniqueIDPaginatedSearchResult users = this.doGetUserListWithID(condition,
1846918503 UserCoreConstants.PRIMARY_DEFAULT_DOMAIN_NAME, resolveUserListLimit(limit), offset,
1847018504 sortBy, sortOrder);
18471- addUsersToUserIdCache (users.getUsers());
18472- addUsersToUserNameCache (users.getUsers());
18505+ addUsersToUserIdCacheOnRead (users.getUsers());
18506+ addUsersToUserNameCacheOnRead (users.getUsers());
1847318507 filteredUsers = users.getUsers();
1847418508 } else {
1847518509 PaginatedSearchResult users = this.doGetUserList(condition, UserCoreConstants.PRIMARY_DEFAULT_DOMAIN_NAME,
0 commit comments