Fix for Ansible Healthcheck bug 38/78938/7
authorJoss Armstrong <joss.armstrong@ericsson.com>
Thu, 21 Feb 2019 15:19:07 +0000 (15:19 +0000)
committerTakamune Cho <takamune.cho@att.com>
Wed, 10 Apr 2019 12:54:57 +0000 (12:54 +0000)
Update to directed graph and merge JSON template code

Issue-ID: APPC-1472
Change-Id: I4332ad74d34f455261b1c001339d0542be4514fc
Signed-off-by: Joss Armstrong <joss.armstrong@ericsson.com>
appc-config/appc-config-generator/provider/src/main/java/org/onap/sdnc/config/generator/merge/MergeNode.java
appc-config/appc-config-generator/provider/src/test/java/org/onap/sdnc/config/generator/merge/TestMergeNode.java
appc-directed-graph/appc-dgraph/provider/src/main/resources/json/APPC/APPC_GenerateTemplateConfig.json

index e8c5304..908965c 100644 (file)
@@ -53,23 +53,23 @@ public class MergeNode implements SvcLogicJavaPlugin {
             responsePrefix = StringUtils.isNotBlank(responsePrefix) ? (responsePrefix + ".") : "";
             String jsonData = inParams.get(ConfigGeneratorConstant.INPUT_PARAM_JSON_DATA);
             if (StringUtils.isBlank(jsonData)) {
-                throw new ParameterMissingException("JSON Data is missing");
-            }
-
-            String templateData = inParams.get(ConfigGeneratorConstant.INPUT_PARAM_TEMPLATE_DATA);
-            String templateFile = inParams.get(ConfigGeneratorConstant.INPUT_PARAM_TEMPLATE_FILE);
-
-            if (StringUtils.isBlank(templateData) && StringUtils.isBlank(templateFile)) {
-                throw new ParameterMissingException("Template data or Template file is missing");
-            }
-            if (StringUtils.isBlank(templateData)) {
-                templateData = IOUtils.toString(
-                    MergeNode.class.getClassLoader().getResourceAsStream(templateFile), "UTF-8");
+                log.info("No JSON data to merge with template");
+            } else {
+                String templateData = inParams.get(ConfigGeneratorConstant.INPUT_PARAM_TEMPLATE_DATA);
+                String templateFile = inParams.get(ConfigGeneratorConstant.INPUT_PARAM_TEMPLATE_FILE);
+
+                if (StringUtils.isBlank(templateData) && StringUtils.isBlank(templateFile)) {
+                    throw new ParameterMissingException("Template data or Template file is missing");
+                }
+                if (StringUtils.isBlank(templateData)) {
+                    templateData = IOUtils.toString(
+                        MergeNode.class.getClassLoader().getResourceAsStream(templateFile), "UTF-8");
+                }
+
+                Map<String, String> dataMap = JSONTool.convertToProperties(jsonData);
+                log.info("Data Maps created :" + dataMap);
+                trySetContextAttribute(ctx, responsePrefix, templateData, dataMap);
             }
-
-            Map<String, String> dataMap = JSONTool.convertToProperties(jsonData);
-            log.info("Data Maps created :" + dataMap);
-            trySetContextAttribute(ctx, responsePrefix, templateData, dataMap);
             ctx.setAttribute(responsePrefix + ConfigGeneratorConstant.OUTPUT_PARAM_STATUS,
                 ConfigGeneratorConstant.OUTPUT_STATUS_SUCCESS);
             log.info("Data Merge Successful :" + ctx);
index 85f53fb..db923d5 100644 (file)
@@ -69,9 +69,9 @@ public class TestMergeNode {
         Map<String, String> inParams = new HashMap<String, String>();
         inParams.put(ConfigGeneratorConstant.INPUT_PARAM_RESPONSE_PRIFIX, "test");
         SvcLogicContext ctx = new SvcLogicContext();
-        expectedEx.expect(SvcLogicException.class);
-        expectedEx.expectMessage("JSON Data is missing");
         mergeNode.mergeJsonDataOnTemplate(inParams, ctx);
+        assertEquals(ConfigGeneratorConstant.OUTPUT_STATUS_SUCCESS,
+                ctx.getAttribute("test." + ConfigGeneratorConstant.OUTPUT_PARAM_STATUS));
     }
 
     @Test
index 1fb1736..3ad79cd 100644 (file)
 [\r
-    {\r
-        "id": "42b2dfc0.a5c5e",\r
-        "type": "dgstart",\r
-        "name": "DGSTART",\r
-        "outputs": 1,\r
-        "x": 168,\r
-        "y": 108,\r
-        "z": "d7c523d9.040c",\r
-        "wires": [\r
-            [\r
-                "d9d88d2e.06e01"\r
-            ]\r
-        ]\r
-    },\r
-    {\r
-        "id": "d9d88d2e.06e01",\r
-        "type": "service-logic",\r
-        "name": "APPC 4.0.0",\r
-        "module": "APPC",\r
-        "version": "4.0.0",\r
-        "comments": "",\r
-        "xml": "<service-logic xmlns='http://www.onap.org/sdnc/svclogic' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='APPC' version='4.0.0'>",\r
-        "outputs": 1,\r
-        "x": 320,\r
-        "y": 107,\r
-        "z": "d7c523d9.040c",\r
-        "wires": [\r
-            [\r
-                "f1a68f7c.b0fd1"\r
-            ]\r
-        ]\r
-    },\r
-    {\r
-        "id": "f1a68f7c.b0fd1",\r
-        "type": "method",\r
-        "name": "method GenerateTemplateConfig",\r
-        "xml": "<method rpc='GenerateTemplateConfig' mode='sync'>\n",\r
-        "comments": "",\r
-        "outputs": 1,\r
-        "x": 560,\r
-        "y": 110,\r
-        "z": "d7c523d9.040c",\r
-        "wires": [\r
-            [\r
-                "2975bd2f.022512"\r
-            ]\r
-        ]\r
-    },\r
-    {\r
-        "id": "2975bd2f.022512",\r
-        "type": "block",\r
-        "name": "block : atomic",\r
-        "xml": "<block atomic=\"true\">",\r
-        "atomic": "true",\r
-        "outputs": 1,\r
-        "x": 180,\r
-        "y": 171,\r
-        "z": "d7c523d9.040c",\r
-        "wires": [\r
-            [\r
-                "718c80aa.91b87",\r
-                "cac9421d.229c9"\r
-            ]\r
-        ]\r
-    },\r
-    {\r
-        "id": "458ebbd8.86b484",\r
-        "type": "execute",\r
-        "name": "execute Merge Data with Template",\r
-        "xml": "<execute plugin=\"org.onap.sdnc.config.generator.merge.MergeNode\" method=\"mergeJsonDataOnTemplate\">\n<parameter name=\"jsonData\" value=\"`$configuration-params`\" />\n<parameter name=\"templateData\" value=\"`$config-template.file-content`\" />\n<parameter name=\"templateType\" value=\"json\" />\n<parameter name=\"responsePrefix\" value=\"tmp.merge\" />",\r
-        "comments": "",\r
-        "outputs": 1,\r
-        "x": 680.5,\r
-        "y": 378,\r
-        "z": "d7c523d9.040c",\r
-        "wires": [\r
-            [\r
-                "b61648ca.231c98",\r
-                "95b9fc11.efc86"\r
-            ]\r
-        ]\r
-    },\r
-    {\r
-        "id": "b61648ca.231c98",\r
-        "type": "not-found",\r
-        "name": "not-found",\r
-        "xml": "<outcome value='not-found'>\n",\r
-        "comments": "",\r
-        "outputs": 1,\r
-        "x": 929.5,\r
-        "y": 346,\r
-        "z": "d7c523d9.040c",\r
-        "wires": [\r
-            [\r
-                "ad78434b.53b5e"\r
-            ]\r
-        ]\r
-    },\r
-    {\r
-        "id": "ad78434b.53b5e",\r
-        "type": "block",\r
-        "name": "block",\r
-        "xml": "<block>\n",\r
-        "atomic": "false",\r
-        "comments": "",\r
-        "outputs": 1,\r
-        "x": 1077.5,\r
-        "y": 347,\r
-        "z": "d7c523d9.040c",\r
-        "wires": [\r
-            [\r
-                "39a12381.5bf87c"\r
-            ]\r
-        ]\r
-    },\r
-    {\r
-        "id": "39a12381.5bf87c",\r
-        "type": "returnFailure",\r
-        "name": "return failure",\r
-        "xml": "<return status=\"failure\">\n\t<parameter name=\"error-code\" value=\"401\"/>\n\t<parameter name=\"error-message\" value=\"Unable to merge template with data\"/>\n\t",\r
-        "comments": "",\r
-        "x": 1251.5,\r
-        "y": 348,\r
-        "z": "d7c523d9.040c",\r
-        "wires": []\r
-    },\r
-    {\r
-        "id": "95b9fc11.efc86",\r
-        "type": "failure",\r
-        "name": "failure",\r
-        "xml": "<outcome value='failure'>\n",\r
-        "comments": "",\r
-        "outputs": 1,\r
-        "x": 924.5,\r
-        "y": 422,\r
-        "z": "d7c523d9.040c",\r
-        "wires": [\r
-            [\r
-                "3e2c957.50e086a"\r
-            ]\r
-        ]\r
-    },\r
-    {\r
-        "id": "3e2c957.50e086a",\r
-        "type": "block",\r
-        "name": "block",\r
-        "xml": "<block>\n",\r
-        "atomic": "false",\r
-        "comments": "",\r
-        "outputs": 1,\r
-        "x": 1072.5,\r
-        "y": 424,\r
-        "z": "d7c523d9.040c",\r
-        "wires": [\r
-            [\r
-                "4d72da43.0cfe14"\r
-            ]\r
-        ]\r
-    },\r
-    {\r
-        "id": "4d72da43.0cfe14",\r
-        "type": "returnFailure",\r
-        "name": "return failure",\r
-        "xml": "<return status=\"failure\">\n\t<parameter name=\"error-code\" value=\"401\"/>\n\t<parameter name=\"error-message\" value=\"`$tmp.merge.error-message`\"/>\n\t",\r
-        "comments": "",\r
-        "x": 1263.5,\r
-        "y": 423,\r
-        "z": "d7c523d9.040c",\r
-        "wires": []\r
-    },\r
-    {\r
-        "id": "718c80aa.91b87",\r
-        "type": "switchNode",\r
-        "name": "switch Configuration params exists",\r
-        "xml": "<switch test='`$configuration-params`'>\n",\r
-        "comments": "",\r
-        "outputs": 1,\r
-        "x": 425,\r
-        "y": 170,\r
-        "z": "d7c523d9.040c",\r
-        "wires": [\r
-            [\r
-                "8f31c08f.9dbb2",\r
-                "4be7f151.48d7f"\r
-            ]\r
-        ]\r
-    },\r
-    {\r
-        "id": "baa4370e.36b778",\r
-        "type": "block",\r
-        "name": "block : atomic",\r
-        "xml": "<block atomic=\"true\">",\r
-        "atomic": "true",\r
-        "outputs": 1,\r
-        "x": 664,\r
-        "y": 237,\r
-        "z": "d7c523d9.040c",\r
-        "wires": [\r
-            [\r
-                "458ebbd8.86b484"\r
-            ]\r
-        ]\r
-    },\r
-    {\r
-        "id": "8f31c08f.9dbb2",\r
-        "type": "success",\r
-        "name": "outcome:Other",\r
-        "xml": "<outcome value=\"Other\">",\r
-        "comments": "",\r
-        "outputs": 1,\r
-        "x": 472,\r
-        "y": 234,\r
-        "z": "d7c523d9.040c",\r
-        "wires": [\r
-            [\r
-                "baa4370e.36b778"\r
-            ]\r
-        ]\r
-    },\r
-    {\r
-        "id": "4be7f151.48d7f",\r
-        "type": "success",\r
-        "name": "outcome: null",\r
-        "xml": "<outcome value=''>",\r
-        "comments": "",\r
-        "outputs": 1,\r
-        "x": 765,\r
-        "y": 165,\r
-        "z": "d7c523d9.040c",\r
-        "wires": [\r
-            [\r
-                "a55c78ed.34cc38"\r
-            ]\r
-        ]\r
-    },\r
-    {\r
-        "id": "cac9421d.229c9",\r
-        "type": "execute",\r
-        "name": "execute saveTemplateConfig",\r
-        "xml": "<execute plugin=\"org.onap.appc.data.services.node.ConfigResourceNode\" method=\"saveTemplateConfig\">\n<parameter name=\"responsePrefix\" value=\"tmp.saveTemplateConfig\" />",\r
-        "comments": "",\r
-        "outputs": 1,\r
-        "x": 248,\r
-        "y": 623,\r
-        "z": "d7c523d9.040c",\r
-        "wires": [\r
-            [\r
-                "6a63d2a.0f3ba2c"\r
-            ]\r
-        ]\r
-    },\r
-    {\r
-        "id": "6a63d2a.0f3ba2c",\r
-        "type": "failure",\r
-        "name": "failure",\r
-        "xml": "<outcome value='failure'>\n",\r
-        "comments": "",\r
-        "outputs": 1,\r
-        "x": 458,\r
-        "y": 623,\r
-        "z": "d7c523d9.040c",\r
-        "wires": [\r
-            [\r
-                "f2ef42ef.faf2a"\r
-            ]\r
-        ]\r
-    },\r
-    {\r
-        "id": "f2ef42ef.faf2a",\r
-        "type": "block",\r
-        "name": "block : atomic",\r
-        "xml": "<block atomic=\"true\">",\r
-        "atomic": "true",\r
-        "outputs": 1,\r
-        "x": 625,\r
-        "y": 625,\r
-        "z": "d7c523d9.040c",\r
-        "wires": [\r
-            [\r
-                "2fab99ac.fc2306"\r
-            ]\r
-        ]\r
-    },\r
-    {\r
-        "id": "2fab99ac.fc2306",\r
-        "type": "returnFailure",\r
-        "name": "return failure",\r
-        "xml": "<return status=\"failure\">\n<parameter name=\"error-code\" value=\"401\"/>\n\t<parameter name=\"error-message\" value=\"`$tmp.saveConfigBlock.error-message`\"/>\n\t\n\t\n\t",\r
-        "comments": "",\r
-        "x": 816,\r
-        "y": 628,\r
-        "z": "d7c523d9.040c",\r
-        "wires": []\r
-    },\r
-    {\r
-        "id": "a55c78ed.34cc38",\r
-        "type": "block",\r
-        "name": "block : atomic",\r
-        "xml": "<block atomic=\"true\">",\r
-        "atomic": "true",\r
-        "outputs": 1,\r
-        "x": 955,\r
-        "y": 167,\r
-        "z": "d7c523d9.040c",\r
-        "wires": [\r
-            []\r
-        ]\r
-    }\r
-]\r
+       {\r
+               "id": "fb915354.79436",\r
+               "type": "dgstart",\r
+               "name": "DGSTART",\r
+               "outputs": 1,\r
+               "x": 185.71429443359375,\r
+               "y": 113.85714721679688,\r
+               "z": "cef4885c.14ee28",\r
+               "wires": [\r
+                       [\r
+                               "32ee500f.e434c"\r
+                       ]\r
+               ]\r
+       },\r
+       {\r
+               "id": "32ee500f.e434c",\r
+               "type": "service-logic",\r
+               "name": "APPC 4.0.0",\r
+               "module": "APPC",\r
+               "version": "4.0.0",\r
+               "comments": "",\r
+               "xml": "<service-logic xmlns='http://www.onap.org/sdnc/svclogic' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='APPC' version='4.0.0'>",\r
+               "outputs": 1,\r
+               "x": 337.71429443359375,\r
+               "y": 112.85714721679688,\r
+               "z": "cef4885c.14ee28",\r
+               "wires": [\r
+                       [\r
+                               "d875ac22.3d21e"\r
+                       ]\r
+               ]\r
+       },\r
+       {\r
+               "id": "d875ac22.3d21e",\r
+               "type": "method",\r
+               "name": "method GenerateTemplateConfig",\r
+               "xml": "<method rpc='GenerateTemplateConfig' mode='sync'>\n",\r
+               "comments": "",\r
+               "outputs": 1,\r
+               "x": 577.7142944335938,\r
+               "y": 115.85714721679688,\r
+               "z": "cef4885c.14ee28",\r
+               "wires": [\r
+                       [\r
+                               "7bc4b323.42b02c"\r
+                       ]\r
+               ]\r
+       },\r
+       {\r
+               "id": "7bc4b323.42b02c",\r
+               "type": "block",\r
+               "name": "block : atomic",\r
+               "xml": "<block atomic=\"true\">",\r
+               "atomic": "true",\r
+               "outputs": 1,\r
+               "x": 312,\r
+               "y": 294.00000190734863,\r
+               "z": "cef4885c.14ee28",\r
+               "wires": [\r
+                       [\r
+                               "6cee4bb1.d02e04",\r
+                               "f25c58a3.e7d068"\r
+                       ]\r
+               ]\r
+       },\r
+       {\r
+               "id": "f25c58a3.e7d068",\r
+               "type": "execute",\r
+               "name": "execute Merge Data with Template",\r
+               "xml": "<execute plugin=\"org.onap.sdnc.config.generator.merge.MergeNode\" method=\"mergeJsonDataOnTemplate\">\n<parameter name=\"jsonData\" value=\"`$configuration-params`\" />\n<parameter name=\"templateData\" value=\"`$config-template.file-content`\" />\n<parameter name=\"templateType\" value=\"json\" />\n<parameter name=\"responsePrefix\" value=\"tmp.merge\" />",\r
+               "comments": "",\r
+               "outputs": 1,\r
+               "x": 698.2143173217773,\r
+               "y": 383.85715770721436,\r
+               "z": "cef4885c.14ee28",\r
+               "wires": [\r
+                       [\r
+                               "8748d41e.19adf8",\r
+                               "2f46c416.83d4ec"\r
+                       ]\r
+               ]\r
+       },\r
+       {\r
+               "id": "8748d41e.19adf8",\r
+               "type": "not-found",\r
+               "name": "not-found",\r
+               "xml": "<outcome value='not-found'>\n",\r
+               "comments": "",\r
+               "outputs": 1,\r
+               "x": 947.2143020629883,\r
+               "y": 351.8571538925171,\r
+               "z": "cef4885c.14ee28",\r
+               "wires": [\r
+                       [\r
+                               "34a3fd2.cf20602"\r
+                       ]\r
+               ]\r
+       },\r
+       {\r
+               "id": "34a3fd2.cf20602",\r
+               "type": "block",\r
+               "name": "block",\r
+               "xml": "<block>\n",\r
+               "atomic": "false",\r
+               "comments": "",\r
+               "outputs": 1,\r
+               "x": 1095.2142944335938,\r
+               "y": 352.8571472167969,\r
+               "z": "cef4885c.14ee28",\r
+               "wires": [\r
+                       [\r
+                               "26d564dc.44790c"\r
+                       ]\r
+               ]\r
+       },\r
+       {\r
+               "id": "26d564dc.44790c",\r
+               "type": "returnFailure",\r
+               "name": "return failure",\r
+               "xml": "<return status=\"failure\">\n\t<parameter name=\"error-code\" value=\"401\"/>\n\t<parameter name=\"error-message\" value=\"Unable to merge template with data\"/>\n\t",\r
+               "comments": "",\r
+               "x": 1269.2142944335938,\r
+               "y": 353.8571472167969,\r
+               "z": "cef4885c.14ee28",\r
+               "wires": []\r
+       },\r
+       {\r
+               "id": "2f46c416.83d4ec",\r
+               "type": "failure",\r
+               "name": "failure",\r
+               "xml": "<outcome value='failure'>\n",\r
+               "comments": "",\r
+               "outputs": 1,\r
+               "x": 942.2142944335938,\r
+               "y": 427.8571472167969,\r
+               "z": "cef4885c.14ee28",\r
+               "wires": [\r
+                       [\r
+                               "a66a5560.4d7848"\r
+                       ]\r
+               ]\r
+       },\r
+       {\r
+               "id": "a66a5560.4d7848",\r
+               "type": "block",\r
+               "name": "block",\r
+               "xml": "<block>\n",\r
+               "atomic": "false",\r
+               "comments": "",\r
+               "outputs": 1,\r
+               "x": 1090.2142944335938,\r
+               "y": 429.8571472167969,\r
+               "z": "cef4885c.14ee28",\r
+               "wires": [\r
+                       [\r
+                               "d5009eb8.8395f"\r
+                       ]\r
+               ]\r
+       },\r
+       {\r
+               "id": "d5009eb8.8395f",\r
+               "type": "returnFailure",\r
+               "name": "return failure",\r
+               "xml": "<return status=\"failure\">\n\t<parameter name=\"error-code\" value=\"401\"/>\n\t<parameter name=\"error-message\" value=\"`$tmp.merge.error-message`\"/>\n\t",\r
+               "comments": "",\r
+               "x": 1281.2142944335938,\r
+               "y": 428.8571472167969,\r
+               "z": "cef4885c.14ee28",\r
+               "wires": []\r
+       },\r
+       {\r
+               "id": "6cee4bb1.d02e04",\r
+               "type": "execute",\r
+               "name": "execute saveTemplateConfig",\r
+               "xml": "<execute plugin=\"org.onap.appc.data.services.node.ConfigResourceNode\" method=\"saveTemplateConfig\">\n<parameter name=\"responsePrefix\" value=\"tmp.saveTemplateConfig\" />",\r
+               "comments": "",\r
+               "outputs": 1,\r
+               "x": 265.71429443359375,\r
+               "y": 628.8571472167969,\r
+               "z": "cef4885c.14ee28",\r
+               "wires": [\r
+                       [\r
+                               "141ae3dc.42554c"\r
+                       ]\r
+               ]\r
+       },\r
+       {\r
+               "id": "141ae3dc.42554c",\r
+               "type": "failure",\r
+               "name": "failure",\r
+               "xml": "<outcome value='failure'>\n",\r
+               "comments": "",\r
+               "outputs": 1,\r
+               "x": 475.71429443359375,\r
+               "y": 628.8571472167969,\r
+               "z": "cef4885c.14ee28",\r
+               "wires": [\r
+                       [\r
+                               "f2bd3b14.a0a0c8"\r
+                       ]\r
+               ]\r
+       },\r
+       {\r
+               "id": "f2bd3b14.a0a0c8",\r
+               "type": "block",\r
+               "name": "block : atomic",\r
+               "xml": "<block atomic=\"true\">",\r
+               "atomic": "true",\r
+               "outputs": 1,\r
+               "x": 642.7142944335938,\r
+               "y": 630.8571472167969,\r
+               "z": "cef4885c.14ee28",\r
+               "wires": [\r
+                       [\r
+                               "1c5873f6.e3582c"\r
+                       ]\r
+               ]\r
+       },\r
+       {\r
+               "id": "1c5873f6.e3582c",\r
+               "type": "returnFailure",\r
+               "name": "return failure",\r
+               "xml": "<return status=\"failure\">\n<parameter name=\"error-code\" value=\"401\"/>\n\t<parameter name=\"error-message\" value=\"`$tmp.saveConfigBlock.error-message`\"/>\n\t\n\t\n\t",\r
+               "comments": "",\r
+               "x": 833.7142944335938,\r
+               "y": 633.8571472167969,\r
+               "z": "cef4885c.14ee28",\r
+               "wires": []\r
+       }\r
+]
\ No newline at end of file