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 <[email protected]> Authored: Tue Mar 31 14:34:37 2015 -0700 Committer: Madhan Neethiraj <[email protected]> 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 {
