summaryrefslogtreecommitdiffstats
path: root/restapi-call-node/provider
diff options
context:
space:
mode:
authorshashikanth.vh <shashikanth.vh@huawei.com>2018-11-13 21:20:31 +0530
committershashikanth.vh <shashikanth.vh@huawei.com>2018-11-13 21:20:37 +0530
commit01de875afad6920a65b7ee266437595558d41395 (patch)
treea42de3dfe4e97e659435d48587be2607eba03043 /restapi-call-node/provider
parent01b11a8425a10e90b0259921b46357c1f9bd74ca (diff)
fixed restapicall JsonParser to handle :
Fixed Restapicall JsonParser to process ":" if it exist in the response body, this change is required for casablanca too. Change-Id: I83b0769eb13eb8d286cc70adc0e85823d6517dcd Issue-ID: SDNC-519 Signed-off-by: shashikanth.vh <shashikanth.vh@huawei.com>
Diffstat (limited to 'restapi-call-node/provider')
-rw-r--r--restapi-call-node/provider/src/main/java/org/onap/ccsdk/sli/plugins/restapicall/JsonParser.java20
1 files changed, 16 insertions, 4 deletions
diff --git a/restapi-call-node/provider/src/main/java/org/onap/ccsdk/sli/plugins/restapicall/JsonParser.java b/restapi-call-node/provider/src/main/java/org/onap/ccsdk/sli/plugins/restapicall/JsonParser.java
index 4a1dfef50..189ddde31 100644
--- a/restapi-call-node/provider/src/main/java/org/onap/ccsdk/sli/plugins/restapicall/JsonParser.java
+++ b/restapi-call-node/provider/src/main/java/org/onap/ccsdk/sli/plugins/restapicall/JsonParser.java
@@ -55,12 +55,17 @@ public final class JsonParser {
Iterator<String> ii = json.keys();
while (ii.hasNext()) {
String key1 = ii.next();
- wm.put(key1, json.get(key1));
+ String[] subKey = key1.split(":");
+ if (subKey.length == 2) {
+ wm.put(subKey[1], json.get(key1));
+ } else {
+ wm.put(key1, json.get(key1));
+ }
}
Map<String, String> mm = new HashMap<>();
- while (!wm.isEmpty())
+ while (!wm.isEmpty()) {
for (String key : new ArrayList<>(wm.keySet())) {
Object o = wm.get(key);
wm.remove(key);
@@ -74,7 +79,12 @@ public final class JsonParser {
Iterator<String> i = jo.keys();
while (i.hasNext()) {
String key1 = i.next();
- wm.put(key + "." + key1, jo.get(key1));
+ String[] subKey = key1.split(":");
+ if (subKey.length == 2) {
+ wm.put(key + "." + subKey[1], jo.get(key1));
+ } else {
+ wm.put(key + "." + key1, jo.get(key1));
+ }
}
} else if (o instanceof JSONArray) {
JSONArray ja = (JSONArray) o;
@@ -82,10 +92,12 @@ public final class JsonParser {
log.info("Added property: {}_length: {}", key, String.valueOf(ja.length()));
- for (int i = 0; i < ja.length(); i++)
+ for (int i = 0; i < ja.length(); i++) {
wm.put(key + '[' + i + ']', ja.get(i));
+ }
}
}
+ }
return mm;
} catch (JSONException e) {
throw new SvcLogicException("Unable to convert JSON to properties" + e.getLocalizedMessage(), e);