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/31 23:58:43 UTC
incubator-ranger git commit: RANGER-346: resource-matcher updates for
change in matcherOptions type
Repository: incubator-ranger
Updated Branches:
refs/heads/master ff347709c -> d13617aa7
RANGER-346: resource-matcher updates for change in matcherOptions type
Project: http://git-wip-us.apache.org/repos/asf/incubator-ranger/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ranger/commit/d13617aa
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ranger/tree/d13617aa
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ranger/diff/d13617aa
Branch: refs/heads/master
Commit: d13617aa7dca31f996cb2090d19bad2176248955
Parents: ff34770
Author: Madhan Neethiraj <ma...@apache.org>
Authored: Tue Mar 31 14:34:37 2015 -0700
Committer: Madhan Neethiraj <ma...@apache.org>
Committed: Tue Mar 31 14:34:37 2015 -0700
----------------------------------------------------------------------
.../RangerAbstractResourceMatcher.java | 50 ++------------------
.../resourcematcher/RangerResourceMatcher.java | 4 --
.../plugin/policyengine/TestPolicyEngine.java | 25 ++++------
3 files changed, 15 insertions(+), 64 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/d13617aa/agents-common/src/main/java/org/apache/ranger/plugin/resourcematcher/RangerAbstractResourceMatcher.java
----------------------------------------------------------------------
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/resourcematcher/RangerAbstractResourceMatcher.java b/agents-common/src/main/java/org/apache/ranger/plugin/resourcematcher/RangerAbstractResourceMatcher.java
index eee8d23..646cbc5 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/resourcematcher/RangerAbstractResourceMatcher.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/resourcematcher/RangerAbstractResourceMatcher.java
@@ -20,7 +20,6 @@
package org.apache.ranger.plugin.resourcematcher;
import java.util.ArrayList;
-import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -44,7 +43,6 @@ public abstract class RangerAbstractResourceMatcher implements RangerResourceMat
private RangerResourceDef resourceDef = null;
private RangerPolicyResource policyResource = null;
- private String optionsString = null;
private Map<String, String> options = null;
protected boolean optIgnoreCase = false;
@@ -55,51 +53,19 @@ public abstract class RangerAbstractResourceMatcher implements RangerResourceMat
protected boolean isMatchAny = false;
@Override
- public void initOptions(String optionsString) {
- if(LOG.isDebugEnabled()) {
- LOG.debug("==> RangerAbstractResourceMatcher.initOptions(" + optionsString + ")");
- }
-
- this.optionsString = optionsString;
-
- options = new HashMap<String, String>();
-
- if(optionsString != null) {
- for(String optionString : optionsString.split(OPTIONS_SEP)) {
- if(StringUtils.isEmpty(optionString)) {
- continue;
- }
-
- String[] nvArr = optionString.split(OPTION_NV_SEP);
-
- String name = (nvArr != null && nvArr.length > 0) ? nvArr[0].trim() : null;
- String value = (nvArr != null && nvArr.length > 1) ? nvArr[1].trim() : null;
-
- if(StringUtils.isEmpty(name)) {
- continue;
- }
-
- options.put(name, value);
- }
- }
-
- optIgnoreCase = getBooleanOption(OPTION_IGNORE_CASE, true);
- optWildCard = getBooleanOption(OPTION_WILD_CARD, true);
-
- if(LOG.isDebugEnabled()) {
- LOG.debug("<== RangerAbstractResourceMatcher.initOptions(" + optionsString + ")");
- }
- }
-
- @Override
public void init(RangerResourceDef resourceDef, RangerPolicyResource policyResource) {
if(LOG.isDebugEnabled()) {
LOG.debug("==> RangerAbstractResourceMatcher.init(" + resourceDef + ", " + policyResource + ")");
}
+
+ this.options = resourceDef.getMatcherOptions();
this.resourceDef = resourceDef;
this.policyResource = policyResource;
+ optIgnoreCase = getBooleanOption(OPTION_IGNORE_CASE, true);
+ optWildCard = getBooleanOption(OPTION_WILD_CARD, true);
+
policyValues = new ArrayList<String>();
policyIsExcludes = policyResource == null ? false : policyResource.getIsExcludes();
@@ -141,11 +107,6 @@ public abstract class RangerAbstractResourceMatcher implements RangerResourceMat
}
@Override
- public String getOptionsString() {
- return optionsString;
- }
-
- @Override
public boolean isSingleAndExactMatch(String resource) {
if(LOG.isDebugEnabled()) {
LOG.debug("==> RangerAbstractResourceMatcher.isSingleAndExactMatch(" + resource + ")");
@@ -243,7 +204,6 @@ public abstract class RangerAbstractResourceMatcher implements RangerResourceMat
policyResource.toString(sb);
}
sb.append("} ");
- sb.append("optionsString={").append(optionsString).append("} ");
sb.append("optIgnoreCase={").append(optIgnoreCase).append("} ");
sb.append("optWildCard={").append(optWildCard).append("} ");
http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/d13617aa/agents-common/src/main/java/org/apache/ranger/plugin/resourcematcher/RangerResourceMatcher.java
----------------------------------------------------------------------
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/resourcematcher/RangerResourceMatcher.java b/agents-common/src/main/java/org/apache/ranger/plugin/resourcematcher/RangerResourceMatcher.java
index c79e50c..4a846b5 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/resourcematcher/RangerResourceMatcher.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/resourcematcher/RangerResourceMatcher.java
@@ -23,16 +23,12 @@ import org.apache.ranger.plugin.model.RangerPolicy.RangerPolicyResource;
import org.apache.ranger.plugin.model.RangerServiceDef.RangerResourceDef;
public interface RangerResourceMatcher {
- void initOptions(String optionsString);
-
void init(RangerResourceDef resourceDef, RangerPolicyResource policyResource);
RangerResourceDef getResourceDef();
RangerPolicyResource getPolicyResource();
- String getOptionsString();
-
boolean isMatch(String resource);
boolean isSingleAndExactMatch(String resource);
http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/d13617aa/agents-common/src/test/java/org/apache/ranger/plugin/policyengine/TestPolicyEngine.java
----------------------------------------------------------------------
diff --git a/agents-common/src/test/java/org/apache/ranger/plugin/policyengine/TestPolicyEngine.java b/agents-common/src/test/java/org/apache/ranger/plugin/policyengine/TestPolicyEngine.java
index b4175e2..d9e7bf0 100644
--- a/agents-common/src/test/java/org/apache/ranger/plugin/policyengine/TestPolicyEngine.java
+++ b/agents-common/src/test/java/org/apache/ranger/plugin/policyengine/TestPolicyEngine.java
@@ -91,26 +91,21 @@ public class TestPolicyEngine {
}
private void runTests(InputStreamReader reader, String testName) {
- try {
- PolicyEngineTestCase testCase = gsonBuilder.fromJson(reader, PolicyEngineTestCase.class);
+ PolicyEngineTestCase testCase = gsonBuilder.fromJson(reader, PolicyEngineTestCase.class);
- assertTrue("invalid input: " + testName, testCase != null && testCase.serviceDef != null && testCase.policies != null && testCase.tests != null);
+ assertTrue("invalid input: " + testName, testCase != null && testCase.serviceDef != null && testCase.policies != null && testCase.tests != null);
- policyEngine.setPolicies(testCase.serviceName, testCase.serviceDef, testCase.policies);
+ policyEngine.setPolicies(testCase.serviceName, testCase.serviceDef, testCase.policies);
- for(TestData test : testCase.tests) {
- RangerAccessResult expected = test.result;
- RangerAccessResult result = policyEngine.isAccessAllowed(test.request, null);
+ for(TestData test : testCase.tests) {
+ RangerAccessResult expected = test.result;
+ RangerAccessResult result = policyEngine.isAccessAllowed(test.request, null);
- assertNotNull(test.name, result);
- assertEquals(test.name, expected.getIsAllowed(), result.getIsAllowed());
- assertEquals(test.name, expected.getIsAudited(), result.getIsAudited());
- assertEquals(test.name, expected.getPolicyId(), result.getPolicyId());
- }
- } catch(Throwable excp) {
- excp.printStackTrace();
+ assertNotNull("result was null! - " + test.name, result);
+ assertEquals("isAllowed mismatched! - " + test.name, expected.getIsAllowed(), result.getIsAllowed());
+ assertEquals("isAudited mismatched! - " + test.name, expected.getIsAudited(), result.getIsAudited());
+ assertEquals("policyId mismatched! - " + test.name, expected.getPolicyId(), result.getPolicyId());
}
-
}
static class PolicyEngineTestCase {