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 <[email protected]>
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 <[email protected]>
---
 .../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();

Reply via email to