You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ranger.apache.org by ma...@apache.org on 2015/03/24 01:58:25 UTC
incubator-ranger git commit: RANGER-328: fix for NPE in Ranger policy
engine
Repository: incubator-ranger
Updated Branches:
refs/heads/master 66e5cfd96 -> 878e2ac3f
RANGER-328: fix for NPE in Ranger policy engine
Project: http://git-wip-us.apache.org/repos/asf/incubator-ranger/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ranger/commit/878e2ac3
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ranger/tree/878e2ac3
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ranger/diff/878e2ac3
Branch: refs/heads/master
Commit: 878e2ac3f656502bd9aba150579de28b657845a1
Parents: 66e5cfd
Author: Madhan Neethiraj <ma...@apache.org>
Authored: Mon Mar 23 17:35:40 2015 -0700
Committer: Madhan Neethiraj <ma...@apache.org>
Committed: Mon Mar 23 17:35:40 2015 -0700
----------------------------------------------------------------------
.../policyengine/RangerPolicyEngineImpl.java | 23 ++++++++++++++++++--
1 file changed, 21 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/878e2ac3/agents-common/src/main/java/org/apache/ranger/plugin/policyengine/RangerPolicyEngineImpl.java
----------------------------------------------------------------------
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/policyengine/RangerPolicyEngineImpl.java b/agents-common/src/main/java/org/apache/ranger/plugin/policyengine/RangerPolicyEngineImpl.java
index 7227e9e..5e9ca0c 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/policyengine/RangerPolicyEngineImpl.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/policyengine/RangerPolicyEngineImpl.java
@@ -56,11 +56,14 @@ public class RangerPolicyEngineImpl implements RangerPolicyEngine {
@Override
public RangerServiceDef getServiceDef() {
+ RangerPolicyRepository policyRepository = getPolicyRepository();
+
return policyRepository == null ? null : policyRepository.getServiceDef();
}
@Override
public List<RangerContextEnricher> getContextEnrichers() {
+ RangerPolicyRepository policyRepository = getPolicyRepository();
return policyRepository == null ? null : policyRepository.getContextEnrichers();
}
@@ -72,9 +75,11 @@ public class RangerPolicyEngineImpl implements RangerPolicyEngine {
}
if (serviceName != null && serviceDef != null && policies != null) {
- policyRepository = new RangerPolicyRepository(serviceName);
+ RangerPolicyRepository policyRepository = new RangerPolicyRepository(serviceName);
policyRepository.init(serviceDef, policies);
+
this.serviceName = serviceName;
+ setPolicyRepository(policyRepository);
} else {
LOG.error("RangerPolicyEngineImpl.setPolicies ->Invalid arguments: serviceName, serviceDef, or policies is null");
}
@@ -96,7 +101,9 @@ public class RangerPolicyEngineImpl implements RangerPolicyEngine {
@Override
public RangerAccessResult createAccessResult(RangerAccessRequest request) {
- return policyRepository == null ? null : new RangerAccessResult(serviceName, policyRepository.getServiceDef(), request);
+ RangerPolicyRepository policyRepository = getPolicyRepository();
+
+ return new RangerAccessResult(serviceName, policyRepository == null ? null : policyRepository.getServiceDef(), request);
}
@Override
@@ -160,6 +167,8 @@ public class RangerPolicyEngineImpl implements RangerPolicyEngine {
LOG.debug("==> RangerPolicyEngineImpl.isAccessAllowedNoAudit(" + request + ")");
}
+ RangerPolicyRepository policyRepository = getPolicyRepository();
+
RangerAccessResult ret = createAccessResult(request);
if(policyRepository != null && ret != null && request != null) {
@@ -191,6 +200,14 @@ public class RangerPolicyEngineImpl implements RangerPolicyEngine {
return ret;
}
+ private RangerPolicyRepository getPolicyRepository() {
+ return this.policyRepository;
+ }
+
+ private void setPolicyRepository(RangerPolicyRepository policyRepository) {
+ this.policyRepository = policyRepository;
+ }
+
@Override
public String toString( ) {
StringBuilder sb = new StringBuilder();
@@ -201,6 +218,8 @@ public class RangerPolicyEngineImpl implements RangerPolicyEngine {
}
public StringBuilder toString(StringBuilder sb) {
+ RangerPolicyRepository policyRepository = getPolicyRepository();
+
sb.append("RangerPolicyEngineImpl={");
sb.append("serviceName={").append(serviceName).append("} ");