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 {

Reply via email to