You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by ma...@apache.org on 2014/02/24 22:36:24 UTC
git commit: AMBARI-4764. AmbariManagementControllerTest Test fails
with unable to delete the last user. (Dmytro Shkvyra via mahadev)
Repository: ambari
Updated Branches:
refs/heads/trunk 40fca9c83 -> 7b8741ba7
AMBARI-4764. AmbariManagementControllerTest Test fails with unable to delete the last user. (Dmytro Shkvyra via mahadev)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/7b8741ba
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/7b8741ba
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/7b8741ba
Branch: refs/heads/trunk
Commit: 7b8741ba7deefd2d58aec04205351dfa7a10e6f2
Parents: 40fca9c
Author: Mahadev Konar <ma...@apache.org>
Authored: Mon Feb 24 13:36:18 2014 -0800
Committer: Mahadev Konar <ma...@apache.org>
Committed: Mon Feb 24 13:36:18 2014 -0800
----------------------------------------------------------------------
.../AmbariManagementControllerImpl.java | 18 ++++++++++--------
1 file changed, 10 insertions(+), 8 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/7b8741ba/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariManagementControllerImpl.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariManagementControllerImpl.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariManagementControllerImpl.java
index 9d51027..7e7f381 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariManagementControllerImpl.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariManagementControllerImpl.java
@@ -1741,14 +1741,16 @@ public class AmbariManagementControllerImpl implements
request.getPassword());
}
- if (request.getRoles().size() > 0) {
- for (String role : u.getRoles()) {
- users.removeRoleFromUser(u, role);
- }
-
- for (String role : request.getRoles()) {
- users.addRoleToUser(u, role);
- }
+ Set<String> roolesToDelete = new HashSet<String>(u.getRoles());
+ Set<String> roolesToAdd = request.getRoles();
+ roolesToDelete.removeAll(request.getRoles());
+ for (String role : roolesToDelete) {
+ users.removeRoleFromUser(u, role);
+ u.getRoles().remove(role);
+ }
+ roolesToAdd.removeAll(u.getRoles());
+ for (String role : roolesToAdd) {
+ users.addRoleToUser(u, role);
}
}