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 {