From fac59a22c9d82d1143c032dbeb3a30de393e1a2a Mon Sep 17 00:00:00 2001 From: BojithaPiyathilake Date: Thu, 26 May 2022 13:14:19 +0530 Subject: [PATCH 1/4] Adjusting pre and post listeners for get user with ID --- .../event/IdentityEventConstants.java | 2 + .../IdentityUserIdResolverListener.java | 49 +++++++++++++++++++ .../IdentityUserNameResolverListener.java | 45 +++++++++++++++++ 3 files changed, 96 insertions(+) diff --git a/components/identity-event/org.wso2.carbon.identity.event/src/main/java/org/wso2/carbon/identity/event/IdentityEventConstants.java b/components/identity-event/org.wso2.carbon.identity.event/src/main/java/org/wso2/carbon/identity/event/IdentityEventConstants.java index c7ae6523fe1b..c57182def0c8 100644 --- a/components/identity-event/org.wso2.carbon.identity.event/src/main/java/org/wso2/carbon/identity/event/IdentityEventConstants.java +++ b/components/identity-event/org.wso2.carbon.identity.event/src/main/java/org/wso2/carbon/identity/event/IdentityEventConstants.java @@ -296,6 +296,8 @@ private EventProperty(){} public static final String LIMIT = "LIMIT"; public static final String AUTHENTICATION_RESULT = "AUTHENTICATION_RESULT"; public static final String OFFSET = "OFFSET"; + public static final String CURSOR = "CURSOR"; + public static final String DIRECTION = "DIRECTION"; public static final String SORT_BY = "SORT_BY"; public static final String SORT_ORDER = "SORT_ORDER"; public static final String USER = "USER"; diff --git a/components/identity-mgt/org.wso2.carbon.identity.mgt/src/main/java/org/wso2/carbon/identity/mgt/listener/IdentityUserIdResolverListener.java b/components/identity-mgt/org.wso2.carbon.identity.mgt/src/main/java/org/wso2/carbon/identity/mgt/listener/IdentityUserIdResolverListener.java index 00051cb369c7..1e36205db6b7 100644 --- a/components/identity-mgt/org.wso2.carbon.identity.mgt/src/main/java/org/wso2/carbon/identity/mgt/listener/IdentityUserIdResolverListener.java +++ b/components/identity-mgt/org.wso2.carbon.identity.mgt/src/main/java/org/wso2/carbon/identity/mgt/listener/IdentityUserIdResolverListener.java @@ -1049,6 +1049,29 @@ public boolean doPreGetUserList(Condition condition, String domain, String profi return true; } + @Override + public boolean doPreGetUserList(Condition condition, String domain, String profileName, int limit, String cursor, + String direction, String sortBy, String sortOrder, + UserStoreManager userStoreManager) + throws UserStoreException { + + if (!isEnable()) { + return true; + } + + for (UserOperationEventListener listener : getUserStoreManagerListeners()) { + if (isNotAResolverListener(listener)) { + if (!((UniqueIDUserOperationEventListener) listener) + .doPreGetUserListWithID(condition, domain, profileName, limit, cursor, direction, sortBy, + sortOrder, userStoreManager)) { + return false; + } + } + } + + return true; + } + @Override public boolean doPreGetUserList(String claimUri, String claimValue, int limit, int offset, List returnUserNameList, UserStoreManager userStoreManager) @@ -1144,6 +1167,32 @@ public boolean doPostGetUserList(Condition condition, String domain, String prof return true; } + @Override + public boolean doPostGetUserList(Condition condition, String domain, String profileName, int limit, String cursor, + String direction, String sortBy, String sortOrder, String[] returnUserNameList, + UserStoreManager userStoreManager) + throws UserStoreException { + + if (!isEnable()) { + return true; + } + + List returnUsersList = getUsersFromNames((AbstractUserStoreManager) userStoreManager, + Arrays.asList(returnUserNameList)); + + for (UserOperationEventListener listener : getUserStoreManagerListeners()) { + if (isNotAResolverListener(listener)) { + if (!((UniqueIDUserOperationEventListener) listener) + .doPostGetUserListWithID(condition, domain, profileName, limit, cursor, direction, sortBy, + sortOrder, returnUsersList, userStoreManager)) { + return false; + } + } + } + + return true; + } + private List getUsersFromNames(AbstractUserStoreManager userStoreManager, List userList) throws UserStoreException { diff --git a/components/identity-mgt/org.wso2.carbon.identity.mgt/src/main/java/org/wso2/carbon/identity/mgt/listener/IdentityUserNameResolverListener.java b/components/identity-mgt/org.wso2.carbon.identity.mgt/src/main/java/org/wso2/carbon/identity/mgt/listener/IdentityUserNameResolverListener.java index d11de3b5e4ef..ec1416f08124 100644 --- a/components/identity-mgt/org.wso2.carbon.identity.mgt/src/main/java/org/wso2/carbon/identity/mgt/listener/IdentityUserNameResolverListener.java +++ b/components/identity-mgt/org.wso2.carbon.identity.mgt/src/main/java/org/wso2/carbon/identity/mgt/listener/IdentityUserNameResolverListener.java @@ -1058,6 +1058,27 @@ public boolean doPreGetUserListWithID(Condition condition, String domain, String return true; } + @Override + public boolean doPreGetUserListWithID(Condition condition, String domain, String profileName, int limit, + String cursor, String direction, String sortBy, String sortOrder, + UserStoreManager userStoreManager) throws UserStoreException { + + if (!isEnable()) { + return true; + } + + for (UserOperationEventListener listener : getUserStoreManagerListeners()) { + if (isNotAResolverListener(listener)) { + if (!listener.doPreGetUserList(condition, domain, profileName, limit, cursor, direction, sortBy, + sortOrder, userStoreManager)) { + return false; + } + } + } + + return true; + } + @Override public boolean doPostGetUserListWithID(Condition condition, String domain, String profileName, int limit, int offset, String sortBy, String sortOrder, List users, @@ -1082,6 +1103,30 @@ public boolean doPostGetUserListWithID(Condition condition, String domain, Strin return true; } + @Override + public boolean doPostGetUserListWithID(Condition condition, String domain, String profileName, int limit, + String cursor, String direction, String sortBy, String sortOrder, + List users, UserStoreManager userStoreManager) + throws UserStoreException { + + if (!isEnable()) { + return true; + } + + List userNamesList = users.stream().map(User::getUsername).collect(Collectors.toList()); + String[] userNames = userNamesList.toArray(new String[0]); + + for (UserOperationEventListener listener : getUserStoreManagerListeners()) { + if (isNotAResolverListener(listener)) { + return listener + .doPostGetUserList(condition, domain, profileName, limit, cursor, direction, sortBy, sortOrder, + userNames, userStoreManager); + } + } + + return true; + } + @Override public boolean doPostGetUserListOfRoleWithID(String roleName, List userList, UserStoreManager userStoreManager) throws UserStoreException { From 6c4819ee29dae7b7fd3395d7a1e476ad7e9f983c Mon Sep 17 00:00:00 2001 From: BojithaPiyathilake Date: Mon, 6 Jun 2022 18:23:52 +0530 Subject: [PATCH 2/4] formatting changes from the code review --- .../mgt/listener/IdentityUserIdResolverListener.java | 5 ----- .../mgt/listener/IdentityUserNameResolverListener.java | 5 ----- 2 files changed, 10 deletions(-) diff --git a/components/identity-mgt/org.wso2.carbon.identity.mgt/src/main/java/org/wso2/carbon/identity/mgt/listener/IdentityUserIdResolverListener.java b/components/identity-mgt/org.wso2.carbon.identity.mgt/src/main/java/org/wso2/carbon/identity/mgt/listener/IdentityUserIdResolverListener.java index 1e36205db6b7..d7d7ec05548c 100644 --- a/components/identity-mgt/org.wso2.carbon.identity.mgt/src/main/java/org/wso2/carbon/identity/mgt/listener/IdentityUserIdResolverListener.java +++ b/components/identity-mgt/org.wso2.carbon.identity.mgt/src/main/java/org/wso2/carbon/identity/mgt/listener/IdentityUserIdResolverListener.java @@ -1058,7 +1058,6 @@ public boolean doPreGetUserList(Condition condition, String domain, String profi if (!isEnable()) { return true; } - for (UserOperationEventListener listener : getUserStoreManagerListeners()) { if (isNotAResolverListener(listener)) { if (!((UniqueIDUserOperationEventListener) listener) @@ -1068,7 +1067,6 @@ public boolean doPreGetUserList(Condition condition, String domain, String profi } } } - return true; } @@ -1176,10 +1174,8 @@ public boolean doPostGetUserList(Condition condition, String domain, String prof if (!isEnable()) { return true; } - List returnUsersList = getUsersFromNames((AbstractUserStoreManager) userStoreManager, Arrays.asList(returnUserNameList)); - for (UserOperationEventListener listener : getUserStoreManagerListeners()) { if (isNotAResolverListener(listener)) { if (!((UniqueIDUserOperationEventListener) listener) @@ -1189,7 +1185,6 @@ public boolean doPostGetUserList(Condition condition, String domain, String prof } } } - return true; } diff --git a/components/identity-mgt/org.wso2.carbon.identity.mgt/src/main/java/org/wso2/carbon/identity/mgt/listener/IdentityUserNameResolverListener.java b/components/identity-mgt/org.wso2.carbon.identity.mgt/src/main/java/org/wso2/carbon/identity/mgt/listener/IdentityUserNameResolverListener.java index ec1416f08124..5b90309a05c2 100644 --- a/components/identity-mgt/org.wso2.carbon.identity.mgt/src/main/java/org/wso2/carbon/identity/mgt/listener/IdentityUserNameResolverListener.java +++ b/components/identity-mgt/org.wso2.carbon.identity.mgt/src/main/java/org/wso2/carbon/identity/mgt/listener/IdentityUserNameResolverListener.java @@ -1066,7 +1066,6 @@ public boolean doPreGetUserListWithID(Condition condition, String domain, String if (!isEnable()) { return true; } - for (UserOperationEventListener listener : getUserStoreManagerListeners()) { if (isNotAResolverListener(listener)) { if (!listener.doPreGetUserList(condition, domain, profileName, limit, cursor, direction, sortBy, @@ -1075,7 +1074,6 @@ public boolean doPreGetUserListWithID(Condition condition, String domain, String } } } - return true; } @@ -1112,10 +1110,8 @@ public boolean doPostGetUserListWithID(Condition condition, String domain, Strin if (!isEnable()) { return true; } - List userNamesList = users.stream().map(User::getUsername).collect(Collectors.toList()); String[] userNames = userNamesList.toArray(new String[0]); - for (UserOperationEventListener listener : getUserStoreManagerListeners()) { if (isNotAResolverListener(listener)) { return listener @@ -1123,7 +1119,6 @@ public boolean doPostGetUserListWithID(Condition condition, String domain, Strin userNames, userStoreManager); } } - return true; } From 60cc94d64a95ae0933cc2ad55257fcdac6232ad9 Mon Sep 17 00:00:00 2001 From: BojithaPiyathilake Date: Fri, 8 Jul 2022 21:11:58 +0530 Subject: [PATCH 3/4] Changing the direction type to an enum --- .../mgt/listener/IdentityUserIdResolverListener.java | 6 +++--- .../mgt/listener/IdentityUserNameResolverListener.java | 9 +++++---- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/components/identity-mgt/org.wso2.carbon.identity.mgt/src/main/java/org/wso2/carbon/identity/mgt/listener/IdentityUserIdResolverListener.java b/components/identity-mgt/org.wso2.carbon.identity.mgt/src/main/java/org/wso2/carbon/identity/mgt/listener/IdentityUserIdResolverListener.java index d7d7ec05548c..eb5de931caa7 100644 --- a/components/identity-mgt/org.wso2.carbon.identity.mgt/src/main/java/org/wso2/carbon/identity/mgt/listener/IdentityUserIdResolverListener.java +++ b/components/identity-mgt/org.wso2.carbon.identity.mgt/src/main/java/org/wso2/carbon/identity/mgt/listener/IdentityUserIdResolverListener.java @@ -1051,7 +1051,7 @@ public boolean doPreGetUserList(Condition condition, String domain, String profi @Override public boolean doPreGetUserList(Condition condition, String domain, String profileName, int limit, String cursor, - String direction, String sortBy, String sortOrder, + UserCoreConstants.PaginationDirection direction, String sortBy, String sortOrder, UserStoreManager userStoreManager) throws UserStoreException { @@ -1167,8 +1167,8 @@ public boolean doPostGetUserList(Condition condition, String domain, String prof @Override public boolean doPostGetUserList(Condition condition, String domain, String profileName, int limit, String cursor, - String direction, String sortBy, String sortOrder, String[] returnUserNameList, - UserStoreManager userStoreManager) + UserCoreConstants.PaginationDirection direction, String sortBy, String sortOrder, + String[] returnUserNameList, UserStoreManager userStoreManager) throws UserStoreException { if (!isEnable()) { diff --git a/components/identity-mgt/org.wso2.carbon.identity.mgt/src/main/java/org/wso2/carbon/identity/mgt/listener/IdentityUserNameResolverListener.java b/components/identity-mgt/org.wso2.carbon.identity.mgt/src/main/java/org/wso2/carbon/identity/mgt/listener/IdentityUserNameResolverListener.java index 5b90309a05c2..04aef7090a29 100644 --- a/components/identity-mgt/org.wso2.carbon.identity.mgt/src/main/java/org/wso2/carbon/identity/mgt/listener/IdentityUserNameResolverListener.java +++ b/components/identity-mgt/org.wso2.carbon.identity.mgt/src/main/java/org/wso2/carbon/identity/mgt/listener/IdentityUserNameResolverListener.java @@ -1060,8 +1060,9 @@ public boolean doPreGetUserListWithID(Condition condition, String domain, String @Override public boolean doPreGetUserListWithID(Condition condition, String domain, String profileName, int limit, - String cursor, String direction, String sortBy, String sortOrder, - UserStoreManager userStoreManager) throws UserStoreException { + String cursor, UserCoreConstants.PaginationDirection direction, String sortBy, + String sortOrder, UserStoreManager userStoreManager) + throws UserStoreException { if (!isEnable()) { return true; @@ -1103,8 +1104,8 @@ public boolean doPostGetUserListWithID(Condition condition, String domain, Strin @Override public boolean doPostGetUserListWithID(Condition condition, String domain, String profileName, int limit, - String cursor, String direction, String sortBy, String sortOrder, - List users, UserStoreManager userStoreManager) + String cursor, UserCoreConstants.PaginationDirection direction, String sortBy, String sortOrder, + List users, UserStoreManager userStoreManager) throws UserStoreException { if (!isEnable()) { From 0f00928a09a36a3954cb4267fc0535cef0694dfa Mon Sep 17 00:00:00 2001 From: kumuditha Date: Sun, 7 Jul 2024 11:55:19 +0530 Subject: [PATCH 4/4] Bump kernel version --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index d0a39596ee43..df510bceb137 100644 --- a/pom.xml +++ b/pom.xml @@ -1831,7 +1831,7 @@ UTF-8 - 4.10.10 + 4.10.17-SNAPSHOT 4.7.0 [4.5.0, 5.0.0) [1.0.1, 2.0.0)