RANGER-672 v0.4 plugins are unable to download policies from 0.5 server Signed-off-by: Alok Lal <[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/a3185664 Tree: http://git-wip-us.apache.org/repos/asf/incubator-ranger/tree/a3185664 Diff: http://git-wip-us.apache.org/repos/asf/incubator-ranger/diff/a3185664 Branch: refs/heads/HDP-2.3.2-groupid Commit: a3185664b6743166189f35135437931209f0385b Parents: e6a2bc2 Author: Alok Lal <[email protected]> Authored: Tue Sep 29 17:01:08 2015 -0700 Committer: sneethiraj <[email protected]> Committed: Tue Sep 29 21:01:01 2015 -0400 ---------------------------------------------------------------------- .../org/apache/ranger/common/ServiceUtil.java | 30 ++++++++++++++++++++ .../java/org/apache/ranger/rest/AssetREST.java | 2 +- 2 files changed, 31 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/a3185664/security-admin/src/main/java/org/apache/ranger/common/ServiceUtil.java ---------------------------------------------------------------------- diff --git a/security-admin/src/main/java/org/apache/ranger/common/ServiceUtil.java b/security-admin/src/main/java/org/apache/ranger/common/ServiceUtil.java index 8a637a0..861240b 100644 --- a/security-admin/src/main/java/org/apache/ranger/common/ServiceUtil.java +++ b/security-admin/src/main/java/org/apache/ranger/common/ServiceUtil.java @@ -32,6 +32,8 @@ import javax.naming.ldap.LdapName; import javax.naming.ldap.Rdn; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import javax.ws.rs.PathParam; +import javax.ws.rs.WebApplicationException; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang.StringUtils; @@ -123,6 +125,34 @@ public class ServiceUtil { version = "0"; } + public RangerService getServiceByName(@PathParam("name") String name) { + if(LOG.isDebugEnabled()) { + LOG.debug("==> ServiceUtil.getServiceByName(" + name + ")"); + } + + RangerService ret = null; + + try { + ret = svcStore.getServiceByName(name); + } catch(WebApplicationException excp) { + throw excp; + } catch(Throwable excp) { + LOG.error("getServiceByName(" + name + ") failed", excp); + + throw restErrorUtil.createRESTException(excp.getMessage()); + } + + if(ret == null) { + throw restErrorUtil.createRESTException(HttpServletResponse.SC_NOT_FOUND, "Not found", true); + } + + if(LOG.isDebugEnabled()) { + LOG.debug("<== ServiceUtil.getServiceByName(" + name + "): " + ret); + } + + return ret; + } + public RangerService toRangerService(VXAsset asset) { if(asset == null) { return null; http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/a3185664/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 19dbfaa..79cea02 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 @@ -533,7 +533,7 @@ public class AssetREST { logger.error("failed to retrieve policies for repository " + repository, excp); } - RangerService service = serviceREST.getServiceByName(repository); + RangerService service = serviceUtil.getServiceByName(repository); List<RangerPolicy> policies = servicePolicies != null ? servicePolicies.getPolicies() : null; long policyUpdTime = (servicePolicies != null && servicePolicies.getPolicyUpdateTime() != null) ? servicePolicies.getPolicyUpdateTime().getTime() : 0l; VXAsset vAsset = serviceUtil.toVXAsset(service);
