You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ranger.apache.org by me...@apache.org on 2020/11/02 09:26:44 UTC

[ranger] branch master updated: RANGER-3064 : Make policy API consistent with the UI behavior for keyadmin role

This is an automated email from the ASF dual-hosted git repository.

mehul pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ranger.git


The following commit(s) were added to refs/heads/master by this push:
     new 6a1a458  RANGER-3064 : Make policy API consistent with the UI behavior for keyadmin role
6a1a458 is described below

commit 6a1a4588d2d2f27484c7b42ddd96876c276f2fd1
Author: Dineshkumar Yadav <di...@outlook.com>
AuthorDate: Fri Oct 30 21:19:53 2020 +0530

    RANGER-3064 : Make policy API consistent with the UI behavior for keyadmin role
    
    Signed-off-by: Mehul Parikh <me...@apache.org>
---
 .../java/org/apache/ranger/rest/ServiceREST.java   | 114 +++++++--------------
 1 file changed, 38 insertions(+), 76 deletions(-)

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 4ef9abe..00ffabe 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
@@ -1966,28 +1966,21 @@ public class ServiceREST {
 			if(RangerPerfTracer.isPerfTraceEnabled(PERF_LOG)) {
 				perf = RangerPerfTracer.getPerfTracer(PERF_LOG, "ServiceREST.getPolicies()");
 			}
+			// get all policies from the store; pick the page to return after applying filter
+			final int savedStartIndex = filter.getStartIndex();
+			final int savedMaxRows    = filter.getMaxRows();
 
-			if(isAdminUserWithNoFilterParams(filter)) {
-				PList<RangerPolicy> policies = svcStore.getPaginatedPolicies(filter);
-
-				ret = toRangerPolicyList(policies);
-			} else {
-				// get all policies from the store; pick the page to return after applying filter
-				final int savedStartIndex = filter.getStartIndex();
-				final int savedMaxRows    = filter.getMaxRows();
-
-				filter.setStartIndex(0);
-				filter.setMaxRows(Integer.MAX_VALUE);
+			filter.setStartIndex(0);
+			filter.setMaxRows(Integer.MAX_VALUE);
 
-				List<RangerPolicy> policies = svcStore.getPolicies(filter);
+			List<RangerPolicy> policies = svcStore.getPolicies(filter);
 
-				filter.setStartIndex(savedStartIndex);
-				filter.setMaxRows(savedMaxRows);
+			filter.setStartIndex(savedStartIndex);
+			filter.setMaxRows(savedMaxRows);
 
-				policies = applyAdminAccessFilter(policies);
+			policies = applyAdminAccessFilter(policies);
 
-				ret = toRangerPolicyList(policies, filter);
-			}
+			ret = toRangerPolicyList(policies, filter);
 
 		} catch(WebApplicationException excp) {
 			throw excp;
@@ -2936,31 +2929,26 @@ public class ServiceREST {
 				perf = RangerPerfTracer.getPerfTracer(PERF_LOG, "ServiceREST.getServicePolicies(serviceId=" + serviceId + ")");
 			}
 
-			if(isAdminUserWithNoFilterParams(filter)) {
-				PList<RangerPolicy> policies = svcStore.getPaginatedServicePolicies(serviceId, filter);
+			// get all policies from the store; pick the page to return after applying filter
+			int savedStartIndex = filter == null ? 0 : filter.getStartIndex();
+			int savedMaxRows    = filter == null ? Integer.MAX_VALUE : filter.getMaxRows();
 
-				ret = toRangerPolicyList(policies);
-			} else {
-				// get all policies from the store; pick the page to return after applying filter
-				int savedStartIndex = filter == null ? 0 : filter.getStartIndex();
-				int savedMaxRows    = filter == null ? Integer.MAX_VALUE : filter.getMaxRows();
+			if(filter != null) {
+				filter.setStartIndex(0);
+				filter.setMaxRows(Integer.MAX_VALUE);
+			}
 
-				if(filter != null) {
-					filter.setStartIndex(0);
-					filter.setMaxRows(Integer.MAX_VALUE);
-				}
+			List<RangerPolicy> servicePolicies = svcStore.getServicePolicies(serviceId, filter);
 
-				List<RangerPolicy> servicePolicies = svcStore.getServicePolicies(serviceId, filter);
+			if(filter != null) {
+				filter.setStartIndex(savedStartIndex);
+				filter.setMaxRows(savedMaxRows);
+			}
 
-				if(filter != null) {
-					filter.setStartIndex(savedStartIndex);
-					filter.setMaxRows(savedMaxRows);
-				}
+			servicePolicies = applyAdminAccessFilter(servicePolicies);
 
-				servicePolicies = applyAdminAccessFilter(servicePolicies);
+			ret = toRangerPolicyList(servicePolicies, filter);
 
-				ret = toRangerPolicyList(servicePolicies, filter);
-			}
 		} catch(WebApplicationException excp) {
 			throw excp;
 		} catch (Throwable excp) {
@@ -3007,31 +2995,26 @@ public class ServiceREST {
 				perf = RangerPerfTracer.getPerfTracer(PERF_LOG, "ServiceREST.getServicePolicies(serviceName=" + serviceName + ")");
 			}
 
-			if(isAdminUserWithNoFilterParams(filter)) {
-				PList<RangerPolicy> policies = svcStore.getPaginatedServicePolicies(serviceName, filter);
+			// get all policies from the store; pick the page to return after applying filter
+			int savedStartIndex = filter == null ? 0 : filter.getStartIndex();
+			int savedMaxRows    = filter == null ? Integer.MAX_VALUE : filter.getMaxRows();
 
-				return toRangerPolicyList(policies);
-			} else {
-				// get all policies from the store; pick the page to return after applying filter
-				int savedStartIndex = filter == null ? 0 : filter.getStartIndex();
-				int savedMaxRows    = filter == null ? Integer.MAX_VALUE : filter.getMaxRows();
+			if(filter != null) {
+				filter.setStartIndex(0);
+				filter.setMaxRows(Integer.MAX_VALUE);
+			}
 
-				if(filter != null) {
-					filter.setStartIndex(0);
-					filter.setMaxRows(Integer.MAX_VALUE);
-				}
+			List<RangerPolicy> servicePolicies = svcStore.getServicePolicies(serviceName, filter);
 
-				List<RangerPolicy> servicePolicies = svcStore.getServicePolicies(serviceName, filter);
+			if(filter != null) {
+				filter.setStartIndex(savedStartIndex);
+				filter.setMaxRows(savedMaxRows);
+			}
 
-				if(filter != null) {
-					filter.setStartIndex(savedStartIndex);
-					filter.setMaxRows(savedMaxRows);
-				}
+			servicePolicies = applyAdminAccessFilter(servicePolicies);
 
-				servicePolicies = applyAdminAccessFilter(servicePolicies);
+			return toRangerPolicyList(servicePolicies, filter);
 
-				return toRangerPolicyList(servicePolicies, filter);
-			}
 		} catch(WebApplicationException excp) {
 			throw excp;
 		} catch (Throwable excp) {
@@ -3779,27 +3762,6 @@ public class ServiceREST {
 		map.put(CUSTOM_METHODS_TO_IGNORE_PARAM, PropertiesUtil.getProperty(CUSTOM_METHODS_TO_IGNORE_PARAM, RangerCSRFPreventionFilter.METHODS_TO_IGNORE_DEFAULT));
 		return map;
 	}
-	
-	boolean isAdminUserWithNoFilterParams(SearchFilter filter) {
-		return (filter == null || MapUtils.isEmpty(filter.getParams())) &&
-			   (bizUtil.isAdmin() || bizUtil.isKeyAdmin());
-	}
-
-	private RangerPolicyList toRangerPolicyList(PList<RangerPolicy> policyList) {
-		RangerPolicyList ret = new RangerPolicyList();
-
-		if(policyList != null) {
-			ret.setPolicies(policyList.getList());
-			ret.setPageSize(policyList.getPageSize());
-			ret.setResultSize(policyList.getResultSize());
-			ret.setStartIndex(policyList.getStartIndex());
-			ret.setTotalCount(policyList.getTotalCount());
-			ret.setSortBy(policyList.getSortBy());
-			ret.setSortType(policyList.getSortType());
-		}
-
-		return ret;
-	}
 
 	private RangerPolicyList toRangerPolicyList(List<RangerPolicy> policyList, SearchFilter filter) {
 		RangerPolicyList ret = new RangerPolicyList();