You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ranger.apache.org by ve...@apache.org on 2015/04/23 11:41:11 UTC

incubator-ranger git commit: RANGER-403 : Minor modifications to Public API with respect to RANGER-403

Repository: incubator-ranger
Updated Branches:
  refs/heads/master b05edbc8d -> 353ce61c9


RANGER-403 : Minor modifications to Public API with respect to RANGER-403

Signed-off-by: Velmurugan Periasamy <ve...@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/353ce61c
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ranger/tree/353ce61c
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ranger/diff/353ce61c

Branch: refs/heads/master
Commit: 353ce61c9b3a08dbf4c476f37ebb214caed3ece7
Parents: b05edbc
Author: Gautam Borad <gb...@gmail.com>
Authored: Wed Apr 22 15:53:16 2015 +0530
Committer: Velmurugan Periasamy <ve...@apache.org>
Committed: Thu Apr 23 05:40:51 2015 -0400

----------------------------------------------------------------------
 .../java/org/apache/ranger/rest/PublicAPIs.java | 28 ++++++++++++++------
 1 file changed, 20 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/353ce61c/security-admin/src/main/java/org/apache/ranger/rest/PublicAPIs.java
----------------------------------------------------------------------
diff --git a/security-admin/src/main/java/org/apache/ranger/rest/PublicAPIs.java b/security-admin/src/main/java/org/apache/ranger/rest/PublicAPIs.java
index 736e56f..34ac345 100644
--- a/security-admin/src/main/java/org/apache/ranger/rest/PublicAPIs.java
+++ b/security-admin/src/main/java/org/apache/ranger/rest/PublicAPIs.java
@@ -19,11 +19,13 @@
 
 package org.apache.ranger.rest;
 
-import org.apache.commons.collections.MapUtils;
 import org.apache.log4j.Logger;
 import org.apache.ranger.common.*;
 import org.apache.ranger.common.annotation.RangerAnnotationClassName;
 import org.apache.ranger.common.annotation.RangerAnnotationJSMgrName;
+import org.apache.ranger.db.RangerDaoManager;
+import org.apache.ranger.entity.XXPolicy;
+import org.apache.ranger.entity.XXService;
 import org.apache.ranger.plugin.model.RangerPolicy;
 import org.apache.ranger.plugin.model.RangerService;
 import org.apache.ranger.plugin.util.SearchFilter;
@@ -41,7 +43,6 @@ import javax.servlet.http.HttpServletRequest;
 import javax.ws.rs.*;
 import javax.ws.rs.core.Context;
 
-import java.util.HashMap;
 import java.util.List;
 
 @Path("public")
@@ -70,6 +71,11 @@ public class PublicAPIs {
 	@Autowired
 	ServiceREST serviceREST;
 
+	@Autowired
+	RangerDaoManager daoMgr;
+
+	@Autowired
+	RESTErrorUtil restErrorUtil;
 	
 	@GET
 	@Path("/api/repository/{id}")
@@ -126,11 +132,17 @@ public class PublicAPIs {
 			logger.debug("==> PublicAPIs.updateRepository(" + id + ")");
 		}
 		
+		XXService existing = daoMgr.getXXService().getById(id);
+		if(existing == null) {
+			throw restErrorUtil.createRESTException("Repository not found for Id: " + id, MessageEnums.DATA_NOT_FOUND);
+		}
+
 		vXRepository.setId(id);
 		
 		VXAsset vXAsset  = serviceUtil.publicObjecttoVXAsset(vXRepository);
 
 		RangerService service = serviceUtil.toRangerService(vXAsset);
+		service.setVersion(existing.getVersion());
 
 		RangerService updatedService = serviceREST.updateService(service);
 		
@@ -157,12 +169,6 @@ public class PublicAPIs {
 			logger.debug("==> PublicAPIs.deleteRepository(" + id + ")");
 		}
 		
-		String forceStr = request.getParameter("force");
-		boolean force = true;
-		if (!stringUtil.isEmpty(forceStr)) {
-			force = Boolean.parseBoolean(forceStr.trim());
-		}
-				
 		serviceREST.deleteService(id);
 		
 		if(logger.isDebugEnabled()) {
@@ -285,11 +291,17 @@ public class PublicAPIs {
 			logger.debug("==> PublicAPIs.updatePolicy(): "  + vXPolicy );
 		}
 		
+		XXPolicy existing = daoMgr.getXXPolicy().getById(id);
+		if(existing == null) {
+			throw restErrorUtil.createRESTException("Policy not found for Id: " + id, MessageEnums.DATA_NOT_FOUND);
+		}
+
 		vXPolicy.setId(id);
 		
 		RangerService service       = serviceREST.getServiceByName(vXPolicy.getRepositoryName());
 		
 		RangerPolicy  policy        = serviceUtil.toRangerPolicy(vXPolicy,service);
+		policy.setVersion(existing.getVersion());
 
 		RangerPolicy  updatedPolicy = serviceREST.updatePolicy(policy);