You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ranger.apache.org by ab...@apache.org on 2018/09/26 20:14:45 UTC
ranger git commit: RANGER-1953 : improvement on user-group page
listing
Repository: ranger
Updated Branches:
refs/heads/ranger-0.7 9f4381080 -> a58231669
RANGER-1953 : improvement on user-group page listing
Signed-off-by: Mehul Parikh <me...@apache.org>
Project: http://git-wip-us.apache.org/repos/asf/ranger/repo
Commit: http://git-wip-us.apache.org/repos/asf/ranger/commit/a5823166
Tree: http://git-wip-us.apache.org/repos/asf/ranger/tree/a5823166
Diff: http://git-wip-us.apache.org/repos/asf/ranger/diff/a5823166
Branch: refs/heads/ranger-0.7
Commit: a582316696f46a133d11af9bfb5cc61fcaa22ceb
Parents: 9f43810
Author: Nikhil P <ni...@gmail.com>
Authored: Fri Jan 19 12:31:48 2018 +0530
Committer: Abhay Kulkarni <ak...@hortonworks.com>
Committed: Wed Sep 26 12:48:42 2018 -0700
----------------------------------------------------------------------
.../main/java/org/apache/ranger/biz/XUserMgr.java | 17 +++++++++++++++++
.../ranger/common/RangerServicePoliciesCache.java | 2 +-
.../main/webapp/scripts/views/users/GroupCreate.js | 1 +
.../java/org/apache/ranger/biz/TestXUserMgr.java | 8 +++++++-
4 files changed, 26 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ranger/blob/a5823166/security-admin/src/main/java/org/apache/ranger/biz/XUserMgr.java
----------------------------------------------------------------------
diff --git a/security-admin/src/main/java/org/apache/ranger/biz/XUserMgr.java b/security-admin/src/main/java/org/apache/ranger/biz/XUserMgr.java
index e6e82d1..4c01d57 100644
--- a/security-admin/src/main/java/org/apache/ranger/biz/XUserMgr.java
+++ b/security-admin/src/main/java/org/apache/ranger/biz/XUserMgr.java
@@ -53,6 +53,7 @@ import org.apache.ranger.common.AppConstants;
import org.apache.ranger.common.MessageEnums;
import org.apache.ranger.common.PropertiesUtil;
import org.apache.ranger.common.RangerConstants;
+import org.apache.ranger.common.RangerServicePoliciesCache;
import org.apache.ranger.common.SearchCriteria;
import org.apache.ranger.common.UserSessionBase;
import org.apache.ranger.db.RangerDaoManager;
@@ -844,8 +845,24 @@ public class XUserMgr extends XUserMgrBase {
xGroup, "update");
xaBizUtil.createTrxLog(trxLogList);
vXGroup = (VXGroup) xGroupService.updateResource(vXGroup);
+ if (vXGroup != null) {
+ updateXgroupUserForGroupUpdate(vXGroup);
+ RangerServicePoliciesCache.sInstance=null;
+ }
return vXGroup;
}
+
+ private void updateXgroupUserForGroupUpdate(VXGroup vXGroup) {
+ List<XXGroupUser> grpUsers = daoManager.getXXGroupUser().findByGroupId(vXGroup.getId());
+ if(CollectionUtils.isNotEmpty(grpUsers)){
+ for (XXGroupUser grpUser : grpUsers) {
+ VXGroupUser vXGroupUser = xGroupUserService.populateViewBean(grpUser);
+ vXGroupUser.setName(vXGroup.getName());
+ updateXGroupUser(vXGroupUser);
+ }
+ }
+ }
+
public VXGroupUser updateXGroupUser(VXGroupUser vXGroupUser) {
checkAdminAccess();
return super.updateXGroupUser(vXGroupUser);
http://git-wip-us.apache.org/repos/asf/ranger/blob/a5823166/security-admin/src/main/java/org/apache/ranger/common/RangerServicePoliciesCache.java
----------------------------------------------------------------------
diff --git a/security-admin/src/main/java/org/apache/ranger/common/RangerServicePoliciesCache.java b/security-admin/src/main/java/org/apache/ranger/common/RangerServicePoliciesCache.java
index eb20f69..0d5689a 100644
--- a/security-admin/src/main/java/org/apache/ranger/common/RangerServicePoliciesCache.java
+++ b/security-admin/src/main/java/org/apache/ranger/common/RangerServicePoliciesCache.java
@@ -42,7 +42,7 @@ public class RangerServicePoliciesCache {
private static final int MAX_WAIT_TIME_FOR_UPDATE = 10;
- private static volatile RangerServicePoliciesCache sInstance = null;
+ public static volatile RangerServicePoliciesCache sInstance = null;
private final boolean useServicePoliciesCache;
private final int waitTimeInSeconds;
http://git-wip-us.apache.org/repos/asf/ranger/blob/a5823166/security-admin/src/main/webapp/scripts/views/users/GroupCreate.js
----------------------------------------------------------------------
diff --git a/security-admin/src/main/webapp/scripts/views/users/GroupCreate.js b/security-admin/src/main/webapp/scripts/views/users/GroupCreate.js
index d16cbe5..b73f755 100644
--- a/security-admin/src/main/webapp/scripts/views/users/GroupCreate.js
+++ b/security-admin/src/main/webapp/scripts/views/users/GroupCreate.js
@@ -113,6 +113,7 @@ define(function(require){
success: function () {
XAUtil.blockUI('unblock');
XAUtil.allowNavigation();
+ Backbone.fetchCache._cache = {}
var msg = that.editGroup ? 'Group updated successfully' :'Group created successfully';
XAUtil.notifySuccess('Success', msg);
if(that.editGroup){
http://git-wip-us.apache.org/repos/asf/ranger/blob/a5823166/security-admin/src/test/java/org/apache/ranger/biz/TestXUserMgr.java
----------------------------------------------------------------------
diff --git a/security-admin/src/test/java/org/apache/ranger/biz/TestXUserMgr.java b/security-admin/src/test/java/org/apache/ranger/biz/TestXUserMgr.java
index b6ef572..0279883 100644
--- a/security-admin/src/test/java/org/apache/ranger/biz/TestXUserMgr.java
+++ b/security-admin/src/test/java/org/apache/ranger/biz/TestXUserMgr.java
@@ -49,6 +49,7 @@ import org.apache.ranger.entity.XXAuthSession;
import org.apache.ranger.entity.XXGroup;
import org.apache.ranger.entity.XXGroupGroup;
import org.apache.ranger.entity.XXGroupPermission;
+import org.apache.ranger.entity.XXGroupUser;
import org.apache.ranger.entity.XXModuleDef;
import org.apache.ranger.entity.XXPolicy;
import org.apache.ranger.entity.XXPortalUser;
@@ -467,6 +468,8 @@ public class TestXUserMgr {
@Test
public void test17UpdateXGroup() {
XXGroupDao xxGroupDao = Mockito.mock(XXGroupDao.class);
+ XXGroupUserDao xxGroupUserDao = Mockito.mock(XXGroupUserDao.class);
+ List<XXGroupUser> grpUsers =new ArrayList<XXGroupUser>();
setup();
VXGroup vXGroup = new VXGroup();
vXGroup.setId(userId);
@@ -477,7 +480,8 @@ public class TestXUserMgr {
Mockito.when(daoManager.getXXGroup()).thenReturn(xxGroupDao);
Mockito.when(xxGroupDao.getById(vXGroup.getId())).thenReturn(xxGroup);
Mockito.when(xGroupService.updateResource(vXGroup)).thenReturn(vXGroup);
-
+ Mockito.when(daoManager.getXXGroupUser()).thenReturn(xxGroupUserDao);
+ Mockito.when(xxGroupUserDao.findByGroupId(vXGroup.getId())).thenReturn(grpUsers);
VXGroup dbvxGroup = xUserMgr.updateXGroup(vXGroup);
Assert.assertNotNull(dbvxGroup);
userId = dbvxGroup.getId();
@@ -486,7 +490,9 @@ public class TestXUserMgr {
dbvxGroup.getDescription());
Assert.assertEquals(vXGroup.getName(), dbvxGroup.getName());
Mockito.verify(daoManager).getXXGroup();
+ Mockito.verify(daoManager).getXXGroupUser();
Mockito.verify(xGroupService).updateResource(vXGroup);
+ Mockito.verify(xxGroupUserDao).findByGroupId(vXGroup.getId());
}
@Test