From 1267516ac4ce6402a0d175328563d5557fd59c96 Mon Sep 17 00:00:00 2001 From: Dan Timoney Date: Fri, 29 Oct 2021 15:04:35 -0400 Subject: Sync local changes to support GRA microservice Sync changes made downstream to support GRA microservice Issue-ID: CCSDK-3504 Signed-off-by: Dan Timoney Change-Id: I854b5437c4a60023bd161e3625e08ff6e0771945 --- .../ccsdk/sli/plugins/restapicall/JsonParser.java | 23 +++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) (limited to 'plugins/restapi-call-node/provider') diff --git a/plugins/restapi-call-node/provider/src/main/java/org/onap/ccsdk/sli/plugins/restapicall/JsonParser.java b/plugins/restapi-call-node/provider/src/main/java/org/onap/ccsdk/sli/plugins/restapicall/JsonParser.java index 60d43df7a..80d263730 100644 --- a/plugins/restapi-call-node/provider/src/main/java/org/onap/ccsdk/sli/plugins/restapicall/JsonParser.java +++ b/plugins/restapi-call-node/provider/src/main/java/org/onap/ccsdk/sli/plugins/restapicall/JsonParser.java @@ -25,6 +25,9 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; import java.util.Map; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + import org.apache.commons.lang3.StringUtils; import org.codehaus.jettison.json.JSONArray; import org.codehaus.jettison.json.JSONException; @@ -118,9 +121,27 @@ public final class JsonParser { Object o = wm.get(key); wm.remove(key); - if (o instanceof Boolean || o instanceof Number || o instanceof String) { + if (o instanceof Boolean || o instanceof Number ) { mm.put(key, o.toString()); log.info("Added property: {} : {}", key, o.toString()); + } else if (o instanceof String) { + String value = o.toString(); + Pattern p = Pattern.compile("\\$\\{(\\w+)((?:\\:\\-)([^\\}]*))?\\}"); + Matcher m = p.matcher(value); + + StringBuffer sb = new StringBuffer(); + while (m.find()) { + String envVarName = null == m.group(1) ? m.group(2) : m.group(1); + String envVarDefault = null == m.group(3) ? "" : m.group(3); + String envVarValue = System.getenv(envVarName); + + m.appendReplacement(sb, + null == envVarValue ? Matcher.quoteReplacement(envVarDefault) : Matcher.quoteReplacement(envVarValue)); + } + m.appendTail(sb); + value = sb.toString(); + mm.put(key, value); + log.info("Added property: {} : {}", key, value); } else if (o instanceof JSONObject) { JSONObject jo = (JSONObject) o; Iterator i = jo.keys(); -- cgit 1.2.3-korg