From 01de875afad6920a65b7ee266437595558d41395 Mon Sep 17 00:00:00 2001 From: "shashikanth.vh" Date: Tue, 13 Nov 2018 21:20:31 +0530 Subject: [PATCH] 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 --- .../ccsdk/sli/plugins/restapicall/JsonParser.java | 20 ++++++++++++++++---- 1 file 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 4a1dfef5..189ddde3 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 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 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 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); -- 2.16.6