You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ranger.apache.org by sp...@apache.org on 2020/10/14 14:21:15 UTC
[ranger] branch master updated: RANGER-3038: Fixed issue with group
memberships update to ranger admin
This is an automated email from the ASF dual-hosted git repository.
spolavarapu 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 ac822ee RANGER-3038: Fixed issue with group memberships update to ranger admin
ac822ee is described below
commit ac822ee187d1885bc33065dae2b183b8d20f6ac2
Author: Sailaja Polavarapu <sp...@cloudera.com>
AuthorDate: Wed Oct 14 07:21:05 2020 -0700
RANGER-3038: Fixed issue with group memberships update to ranger admin
---
.../org/apache/ranger/service/XGroupUserService.java | 19 +++++++++++++------
.../src/main/resources/META-INF/jpa_named_queries.xml | 2 +-
2 files changed, 14 insertions(+), 7 deletions(-)
diff --git a/security-admin/src/main/java/org/apache/ranger/service/XGroupUserService.java b/security-admin/src/main/java/org/apache/ranger/service/XGroupUserService.java
index 74431b0..0509999 100644
--- a/security-admin/src/main/java/org/apache/ranger/service/XGroupUserService.java
+++ b/security-admin/src/main/java/org/apache/ranger/service/XGroupUserService.java
@@ -113,19 +113,26 @@ public class XGroupUserService extends
if (usersFromDB.containsKey(username)) {
// Add or update group user mapping only if the user exists in x_user table.
XXGroupUser xxGroupUser = groupUsers.get(username);
- if (xxGroupUser != null) {
- if (xXPortalUser != null) {
- xxGroupUser.setAddedByUserId(createdByUserId);
- xxGroupUser.setUpdatedByUserId(createdByUserId);
- }
+ boolean groupUserMappingExists = true;
+ if (xxGroupUser == null) {
+ xxGroupUser = new XXGroupUser();
+ groupUserMappingExists = false;
+ }
+
+ if (xXPortalUser != null) {
+ xxGroupUser.setAddedByUserId(createdByUserId);
+ xxGroupUser.setUpdatedByUserId(createdByUserId);
+ }
+
+ if (groupUserMappingExists) {
xxGroupUser = getDao().update(xxGroupUser);
} else {
- xxGroupUser = new XXGroupUser();
VXGroupUser vXGroupUser = new VXGroupUser();
vXGroupUser.setUserId(usersFromDB.get(username));
vXGroupUser.setName(groupName);
vXGroupUser.setParentGroupId(xxGroup.getId());
xxGroupUser = mapViewToEntityBean(vXGroupUser, xxGroupUser, 0);
+ xxGroupUser = getDao().create(xxGroupUser);
}
VXGroupUser vXGroupUser = postCreate(xxGroupUser);
if (logger.isDebugEnabled()) {
diff --git a/security-admin/src/main/resources/META-INF/jpa_named_queries.xml b/security-admin/src/main/resources/META-INF/jpa_named_queries.xml
index a490e76..0cf9295 100755
--- a/security-admin/src/main/resources/META-INF/jpa_named_queries.xml
+++ b/security-admin/src/main/resources/META-INF/jpa_named_queries.xml
@@ -146,7 +146,7 @@
</named-query>
<named-query name="XXGroupUser.findUsersByGroupName">
- <query>SELECT user.name FROM XXUser user, XXGroupUser groupUser
+ <query>SELECT user.name, groupUser FROM XXUser user, XXGroupUser groupUser
WHERE user.id=groupUser.userId and groupUser.name = :groupName
</query>
</named-query>