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 14:38:11 UTC

[2/2] incubator-ranger git commit: RANGER-200 : Implement pagination on Analytics page

RANGER-200 : Implement pagination on Analytics page

Signed-off-by: sneethiraj <sn...@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/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 <gb...@gmail.com>
Authored: Wed Apr 8 14:06:35 2015 +0530
Committer: sneethiraj <sn...@apache.org>
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) {