From 2fa35ec7af06c9f1d1982dc500726de703f7dede Mon Sep 17 00:00:00 2001 From: "Smokowski, Kevin (ks6305)" Date: Tue, 17 Dec 2019 18:27:42 +0000 Subject: enhance SliPluginUtils writeJsonToCtx now supports top level json arrays, add urlDecode to SliStringUtils, rename CheckParametersTest and move unrelated methods into another test class and Add test cases to improve test coverage Issue-ID: CCSDK-2006 Signed-off-by: Smokowski, Kevin (ks6305) Change-Id: If1f654ea9c7046b00c977434f87740e54f15b7d3 --- sliPluginUtils/provider/src/test/resources/2dArray.json | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 sliPluginUtils/provider/src/test/resources/2dArray.json (limited to 'sliPluginUtils/provider/src/test/resources/2dArray.json') diff --git a/sliPluginUtils/provider/src/test/resources/2dArray.json b/sliPluginUtils/provider/src/test/resources/2dArray.json new file mode 100644 index 000000000..b473864d8 --- /dev/null +++ b/sliPluginUtils/provider/src/test/resources/2dArray.json @@ -0,0 +1,4 @@ +[ + ["apple", "orange", "banana"], + ["squash", "broccoli", "cauliflower"] +] \ No newline at end of file -- cgit 1.2.3-korg From b970a7b46fac32e626acfa23b1e2de9b22da7ff7 Mon Sep 17 00:00:00 2001 From: "Smokowski, Kevin (ks6305)" Date: Wed, 1 Apr 2020 19:58:23 +0000 Subject: SliPluginUtils jsonStringToCtx fix Support null values in jsonStringToCtx in Slipluginutils Issue-ID: CCSDK-2250 Signed-off-by: Smokowski, Kevin (ks6305) Change-Id: I3316fa9e80c9e684fc27d83356bbfad9b1151992 --- .../org/onap/ccsdk/sli/core/slipluginutils/SliPluginUtils.java | 9 ++++++++- .../core/slipluginutils/SliPluginUtils_StaticFunctionsTest.java | 7 ++++--- sliPluginUtils/provider/src/test/resources/2dArray.json | 2 +- sliPluginUtils/provider/src/test/resources/ArrayMenu.json | 2 +- sliPluginUtils/provider/src/test/resources/Widget.json | 2 +- 5 files changed, 15 insertions(+), 7 deletions(-) (limited to 'sliPluginUtils/provider/src/test/resources/2dArray.json') 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" } } -- cgit 1.2.3-korg