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

incubator-ranger git commit: RANGER-380: Fixed Case sensitive comparision

Repository: incubator-ranger
Updated Branches:
  refs/heads/master cb2dc3146 -> 63c7893ae


RANGER-380: Fixed Case sensitive comparision


Project: http://git-wip-us.apache.org/repos/asf/incubator-ranger/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ranger/commit/63c7893a
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ranger/tree/63c7893a
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ranger/diff/63c7893a

Branch: refs/heads/master
Commit: 63c7893aeb7edadd24b8076e7c2ed18e4cf1065f
Parents: cb2dc31
Author: Ramesh Mani <rm...@apache.org>
Authored: Wed Apr 8 02:28:40 2015 -0400
Committer: sneethiraj <sn...@apache.org>
Committed: Wed Apr 8 02:28:40 2015 -0400

----------------------------------------------------------------------
 .../apache/ranger/common/RangerSearchUtil.java  | 23 +++++++++-
 .../java/org/apache/ranger/rest/PublicAPIs.java | 45 +++++++-------------
 .../org/apache/ranger/rest/ServiceREST.java     | 23 ++++++++++
 3 files changed, 61 insertions(+), 30 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/63c7893a/security-admin/src/main/java/org/apache/ranger/common/RangerSearchUtil.java
----------------------------------------------------------------------
diff --git a/security-admin/src/main/java/org/apache/ranger/common/RangerSearchUtil.java b/security-admin/src/main/java/org/apache/ranger/common/RangerSearchUtil.java
index 1a45d43..8b98ac9 100644
--- a/security-admin/src/main/java/org/apache/ranger/common/RangerSearchUtil.java
+++ b/security-admin/src/main/java/org/apache/ranger/common/RangerSearchUtil.java
@@ -79,6 +79,27 @@ public class RangerSearchUtil extends SearchUtil {
 		return ret;
 	}
 
