This is an automated email from the ASF dual-hosted git repository.

mehul pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ranger.git


The following commit(s) were added to refs/heads/master by this push:
     new b2406be  RANGER-3349 : Handling multiple grant role command for same 
user
b2406be is described below

commit b2406be6cfc79d004354222f218261f039d8c5df
Author: Dineshkumar Yadav <dineshkumar.ya...@outlook.com>
AuthorDate: Tue Jul 27 13:45:00 2021 +0530

    RANGER-3349 : Handling multiple grant role command for same user
    
    Signed-off-by: Mehul Parikh <me...@apache.org>
---
 .../main/java/org/apache/ranger/rest/RoleREST.java | 46 +++++++++++-----------
 1 file changed, 22 insertions(+), 24 deletions(-)

diff --git a/security-admin/src/main/java/org/apache/ranger/rest/RoleREST.java 
b/security-admin/src/main/java/org/apache/ranger/rest/RoleREST.java
index 20db16d..6a48205 100644
--- a/security-admin/src/main/java/org/apache/ranger/rest/RoleREST.java
+++ b/security-admin/src/main/java/org/apache/ranger/rest/RoleREST.java
@@ -1077,14 +1077,13 @@ public class RoleREST {
             Set<RangerRole.RoleMember> roleGroups = new HashSet<>();
             Set<RangerRole.RoleMember> roleRoles = new HashSet<>();
 
-            for (RangerRole.RoleMember user : role.getUsers()) {
-                if (users.contains(user.getName()) && isAdmin == Boolean.TRUE) 
{
-                    user.setIsAdmin(isAdmin);
-                    roleUsers.add(user);
-                } else if (!users.contains(user.getName())) {
-                    roleUsers.add(user);
-                }
-            }
+                       for (RangerRole.RoleMember user : role.getUsers()) {
+                               String userName = user.getName();
+                               if (users.contains(userName)) {
+                                       user.setIsAdmin(isAdmin);
+                               }
+                               roleUsers.add(user);
+                       }
 
             Set<String> existingUsernames = getUserNames(role);
             for (String user : users) {
@@ -1093,14 +1092,13 @@ public class RoleREST {
                 }
             }
 
-            for (RangerRole.RoleMember group : role.getGroups()) {
-                if (groups.contains(group.getName()) && isAdmin == 
Boolean.TRUE) {
-                    group.setIsAdmin(isAdmin);
-                    roleGroups.add(group);
-                } else if (!groups.contains(group.getName())) {
-                    roleGroups.add(group);
-                }
-            }
+                       for (RangerRole.RoleMember group : role.getGroups()) {
+                               String groupName = group.getName();
+                               if (groups.contains(groupName)) {
+                                       group.setIsAdmin(isAdmin);
+                               }
+                               roleGroups.add(group);
+                       }
 
             Set<String> existingGroupnames = getGroupNames(role);
             for (String group : groups) {
@@ -1109,14 +1107,14 @@ public class RoleREST {
                 }
             }
 
-            for (RangerRole.RoleMember roleMember : role.getRoles()) {
-                if (roles.contains(roleMember.getName()) && isAdmin == 
Boolean.TRUE) {
-                    roleMember.setIsAdmin(isAdmin);
-                    roleRoles.add(roleMember);
-                } else if (!roles.contains(roleMember.getName())) {
-                    roleRoles.add(roleMember);
-                }
-            }
+                       for (RangerRole.RoleMember roleMember : 
role.getRoles()) {
+                               String roleName = roleMember.getName();
+                               if (roles.contains(roleName)) {
+                                       roleMember.setIsAdmin(isAdmin);
+                               }
+                               roleRoles.add(roleMember);
+                       }
+
             Set<String> existingRolenames = getRoleNames(role);
             for (String newRole : roles) {
                 if (!existingRolenames.contains(newRole)) {

Reply via email to