diff options
author | Smokowski, Kevin (ks6305) <kevin.smokowski@att.com> | 2020-04-01 19:58:23 +0000 |
---|---|---|
committer | Kevin Smokowski <kevin.smokowski@att.com> | 2020-04-01 20:14:01 +0000 |
commit | b970a7b46fac32e626acfa23b1e2de9b22da7ff7 (patch) | |
tree | 3f885b81b623ecc4c9a7d9fec0d34c2292396fee | |
parent | 4cbff49506b31844ccda7ca38b3ba7283974475a (diff) |
SliPluginUtils jsonStringToCtx fix
Support null values in jsonStringToCtx in Slipluginutils
Issue-ID: CCSDK-2250
Signed-off-by: Smokowski, Kevin (ks6305) <kevin.smokowski@att.com>
Change-Id: I3316fa9e80c9e684fc27d83356bbfad9b1151992
5 files changed, 15 insertions, 7 deletions
diff --git a/sliPluginUtils/provider/src/main/java/org/onap/ccsdk/sli/core/slipluginutils/SliPluginUtils.java b/sliPluginUtils/provider/src/main/java/org/onap/ccsdk/sli/core/slipluginutils/SliPluginUtils.java index ce0f50800..60bb4fd31 100644 --- a/sliPluginUtils/provider/src/main/java/org/onap/ccsdk/sli/core/slipluginutils/SliPluginUtils.java +++ b/sliPluginUtils/provider/src/main/java/org/onap/ccsdk/sli/core/slipluginutils/SliPluginUtils.java @@ -70,6 +70,7 @@ public class SliPluginUtils implements SvcLogicJavaPlugin { private static final String LOG_MSG="extracting list from context memory"; private static final String LOG_MSG1="removing elements from list"; private static final String LENGTH="_length"; + public static final String CTX_NULL_VALUE=""; // ========== CONSTRUCTORS ========== @@ -846,7 +847,11 @@ public class SliPluginUtils implements SvcLogicJavaPlugin { if(!root.endsWith(".")){ root = root + "."; } - ctx.setAttribute(root + key, entry.getValue().getAsString()); + if(entry.getValue().isJsonNull()) { + ctx.setAttribute(root + key, CTX_NULL_VALUE); + }else { + ctx.setAttribute(root + key, entry.getValue().getAsString()); + } } } } @@ -861,6 +866,8 @@ public class SliPluginUtils implements SvcLogicJavaPlugin { handleJsonArray(key, element.getAsJsonArray(), ctx, prefix); } else if (element.isJsonObject()) { writeJsonObject(element.getAsJsonObject(), ctx, prefix + "."); + } else if (element.isJsonNull()) { + ctx.setAttribute(prefix, CTX_NULL_VALUE); } else if (element.isJsonPrimitive()) { ctx.setAttribute(prefix, element.getAsString()); } diff --git a/sliPluginUtils/provider/src/test/java/org/onap/ccsdk/sli/core/slipluginutils/SliPluginUtils_StaticFunctionsTest.java b/sliPluginUtils/provider/src/test/java/org/onap/ccsdk/sli/core/slipluginutils/SliPluginUtils_StaticFunctionsTest.java index ad039d7f4..bc2c9226d 100644 --- a/sliPluginUtils/provider/src/test/java/org/onap/ccsdk/sli/core/slipluginutils/SliPluginUtils_StaticFunctionsTest.java +++ b/sliPluginUtils/provider/src/test/java/org/onap/ccsdk/sli/core/slipluginutils/SliPluginUtils_StaticFunctionsTest.java @@ -335,7 +335,7 @@ public class SliPluginUtils_StaticFunctionsTest { assertEquals("plain", ctx.getAttribute("testPath.[0].name")); assertEquals("pizza", ctx.getAttribute("testPath.[0].type")); assertEquals("true", ctx.getAttribute("testPath.[0].vegetarian")); - assertEquals("2000", ctx.getAttribute("testPath.[1].calories")); + assertEquals(SliPluginUtils.CTX_NULL_VALUE, ctx.getAttribute("testPath.[1].calories")); assertEquals("2", ctx.getAttribute("testPath.[1].id")); assertEquals("Tuesday Special", ctx.getAttribute("testPath.[1].name")); assertEquals("1", ctx.getAttribute("testPath.[1].topping[0].id")); @@ -423,7 +423,8 @@ public class SliPluginUtils_StaticFunctionsTest { assertEquals("apple", ctx.getAttribute("testPath.[0][0]")); assertEquals("orange", ctx.getAttribute("testPath.[0][1]")); assertEquals("banana", ctx.getAttribute("testPath.[0][2]")); - assertEquals("3", ctx.getAttribute("testPath.[0]_length")); + assertEquals(SliPluginUtils.CTX_NULL_VALUE, ctx.getAttribute("testPath.[0][3]")); + assertEquals("4", ctx.getAttribute("testPath.[0]_length")); assertEquals("squash", ctx.getAttribute("testPath.[1][0]")); assertEquals("broccoli", ctx.getAttribute("testPath.[1][1]")); assertEquals("cauliflower", ctx.getAttribute("testPath.[1][2]")); @@ -488,7 +489,7 @@ public class SliPluginUtils_StaticFunctionsTest { assertEquals("text1", ctx.getAttribute("testPath.widget.text.name")); assertEquals("21", ctx.getAttribute("testPath.widget.text.size")); assertEquals("bold", ctx.getAttribute("testPath.widget.text.style")); - assertEquals("200", ctx.getAttribute("testPath.widget.text.vOffset")); + assertEquals(SliPluginUtils.CTX_NULL_VALUE, ctx.getAttribute("testPath.widget.text.vOffset")); assertEquals("300", ctx.getAttribute("testPath.widget.window.height")); assertEquals("main_window", ctx.getAttribute("testPath.widget.window.name")); assertEquals("ONAP Widget", ctx.getAttribute("testPath.widget.window.title")); diff --git a/sliPluginUtils/provider/src/test/resources/2dArray.json b/sliPluginUtils/provider/src/test/resources/2dArray.json index b473864d8..2a94b46f4 100644 --- a/sliPluginUtils/provider/src/test/resources/2dArray.json +++ b/sliPluginUtils/provider/src/test/resources/2dArray.json @@ -1,4 +1,4 @@ [
- ["apple", "orange", "banana"],
+ ["apple", "orange", "banana", null],
["squash", "broccoli", "cauliflower"]
]
\ No newline at end of file diff --git a/sliPluginUtils/provider/src/test/resources/ArrayMenu.json b/sliPluginUtils/provider/src/test/resources/ArrayMenu.json index b12f16315..26a24f292 100644 --- a/sliPluginUtils/provider/src/test/resources/ArrayMenu.json +++ b/sliPluginUtils/provider/src/test/resources/ArrayMenu.json @@ -8,7 +8,7 @@ "id": "2",
"type": "pizza",
"name": "Tuesday Special",
- "calories": 2000,
+ "calories": null,
"vegetarian": false,
"topping":
[{
diff --git a/sliPluginUtils/provider/src/test/resources/Widget.json b/sliPluginUtils/provider/src/test/resources/Widget.json index 1e25282c2..6b90907ce 100644 --- a/sliPluginUtils/provider/src/test/resources/Widget.json +++ b/sliPluginUtils/provider/src/test/resources/Widget.json @@ -20,7 +20,7 @@ "style": "bold",
"name": "text1",
"hOffset": 350,
- "vOffset": 200,
+ "vOffset": null,
"alignment": "center"
}
}
|