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);