You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ranger.apache.org by ga...@apache.org on 2016/05/31 06:04:32 UTC
[2/3] incubator-ranger git commit: RANGER-999: Delete Module REST API
is failing as it is not removing assigned users and groups
RANGER-999: Delete Module REST API is failing as it is not removing assigned users and groups
Signed-off-by: Gautam Borad <ga...@apache.org>
Project: http://git-wip-us.apache.org/repos/asf/incubator-ranger/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ranger/commit/69f546a6
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ranger/tree/69f546a6
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ranger/diff/69f546a6
Branch: refs/heads/master
Commit: 69f546a6d15ed08062512e8efdd20410ed3720ea
Parents: 4d3ce6c
Author: pradeep agrawal <pr...@freestoneinfotech.com>
Authored: Mon May 30 11:15:13 2016 +0530
Committer: Gautam Borad <ga...@apache.org>
Committed: Tue May 31 11:34:05 2016 +0530
----------------------------------------------------------------------
.../main/java/org/apache/ranger/biz/XUserMgr.java | 2 ++
.../org/apache/ranger/db/XXGroupPermissionDao.java | 14 ++++++++++++++
.../org/apache/ranger/db/XXUserPermissionDao.java | 15 +++++++++++++++
.../main/resources/META-INF/jpa_named_queries.xml | 10 +++++++++-
.../java/org/apache/ranger/biz/TestXUserMgr.java | 12 +++++++-----
5 files changed, 47 insertions(+), 6 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/69f546a6/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 96f2ee3..5760e9d 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
@@ -895,6 +895,8 @@ public class XUserMgr extends XUserMgrBase {
}
public void deleteXModuleDefPermission(Long id, boolean force) {
+ daoManager.getXXUserPermission().deleteByModuleId(id);
+ daoManager.getXXGroupPermission().deleteByModuleId(id);
xModuleDefService.deleteResource(id);
}
http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/69f546a6/security-admin/src/main/java/org/apache/ranger/db/XXGroupPermissionDao.java
----------------------------------------------------------------------
diff --git a/security-admin/src/main/java/org/apache/ranger/db/XXGroupPermissionDao.java b/security-admin/src/main/java/org/apache/ranger/db/XXGroupPermissionDao.java
index f6444f8..fed83a1 100644
--- a/security-admin/src/main/java/org/apache/ranger/db/XXGroupPermissionDao.java
+++ b/security-admin/src/main/java/org/apache/ranger/db/XXGroupPermissionDao.java
@@ -113,5 +113,19 @@ public class XXGroupPermissionDao extends BaseDao<XXGroupPermission> {
}
return null;
}
+ public void deleteByModuleId(Long moduleId) {
+ if (moduleId != null) {
+ try {
+ getEntityManager()
+ .createNamedQuery("XXGroupPermission.deleteByModuleId", XXGroupPermission.class)
+ .setParameter("moduleId", moduleId)
+ .executeUpdate();
+ } catch (Exception e) {
+ logger.debug(e.getMessage());
+ }
+ } else {
+ logger.debug("ModuleId not provided.");
+ }
+ }
}
http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/69f546a6/security-admin/src/main/java/org/apache/ranger/db/XXUserPermissionDao.java
----------------------------------------------------------------------
diff --git a/security-admin/src/main/java/org/apache/ranger/db/XXUserPermissionDao.java b/security-admin/src/main/java/org/apache/ranger/db/XXUserPermissionDao.java
index 2db6fd6..4e18e47 100644
--- a/security-admin/src/main/java/org/apache/ranger/db/XXUserPermissionDao.java
+++ b/security-admin/src/main/java/org/apache/ranger/db/XXUserPermissionDao.java
@@ -114,4 +114,19 @@ public class XXUserPermissionDao extends BaseDao<XXUserPermission>{
}
return null;
}
+
+ public void deleteByModuleId(Long moduleId) {
+ if (moduleId != null) {
+ try {
+ getEntityManager()
+ .createNamedQuery("XXUserPermission.deleteByModuleId", XXUserPermission.class)
+ .setParameter("moduleId", moduleId)
+ .executeUpdate();
+ } catch (Exception e) {
+ logger.debug(e.getMessage());
+ }
+ } else {
+ logger.debug("ModuleId not provided.");
+ }
+ }
}
http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/69f546a6/security-admin/src/main/resources/META-INF/jpa_named_queries.xml
----------------------------------------------------------------------
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 76d3f21..4fcf0ea 100644
--- a/security-admin/src/main/resources/META-INF/jpa_named_queries.xml
+++ b/security-admin/src/main/resources/META-INF/jpa_named_queries.xml
@@ -670,7 +670,11 @@
</query>
</named-query>
- <!-- XXUserPermission -->
+ <named-query name="XXUserPermission.deleteByModuleId">
+ <query>DELETE FROM XXUserPermission obj WHERE obj.moduleId=:moduleId</query>
+ </named-query>
+
+ <!-- XXGroupPermission -->
<named-query name="XXGroupPermission.findByGroupId">
<query>SELECT obj FROM XXGroupPermission obj
WHERE obj.groupId=:groupId
@@ -706,6 +710,10 @@
<query>SELECT obj FROM XXGroupPermission obj WHERE obj.moduleId = :moduleId AND obj.groupId =:groupId
</query>
</named-query>
+
+ <named-query name="XXGroupPermission.deleteByModuleId">
+ <query>DELETE FROM XXGroupPermission obj WHERE obj.moduleId=:moduleId</query>
+ </named-query>
<named-query name="XXPortalUser.findByUserName">
<query>SELECT Obj FROM XXPortalUser obj
http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/69f546a6/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 37dddee..3323f11 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
@@ -52,7 +52,6 @@ import org.apache.ranger.entity.XXModuleDef;
import org.apache.ranger.entity.XXPolicy;
import org.apache.ranger.entity.XXPortalUser;
import org.apache.ranger.entity.XXPortalUserRole;
-import org.apache.ranger.entity.XXTrxLog;
import org.apache.ranger.entity.XXUser;
import org.apache.ranger.entity.XXUserPermission;
import org.apache.ranger.plugin.model.RangerPolicy;
@@ -72,7 +71,6 @@ import org.apache.ranger.service.XPermMapService;
import org.apache.ranger.service.XPortalUserService;
import org.apache.ranger.service.XUserPermissionService;
import org.apache.ranger.service.XUserService;
-import org.apache.ranger.view.VXAuditMap;
import org.apache.ranger.view.VXAuditMapList;
import org.apache.ranger.view.VXGroup;
import org.apache.ranger.view.VXGroupList;
@@ -80,7 +78,6 @@ import org.apache.ranger.view.VXGroupPermission;
import org.apache.ranger.view.VXGroupUser;
import org.apache.ranger.view.VXGroupUserList;
import org.apache.ranger.view.VXModuleDef;
-import org.apache.ranger.view.VXPermMap;
import org.apache.ranger.view.VXPermMapList;
import org.apache.ranger.view.VXPortalUser;
import org.apache.ranger.view.VXStringList;
@@ -93,7 +90,6 @@ import org.junit.Assert;
import org.junit.FixMethodOrder;
import org.junit.Rule;
import org.junit.Test;
-import org.junit.Ignore;
import org.junit.rules.ExpectedException;
import org.junit.runner.RunWith;
import org.junit.runners.MethodSorters;
@@ -1036,7 +1032,13 @@ public class TestXUserMgr {
@Test
public void test34deleteXModuleDefPermission() {
-
+ Long moduleId=Long.valueOf(1);
+ XXUserPermissionDao xUserPermissionDao = Mockito.mock(XXUserPermissionDao.class);
+ XXGroupPermissionDao xGroupPermissionDao = Mockito.mock(XXGroupPermissionDao.class);
+ Mockito.when(daoManager.getXXUserPermission()).thenReturn(xUserPermissionDao);
+ Mockito.when(daoManager.getXXGroupPermission()).thenReturn(xGroupPermissionDao);
+ Mockito.doNothing().when(xUserPermissionDao).deleteByModuleId(moduleId);
+ Mockito.doNothing().when(xGroupPermissionDao).deleteByModuleId(moduleId);
Mockito.when(xModuleDefService.deleteResource(1L)).thenReturn(true);
xUserMgr.deleteXModuleDefPermission(1L, true);
Mockito.verify(xModuleDefService).deleteResource(1L);