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/28 03:00:32 UTC

[2/2] incubator-ranger git commit: RANGER-346: Service-def files updated to use map for *Options fields, instead of a string with custom format

RANGER-346: Service-def files updated to use map for *Options fields, instead of a string with custom format


Project: http://git-wip-us.apache.org/repos/asf/incubator-ranger/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ranger/commit/f88382b6
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ranger/tree/f88382b6
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ranger/diff/f88382b6

Branch: refs/heads/master
Commit: f88382b6f11f4317fcf5cba77025f14e1f647231
Parents: ca40e35
Author: Madhan Neethiraj <ma...@apache.org>
Authored: Fri Mar 27 18:50:11 2015 -0700
Committer: Madhan Neethiraj <ma...@apache.org>
Committed: Fri Mar 27 18:50:11 2015 -0700

----------------------------------------------------------------------
 .../RangerAbstractContextEnricher.java          |  3 ---
 .../RangerSimpleMatcherTest.java                |  2 +-
 .../service/RangerServiceDefServiceBase.java    | 25 ++++++++++++++++++--
 3 files changed, 24 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/f88382b6/agents-common/src/main/java/org/apache/ranger/plugin/contextenricher/RangerAbstractContextEnricher.java
----------------------------------------------------------------------
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/contextenricher/RangerAbstractContextEnricher.java b/agents-common/src/main/java/org/apache/ranger/plugin/contextenricher/RangerAbstractContextEnricher.java
index af4b560..f14360d 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/contextenricher/RangerAbstractContextEnricher.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/contextenricher/RangerAbstractContextEnricher.java
@@ -34,9 +34,6 @@ import org.apache.ranger.plugin.model.RangerServiceDef.RangerContextEnricherDef;
 public abstract class RangerAbstractContextEnricher implements RangerContextEnricher {
 	private static final Log LOG = LogFactory.getLog(RangerAbstractContextEnricher.class);
 
-	public final static String OPTIONS_SEP        = ";";
-	public final static String OPTION_NV_SEP      = "=";
-
 	private Map<String, String> options = null;
 
 	@Override

http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/f88382b6/agents-common/src/test/java/org/apache/ranger/plugin/conditionevaluator/RangerSimpleMatcherTest.java
----------------------------------------------------------------------
diff --git a/agents-common/src/test/java/org/apache/ranger/plugin/conditionevaluator/RangerSimpleMatcherTest.java b/agents-common/src/test/java/org/apache/ranger/plugin/conditionevaluator/RangerSimpleMatcherTest.java
index 99c8df0..7ce9cf3 100644
--- a/agents-common/src/test/java/org/apache/ranger/plugin/conditionevaluator/RangerSimpleMatcherTest.java
+++ b/agents-common/src/test/java/org/apache/ranger/plugin/conditionevaluator/RangerSimpleMatcherTest.java
@@ -39,7 +39,7 @@ import org.junit.Test;
 public class RangerSimpleMatcherTest {
 
 	final Map<String, String> _conditionOptions = new HashMap<String, String>();
-	
+
 	{
 		_conditionOptions.put(RangerSimpleMatcher.CONTEXT_NAME, RangerSimpleMatcher.CONTEXT_NAME);
 	}

http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/f88382b6/security-admin/src/main/java/org/apache/ranger/service/RangerServiceDefServiceBase.java
----------------------------------------------------------------------
diff --git a/security-admin/src/main/java/org/apache/ranger/service/RangerServiceDefServiceBase.java b/security-admin/src/main/java/org/apache/ranger/service/RangerServiceDefServiceBase.java
index 7754077..48fd7f8 100644
--- a/security-admin/src/main/java/org/apache/ranger/service/RangerServiceDefServiceBase.java
+++ b/security-admin/src/main/java/org/apache/ranger/service/RangerServiceDefServiceBase.java
@@ -1,6 +1,7 @@
 package org.apache.ranger.service;
 
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
@@ -341,11 +342,31 @@ public abstract class RangerServiceDefServiceBase<T extends XXServiceDef, V exte
 	private Map<String, String> jsonStringToMap(String jsonStr) {
 		Map<String, String> ret = null;
 
-		if(jsonStr != null) {
+		if(!StringUtils.isEmpty(jsonStr)) {
 			try {
 				ret = jsonUtil.jsonToMap(jsonStr);
 			} catch(Exception excp) {
-				LOG.warn("jsonStringToMap() failed to convert string: " + jsonStr, excp);
+				// fallback to earlier format: "name1=value1;name2=value2"
+				for(String optionString : jsonStr.split(";")) {
+					if(StringUtils.isEmpty(optionString)) {
+						continue;
+					}
+
+					String[] nvArr = optionString.split("=");
+
+					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;
+					}
+
+					if(ret == null) {
+						ret = new HashMap<String, String>();
+					}
+
+					ret.put(name, value);
+				}
 			}
 		}