RANGER-200 : Implement pagination on Analytics page

Signed-off-by: sneethiraj <[email protected]>


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

Branch: refs/heads/master
Commit: 2e2bdd8a1c1804e7e729967aa1b441b6779d3b4d
Parents: f2ed981
Author: Gautam Borad <[email protected]>
Authored: Wed Apr 8 14:06:35 2015 +0530
Committer: sneethiraj <[email protected]>
Committed: Wed Apr 8 07:57:15 2015 -0400

----------------------------------------------------------------------
 .../java/org/apache/ranger/rest/AssetREST.java  |   7 +-
 .../org/apache/ranger/rest/PublicAPIsv2.java    |   6 +-
 .../org/apache/ranger/rest/ServiceREST.java     | 258 +++++--------------
 3 files changed, 67 insertions(+), 204 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/2e2bdd8a/security-admin/src/main/java/org/apache/ranger/rest/AssetREST.java
----------------------------------------------------------------------
diff --git a/security-admin/src/main/java/org/apache/ranger/rest/AssetREST.java 
b/security-admin/src/main/java/org/apache/ranger/rest/AssetREST.java
index 07f43b8..0fc0094 100644
--- a/security-admin/src/main/java/org/apache/ranger/rest/AssetREST.java
+++ b/security-admin/src/main/java/org/apache/ranger/rest/AssetREST.java
@@ -239,7 +239,7 @@ public class AssetREST {
 
                VXAssetList ret = new VXAssetList();
 
-               List<RangerService> services = serviceREST.getServices(request);
+               List<RangerService> services = 
serviceREST.getServices(request).getServices();
 
                if(services != null) {
                        List<VXAsset> assets = new ArrayList<VXAsset>();
@@ -383,7 +383,8 @@ public class AssetREST {
                String arg     = request.getParameter("assetId");
                Long   assetId = (arg == null || arg.isEmpty()) ? null : 
Long.parseLong(arg);
 
-               List<RangerPolicy> policies = assetId != null ? 
serviceREST.getServicePolicies(assetId, request) : 
serviceREST.getPolicies(request);
+               List<RangerPolicy> policies = assetId != null ? 
serviceREST.getServicePolicies(assetId, request)
+                               .getPolicies() : 
serviceREST.getPolicies(request).getPolicies();
 
                if(policies != null) {
                        List<VXResource> resources = new 
ArrayList<VXResource>(policies.size());
@@ -515,7 +516,7 @@ public class AssetREST {
                boolean httpEnabled = 
PropertiesUtil.getBooleanProperty("http.enabled",true);
 
                RangerService      service  = 
serviceREST.getServiceByName(repository);
-               List<RangerPolicy> policies = 
serviceREST.getServicePolicies(repository, request);
+               List<RangerPolicy> policies = 
serviceREST.getServicePolicies(repository, request).getPolicies();
 
                long             policyUpdTime = (service != null && 
service.getPolicyUpdateTime() != null) ? 
service.getPolicyUpdateTime().getTime() : 0l;
                VXAsset          vAsset        = serviceUtil.toVXAsset(service);

http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/2e2bdd8a/security-admin/src/main/java/org/apache/ranger/rest/PublicAPIsv2.java
----------------------------------------------------------------------
diff --git 
a/security-admin/src/main/java/org/apache/ranger/rest/PublicAPIsv2.java 
b/security-admin/src/main/java/org/apache/ranger/rest/PublicAPIsv2.java
index 4e641ad..2094228 100644
--- a/security-admin/src/main/java/org/apache/ranger/rest/PublicAPIsv2.java
+++ b/security-admin/src/main/java/org/apache/ranger/rest/PublicAPIsv2.java
@@ -79,7 +79,7 @@ public class PublicAPIsv2 {
        @PreAuthorize("hasRole('ROLE_SYS_ADMIN')")
        @Produces({ "application/json", "application/xml" })
        public List<RangerServiceDef> searchServiceDefs(@Context 
HttpServletRequest request) {
-               return serviceREST.getServiceDefs(request);
+               return serviceREST.getServiceDefs(request).getServiceDefs();
        }
 
        @POST
@@ -190,7 +190,7 @@ public class PublicAPIsv2 {
        @PreAuthorize("hasRole('ROLE_SYS_ADMIN')")
        @Produces({ "application/json", "application/xml" })
        public List<RangerService> searchServices(@Context HttpServletRequest 
request) {
-               return serviceREST.getServices(request);
+               return serviceREST.getServices(request).getServices();
        }
 
        @POST
@@ -312,7 +312,7 @@ public class PublicAPIsv2 {
        @Produces({ "application/json", "application/xml" })
        public List<RangerPolicy> searchPolicies(@PathParam("servicename") 
String serviceName,
                                                 @Context HttpServletRequest 
request) {
-               return serviceREST.getServicePolicies(serviceName, request);
+               return serviceREST.getServicePolicies(serviceName, 
request).getPolicies();
        }
 
        @POST

http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/2e2bdd8a/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 c2b0a3f..d9f7015 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
@@ -20,7 +20,6 @@
 package org.apache.ranger.rest;
 
 import java.util.ArrayList;
-import java.util.Collections;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -90,7 +89,6 @@ import org.springframework.stereotype.Component;
 import org.springframework.transaction.annotation.Propagation;
 import org.springframework.transaction.annotation.Transactional;
 
-
 @Path("plugins")
 @Component
 @Scope("request")
@@ -279,35 +277,33 @@ public class ServiceREST {
 
                return ret;
        }
-
+       
        @GET
-       @Path("/definitions/unpaginated")
+       @Path("/definitions")
        @Produces({ "application/json", "application/xml" })
-       public List<RangerServiceDef> getServiceDefs(@Context 
HttpServletRequest request) {
-               if(LOG.isDebugEnabled()) {
+       public RangerServiceDefList getServiceDefs(@Context HttpServletRequest 
request) {
+               if (LOG.isDebugEnabled()) {
                        LOG.debug("==> ServiceREST.getServiceDefs()");
                }
 
-               List<RangerServiceDef> ret = null;
+               RangerServiceDefList ret = null;
 
                SearchFilter filter = searchUtil.getSearchFilter(request, 
serviceDefService.sortFields);
 
                try {
-                       ret = svcStore.getServiceDefs(filter);
-               } catch(Exception excp) {
+                       ret = svcStore.getPaginatedServiceDefs(filter);
+               } catch (Exception excp) {
                        LOG.error("getServiceDefs() failed", excp);
 
                        throw 
restErrorUtil.createRESTException(HttpServletResponse.SC_BAD_REQUEST, 
excp.getMessage(), true);
                }
 
-               if(LOG.isDebugEnabled()) {
-                       LOG.debug("<== ServiceREST.getServiceDefs(): count=" + 
(ret == null ? 0 : ret.size()));
+               if (LOG.isDebugEnabled()) {
+                       LOG.debug("<== ServiceREST.getServiceDefs(): count=" + 
(ret == null ? 0 : ret.getListSize()));
                }
-
                return ret;
        }
 
-
        @POST
        @Path("/services")
        @Produces({ "application/json", "application/xml" })
@@ -448,29 +444,28 @@ public class ServiceREST {
        }
 
        @GET
-       @Path("/services/unpaginated")
+       @Path("/services")
        @Produces({ "application/json", "application/xml" })
-       public List<RangerService> getServices(@Context HttpServletRequest 
request) {
-               if(LOG.isDebugEnabled()) {
-                       LOG.debug("==> ServiceREST.getServices():");
+       public RangerServiceList getServices(@Context HttpServletRequest 
request) {
+               if (LOG.isDebugEnabled()) {
+                       LOG.debug("==> ServiceREST.getServices()");
                }
 
-               List<RangerService> ret = null;
+               RangerServiceList ret = null;
 
                SearchFilter filter = searchUtil.getSearchFilter(request, 
svcService.sortFields);
 
                try {
-                       ret = svcStore.getServices(filter);
-               } catch(Exception excp) {
+                       ret = svcStore.getPaginatedServices(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()));
+               if (LOG.isDebugEnabled()) {
+                       LOG.debug("<== ServiceREST.getServices(): count=" + 
(ret == null ? 0 : ret.getListSize()));
                }
-
                return ret;
        }
 
@@ -508,7 +503,7 @@ public class ServiceREST {
                Long ret = null;
 
                try {
-                       List<RangerService> services = getServices(request);
+                       List<RangerService> services = 
getServices(request).getServices();
                        
                        ret = new Long(services == null ? 0 : services.size());
                } catch(Exception excp) {
@@ -955,21 +950,28 @@ public class ServiceREST {
        }
 
        @GET
-       @Path("/policies/unpaginated")
+       @Path("/policies")
        @Produces({ "application/json", "application/xml" })
-       public List<RangerPolicy> getPolicies(@Context HttpServletRequest 
request) {
-               if(LOG.isDebugEnabled()) {
-                       LOG.debug("==> ServiceREST.getPolicies(request)");
+       public RangerPolicyList getPolicies(@Context HttpServletRequest 
request) {
+               if (LOG.isDebugEnabled()) {
+                       LOG.debug("==> ServiceREST.getPolicies()");
                }
 
+               RangerPolicyList ret = null;
+
                SearchFilter filter = searchUtil.getSearchFilter(request, 
policyService.sortFields);
 
-               List<RangerPolicy> ret = getPolicies(filter);
+               try {
+                       ret = svcStore.getPaginatedPolicies(filter);
+               } catch (Exception excp) {
+                       LOG.error("getPolicies() failed", excp);
 
-               if(LOG.isDebugEnabled()) {
-                       LOG.debug("<== ServiceREST.getPolicies(request): 
count=" + (ret == null ? 0 : ret.size()));
+                       throw 
restErrorUtil.createRESTException(HttpServletResponse.SC_BAD_REQUEST, 
excp.getMessage(), true);
                }
 
+               if (LOG.isDebugEnabled()) {
+                       LOG.debug("<== ServiceREST.getPolicies(): count=" + 
(ret == null ? 0 : ret.getListSize()));
+               }
                return ret;
        }
 
@@ -1006,7 +1008,7 @@ public class ServiceREST {
                Long ret = null;
 
                try {
-                       List<RangerPolicy> services = getPolicies(request);
+                       List<RangerPolicy> services = 
getPolicies(request).getPolicies();
                        
                        ret = new Long(services == null ? 0 : services.size());
                } catch(Exception excp) {
@@ -1023,62 +1025,65 @@ public class ServiceREST {
        }
 
        @GET
-       @Path("/policies/service/unpaginated/{id}")
+       @Path("/policies/service/{id}")
        @Produces({ "application/json", "application/xml" })
-       public List<RangerPolicy> getServicePolicies(@PathParam("id") Long 
serviceId, @Context HttpServletRequest request) {
-               if(LOG.isDebugEnabled()) {
+       public RangerPolicyList getServicePolicies(@PathParam("id") Long 
serviceId,
+                       @Context HttpServletRequest request) {
+               if (LOG.isDebugEnabled()) {
                        LOG.debug("==> ServiceREST.getServicePolicies(" + 
serviceId + ")");
                }
 
-               List<RangerPolicy> ret = null;
+               RangerPolicyList ret = null;
 
                SearchFilter filter = searchUtil.getSearchFilter(request, 
policyService.sortFields);
 
                try {
-                       ret = svcStore.getServicePolicies(serviceId, filter);
-               } catch(Exception excp) {
+                       ret = svcStore.getPaginatedServicePolicies(serviceId, 
filter);
+               } catch (Exception excp) {
                        LOG.error("getServicePolicies(" + serviceId + ") 
failed", excp);
 
                        throw 
restErrorUtil.createRESTException(HttpServletResponse.SC_BAD_REQUEST, 
excp.getMessage(), true);
                }
 
-               if(ret == null) {
-                       throw 
restErrorUtil.createRESTException(HttpServletResponse.SC_NOT_FOUND, "Not 
found", true);
+               if (ret == null) {
+                       LOG.info("No Policies found for given service id: " + 
serviceId);
                }
 
-               if(LOG.isDebugEnabled()) {
-                       LOG.debug("<== ServiceREST.getServicePolicies(" + 
serviceId + "): count=" + ret.size());
+               if (LOG.isDebugEnabled()) {
+                       LOG.debug("<== ServiceREST.getServicePolicies(" + 
serviceId + "): count="
+                                       + ret.getListSize());
                }
-
                return ret;
        }
 
        @GET
-       @Path("/policies/service/unpaginated/name/{name}")
+       @Path("/policies/service/name/{name}")
        @Produces({ "application/json", "application/xml" })
-       public List<RangerPolicy> getServicePolicies(@PathParam("name") String 
serviceName, @Context HttpServletRequest request) {
-               if(LOG.isDebugEnabled()) {
+       public RangerPolicyList getServicePolicies(@PathParam("name") String 
serviceName,
+                       @Context HttpServletRequest request) {
+               if (LOG.isDebugEnabled()) {
                        LOG.debug("==> ServiceREST.getServicePolicies(" + 
serviceName + ")");
                }
 
-               List<RangerPolicy> ret = null;
+               RangerPolicyList ret = null;
 
                SearchFilter filter = searchUtil.getSearchFilter(request, 
policyService.sortFields);
 
                try {
-                       ret = svcStore.getServicePolicies(serviceName, filter);
-               } catch(Exception excp) {
+                       ret = svcStore.getPaginatedServicePolicies(serviceName, 
filter);
+               } catch (Exception excp) {
                        LOG.error("getServicePolicies(" + serviceName + ") 
failed", excp);
 
                        throw 
restErrorUtil.createRESTException(HttpServletResponse.SC_BAD_REQUEST, 
excp.getMessage(), true);
                }
 
-               if(ret == null) {
-                       throw 
restErrorUtil.createRESTException(HttpServletResponse.SC_NOT_FOUND, "Not 
found", true);
+               if (ret == null) {
+                       LOG.info("No Policies found for given service name: " + 
serviceName);
                }
 
-               if(LOG.isDebugEnabled()) {
-                       LOG.debug("<== ServiceREST.getServicePolicies(" + 
serviceName + "): count=" + ret.size());
+               if (LOG.isDebugEnabled()) {
+                       LOG.debug("<== ServiceREST.getServicePolicies(" + 
serviceName + "): count="
+                                       + ret.getListSize());
                }
 
                return ret;
@@ -1159,7 +1164,7 @@ public class ServiceREST {
 
                boolean ret = false;
                
-               List<RangerPolicy> policies = getServicePolicies(serviceName, 
null);
+               List<RangerPolicy> policies = getServicePolicies(serviceName, 
null).getPolicies();
 
                if(!CollectionUtils.isEmpty(policies)) {
                        for(RangerPolicy policy : policies) {
@@ -1204,7 +1209,7 @@ public class ServiceREST {
 
                RangerPolicy ret = null;
 
-               List<RangerPolicy> policies = getServicePolicies(serviceName, 
null);
+               List<RangerPolicy> policies = getServicePolicies(serviceName, 
null).getPolicies();
 
                if(!CollectionUtils.isEmpty(policies)) {
                        for(RangerPolicy policy : policies) {
@@ -1381,149 +1386,6 @@ public class ServiceREST {
        }
 
        @GET
-       @Path("/definitions")
-       @Produces({ "application/json", "application/xml" })
-       public RangerServiceDefList getPaginatedServiceDefs(@Context 
HttpServletRequest request) {
-               if (LOG.isDebugEnabled()) {
-                       LOG.debug("==> ServiceREST.getPaginatedServiceDefs()");
-               }
-
-               RangerServiceDefList ret = null;
-
-               SearchFilter filter = searchUtil.getSearchFilter(request, 
serviceDefService.sortFields);
-
-               try {
-                       ret = svcStore.getPaginatedServiceDefs(filter);
-               } catch (Exception excp) {
-                       LOG.error("getServiceDefs() failed", excp);
-
-                       throw 
restErrorUtil.createRESTException(HttpServletResponse.SC_BAD_REQUEST, 
excp.getMessage(), true);
-               }
-
-               if (LOG.isDebugEnabled()) {
-                       LOG.debug("<== ServiceREST.getPaginatedServiceDefs(): 
count=" + (ret == null ? 0 : ret.getListSize()));
-               }
-               return ret;
-       }
-
-       @GET
-       @Path("/services")
-       @Produces({ "application/json", "application/xml" })
-       public RangerServiceList getPaginatedServices(@Context 
HttpServletRequest request) {
-               if (LOG.isDebugEnabled()) {
-                       LOG.debug("==> ServiceREST.getPaginatedServices()");
-               }
-
-               RangerServiceList ret = null;
-
-               SearchFilter filter = searchUtil.getSearchFilter(request, 
svcService.sortFields);
-
-               try {
-                       ret = svcStore.getPaginatedServices(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.getPaginatedServices(): 
count=" + (ret == null ? 0 : ret.getListSize()));
-               }
-               return ret;
-       }
-
-       @GET
-       @Path("/policies")
-       @Produces({ "application/json", "application/xml" })
-       public RangerPolicyList getPaginatedPolicies(@Context 
HttpServletRequest request) {
-               if (LOG.isDebugEnabled()) {
-                       LOG.debug("==> ServiceREST.getPaginatedPolicies()");
-               }
-
-               RangerPolicyList ret = null;
-
-               SearchFilter filter = searchUtil.getSearchFilter(request, 
policyService.sortFields);
-
-               try {
-                       ret = svcStore.getPaginatedPolicies(filter);
-               } catch (Exception excp) {
-                       LOG.error("getPolicies() failed", excp);
-
-                       throw 
restErrorUtil.createRESTException(HttpServletResponse.SC_BAD_REQUEST, 
excp.getMessage(), true);
-               }
-
-               if (LOG.isDebugEnabled()) {
-                       LOG.debug("<== ServiceREST.getPaginatedPolicies(): 
count=" + (ret == null ? 0 : ret.getListSize()));
-               }
-               return ret;
-       }
-
-       @GET
-       @Path("/policies/service/{id}")
-       @Produces({ "application/json", "application/xml" })
-       public RangerPolicyList getPaginatedServicePolicies(@PathParam("id") 
Long serviceId,
-                       @Context HttpServletRequest request) {
-               if (LOG.isDebugEnabled()) {
-                       LOG.debug("==> ServiceREST.getServicePolicies(" + 
serviceId + ")");
-               }
-
-               RangerPolicyList ret = null;
-
-               SearchFilter filter = searchUtil.getSearchFilter(request, 
policyService.sortFields);
-
-               try {
-                       ret = svcStore.getPaginatedServicePolicies(serviceId, 
filter);
-               } catch (Exception excp) {
-                       LOG.error("getServicePolicies(" + serviceId + ") 
failed", excp);
-
-                       throw 
restErrorUtil.createRESTException(HttpServletResponse.SC_BAD_REQUEST, 
excp.getMessage(), true);
-               }
-
-               if (ret == null) {
-                       throw 
restErrorUtil.createRESTException(HttpServletResponse.SC_NOT_FOUND, "Not 
found", true);
-               }
-
-               if (LOG.isDebugEnabled()) {
-                       LOG.debug("<== ServiceREST.getServicePolicies(" + 
serviceId + "): count="
-                                       + ret.getListSize());
-               }
-               return ret;
-       }
-
-       @GET
-       @Path("/policies/service/name/{name}")
-       @Produces({ "application/json", "application/xml" })
-       public RangerPolicyList getPaginatedServicePolicies(@PathParam("name") 
String serviceName,
-                       @Context HttpServletRequest request) {
-               if (LOG.isDebugEnabled()) {
-                       LOG.debug("==> ServiceREST.getServicePolicies(" + 
serviceName + ")");
-               }
-
-               RangerPolicyList ret = null;
-
-               SearchFilter filter = searchUtil.getSearchFilter(request, 
policyService.sortFields);
-
-               try {
-                       ret = svcStore.getPaginatedServicePolicies(serviceName, 
filter);
-               } catch (Exception excp) {
-                       LOG.error("getServicePolicies(" + serviceName + ") 
failed", excp);
-
-                       throw 
restErrorUtil.createRESTException(HttpServletResponse.SC_BAD_REQUEST, 
excp.getMessage(), true);
-               }
-
-               if (ret == null) {
-                       throw 
restErrorUtil.createRESTException(HttpServletResponse.SC_NOT_FOUND, "Not 
found", true);
-               }
-
-               if (LOG.isDebugEnabled()) {
-                       LOG.debug("<== ServiceREST.getServicePolicies(" + 
serviceName + "): count="
-                                       + ret.getListSize());
-               }
-
-               return ret;
-       }
-
-       @GET
        @Path("/policies/eventTime")
        @Produces({ "application/json", "application/xml" })
        public RangerPolicy getPolicyFromEventTime(@Context HttpServletRequest 
request) {

Reply via email to