+	public SearchFilter getSearchFilterFromLegacyRequestForRepositorySearch(HttpServletRequest request, List<SortField> sortFields) {
+		if (request == null) {
+			return null;
+		}
+
+		SearchFilter ret = new SearchFilter();
+
+		if (MapUtils.isEmpty(request.getParameterMap())) {
+			ret.setParams(new HashMap<String, String>());
+		}
+
+		ret.setParam(SearchFilter.SERVICE_NAME, request.getParameter("name"));
+		ret.setParam(SearchFilter.IS_ENABLED, request.getParameter("status"));
+		ret.setParam(SearchFilter.SERVICE_TYPE, request.getParameter("type").toLowerCase());
+
+		extractCommonCriteriasForFilter(request, ret, sortFields);
+
+		return ret;
+	}
+
+
 	public SearchFilter getSearchFilterFromLegacyRequest(HttpServletRequest request, List<SortField> sortFields) {
 		if (request == null) {
 			return null;
@@ -90,7 +111,7 @@ public class RangerSearchUtil extends SearchUtil {
 			ret.setParams(new HashMap<String, String>());
 		}
 
-		ret.setParam(SearchFilter.SERVICE_TYPE, request.getParameter("repositoryType"));
+		ret.setParam(SearchFilter.SERVICE_TYPE, request.getParameter("repositoryType").toLowerCase());
 		ret.setParam(SearchFilter.SERVICE_NAME, request.getParameter("repositoryName"));
 		ret.setParam(SearchFilter.SERVICE_ID, request.getParameter("repositoryId"));
 		ret.setParam(SearchFilter.POLICY_NAME, request.getParameter("policyName"));

http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/63c7893a/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 cd31f69..736e56f 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,6 +19,7 @@
 
 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;
@@ -39,7 +40,8 @@ import org.springframework.transaction.annotation.Transactional;
 import javax.servlet.http.HttpServletRequest;
 import javax.ws.rs.*;
 import javax.ws.rs.core.Context;
-import java.util.ArrayList;
+
+import java.util.HashMap;
 import java.util.List;
 
 @Path("public")
@@ -177,57 +179,42 @@ public class PublicAPIs {
 		if(logger.isDebugEnabled()) {
 			logger.debug("==> PublicAPIs.searchRepositories()");
 		}
-		
-		SearchCriteria searchCriteria = searchUtil.extractCommonCriterias(
-				request, xAssetService.sortFields);
-		searchUtil.extractString(request, searchCriteria, "name",
-				"Repository Name", null);
-		searchUtil.extractBoolean(request, searchCriteria, "status",
-				"Activation Status");
-		searchUtil.extractString(request, searchCriteria, "type",
-				"Repository Type", null);
 
-		searchCriteria = serviceUtil.getMappedSearchParams(request,
-				searchCriteria);
-		List<RangerService> serviceList = serviceREST.getServices(request);
+		SearchFilter filter = searchUtil.getSearchFilterFromLegacyRequestForRepositorySearch(request, policyService.sortFields);
+
+		List<RangerService> serviceList = serviceREST.getServices(filter);
 
 		VXRepositoryList ret = null;
 
 		if (serviceList != null) {
 			ret = serviceUtil.rangerServiceListToPublicObjectList(serviceList);
 		}
+
 		if(logger.isDebugEnabled()) {
 			logger.debug("<== PublicAPIs.searchRepositories(): count=" + (ret == null ? 0 : ret.getListSize()));
 		}
-			
+
 		return ret;
 	}
 
-	
+
 	@GET
 	@Path("/api/repository/count")
 	@Produces({ "application/json", "application/xml" })
 	public VXLong countRepositories(@Context HttpServletRequest request) {
-		SearchCriteria searchCriteria = searchUtil.extractCommonCriterias(
-				request, xAssetService.sortFields);
-	
+
 		if(logger.isDebugEnabled()) {
 			logger.debug("==> PublicAPIs.countRepositories()");
 		}
-		
-        ArrayList<Integer> valueList = new ArrayList<Integer>();
-        valueList.add(RangerConstants.STATUS_DISABLED);
-        valueList.add(RangerConstants.STATUS_ENABLED);
-        searchCriteria.addParam("status", valueList);
-        
+
         VXLong ret = new VXLong();
         
         ret.setValue(serviceREST.countServices(request));
-		
+
         if(logger.isDebugEnabled()) {
 			logger.debug("<== PublicAPIs.countRepositories(): count=" + ret);
 		}
-        
+
         return ret;
 	}	
 	
@@ -367,16 +354,16 @@ public class PublicAPIs {
 		if(logger.isDebugEnabled()) {
 			logger.debug("==> PublicAPIs.countPolicies(): ");
 		}
-		
+
 		Long policyCount = serviceREST.countPolicies(request);
 		
 		VXLong vXlong = new VXLong();
 		vXlong.setValue(policyCount);
-		
+
 		if(logger.isDebugEnabled()) {
 			logger.debug("<== PublicAPIs.countPolicies(): "  + request );
 		}
-		
+
 		return vXlong;
 	}
 

http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/63c7893a/security-admin/src/main/java/org/apache/ranger/rest/ServiceREST.java
----------------------------------------------------------------------
diff --git a/security-admin/src/main/java/org/apache/ranger/rest/ServiceREST.java b/security-admin/src/main/java/org/apache/ranger/rest/ServiceREST.java
index c85422c..c2b0a3f 100644
--- a/security-admin/src/main/java/org/apache/ranger/rest/ServiceREST.java
+++ b/security-admin/src/main/java/org/apache/ranger/rest/ServiceREST.java
@@ -474,6 +474,29 @@ public class ServiceREST {
 		return ret;
 	}
 
+	public List<RangerService> getServices(SearchFilter filter) {
+		if(LOG.isDebugEnabled()) {
+			LOG.debug("==> ServiceREST.getServices():");
+		}
+
+		List<RangerService> ret = null;
+
+		try {
+			ret = svcStore.getServices(filter);
+		} catch(Exception excp) {
+			LOG.error("getServices() failed", excp);
+
+			throw restErrorUtil.createRESTException(HttpServletResponse.SC_BAD_REQUEST, excp.getMessage(), true);
+		}
+
+		if(LOG.isDebugEnabled()) {
+			LOG.debug("<== ServiceREST.getServices(): count=" + (ret == null ? 0 : ret.size()));
+		}
+
+		return ret;
+	}
+
+
 	@GET
 	@Path("/services/count")
 	@Produces({ "application/json", "application/xml" })