diff options
Diffstat (limited to 'platform-logic/generic-resource-api/src/main')
4 files changed, 2720 insertions, 848 deletions
diff --git a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_wan-connection-topology-operation-activate.json b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_wan-connection-topology-operation-activate.json index 5fd9bb3c..7c050769 100644 --- a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_wan-connection-topology-operation-activate.json +++ b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_wan-connection-topology-operation-activate.json @@ -1,16 +1,16 @@ [{ - "id": "17edfd48.067fb3", + "id": "dbc4ca7a.fecf48", "type": "dgstart", "name": "DGSTART", "outputs": 1, - "x": 100.01040649414062, - "y": 68.01041412353516, - "z": "e09ddcb4.62be2", + "x": 134.03125, + "y": 92.03125, + "z": "926fea0b.1d3458", "wires": [ - ["e615e2a2.ccf4f"] + ["72a66a2c.06a7e4"] ] }, { - "id": "e615e2a2.ccf4f", + "id": "72a66a2c.06a7e4", "type": "service-logic", "name": "GENERIC-RESOURCE-API ${project.version}", "module": "GENERIC-RESOURCE-API", @@ -18,873 +18,1659 @@ "comments": "", "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='GENERIC-RESOURCE-API' version='${project.version}'>", "outputs": 1, - "x": 312.0104103088379, - "y": 140.01043128967285, - "z": "e09ddcb4.62be2", + "x": 346.03125381469727, + "y": 164.0312671661377, + "z": "926fea0b.1d3458", "wires": [ - ["759cd8cf.a97478"] + ["95bab60a.026fe8"] ] }, { - "id": "759cd8cf.a97478", + "id": "95bab60a.026fe8", "type": "method", "name": "wan-connection-topology-operation-activate", "xml": "<method rpc='wan-connection-topology-operation-activate' mode='sync'>\n", "comments": "", "outputs": 1, - "x": 300.0105285644531, - "y": 228.01041412353516, - "z": "e09ddcb4.62be2", + "x": 334.0313720703125, + "y": 252.03125, + "z": "926fea0b.1d3458", "wires": [ - ["6de8279c.d96f18"] + ["a72b1cb5.05f3c"] ] }, { - "id": "edd7fd49.09b45", + "id": "4e7970ad.4b5bd", "type": "execute", "name": "execute Properties", "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >\n <parameter name='fileName' value='%SDNC_CONFIG_DIR%/generic-resource-api-dg.properties' />\n <parameter name='contextPrefix' value='prop' />\n", "comments": "", "outputs": 1, - "x": 687.0106887817383, - "y": 312.0104856491089, - "z": "e09ddcb4.62be2", + "x": 1104.031894683838, + "y": 341.0314643383026, + "z": "926fea0b.1d3458", "wires": [ [] ] }, { - "id": "e02df58.543ea08", + "id": "bb98003a.a46ad", "type": "returnSuccess", "name": "return success", "xml": "<return status='success'>\n<parameter name=\"ack-final-indicator\" value=\"Y\" />\n<parameter name=\"error-code\" value=\"200\" />\n<parameter name=\"error-message\" value=\"`$error-message`\" />\n", "comments": "", - "x": 287.0104217529297, - "y": 1177.010627746582, - "z": "e09ddcb4.62be2", + "x": 944.0314121246338, + "y": 2076.0316499471664, + "z": "926fea0b.1d3458", "wires": [] }, { - "id": "6de8279c.d96f18", + "id": "11b701bb.2b820e", "type": "block", - "name": "block : atomic", + "name": "general-activate-block : atomic", "xml": "<block atomic=\"true\">", "atomic": "true", + "comments": "", "outputs": 1, - "x": 212.51060485839844, - "y": 669.0105495452881, - "z": "e09ddcb4.62be2", + "x": 728.5315265655518, + "y": 1887.0314840078354, + "z": "926fea0b.1d3458", "wires": [ - ["c3c817be.4ef968", "ad2c5957.526e98", "ee7ba6fd.384b18", "569cdb0d.3aa8c4", "336b6524.04896a", "edd7fd49.09b45", "e02df58.543ea08"] + ["1aae4fc1.2393a", "bb98003a.a46ad"] ] }, { - "id": "c3c817be.4ef968", - "type": "execute", - "name": "generate services url", - "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$prop.network-provided-resource`\"/>\n <parameter name=\"outputPath\" value=\"tmp.services-url\"/>\n <parameter name=\"target\" value=\"{service-instance-id}\"/>\n <parameter name=\"replacement\" value=\"`$network-topology-operation-input.service-information.service-id`\"/>\n", + "id": "c812a520.767f78", + "type": "for", + "name": "for pidx..service-data.networks.network[]", + "xml": "<for index='pidx' start='0' end='`$service-data.networks.network_length`' >\n", "comments": "", "outputs": 1, - "x": 673.0106735229492, - "y": 383.0105857849121, - "z": "e09ddcb4.62be2", + "x": 1210.5319442749023, + "y": 508.0316289663315, + "z": "926fea0b.1d3458", "wires": [ - [] + ["3dac3b05.9ea764"] ] }, { - "id": "ad2c5957.526e98", - "type": "execute", - "name": "execute RestApiCallNode - get-resource parent service data", - "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.services-url`' />\n <parameter name='restapiUser' value='`$prop.controller.user`' />\n <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\n <parameter name='format' value='json' />\n <parameter name='httpMethod' value='GET' />\n <parameter name=\"responsePrefix\" value=\"mdsal-psd\" />\n\n", + "id": "3dac3b05.9ea764", + "type": "switchNode", + "name": "switch model-name", + "xml": "<switch test=\"`$service-data.networks.network[$pidx].network-data.network-information.onap-model-information.model-name == $network-topology-operation-input.network-information.onap-model-information.model-name`\">\n\n", "comments": "", "outputs": 1, - "x": 799.0106735229492, - "y": 460.0105857849121, - "z": "e09ddcb4.62be2", + "x": 1563.5321006774902, + "y": 289.0316313505173, + "z": "926fea0b.1d3458", "wires": [ - ["649fc773.be7288", "2c3dd512.e7091a"] + ["bd71b64a.dfd5f8"] ] }, { - "id": "649fc773.be7288", - "type": "success", - "name": "success", - "xml": "<outcome value='success'>\n", + "id": "bd71b64a.dfd5f8", + "type": "outcomeTrue", + "name": "true", + "xml": "<outcome value='true'>\n", "comments": "", "outputs": 1, - "x": 1146.010856628418, - "y": 411.0105857849121, - "z": "e09ddcb4.62be2", + "x": 1541.7822265625, + "y": 340.0317043066025, + "z": "926fea0b.1d3458", "wires": [ - ["27ee6d28.0b0992"] + ["5d88b06.fe5a35"] ] }, { - "id": "27ee6d28.0b0992", - "type": "block", - "name": "block", - "xml": "<block>\n", - "atomic": "false", + "id": "5d88b06.fe5a35", + "type": "set", + "name": "set tmp.pidx and tmp.network-input-parameters", + "xml": "<set>\n<parameter name='tmp.pidx' value='`$pidx`' />\n<parameter name='tmp.network.' value='`$service-data.networks.network[$pidx].`' />\n<parameter name='tmp.network-input-parameters' value='`$service-data.networks.network[$pidx].network-data.network-request-input.network-input-parameters`' />\n<parameter name='tmp.found-network-input' value='true' />", + "comments": "", + "x": 1697.4006385803223, + "y": 399.46041905879974, + "z": "926fea0b.1d3458", + "wires": [] +}, { + "id": "3bfb1023.2b523", + "type": "set", + "name": "set tmp.found-network-input", + "xml": "<set>\n<parameter name='tmp.found-network-input' value='false' />", + "comments": "", + "x": 1135.5318870544434, + "y": 425.03159844875336, + "z": "926fea0b.1d3458", + "wires": [] +}, { + "id": "1aae4fc1.2393a", + "type": "switchNode", + "name": "switch found-network-input", + "xml": "<switch test=\"`$found-network-input`\">\n\n", "comments": "", "outputs": 1, - "x": 1313.0109329223633, - "y": 445.0106463432312, - "z": "e09ddcb4.62be2", + "x": 1123.5316104888916, + "y": 1762.0316737890244, + "z": "926fea0b.1d3458", "wires": [ - [] + ["6ed44d2a.fb0594", "18c7f98e.b212a6"] ] }, { - "id": "2c3dd512.e7091a", - "type": "other", - "name": "other", - "xml": "<outcome value='Other'>\n", + "id": "6ed44d2a.fb0594", + "type": "outcomeTrue", + "name": "true", + "xml": "<outcome value='true'>\n", + "comments": "", + "outputs": 1, + "x": 1355.531702041626, + "y": 1806.0318721532822, + "z": "926fea0b.1d3458", + "wires": [ + ["84ec40e9.c2c32"] + ] +}, { + "id": "18c7f98e.b212a6", + "type": "outcomeTrue", + "name": "false", + "xml": "<outcome value='false'>\n", "comments": "", "outputs": 1, - "x": 1151.8626289367676, - "y": 494.07674503326416, - "z": "e09ddcb4.62be2", + "x": 1356.2816410064697, + "y": 1764.03176343441, + "z": "926fea0b.1d3458", "wires": [ - ["a4f3ebc3.28d808"] + ["2811d502.22a33a"] ] }, { - "id": "a4f3ebc3.28d808", + "id": "2811d502.22a33a", "type": "returnFailure", "name": "return failure", - "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"404\" />\n <parameter name=\"error-message\" value=\"Error: Parent service data not available\" />\n \n", + "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"404\" />\n <parameter name=\"error-message\" value=\"Error: Network input parameters not found\" />\n \n", "comments": "", - "x": 1322.2607803344727, - "y": 510.01057529449463, - "z": "e09ddcb4.62be2", + "x": 1527.2816410064697, + "y": 1772.031732916832, + "z": "926fea0b.1d3458", "wires": [] }, { - "id": "ee7ba6fd.384b18", + "id": "84ec40e9.c2c32", + "type": "block", + "name": "block : atomic", + "xml": "<block atomic=\"true\">", + "atomic": "true", + "outputs": 1, + "x": 1093.031488418579, + "y": 1918.0316585302353, + "z": "926fea0b.1d3458", + "wires": [ + ["61139e06.7aa2e", "8e8c51f4.d057d", "833ed1f4.d259"] + ] +}, { + "id": "61139e06.7aa2e", "type": "for", - "name": "for pidx..mdsal-psd.service-data.networks.network[]", - "xml": "<for index='pidx' start='0' end='`$mdsal-psd.service-data.networks.network_length`' >\n", + "name": "for cidx..tmp.network.network-data.network-topology.network-parameters.network-parameter[]", + "xml": "<for index='cidx' start='0' end='`$tmp.network.network-data.network-topology.network-parameters.network-parameter_length`' >\n", "comments": "", "outputs": 1, - "x": 859.5107116699219, - "y": 611.0105295181274, - "z": "e09ddcb4.62be2", + "x": 1542.031328201294, + "y": 2004.0315145254135, + "z": "926fea0b.1d3458", "wires": [ - ["5178f9b4.19b7c8"] + ["d5a8b428.3ffe58"] ] }, { - "id": "5178f9b4.19b7c8", - "type": "switchNode", - "name": "switch model-name", - "xml": "<switch test=\"`$mdsal-psd.service-data.networks.network[$pidx].network-data.network-information.onap-model-information.model-name == $network-topology-operation-input.network-information.onap-model-information.model-name`\">\n\n", + "id": "bb8655c6.320038", + "type": "execute", + "name": "execute RestApiCallNode Create wan-connection", + "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"templateFileName\" value=\"`$tmp.templateFileName`\" />\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + $tmp.restapiUrl`\" />\n<parameter name=\"restapiUser\" value=\"`$prop.sdncRestApi.thirdpartySdnc.user`\" />\n<parameter name=\"restapiPassword\" value=\"`$prop.sdncRestApi.thirdpartySdnc.password`\" />\n<parameter name=\"format\" value=\"json\"/>\n<parameter name=\"httpMethod\" value=\"post\"/>\n<parameter name=\"responsePrefix\" value=\"restApi-result\"/>", "comments": "", "outputs": 1, - "x": 807.5106887817383, - "y": 688.0105800628662, - "z": "e09ddcb4.62be2", + "x": 1568.2813835144043, + "y": 2558.0317014455795, + "z": "926fea0b.1d3458", "wires": [ - ["d017d8d9.0843a8"] + ["c0b7550d.f30fe8", "e19ff0cc.bd882", "9d57cbcd.803d08"] ] }, { - "id": "d017d8d9.0843a8", - "type": "outcomeTrue", - "name": "true", - "xml": "<outcome value='true'>\n", + "id": "4089b1d1.8eda5", + "type": "switchNode", + "name": "switch network-parameter-name == 'templateFileName'", + "xml": "<switch test=\"`$tmp.network.network-data.network-topology.network-parameters.network-parameter[$cxid].network-parameter-name == 'templateFileName'`\">\n", "comments": "", "outputs": 1, - "x": 989.7607917785645, - "y": 690.0106735229492, - "z": "e09ddcb4.62be2", + "x": 1670.2815914154053, + "y": 2109.031648993492, + "z": "926fea0b.1d3458", "wires": [ - ["b549c649.6ef3f8"] + ["80cfb20d.84134"] ] }, { - "id": "b549c649.6ef3f8", - "type": "block", - "name": "block : atomic", - "xml": "<block atomic=\"true\">", - "atomic": "true", + "id": "80cfb20d.84134", + "type": "outcomeTrue", + "name": "true", + "xml": "<outcome value='true'>\n", + "comments": "", "outputs": 1, - "x": 1160.5214195251465, - "y": 694.867790222168, - "z": "e09ddcb4.62be2", + "x": 2023.2817306518555, + "y": 2113.0317224264145, + "z": "926fea0b.1d3458", "wires": [ - ["90347753.f53c58"] + ["17b7664a.d3b9ca"] ] }, { - "id": "90347753.f53c58", + "id": "17b7664a.d3b9ca", "type": "set", - "name": "set tmp.pidx and tmp.network-input-parameters", - "xml": "<set>\n<parameter name='tmp.pidx' value='`$pidx`' />\n<parameter name='tmp.network.' value='`$mdsal-psd.service-data.networks.network[$pidx].`' />\n<parameter name='tmp.network-input-parameters' value='`$mdsal-psd.service-data.networks.network[$pidx].network-data.network-request-input.network-input-parameters`' />\n<parameter name='tmp.found-network-input' value='true' />", + "name": "set tmp.templateFileName", + "xml": "<set>\n<parameter name='tmp.templateFileName' value='`$tmp.network.network-data.network-topology.network-parameters.network-parameter[$cxid].network-parameter-value`' />\n<parameter name='tmp.templateFileName-found' value='true' />", "comments": "", - "x": 1107.3788032531738, - "y": 768.4393863677979, - "z": "e09ddcb4.62be2", + "x": 2224.2817611694336, + "y": 2111.031723380089, + "z": "926fea0b.1d3458", "wires": [] }, { - "id": "569cdb0d.3aa8c4", + "id": "8e8c51f4.d057d", "type": "set", - "name": "set tmp.found-network-input", - "xml": "<set>\n<parameter name='tmp.found-network-input' value='false' />", + "name": "set paras flags", + "xml": "<set>\n<parameter name='tmp.restapiUrl-found' value='false' />\n<parameter name='tmp.restapiUser-found' value='false' />\n<parameter name='tmp.restapiPassword-found' value='false' />\n<parameter name='tmp.templateFileName-found' value='false' />\n<parameter name='tmp.thirdPartyAdaptorRpc-found' value='false' />", "comments": "", - "x": 741.5106582641602, - "y": 540.0105857849121, - "z": "e09ddcb4.62be2", + "x": 1329.0314960479736, + "y": 1919.0315116643906, + "z": "926fea0b.1d3458", "wires": [] }, { - "id": "336b6524.04896a", + "id": "833ed1f4.d259", "type": "switchNode", - "name": "switch found-network-input", - "xml": "<switch test=\"`$found-network-input`\">\n\n", + "name": "switch thirdPartyAdaptorRpc-found == 'true'", + "xml": "<switch test=\"`$tmp.thirdPartyAdaptorRpc-found == 'true'`\">\n", "comments": "", "outputs": 1, - "x": 572.5107040405273, - "y": 879.0107097625732, - "z": "e09ddcb4.62be2", + "x": 1321.0312728881836, + "y": 2365.031446814537, + "z": "926fea0b.1d3458", "wires": [ - ["616108fb.092f18", "40e56e53.4077e"] + ["575d5dfb.34fe94", "2377fd44.1eedc2"] ] }, { - "id": "616108fb.092f18", + "id": "d5a8b428.3ffe58", + "type": "block", + "name": "block", + "xml": "<block>\n", + "atomic": "false", + "comments": "", + "outputs": 1, + "x": 1307.031436920166, + "y": 2111.0313848257065, + "z": "926fea0b.1d3458", + "wires": [ + ["4089b1d1.8eda5", "e7566aa5.849bc8", "e1dac9e1.6143b8", "43cfa6be.6eb688"] + ] +}, { + "id": "575d5dfb.34fe94", "type": "outcomeTrue", "name": "true", "xml": "<outcome value='true'>\n", "comments": "", "outputs": 1, - "x": 804.5107955932617, - "y": 923.010908126831, - "z": "e09ddcb4.62be2", + "x": 1583.03129196167, + "y": 2327.031383872032, + "z": "926fea0b.1d3458", "wires": [ - ["a846a4bd.9956b8"] + ["4cc416ef.c63548"] ] }, { - "id": "40e56e53.4077e", + "id": "2377fd44.1eedc2", "type": "outcomeTrue", "name": "false", "xml": "<outcome value='false'>\n", "comments": "", "outputs": 1, - "x": 805.2607345581055, - "y": 881.010799407959, - "z": "e09ddcb4.62be2", + "x": 1584.0312423706055, + "y": 2393.0313485860825, + "z": "926fea0b.1d3458", "wires": [ - ["8273b3b3.844e2"] + ["9704be28.3f558"] ] }, { - "id": "8273b3b3.844e2", - "type": "returnFailure", - "name": "return failure", - "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"404\" />\n <parameter name=\"error-message\" value=\"Error: Network input parameters not found\" />\n \n", + "id": "4cc416ef.c63548", + "type": "call", + "name": "call thirdPartyAdaptorRpc", + "xml": "<call module='GENERIC-RESOURCE-API' rpc='`$tmp.thirdPartyAdaptorRpc`' mode='sync' >\n", "comments": "", - "x": 976.2607345581055, - "y": 889.0107688903809, - "z": "e09ddcb4.62be2", - "wires": [] + "outputs": 1, + "x": 1803.0313339233398, + "y": 2328.03144299984, + "z": "926fea0b.1d3458", + "wires": [ + ["f46c32a6.383aa", "14327ee.aa1c281", "bbf59025.2f53"] + ] }, { - "id": "a846a4bd.9956b8", - "type": "block", - "name": "block : atomic", - "xml": "<block atomic=\"true\">", - "atomic": "true", + "id": "9704be28.3f558", + "type": "switchNode", + "name": "switch all-found == 'true'", + "xml": "<switch test=\"`$tmp.prop.thirdpartySdnc-found == 'true' and $tmp.templateFileName-found == 'true' and `$tmp.prop.restapiUrl-found == 'true'`\">\n", + "comments": "", "outputs": 1, - "x": 542.0105819702148, - "y": 1035.0106945037842, - "z": "e09ddcb4.62be2", + "x": 1460.4821796417236, + "y": 2483.0379165410995, + "z": "926fea0b.1d3458", "wires": [ - ["a938b787.7c82b8", "2becb5c8.f5838a", "fec72c37.99e8b"] + ["b0b06b48.a5b488", "aeb8dbbb.1a88b8"] ] }, { - "id": "a938b787.7c82b8", - "type": "for", - "name": "for cidx..tmp.network.network-data.network-topology.network-parameters.network-parameter[]", - "xml": "<for index='cidx' start='0' end='`$tmp.network.network-data.network-topology.network-parameters.network-parameter_length`' >\n", + "id": "b0b06b48.a5b488", + "type": "outcomeTrue", + "name": "true", + "xml": "<outcome value='true'>\n", "comments": "", "outputs": 1, - "x": 991.0104217529297, - "y": 1121.0105504989624, - "z": "e09ddcb4.62be2", + "x": 1711.4821643829346, + "y": 2481.037712454796, + "z": "926fea0b.1d3458", "wires": [ - ["a608965c.57ec78"] + ["bb8655c6.320038"] ] }, { - "id": "21b22ac0.8b6036", + "id": "e7566aa5.849bc8", "type": "switchNode", - "name": "switch network-parameter-name == 'restapiUrl'", - "xml": "<switch test=\"`$tmp.network.network-data.network-topology.network-parameters.network-parameter[$cxid].network-parameter-name == 'restapiUrl'`\">\n", + "name": "switch network-parameter-name == 'thirdPartyAdaptorRpc'", + "xml": "<switch test=\"`$tmp.network.network-data.network-topology.network-parameters.network-parameter[$cxid].network-parameter-name == 'thirdPartyAdaptorRpc'`\">\n", "comments": "", "outputs": 1, - "x": 1105.010482788086, - "y": 1191.010612487793, - "z": "e09ddcb4.62be2", + "x": 1663.0378608703613, + "y": 2199.038031935692, + "z": "926fea0b.1d3458", "wires": [ - ["b3b8f491.b604a8"] + ["6b611a9.1a25de4"] ] }, { - "id": "b3b8f491.b604a8", + "id": "6b611a9.1a25de4", "type": "outcomeTrue", "name": "true", "xml": "<outcome value='true'>\n", "comments": "", "outputs": 1, - "x": 1356.0105361938477, - "y": 1194.0106182098389, - "z": "e09ddcb4.62be2", + "x": 1996.03812789917, + "y": 2202.0380758047104, + "z": "926fea0b.1d3458", "wires": [ - ["f19676be.7dd8e8"] + ["af5f0328.41cb9"] ] }, { - "id": "f19676be.7dd8e8", + "id": "af5f0328.41cb9", "type": "set", - "name": "set tmp.thirdparty-sdnc-url", - "xml": "<set>\n<parameter name='tmp.restapiUrl' value='`$tmp.network.network-data.network-topology.network-parameters.network-parameter[$cxid].network-parameter-value`' />\n<parameter name='tmp.restapiUrl-found' value='true' />", + "name": "set tmp.thirdPartyAdaptorRpc", + "xml": "<set>\n<parameter name='tmp.thirdPartyAdaptorRpc' value='`$tmp.network.network-data.network-topology.network-parameters.network-parameter[$cxid].network-parameter-value`' />\n<parameter name='tmp.thirdPartyAdaptorRpc-found' value='true' />", "comments": "", - "x": 1557.0105667114258, - "y": 1192.0106191635132, - "z": "e09ddcb4.62be2", + "x": 2217.0380306243896, + "y": 2201.0381063222885, + "z": "926fea0b.1d3458", "wires": [] }, { - "id": "5e9a3d4b.faee04", - "type": "execute", - "name": "execute RestApiCallNode Create wan-connection", - "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"templateFileName\" value=\"`$tmp.templateFileName`\" />\n<parameter name=\"restapiUrl\" value=\"`$tmp.restapiUrl`\" />\n<parameter name=\"restapiUser\" value=\"`$tmp.restapiUser`\" />\n<parameter name=\"restapiPassword\" value=\"`$tmp.restapiPassword`\" />\n<parameter name=\"format\" value=\"json\"/>\n<parameter name=\"httpMethod\" value=\"post\"/>\n<parameter name=\"responsePrefix\" value=\"restApi-result\"/>", + "id": "bbf59025.2f53", + "type": "not-found", + "name": "not-found", + "xml": "<outcome value='not-found'>\n", "comments": "", "outputs": 1, - "x": 879.2604522705078, - "y": 1923.0111656188965, - "z": "e09ddcb4.62be2", + "x": 2134.037733078003, + "y": 2368.3710893392563, + "z": "926fea0b.1d3458", "wires": [ - ["6cfa08fc.d58438", "35b532e4.67c04e", "456722ac.35f45c"] + ["5e9bef51.b04f9"] ] }, { - "id": "482305da.d57c9c", - "type": "switchNode", - "name": "switch network-parameter-name == 'restapiUser'", - "xml": "<switch test=\"`$tmp.network.network-data.network-topology.network-parameters.network-parameter[$cxid].network-parameter-name == 'restapiUser'`\">\n", + "id": "14327ee.aa1c281", + "type": "failure", + "name": "failure", + "xml": "<outcome value='failure'>\n", + "comments": "", + "outputs": 1, + "x": 2125.0377826690674, + "y": 2336.871115088463, + "z": "926fea0b.1d3458", + "wires": [ + ["5e9bef51.b04f9"] + ] +}, { + "id": "f46c32a6.383aa", + "type": "success", + "name": "success", + "xml": "<outcome value='success'>\n", + "comments": "", + "outputs": 1, + "x": 2128.78782081604, + "y": 2307.22821996361, + "z": "926fea0b.1d3458", + "wires": [ + ["2554668a.ceb99a"] + ] +}, { + "id": "5e9bef51.b04f9", + "type": "returnFailure", + "name": "return failure", + "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"`'Error calling ' + $tmp.thirdPartyAdaptorRpc`\" />\n", + "comments": "", + "x": 2303.7878017425537, + "y": 2359.621233344078, + "z": "926fea0b.1d3458", + "wires": [] +}, { + "id": "2554668a.ceb99a", + "type": "block", + "name": "block", + "xml": "<block>\n", + "atomic": "false", + "comments": "", + "outputs": 1, + "x": 2270.4437885284424, + "y": 2303.4203891530633, + "z": "926fea0b.1d3458", + "wires": [ + [] + ] +}, { + "id": "9d57cbcd.803d08", + "type": "not-found", + "name": "not-found", + "xml": "<outcome value='not-found'>\n", "comments": "", "outputs": 1, - "x": 1108.2604751586914, - "y": 1242.0105876922607, - "z": "e09ddcb4.62be2", + "x": 1898.0378074645996, + "y": 2593.370793700218, + "z": "926fea0b.1d3458", "wires": [ - ["bfa7b41.e85df48"] + ["a1110583.4c1b78"] ] }, { - "id": "bfa7b41.e85df48", + "id": "e19ff0cc.bd882", + "type": "failure", + "name": "failure", + "xml": "<outcome value='failure'>\n", + "comments": "", + "outputs": 1, + "x": 1889.037857055664, + "y": 2561.8708194494247, + "z": "926fea0b.1d3458", + "wires": [ + ["a1110583.4c1b78"] + ] +}, { + "id": "c0b7550d.f30fe8", + "type": "success", + "name": "success", + "xml": "<outcome value='success'>\n", + "comments": "", + "outputs": 1, + "x": 1892.7878952026367, + "y": 2532.227924324572, + "z": "926fea0b.1d3458", + "wires": [ + ["723c84de.ada1cc"] + ] +}, { + "id": "a1110583.4c1b78", + "type": "returnFailure", + "name": "return failure", + "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"`'Error calling ' + $tmp.restapiUrl`\" />\n", + "comments": "", + "x": 2055.7879219055176, + "y": 2578.620891928673, + "z": "926fea0b.1d3458", + "wires": [] +}, { + "id": "723c84de.ada1cc", + "type": "block", + "name": "block", + "xml": "<block>\n", + "atomic": "false", + "comments": "", + "outputs": 1, + "x": 2034.443862915039, + "y": 2528.420093514025, + "z": "926fea0b.1d3458", + "wires": [ + [] + ] +}, { + "id": "aeb8dbbb.1a88b8", "type": "outcomeTrue", - "name": "true", - "xml": "<outcome value='true'>\n", + "name": "false", + "xml": "<outcome value='false'>\n", "comments": "", "outputs": 1, - "x": 1374.2605895996094, - "y": 1244.0106649398804, - "z": "e09ddcb4.62be2", + "x": 1862.7043704986572, + "y": 2448.482018828392, + "z": "926fea0b.1d3458", "wires": [ - ["431e7704.816128"] + ["f8bc7d52.d6dd5"] ] }, { - "id": "431e7704.816128", - "type": "set", - "name": "set tmp.restapiUser", - "xml": "<set>\n<parameter name='tmp.restapiUser' value='`$tmp.network.network-data.network-topology.network-parameters.network-parameter[$cxid].network-parameter-value`' />\n<parameter name='tmp.restapiUser-found' value='true' />", + "id": "f8bc7d52.d6dd5", + "type": "returnFailure", + "name": "return failure", + "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"404\" />\n <parameter name=\"error-message\" value=\"Error: 3rd party controller restapiUrl not found\" />\n \n", "comments": "", - "x": 1575.2606201171875, - "y": 1242.0106658935547, - "z": "e09ddcb4.62be2", + "x": 2033.7043704986572, + "y": 2456.481988310814, + "z": "926fea0b.1d3458", "wires": [] }, { - "id": "d87dc5c6.9f2d38", - "type": "switchNode", - "name": "switch network-parameter-name == 'restapiPassword'", - "xml": "<switch test=\"`$tmp.network.network-data.network-topology.network-parameters.network-parameter[$cxid].network-parameter-name == 'restapiPassword'`\">\n", + "id": "a72b1cb5.05f3c", + "type": "execute", + "name": "contains specification", + "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='contains' >\n <parameter name=\"source\" value=\"`$network-topology-operation-input.network-information.onap-model-information.model-name`\"/>\n <parameter name=\"target\" value=\"specification\"/>\n", "comments": "", "outputs": 1, - "x": 1116.2605438232422, - "y": 1296.010513305664, - "z": "e09ddcb4.62be2", + "x": 231.03120040893555, + "y": 374.03507936000824, + "z": "926fea0b.1d3458", "wires": [ - ["32c617c3.6666a8"] + ["889cb67a.4a45c8", "2194eb01.d99b44"] ] }, { - "id": "32c617c3.6666a8", + "id": "889cb67a.4a45c8", "type": "outcomeTrue", "name": "true", "xml": "<outcome value='true'>\n", "comments": "", "outputs": 1, - "x": 1393.260555267334, - "y": 1294.0105457305908, - "z": "e09ddcb4.62be2", + "x": 467.03123474121094, + "y": 372.03507125377655, + "z": "926fea0b.1d3458", "wires": [ - ["7965a848.b113a8"] + ["ce0b82c8.e7218"] ] }, { - "id": "7965a848.b113a8", - "type": "set", - "name": "set tmp.restapiPassword", - "xml": "<set>\n<parameter name='tmp.restapiPassword' value='`$tmp.network.network-data.network-topology.network-parameters.network-parameter[$cxid].network-parameter-value`' />\n<parameter name='tmp.restapiPassword-found' value='true' />", + "id": "2194eb01.d99b44", + "type": "outcomeTrue", + "name": "false", + "xml": "<outcome value='false'>\n", "comments": "", - "x": 1594.260585784912, - "y": 1292.0105466842651, - "z": "e09ddcb4.62be2", - "wires": [] + "outputs": 1, + "x": 170.03128814697266, + "y": 597.035244345665, + "z": "926fea0b.1d3458", + "wires": [ + ["f8dcacdf.a6eb7"] + ] }, { - "id": "8c362f3b.3ca69", - "type": "switchNode", - "name": "switch network-parameter-name == 'templateFileName'", - "xml": "<switch test=\"`$tmp.network.network-data.network-topology.network-parameters.network-parameter[$cxid].network-parameter-name == 'templateFileName'`\">\n", + "id": "e74616dd.2ed7f8", + "type": "execute", + "name": "contains FC", + "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='contains' >\n <parameter name=\"source\" value=\"`$network-topology-operation-input.network-information.onap-model-information.model-name`\"/>\n <parameter name=\"target\" value=\"FC\"/>\n", + "comments": "", + "outputs": 1, + "x": 501.03129959106445, + "y": 681.0351728200912, + "z": "926fea0b.1d3458", + "wires": [ + ["c1e8fe64.ca4a9", "c4d599f8.5e9608"] + ] +}, { + "id": "c4d599f8.5e9608", + "type": "outcomeTrue", + "name": "false", + "xml": "<outcome value='false'>\n", + "comments": "", + "outputs": 1, + "x": 146.03127670288086, + "y": 1029.0352452993393, + "z": "926fea0b.1d3458", + "wires": [ + ["321c63b.c8d039c"] + ] +}, { + "id": "321c63b.c8d039c", + "type": "execute", + "name": "contains FD", + "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='contains' >\n <parameter name=\"source\" value=\"`$network-topology-operation-input.network-information.onap-model-information.model-name`\"/>\n <parameter name=\"target\" value=\"FD\"/>\n", + "comments": "", + "outputs": 1, + "x": 355.03126525878906, + "y": 1025.0352238416672, + "z": "926fea0b.1d3458", + "wires": [ + ["84b52686.b454a8", "95140b58.666a48"] + ] +}, { + "id": "95140b58.666a48", + "type": "outcomeTrue", + "name": "false", + "xml": "<outcome value='false'>\n", + "comments": "", + "outputs": 1, + "x": 137.99998092651367, + "y": 1101.0038818120956, + "z": "926fea0b.1d3458", + "wires": [ + ["816059eb.09e168"] + ] +}, { + "id": "816059eb.09e168", + "type": "execute", + "name": "contains FcPort", + "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='contains' >\n <parameter name=\"source\" value=\"`$network-topology-operation-input.network-information.onap-model-information.model-name`\"/>\n <parameter name=\"target\" value=\"FcPort\"/>\n", "comments": "", "outputs": 1, - "x": 1125.2605743408203, - "y": 1351.0105781555176, - "z": "e09ddcb4.62be2", + "x": 346.99997329711914, + "y": 1098.0039104223251, + "z": "926fea0b.1d3458", "wires": [ - ["c074d65e.325f18"] + ["4edca0e1.34768", "2171b9cc.48bf96"] ] }, { - "id": "c074d65e.325f18", + "id": "c1e8fe64.ca4a9", "type": "outcomeTrue", "name": "true", "xml": "<outcome value='true'>\n", "comments": "", "outputs": 1, - "x": 1413.2607078552246, - "y": 1354.0106735229492, - "z": "e09ddcb4.62be2", + "x": 683.0313034057617, + "y": 682.0351561307907, + "z": "926fea0b.1d3458", "wires": [ - ["c839c2e5.daaf"] + ["6e6cf945.de71a8"] ] }, { - "id": "c839c2e5.daaf", - "type": "set", - "name": "set tmp.templateFileName", - "xml": "<set>\n<parameter name='tmp.templateFileName' value='`$tmp.network.network-data.network-topology.network-parameters.network-parameter[$cxid].network-parameter-value`' />\n<parameter name='tmp.templateFileName-found' value='true' />", + "id": "84b52686.b454a8", + "type": "outcomeTrue", + "name": "true", + "xml": "<outcome value='true'>\n", "comments": "", - "x": 1614.2607383728027, - "y": 1352.0106744766235, - "z": "e09ddcb4.62be2", - "wires": [] + "outputs": 1, + "x": 927.0314331054688, + "y": 1027.035410284996, + "z": "926fea0b.1d3458", + "wires": [ + ["11b701bb.2b820e"] + ] }, { - "id": "2becb5c8.f5838a", - "type": "set", - "name": "set paras flags", - "xml": "<set>\n<parameter name='tmp.restapiUrl-found' value='false' />\n<parameter name='tmp.restapiUser-found' value='false' />\n<parameter name='tmp.restapiPassword-found' value='false' />\n<parameter name='tmp.templateFileName-found' value='false' />\n<parameter name='tmp.thirdPartyAdaptorRpc-found' value='false' />", + "id": "4edca0e1.34768", + "type": "outcomeTrue", + "name": "true", + "xml": "<outcome value='true'>\n", "comments": "", - "x": 778.0105895996094, - "y": 1036.0105476379395, - "z": "e09ddcb4.62be2", - "wires": [] + "outputs": 1, + "x": 542.000057220459, + "y": 1100.003942847252, + "z": "926fea0b.1d3458", + "wires": [ + ["1b21b11e.20ccaf"] + ] }, { - "id": "fec72c37.99e8b", - "type": "switchNode", - "name": "switch thirdPartyAdaptorRpc-found == 'true'", - "xml": "<switch test=\"`$tmp.thirdPartyAdaptorRpc-found == 'true'`\">\n", + "id": "2171b9cc.48bf96", + "type": "outcomeTrue", + "name": "false", + "xml": "<outcome value='false'>\n", "comments": "", "outputs": 1, - "x": 820.0104217529297, - "y": 1531.0105934143066, - "z": "e09ddcb4.62be2", + "x": 99.03140258789062, + "y": 1342.0355266332626, + "z": "926fea0b.1d3458", "wires": [ - ["761c7f6a.1e156", "fc5cb76b.242648"] + ["9a67ff91.b1e45"] ] }, { - "id": "a608965c.57ec78", + "id": "9a67ff91.b1e45", "type": "block", "name": "block", "xml": "<block>\n", "atomic": "false", "comments": "", "outputs": 1, - "x": 762.0104217529297, - "y": 1302.0104637145996, - "z": "e09ddcb4.62be2", + "x": 387.0001029968262, + "y": 1341.0042842626572, + "z": "926fea0b.1d3458", + "wires": [ + ["7b057224.2aa75c"] + ] +}, { + "id": "ce0b82c8.e7218", + "type": "returnSuccess", + "name": "return success", + "xml": "<return status='success'>\n<parameter name=\"ack-final-indicator\" value=\"Y\" />\n<parameter name=\"error-code\" value=\"200\" />\n<parameter name=\"error-message\" value=\"`$error-message`\" />\n", + "comments": "", + "x": 731.0585975646973, + "y": 368.06244599819183, + "z": "926fea0b.1d3458", + "wires": [] +}, { + "id": "7b057224.2aa75c", + "type": "returnSuccess", + "name": "return success", + "xml": "<return status='success'>\n<parameter name=\"ack-final-indicator\" value=\"Y\" />\n<parameter name=\"error-code\" value=\"200\" />\n<parameter name=\"error-message\" value=\"`$error-message`\" />\n", + "comments": "", + "x": 594.0587425231934, + "y": 1338.0627368688583, + "z": "926fea0b.1d3458", + "wires": [] +}, { + "id": "1b21b11e.20ccaf", + "type": "execute", + "name": "contains sitewan", + "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='contains' >\n <parameter name=\"source\" value=\"`$network-topology-operation-input.network-information.onap-model-information.model-name`\"/>\n <parameter name=\"target\" value=\"sitewan\"/>\n", + "comments": "", + "outputs": 1, + "x": 735.0275611877441, + "y": 1101.031530737877, + "z": "926fea0b.1d3458", "wires": [ - ["21b22ac0.8b6036", "482305da.d57c9c", "d87dc5c6.9f2d38", "8c362f3b.3ca69", "2c7884dd.9d5eac"] + ["52df494.201adb8", "dbee71dc.d74f"] ] }, { - "id": "761c7f6a.1e156", + "id": "52df494.201adb8", "type": "outcomeTrue", "name": "true", "xml": "<outcome value='true'>\n", "comments": "", "outputs": 1, - "x": 1082.010440826416, - "y": 1493.0105304718018, - "z": "e09ddcb4.62be2", + "x": 930.027645111084, + "y": 1103.0315631628036, + "z": "926fea0b.1d3458", "wires": [ - ["abb14bbc.08d3c8"] + ["11b701bb.2b820e"] ] }, { - "id": "fc5cb76b.242648", + "id": "dbee71dc.d74f", "type": "outcomeTrue", "name": "false", "xml": "<outcome value='false'>\n", "comments": "", "outputs": 1, - "x": 1083.0103912353516, - "y": 1559.010495185852, - "z": "e09ddcb4.62be2", + "x": 483.02745056152344, + "y": 1255.0313781499863, + "z": "926fea0b.1d3458", "wires": [ - ["7e672194.b5093"] + ["9a67ff91.b1e45"] ] }, { - "id": "abb14bbc.08d3c8", - "type": "call", - "name": "call thirdPartyAdaptorRpc", - "xml": "<call module='GENERIC-RESOURCE-API' rpc='`$tmp.thirdPartyAdaptorRpc`' mode='sync' >\n", + "id": "6e6cf945.de71a8", + "type": "execute", + "name": "contains sotn", + "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='contains' >\n <parameter name=\"source\" value=\"`$network-topology-operation-input.network-information.onap-model-information.model-name`\"/>\n <parameter name=\"target\" value=\"sotn\"/>\n", "comments": "", "outputs": 1, - "x": 1302.010482788086, - "y": 1494.0105895996094, - "z": "e09ddcb4.62be2", + "x": 851.0312881469727, + "y": 682.035093665123, + "z": "926fea0b.1d3458", "wires": [ - ["97bbf68a.23df28", "54cba094.60db8", "40b8aaf.3584554"] + ["b8e3e9e8.4dd418", "371abc25.a00424"] ] }, { - "id": "7e672194.b5093", - "type": "switchNode", - "name": "switch restapiUrl-found == 'true'", - "xml": "<switch test=\"`$tmp.restapiUrl-found == 'true'`\">\n", + "id": "b8e3e9e8.4dd418", + "type": "outcomeTrue", + "name": "true", + "xml": "<outcome value='true'>\n", "comments": "", "outputs": 1, - "x": 844.461311340332, - "y": 1643.0172395706177, - "z": "e09ddcb4.62be2", + "x": 1056.781349182129, + "y": 681.035072684288, + "z": "926fea0b.1d3458", "wires": [ - ["8b58f6f.b1e3208", "94431bfa.4e9a48"] + ["61103774.7c2958"] ] }, { - "id": "8b58f6f.b1e3208", + "id": "371abc25.a00424", "type": "outcomeTrue", - "name": "true", - "xml": "<outcome value='true'>\n", + "name": "false", + "xml": "<outcome value='false'>\n", "comments": "", "outputs": 1, - "x": 1095.461296081543, - "y": 1641.017035484314, - "z": "e09ddcb4.62be2", + "x": 922.7814674377441, + "y": 970.0351947546005, + "z": "926fea0b.1d3458", "wires": [ - ["fed700d7.65be7"] + ["11b701bb.2b820e"] ] }, { - "id": "fed700d7.65be7", - "type": "switchNode", - "name": "switch restapiUser-found == 'true'", - "xml": "<switch test=\"`$tmp.restapiUser-found == 'true'`\">\n", + "id": "d0dc2867.7aac48", + "type": "for", + "name": "for sIdx..service-data.networks.network[]", + "xml": "<for index='sIdx' start='0' end='`$service-data.networks.network_length`' >\n", "comments": "", "outputs": 1, - "x": 822.4614105224609, - "y": 1710.2393379211426, - "z": "e09ddcb4.62be2", + "x": 1968.059326171875, + "y": 729.0627163648605, + "z": "926fea0b.1d3458", "wires": [ - ["9051a6d0.545648", "52bc5ad7.e75954"] + ["10a3d4d5.ede31b"] ] }, { - "id": "9051a6d0.545648", + "id": "8aee33e1.e59d9", "type": "outcomeTrue", "name": "true", "xml": "<outcome value='true'>\n", "comments": "", "outputs": 1, - "x": 1089.4613037109375, - "y": 1711.2390508651733, - "z": "e09ddcb4.62be2", + "x": 2503.0594062805176, + "y": 669.0628918409348, + "z": "926fea0b.1d3458", "wires": [ - ["558122b6.d2e6dc"] + ["9a9356f4.363c08"] ] }, { - "id": "558122b6.d2e6dc", - "type": "switchNode", - "name": "switch restapiPassword-found == 'true'", - "xml": "<switch test=\"`$tmp.restapiPassword-found == 'true'`\">\n", + "id": "fe450b4f.38cbb8", + "type": "set", + "name": "set tmp.pidx and tmp.network-input-parameters", + "xml": "<set>\n<parameter name='tmp.sotnFcPortList[`$sotnFcPortListLength`]' value='`$sIdx`' />", + "comments": "", + "x": 2593.6787147521973, + "y": 838.4922603368759, + "z": "926fea0b.1d3458", + "wires": [] +}, { + "id": "10a3d4d5.ede31b", + "type": "execute", + "name": "contains sotn", + "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='contains' >\n <parameter name=\"source\" value=\"`$service-data.networks.network[$sIdx].network-data.network-information.onap-model-information.model-name`\"/>\n <parameter name=\"target\" value=\"sotn\"/>\n", + "comments": "", + "outputs": 1, + "x": 2340.0593223571777, + "y": 670.0627735853195, + "z": "926fea0b.1d3458", + "wires": [ + ["8aee33e1.e59d9"] + ] +}, { + "id": "9a9356f4.363c08", + "type": "execute", + "name": "contains FcPort", + "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='contains' >\n <parameter name=\"source\" value=\"`$service-data.networks.network[$sIdx].network-data.network-information.onap-model-information.model-name`\"/>\n <parameter name=\"target\" value=\"FcPort\"/>\n", + "comments": "", + "outputs": 1, + "x": 2344.059284210205, + "y": 724.0629585981369, + "z": "926fea0b.1d3458", + "wires": [ + ["2c54cd4f.4c8bf2"] + ] +}, { + "id": "f8dcacdf.a6eb7", + "type": "block", + "name": "block : atomic", + "xml": "<block atomic=\"true\">", + "atomic": "true", + "outputs": 1, + "x": 333.0586624145508, + "y": 599.0624669790268, + "z": "926fea0b.1d3458", + "wires": [ + ["e74616dd.2ed7f8", "3a764e2f.ce3ce2"] + ] +}, { + "id": "3a764e2f.ce3ce2", + "type": "block", + "name": "find-network-data-block : atomic", + "xml": "<block atomic=\"true\">", + "atomic": "true", "comments": "", "outputs": 1, - "x": 837.4613037109375, - "y": 1780.239260673523, - "z": "e09ddcb4.62be2", + "x": 609.027530670166, + "y": 510.6980298757553, + "z": "926fea0b.1d3458", "wires": [ - ["107aae8d.403771", "3e643f4d.27a45"] + ["4e7970ad.4b5bd", "3bfb1023.2b523", "c812a520.767f78"] ] }, { - "id": "107aae8d.403771", + "id": "2c54cd4f.4c8bf2", "type": "outcomeTrue", "name": "true", "xml": "<outcome value='true'>\n", "comments": "", "outputs": 1, - "x": 1097.4613037109375, - "y": 1780.2390508651733, - "z": "e09ddcb4.62be2", + "x": 2512.0592079162598, + "y": 721.0627983808517, + "z": "926fea0b.1d3458", "wires": [ - ["3e959559.67274a"] + ["c9838804.3271d8"] ] }, { - "id": "2c7884dd.9d5eac", - "type": "switchNode", - "name": "switch network-parameter-name == 'thirdPartyAdaptorRpc'", - "xml": "<switch test=\"`$tmp.network.network-data.network-topology.network-parameters.network-parameter[$cxid].network-parameter-name == 'thirdPartyAdaptorRpc'`\">\n", + "id": "f025ca00.b1be48", + "type": "block", + "name": "find-sotn-fc-port-block : atomic", + "xml": "<block atomic=\"true\">", + "atomic": "true", "comments": "", "outputs": 1, - "x": 1125.0168762207031, - "y": 1405.0168838500977, - "z": "e09ddcb4.62be2", + "x": 1540.0592346191406, + "y": 680.0626581907272, + "z": "926fea0b.1d3458", "wires": [ - ["14544bfa.4af374"] + ["d0dc2867.7aac48", "3f4a3ecb.0378b2"] ] }, { - "id": "14544bfa.4af374", + "id": "3f4a3ecb.0378b2", + "type": "set", + "name": "set sotnFcPortListLength", + "xml": "<set>\n<parameter name='sotnFcPortListLength' value='0' />", + "comments": "", + "x": 1909.0587921142578, + "y": 621.0627483129501, + "z": "926fea0b.1d3458", + "wires": [] +}, { + "id": "c9838804.3271d8", + "type": "block", + "name": "find-OOF-input-block : atomic", + "xml": "<block atomic=\"true\">", + "atomic": "true", + "comments": "", + "outputs": 1, + "x": 2390.5591468811035, + "y": 775.0626882314682, + "z": "926fea0b.1d3458", + "wires": [ + ["fe450b4f.38cbb8", "d2affa42.51fb78"] + ] +}, { + "id": "d2affa42.51fb78", + "type": "for", + "name": "for sIdx..network-input-parameters[]", + "xml": "<for index='paramIdx' start='0' end='`$service-data.networks.network[$sIdx].network-data.network-request-input.network-input-parameters.param_length`' >\n", + "comments": "", + "outputs": 1, + "x": 2569.0589027404785, + "y": 890.0628179311752, + "z": "926fea0b.1d3458", + "wires": [ + ["eb3ac434.e3fe48"] + ] +}, { + "id": "eb3ac434.e3fe48", + "type": "execute", + "name": "contains address", + "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='contains' >\n <parameter name=\"source\" value=\"`$service-data.networks.network[$sIdx].network-data.network-request-input.network-input-parameters.param[$paramIdx].name`\"/>\n <parameter name=\"target\" value=\"address\"/>\n", + "comments": "", + "outputs": 1, + "x": 2537.558811187744, + "y": 943.0626500844955, + "z": "926fea0b.1d3458", + "wires": [ + ["7ce26fd1.8df38"] + ] +}, { + "id": "7ce26fd1.8df38", "type": "outcomeTrue", "name": "true", "xml": "<outcome value='true'>\n", "comments": "", "outputs": 1, - "x": 1413.0170097351074, - "y": 1408.0169792175293, - "z": "e09ddcb4.62be2", + "x": 2719.5589332580566, + "y": 943.0626500844955, + "z": "926fea0b.1d3458", "wires": [ - ["2d59e0f.1af282"] + ["c085ea30.cd5968"] ] }, { - "id": "2d59e0f.1af282", + "id": "a47015e8.cb0ee8", "type": "set", - "name": "set tmp.thirdPartyAdaptorRpc", - "xml": "<set>\n<parameter name='tmp.thirdPartyAdaptorRpc' value='`$tmp.network.network-data.network-topology.network-parameters.network-parameter[$cxid].network-parameter-value`' />\n<parameter name='tmp.thirdPartyAdaptorRpc-found' value='true' />", + "name": "set sotnFcPortAddress", + "xml": "<set>\n<parameter name='sotnFcPortAddress' value='`$service-data.networks.network[$sIdx].network-data.network-request-input.network-input-parameters.param[$paramIdx].value`' />", "comments": "", - "x": 1614.0170402526855, - "y": 1406.0169801712036, - "z": "e09ddcb4.62be2", + "x": 2777.5603942871094, + "y": 1056.0630768537521, + "z": "926fea0b.1d3458", "wires": [] }, { - "id": "3e959559.67274a", + "id": "c085ea30.cd5968", + "type": "block", + "name": "get-OOF-input-block : atomic", + "xml": "<block atomic=\"true\">", + "atomic": "true", + "comments": "", + "outputs": 1, + "x": 2586.5589637756348, + "y": 1001.0628217458725, + "z": "926fea0b.1d3458", + "wires": [ + ["a47015e8.cb0ee8", "1e310231.0de11e"] + ] +}, { + "id": "c68e0fa0.942c8", + "type": "success", + "name": "success", + "xml": "<outcome value='success'>\n", + "comments": "", + "outputs": 1, + "x": 2802.0600090026855, + "y": 1178.0625947713852, + "z": "926fea0b.1d3458", + "wires": [ + ["87931697.ce9668"] + ] +}, { + "id": "1e310231.0de11e", + "type": "execute", + "name": "execute RestApiCallNode - get access Tp from OSS", + "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n <parameter name='restapiUrl' value=\"`$prop.oss.url + '/oss/inventory?location=' + $sotnFcPortAddress`\"/>\n <parameter name='format' value='json' />\n <parameter name='customHttpHeaders' value=\"X-FromAppId=MSO\" />\n <parameter name='httpMethod' value='GET' />\n <parameter name=\"responsePrefix\" value=\"temp.oss.accessTPs\" />\n\n", + "comments": "", + "outputs": 1, + "x": 2899.0589332580566, + "y": 1115.062528014183, + "z": "926fea0b.1d3458", + "wires": [ + ["c68e0fa0.942c8"] + ] +}, { + "id": "87931697.ce9668", "type": "switchNode", - "name": "switch templateFileName-found == 'true'", - "xml": "<switch test=\"`$tmp.templateFileName-found == 'true'`\">\n", + "name": "switch temp.oss.accessTPs_length", + "xml": "<switch test=\"`$temp.oss.accessTPs_length`\">\n", "comments": "", "outputs": 1, - "x": 835.0168762207031, - "y": 1840.3502979278564, - "z": "e09ddcb4.62be2", + "x": 3098.0591163635254, + "y": 1177.0625051259995, + "z": "926fea0b.1d3458", "wires": [ - ["5a8246c3.86d3d8", "e9a7f173.e33ea"] + ["7d124bb0.ba2c74"] ] }, { - "id": "5a8246c3.86d3d8", - "type": "outcomeTrue", - "name": "true", - "xml": "<outcome value='true'>\n", + "id": "7d124bb0.ba2c74", + "type": "other", + "name": "other", + "xml": "<outcome value='Other'>\n", "comments": "", "outputs": 1, - "x": 1095.0168762207031, - "y": 1840.3500881195068, - "z": "e09ddcb4.62be2", + "x": 3362.560386657715, + "y": 1176.0627821683884, + "z": "926fea0b.1d3458", "wires": [ - ["5e9a3d4b.faee04"] + ["50e1d009.293c"] ] }, { - "id": "40b8aaf.3584554", - "type": "not-found", - "name": "not-found", - "xml": "<outcome value='not-found'>\n", + "id": "c6383260.ec986", + "type": "set", + "name": "set temp.accessTPs_length", + "xml": "<set>\n<parameter name='temp.accessTPs_length' value='`$temp.accessTPs_length + $temp.oss.accessTPs_length`' />\n\n", + "comments": "", + "x": 3308.060012817383, + "y": 1442.0589436292648, + "z": "926fea0b.1d3458", + "wires": [] +}, { + "id": "50e1d009.293c", + "type": "block", + "name": "copy-accessTPs-block : atomic", + "xml": "<block atomic=\"true\">", + "atomic": "true", "comments": "", "outputs": 1, - "x": 1568.0168762207031, - "y": 1533.3502578735352, - "z": "e09ddcb4.62be2", + "x": 2962.808380126953, + "y": 1265.058205485344, + "z": "926fea0b.1d3458", "wires": [ - ["10f2c69f.8e3de9"] + ["c6383260.ec986", "9cdee8cd.2dbad8", "d76eb76d.375dc8"] ] }, { - "id": "54cba094.60db8", - "type": "failure", - "name": "failure", - "xml": "<outcome value='failure'>\n", + "id": "9cdee8cd.2dbad8", + "type": "switchNode", + "name": "switch temp.accessTPs_length", + "xml": "<switch test='`$temp.accessTPs_length`'>\n", "comments": "", "outputs": 1, - "x": 1559.0169258117676, - "y": 1501.8502836227417, - "z": "e09ddcb4.62be2", + "x": 3346.558334350586, + "y": 1267.0580424070358, + "z": "926fea0b.1d3458", "wires": [ - ["10f2c69f.8e3de9"] + ["ddd28ed8.0b65e", "1b7da2eb.0351cd"] ] }, { - "id": "97bbf68a.23df28", - "type": "success", - "name": "success", - "xml": "<outcome value='success'>\n", + "id": "ddd28ed8.0b65e", + "type": "other", + "name": "Null", + "xml": "<outcome value=''>\n", "comments": "", "outputs": 1, - "x": 1562.7669639587402, - "y": 1472.207388497889, - "z": "e09ddcb4.62be2", + "x": 3572.5581855773926, + "y": 1242.0579699277878, + "z": "926fea0b.1d3458", "wires": [ - ["9b5e3e39.e0053"] + ["884aab61.79c368"] ] }, { - "id": "10f2c69f.8e3de9", - "type": "returnFailure", - "name": "return failure", - "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"`'Error calling ' + $tmp.thirdPartyAdaptorRpc`\" />\n", + "id": "884aab61.79c368", + "type": "set", + "name": "set tp_length", + "xml": "<set>\n<parameter name='tp_length' value='0' />", "comments": "", - "x": 1725.766990661621, - "y": 1518.6003561019897, - "z": "e09ddcb4.62be2", + "x": 3759.05802154541, + "y": 1240.0579756791703, + "z": "926fea0b.1d3458", "wires": [] }, { - "id": "9b5e3e39.e0053", + "id": "1b7da2eb.0351cd", + "type": "other", + "name": "other", + "xml": "<outcome value='Other'>\n", + "comments": "", + "outputs": 1, + "x": 3568.558151245117, + "y": 1297.058015704155, + "z": "926fea0b.1d3458", + "wires": [ + ["aab633d0.c1e13"] + ] +}, { + "id": "aab633d0.c1e13", + "type": "set", + "name": "set tp_length", + "xml": "<set>\n<parameter name='tp_length' value='`$temp.accessTPs_length`' />", + "comments": "", + "x": 3757.308090209961, + "y": 1297.058000445366, + "z": "926fea0b.1d3458", + "wires": [] +}, { + "id": "d76eb76d.375dc8", + "type": "for", + "name": "for each existing temp.oss.accessTPs", + "xml": "<for index='idx' start='0' end='`$temp.oss.accessTPs_length`' >\n", + "comments": "", + "outputs": 1, + "x": 3348.3087768554688, + "y": 1365.0581473112106, + "z": "926fea0b.1d3458", + "wires": [ + ["ee87558c.d153c8"] + ] +}, { + "id": "ee87558c.d153c8", + "type": "set", + "name": "set temp.accessTPs", + "xml": "<set>\n<parameter name='`temp.accessTPs[$idx + $tp_length].`' value='`$temp.oss.accessTPs[$idx].`' />", + "comments": "", + "x": 3716.3086700439453, + "y": 1366.0582951307297, + "z": "926fea0b.1d3458", + "wires": [] +}, { + "id": "61103774.7c2958", "type": "block", "name": "block", "xml": "<block>\n", "atomic": "false", "comments": "", "outputs": 1, - "x": 1704.4229316711426, - "y": 1468.3995576873422, - "z": "e09ddcb4.62be2", + "x": 1226.0586776733398, + "y": 679.0624278783798, + "z": "926fea0b.1d3458", "wires": [ - [] + ["f025ca00.b1be48", "45d2bc6f.d74144"] ] }, { - "id": "456722ac.35f45c", - "type": "not-found", - "name": "not-found", - "xml": "<outcome value='not-found'>\n", + "id": "3397eec.96a2812", + "type": "execute", + "name": "execute RestApiCallNode getPath from OOF", + "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"templateFileName\" value=\"`$prop.restapi.templateDir + '/' + $prop.restapi.oof-getpath.templatefile`\" />\n<parameter name=\"restapiUrl\" value=\"`$prop.restapi.connection-oof-url`\" />\n<parameter name=\"restapiUser\" value=\"`$prop.oof.user`\" />\n<parameter name=\"restapiPassword\" value=\"`$prop.oof.password`\" />\n<parameter name=\"format\" value=\"json\"/>\n<parameter name=\"httpMethod\" value=\"post\"/>\n<parameter name=\"responsePrefix\" value=\"oof\"/>\n<parameter name=\"trustStoreFileName\" value=\"/opt/onap/sdnc/data/stores/truststore.openecomp.client.jks\"/>\n<parameter name=\"trustStorePassword\" value=\"adminadmin\"/>\n<parameter name=\"keyStoreFileName\" value=\"/opt/onap/sdnc/data/stores/sdnc.p12\"/>\n<parameter name=\"keyStorePassword\" value=\"adminadmin\"/>\n<parameter name='customHttpHeaders' value=\"`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`\" />", "comments": "", "outputs": 1, - "x": 1209.0168762207031, - "y": 1958.3502578735352, - "z": "e09ddcb4.62be2", + "x": 1952.5589714050293, + "y": 1317.0627564191818, + "z": "926fea0b.1d3458", "wires": [ - ["504edb98.e54e24"] + ["44889bda.c6f5b4", "b5ee75d7.fdc598"] ] }, { - "id": "35b532e4.67c04e", + "id": "b5ee75d7.fdc598", "type": "failure", "name": "failure", "xml": "<outcome value='failure'>\n", "comments": "", "outputs": 1, - "x": 1200.0169258117676, - "y": 1926.8502836227417, - "z": "e09ddcb4.62be2", + "x": 2281.558624267578, + "y": 1297.0628241300583, + "z": "926fea0b.1d3458", + "wires": [ + [] + ] +}, { + "id": "44889bda.c6f5b4", + "type": "success", + "name": "success", + "xml": "<outcome value='success'>\n", + "comments": "", + "outputs": 1, + "x": 2282.558837890625, + "y": 1348.0627335309982, + "z": "926fea0b.1d3458", "wires": [ - ["504edb98.e54e24"] + ["a7b63c93.b232"] ] }, { - "id": "6cfa08fc.d58438", + "id": "45d2bc6f.d74144", + "type": "switchNode", + "name": "switch temp.accessTPs_length", + "xml": "<switch test=\"`$temp.accessTPs_length >= 2`\">\n\n", + "comments": "", + "outputs": 1, + "x": 1607.558650970459, + "y": 1072.0625962018967, + "z": "926fea0b.1d3458", + "wires": [ + ["1fe1fd41.188173"] + ] +}, { + "id": "1fe1fd41.188173", + "type": "outcomeTrue", + "name": "true", + "xml": "<outcome value='true'>\n", + "comments": "", + "outputs": 1, + "x": 1839.0589485168457, + "y": 1071.0624426603317, + "z": "926fea0b.1d3458", + "wires": [ + ["6afbb95f.22fc18"] + ] +}, { + "id": "6afbb95f.22fc18", + "type": "block", + "name": "call-oof-block : atomic", + "xml": "<block atomic=\"true\">", + "atomic": "true", + "comments": "", + "outputs": 1, + "x": 1583.0585975646973, + "y": 1208.0625027418137, + "z": "926fea0b.1d3458", + "wires": [ + ["3397eec.96a2812", "3bd5ae29.6c4052"] + ] +}, { + "id": "3bd5ae29.6c4052", + "type": "set", + "name": "set oof input", + "xml": "<set>\n<parameter name='prop.connection-attachment.access-topology-id' value='`$temp.accessTPs[0].access-topology-id`' />\n<parameter name='prop.connection-attachment.access-client-id' value='`$temp.accessTPs[0].access-client-id`' />\n<parameter name='prop.connection-attachment.access-provider-id' value='`$temp.accessTPs[0].access-provider-id`' />\n<parameter name='prop.connection-attachment.access-node-id' value='`$temp.accessTPs[0].access-node-id`' />\n<parameter name='prop.connection-attachment.access-ltp-id' value='`$temp.accessTPs[0].access-ltp-id`' />\n<parameter name='prop.remote.connection-attachment.access-topology-id' value='`$temp.accessTPs[1].access-topology-id`' />\n<parameter name='prop.remote.connection-attachment.access-client-id' value='`$temp.accessTPs[1].access-client-id`' />\n<parameter name='prop.remote.connection-attachment.access-provider-id' value='`$temp.accessTPs[1].access-provider-id`' />\n<parameter name='prop.remote.connection-attachment.access-node-id' value='`$temp.accessTPs[1].access-node-id`' />\n<parameter name='prop.remote.connection-attachment.access-ltp-id' value='`$temp.accessTPs[1].access-ltp-id`' />", + "comments": "", + "x": 1839.5586738586426, + "y": 1212.0624779462814, + "z": "926fea0b.1d3458", + "wires": [] +}, { + "id": "e5744234.46142", + "type": "execute", + "name": "execute RestApiCallNode Create Sotn connectivity Service", + "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"templateFileName\" value=\"`$prop.restapi.templateDir + '/sotn-api-ConnectivityService.json'`\" />\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/restconf/operations/ZTE-API-ConnectivityService:create-connectivity-service'`\" />\n<parameter name=\"restapiUser\" value=\"`$prop.sdncRestApi.thirdpartySdnc.user`\" />\n<parameter name=\"restapiPassword\" value=\"`$prop.sdncRestApi.thirdpartySdnc.password`\" />\n<parameter name=\"format\" value=\"json\"/>\n<parameter name=\"httpMethod\" value=\"patch\"/>\n<parameter name=\"responsePrefix\" value=\"vpn-result\"/>\n<parameter name=\"trustStoreFileName\" value=\"/opt/onap/sdnc/data/stores/truststore.openecomp.client.jks\"/>\n<parameter name=\"trustStorePassword\" value=\"adminadmin\"/>\n<parameter name=\"keyStoreFileName\" value=\"/opt/onap/sdnc/data/stores/sdnc.p12\"/>\n<parameter name=\"keyStorePassword\" value=\"adminadmin\"/>\n<parameter name='customHttpHeaders' value=\"`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`\" />", + "comments": "", + "outputs": 1, + "x": 2808.694080352783, + "y": 1838.0313729047775, + "z": "926fea0b.1d3458", + "wires": [ + ["535d5b4b.9b7f24", "2e0febd4.c0f1c4"] + ] +}, { + "id": "535d5b4b.9b7f24", "type": "success", "name": "success", "xml": "<outcome value='success'>\n", "comments": "", "outputs": 1, - "x": 1203.7669639587402, - "y": 1897.207388497889, - "z": "e09ddcb4.62be2", + "x": 3146.6938972473145, + "y": 1868.0314563512802, + "z": "926fea0b.1d3458", + "wires": [ + ["dd3310d7.09a74"] + ] +}, { + "id": "dd3310d7.09a74", + "type": "block", + "name": "block : atomic", + "xml": "<block atomic=\"true\">", + "atomic": "true", + "comments": "", + "outputs": 1, + "x": 3294.6938972473145, + "y": 1866.0313342809677, + "z": "926fea0b.1d3458", "wires": [ - ["e5f43bf1.ad3d38"] + [] ] }, { - "id": "504edb98.e54e24", + "id": "f9b75d98.9e7f2", "type": "returnFailure", "name": "return failure", - "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"`'Error calling ' + $tmp.restapiUrl`\" />\n", + "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"Error executing Create vpn rest api\" />\n", "comments": "", - "x": 1366.766990661621, - "y": 1943.6003561019897, - "z": "e09ddcb4.62be2", + "x": 3276.6939277648926, + "y": 1813.0313943624496, + "z": "926fea0b.1d3458", "wires": [] }, { - "id": "e5f43bf1.ad3d38", + "id": "2e0febd4.c0f1c4", + "type": "failure", + "name": "failure", + "xml": "<outcome value='failure'>\n", + "comments": "", + "outputs": 1, + "x": 3137.693836212158, + "y": 1813.0313943624496, + "z": "926fea0b.1d3458", + "wires": [ + ["f9b75d98.9e7f2"] + ] +}, { + "id": "a7b63c93.b232", + "type": "for", + "name": "for vidx..oof.vpns_length[]", + "xml": "<for index='vidx' start='0' end='`$oof.vpns_length`' >", + "comments": "", + "outputs": 1, + "x": 2386.697696685791, + "y": 1526.5348581075668, + "z": "926fea0b.1d3458", + "wires": [ + ["eeab1f45.5ad4e"] + ] +}, { + "id": "eeab1f45.5ad4e", "type": "block", - "name": "block", - "xml": "<block>\n", - "atomic": "false", + "name": "block : atomic", + "xml": "<block atomic=\"true\">", + "atomic": "true", + "outputs": 1, + "x": 2499.8150596618652, + "y": 1626.3748730421066, + "z": "926fea0b.1d3458", + "wires": [ + ["6c8bea50.c3a084", "c15d913b.304b6", "e5744234.46142", "410e9e0d.02dd6"] + ] +}, { + "id": "cfda9d38.b58d3", + "type": "set", + "name": "set controller data", + "xml": "<set>\n<parameter name='prop.sdncRestApi.thirdpartySdnc.url' value=\"`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].service-url`\" />\n<parameter name='prop.sdncRestApi.thirdpartySdnc.user' value=\"`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].user-name`\" />\n<parameter name='prop.sdncRestApi.thirdpartySdnc.password' value=\"`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].password`\" />\n", + "comments": "", + "x": 3141.25972366333, + "y": 1690.7080653905869, + "z": "926fea0b.1d3458", + "wires": [] +}, { + "id": "c15d913b.304b6", + "type": "get-resource", + "name": "get-resource esr-thirdparty-sdnc", + "xml": "<get-resource plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\t\tresource=\"esr-thirdparty-sdnc\" \n\t\tkey=\"esr-thirdparty-sdnc.thirdparty-sdnc-id = $tmp.thirdparty-sdnc-id AND \n\t\t depth = '1'\"\n pfx='tmp.aai.esr-thirdparty-sdnc' local-only='false' >\n\n", "comments": "", "outputs": 1, - "x": 1345.4229316711426, - "y": 1893.3995576873422, - "z": "e09ddcb4.62be2", + "x": 2757.7596321105957, + "y": 1727.7080048322678, + "z": "926fea0b.1d3458", "wires": [ - [] + ["13cbf9b9.b81a66", "bc1574ec.7fa5e8", "ad0c242.b566ad8"] ] }, { - "id": "94431bfa.4e9a48", - "type": "outcomeTrue", - "name": "false", - "xml": "<outcome value='false'>\n", + "id": "13cbf9b9.b81a66", + "type": "success", + "name": "success", + "xml": "<outcome value='success'>\n", + "comments": "", + "outputs": 1, + "x": 2977.759567260742, + "y": 1691.7079738378525, + "z": "926fea0b.1d3458", + "wires": [ + ["cfda9d38.b58d3"] + ] +}, { + "id": "bc1574ec.7fa5e8", + "type": "not-found", + "name": "not-found", + "xml": "<outcome value='not-found'>\n", "comments": "", "outputs": 1, - "x": 1246.6835021972656, - "y": 1608.4613418579102, - "z": "e09ddcb4.62be2", + "x": 2987.2505073547363, + "y": 1732.28197991848, + "z": "926fea0b.1d3458", "wires": [ - ["79546287.78b3ac"] + ["6527879e.b615e8"] ] }, { - "id": "79546287.78b3ac", + "id": "ad0c242.b566ad8", + "type": "other", + "name": "other", + "xml": "<outcome value='Other'>\n", + "comments": "", + "outputs": 1, + "x": 2982.583484649658, + "y": 1768.6152929067612, + "z": "926fea0b.1d3458", + "wires": [ + ["85d611b.775aaf"] + ] +}, { + "id": "6527879e.b615e8", "type": "returnFailure", "name": "return failure", - "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"404\" />\n <parameter name=\"error-message\" value=\"Error: 3rd party controller restapiUrl not found\" />\n \n", + "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"`'An error occurred while querying esr-thirdparty-sdnc from AnAI with thirdparty-sdnc-id = ' + $tmp.thirdparty-sdnc-id`\" />\n\n", "comments": "", - "x": 1417.6835021972656, - "y": 1616.461311340332, - "z": "e09ddcb4.62be2", + "x": 3133.8218574523926, + "y": 1728.5678066015244, + "z": "926fea0b.1d3458", "wires": [] }, { - "id": "52bc5ad7.e75954", - "type": "outcomeTrue", - "name": "false", - "xml": "<outcome value='false'>\n", + "id": "85d611b.775aaf", + "type": "returnFailure", + "name": "return failure", + "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"`'Unexpected error occurred while querying esr-thirdparty-sdnc from AnAI with thirdparty-sdnc-id = ' + $tmp.thirdparty-sdnc-id`\" />\n\n", + "comments": "", + "x": 3137.356128692627, + "y": 1770.05444085598, + "z": "926fea0b.1d3458", + "wires": [] +}, { + "id": "6c8bea50.c3a084", + "type": "get-resource", + "name": "get-resource pnf", + "xml": "<get-resource plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\t\tresource=\"pnf\" \n\t\tkey=\"pnf.pnf-name = $oof.vpn.access-node-id \n\t\tAND depth = '0'\"\n pfx='tmp.aai.pnf' local-only='false' >\n\n\n", + "comments": "", + "outputs": 1, + "x": 2703.2595252990723, + "y": 1636.7076486349106, + "z": "926fea0b.1d3458", + "wires": [ + ["361f5e9d.140af2", "4cf0f707.e6c778", "6db6cec3.b72d2"] + ] +}, { + "id": "361f5e9d.140af2", + "type": "success", + "name": "success", + "xml": "<outcome value='success'>\n", + "comments": "", + "outputs": 1, + "x": 2885.2595710754395, + "y": 1581.7077587842941, + "z": "926fea0b.1d3458", + "wires": [ + ["71ac1295.fb6b8c"] + ] +}, { + "id": "4cf0f707.e6c778", + "type": "not-found", + "name": "not-found", + "xml": "<outcome value='not-found'>\n", + "comments": "", + "outputs": 1, + "x": 2885.750473022461, + "y": 1619.2818554639816, + "z": "926fea0b.1d3458", + "wires": [ + ["c8a04464.0d92e8"] + ] +}, { + "id": "6db6cec3.b72d2", + "type": "other", + "name": "other", + "xml": "<outcome value='Other'>\n", "comments": "", "outputs": 1, - "x": 1251.6835021972656, - "y": 1687.4613418579102, - "z": "e09ddcb4.62be2", + "x": 2877.083484649658, + "y": 1652.6152304410934, + "z": "926fea0b.1d3458", "wires": [ - ["e7175614.0bbb18"] + ["2ba90495.cc80ec"] ] }, { - "id": "e7175614.0bbb18", + "id": "c8a04464.0d92e8", + "type": "returnFailure", + "name": "return failure", + "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"`'An error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`\" />\n\n", + "comments": "", + "x": 3033.3220977783203, + "y": 1618.5677441358566, + "z": "926fea0b.1d3458", + "wires": [] +}, { + "id": "2ba90495.cc80ec", "type": "returnFailure", "name": "return failure", - "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"404\" />\n <parameter name=\"error-message\" value=\"Error: 3rd party controller restapiUser not found\" />\n \n", + "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"`'Unexpected error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`\" />\n\n", "comments": "", - "x": 1422.6835021972656, - "y": 1695.461311340332, - "z": "e09ddcb4.62be2", + "x": 3030.856128692627, + "y": 1652.0543783903122, + "z": "926fea0b.1d3458", "wires": [] }, { - "id": "3e643f4d.27a45", + "id": "71ac1295.fb6b8c", + "type": "set", + "name": "set tmp.thirdparty-sdnc-id", + "xml": "<set>\n<parameter name='tmp.thirdparty-sdnc-id' value=\"`$tmp.aai.pnf.relationship-list.relationship[0].relationship-data[0].relationship-value`\" />\n", + "comments": "", + "x": 3070.2595710754395, + "y": 1580.7078808546066, + "z": "926fea0b.1d3458", + "wires": [] +}, { + "id": "410e9e0d.02dd6", + "type": "set", + "name": "set oof.vpn", + "xml": "<set>\n<parameter name='oof.vpn.' value='`$oof.vpns[$vidx].`' />", + "comments": "", + "x": 2695.2595176696777, + "y": 1525.8187206983566, + "z": "926fea0b.1d3458", + "wires": [] +}, { + "id": "e1dac9e1.6143b8", + "type": "switchNode", + "name": "switch network-parameter-name == 'thirdPartySdncId'", + "xml": "<switch test=\"`$tmp.network.network-data.network-topology.network-parameters.network-parameter[$cxid].network-parameter-name == 'thirdPartySdncId'`\">\n", + "comments": "", + "outputs": 1, + "x": 1656.3606433868408, + "y": 2064.0312827825546, + "z": "926fea0b.1d3458", + "wires": [ + ["97e55015.0cef1"] + ] +}, { + "id": "97e55015.0cef1", "type": "outcomeTrue", - "name": "false", - "xml": "<outcome value='false'>\n", + "name": "true", + "xml": "<outcome value='true'>\n", "comments": "", "outputs": 1, - "x": 1242.6835021972656, - "y": 1758.4613418579102, - "z": "e09ddcb4.62be2", + "x": 1987.5585746765137, + "y": 2065.0622037649155, + "z": "926fea0b.1d3458", "wires": [ - ["eab97fcc.763a6"] + ["4f5ce339.2f4b7c"] ] }, { - "id": "eab97fcc.763a6", - "type": "returnFailure", - "name": "return failure", - "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"404\" />\n <parameter name=\"error-message\" value=\"Error: 3rd party controller restapiPassword not found\" />\n \n", + "id": "4f5ce339.2f4b7c", + "type": "get-resource", + "name": "get-resource esr-thirdparty-sdnc", + "xml": "<get-resource plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\t\tresource=\"esr-thirdparty-sdnc\" \n\t\tkey=\"esr-thirdparty-sdnc.thirdparty-sdnc-id = `$tmp.network.network-data.network-topology.network-parameters.network-parameter[$cxid].network-parameter-value` AND \n\t\t depth = '1'\"\n pfx='tmp.aai.esr-thirdparty-sdnc' local-only='false' >\n\n", + "comments": "", + "outputs": 1, + "x": 2252.559513092041, + "y": 2063.0622037649155, + "z": "926fea0b.1d3458", + "wires": [ + ["2b9c64e4.ee151c", "847e4996.04f018", "b0a7e0c2.d0f99"] + ] +}, { + "id": "2b9c64e4.ee151c", + "type": "success", + "name": "success", + "xml": "<outcome value='success'>\n", + "comments": "", + "outputs": 1, + "x": 2514.5593185424805, + "y": 2007.0620158910751, + "z": "926fea0b.1d3458", + "wires": [ + ["760fc6b6.ea2d48"] + ] +}, { + "id": "760fc6b6.ea2d48", + "type": "set", + "name": "set controller data", + "xml": "<set>\n<parameter name='prop.thirdpartySdnc-found' value='true' />\n<parameter name='prop.sdncRestApi.thirdpartySdnc.url' value=\"`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].service-url`\" />\n<parameter name='prop.sdncRestApi.thirdpartySdnc.user' value=\"`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].user-name`\" />\n<parameter name='prop.sdncRestApi.thirdpartySdnc.password' value=\"`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].password`\" />\n", "comments": "", - "x": 1413.6835021972656, - "y": 1766.461311340332, - "z": "e09ddcb4.62be2", + "x": 2712.0593795776367, + "y": 1995.0620158910751, + "z": "926fea0b.1d3458", "wires": [] }, { - "id": "e9a7f173.e33ea", + "id": "847e4996.04f018", + "type": "not-found", + "name": "not-found", + "xml": "<outcome value='not-found'>\n", + "comments": "", + "outputs": 1, + "x": 2546.0501823425293, + "y": 2055.636119246483, + "z": "926fea0b.1d3458", + "wires": [ + ["d47f6331.80419"] + ] +}, { + "id": "b0a7e0c2.d0f99", + "type": "other", + "name": "other", + "xml": "<outcome value='Other'>\n", + "comments": "", + "outputs": 1, + "x": 2541.3831901550293, + "y": 2096.969432234764, + "z": "926fea0b.1d3458", + "wires": [ + ["d47f6331.80419"] + ] +}, { + "id": "d47f6331.80419", + "type": "set", + "name": "set controller data", + "xml": "<set>\n<parameter name='prop.thirdpartySdnc-found' value='false' />\n", + "comments": "", + "x": 2753.0585975646973, + "y": 2074.062201857567, + "z": "926fea0b.1d3458", + "wires": [] +}, { + "id": "43cfa6be.6eb688", + "type": "switchNode", + "name": "switch network-parameter-name == 'restapiUrl'", + "xml": "<switch test=\"`$tmp.network.network-data.network-topology.network-parameters.network-parameter[$cxid].network-parameter-name == 'restapiUrl'`\">\n", + "comments": "", + "outputs": 1, + "x": 1629.5584564208984, + "y": 2156.0620836019516, + "z": "926fea0b.1d3458", + "wires": [ + ["24fb19a9.1d22f6"] + ] +}, { + "id": "24fb19a9.1d22f6", "type": "outcomeTrue", - "name": "false", - "xml": "<outcome value='false'>\n", + "name": "true", + "xml": "<outcome value='true'>\n", "comments": "", "outputs": 1, - "x": 1241.6835021972656, - "y": 1819.4613418579102, - "z": "e09ddcb4.62be2", + "x": 1971.5585670471191, + "y": 2154.0622066259384, + "z": "926fea0b.1d3458", "wires": [ - ["4679556f.41babc"] + ["cdaeb398.e7393"] ] }, { - "id": "4679556f.41babc", - "type": "returnFailure", - "name": "return failure", - "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"404\" />\n <parameter name=\"error-message\" value=\"Error: 3rd party controller templateFileName not found\" />\n \n", + "id": "cdaeb398.e7393", + "type": "set", + "name": "set tmp.templateFileName", + "xml": "<set>\n<parameter name='tmp.restapiUrl' value='`$tmp.network.network-data.network-topology.network-parameters.network-parameter[$cxid].network-parameter-value`' />\n<parameter name='tmp.restapiUrl-found' value='true' />", "comments": "", - "x": 1412.6835021972656, - "y": 1827.461311340332, - "z": "e09ddcb4.62be2", + "x": 2215.558645248413, + "y": 2158.0622762441635, + "z": "926fea0b.1d3458", "wires": [] }]
\ No newline at end of file diff --git a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_wan-connection-topology-operation-create.json b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_wan-connection-topology-operation-create.json index 5660246c..af4fe12e 100644 --- a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_wan-connection-topology-operation-create.json +++ b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_wan-connection-topology-operation-create.json @@ -1,16 +1,16 @@ [{ - "id": "6ac67ae1.a0aa44", + "id": "9bc8cf3.24e913", "type": "dgstart", "name": "DGSTART", "outputs": 1, - "x": 175.00390625, - "y": 106.00390625, - "z": "7d848bad.6cea14", + "x": 124.03125762939453, + "y": 64.03125, + "z": "466fb936.055828", "wires": [ - ["a7166f73.c3b7d"] + ["c0dae51b.1b6228"] ] }, { - "id": "a7166f73.c3b7d", + "id": "c0dae51b.1b6228", "type": "service-logic", "name": "GENERIC-RESOURCE-API ${project.version}", "module": "GENERIC-RESOURCE-API", @@ -18,343 +18,714 @@ "comments": "", "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='GENERIC-RESOURCE-API' version='${project.version}'>", "outputs": 1, - "x": 387.00391006469727, - "y": 178.0039234161377, - "z": "7d848bad.6cea14", + "x": 336.0312614440918, + "y": 136.0312671661377, + "z": "466fb936.055828", "wires": [ - ["28d122a6.3dff6e"] + ["4ad4cfdc.2f406"] ] }, { - "id": "28d122a6.3dff6e", + "id": "4ad4cfdc.2f406", "type": "method", "name": "wan-connection-topology-operation-create", "xml": "<method rpc='wan-connection-topology-operation-create' mode='sync'>\n", "comments": "", "outputs": 1, - "x": 375.0040283203125, - "y": 266.00390625, - "z": "7d848bad.6cea14", + "x": 324.03137969970703, + "y": 224.03125, + "z": "466fb936.055828", "wires": [ - ["5e728e05.d58"] + ["80ed299a.78d1a8"] ] }, { - "id": "9cfd5628.0461f8", + "id": "a0a6d830.765c48", "type": "execute", "name": "contains specification", "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='contains' >\n <parameter name=\"source\" value=\"`$network-topology-operation-input.network-information.onap-model-information.model-name`\"/>\n <parameter name=\"target\" value=\"specification\"/>\n", "comments": "", "outputs": 1, - "x": 571.0351867675781, - "y": 443.03515338897705, - "z": "7d848bad.6cea14", + "x": 520.0625419616699, + "y": 402.06254720687866, + "z": "466fb936.055828", "wires": [ - ["880d63dc.b5a38", "f32a417.139a7c"] + ["497f3002.ebfe1", "35a373ce.24801c"] ] }, { - "id": "fecacce0.e773", + "id": "a2f84cee.b0617", "type": "execute", "name": "contains FC", "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='contains' >\n <parameter name=\"source\" value=\"`$network-topology-operation-input.network-information.onap-model-information.model-name`\"/>\n <parameter name=\"target\" value=\"FC\"/>\n", "comments": "", "outputs": 1, - "x": 542.0352630615234, - "y": 541.0352182388306, - "z": "7d848bad.6cea14", + "x": 516.062629699707, + "y": 569.0626125335693, + "z": "466fb936.055828", "wires": [ - ["e31d6f4d.a6b8a", "3a9f16f2.1de22a"] + ["2029e6ab.86d56a", "93c62735.b84128"] ] }, { - "id": "328d5a5f.8b3686", + "id": "eec3001f.630de", "type": "execute", "name": "contains FD", "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='contains' >\n <parameter name=\"source\" value=\"`$network-topology-operation-input.network-information.onap-model-information.model-name`\"/>\n <parameter name=\"target\" value=\"FD\"/>\n", "comments": "", "outputs": 1, - "x": 540.0351867675781, - "y": 619.0352191925049, - "z": "7d848bad.6cea14", + "x": 515.0625495910645, + "y": 646.062563419342, + "z": "466fb936.055828", "wires": [ - ["95036d7b.e76b7", "a957c80c.629788"] + ["2e6936ec.48046a", "7376171f.8378c8"] ] }, { - "id": "8ced5ada.6dacc8", - "type": "execute", - "name": "contains Link", - "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='contains' >\n <parameter name=\"source\" value=\"`$network-topology-operation-input.network-information.onap-model-information.model-name`\"/>\n <parameter name=\"target\" value=\"Link\"/>\n", - "comments": "", - "outputs": 1, - "x": 545.0352325439453, - "y": 699.0353374481201, - "z": "7d848bad.6cea14", - "wires": [ - ["3306f585.d6ad4a", "f7a1c197.52e9b"] - ] -}, { - "id": "880d63dc.b5a38", + "id": "497f3002.ebfe1", "type": "outcomeTrue", "name": "true", "xml": "<outcome value='true'>\n", "comments": "", "outputs": 1, - "x": 807.0352210998535, - "y": 441.03514528274536, - "z": "7d848bad.6cea14", + "x": 756.0625762939453, + "y": 400.062539100647, + "z": "466fb936.055828", "wires": [ - ["4a720633.6d38d8"] + ["c8daa82e.9fce08"] ] }, { - "id": "f32a417.139a7c", + "id": "35a373ce.24801c", "type": "outcomeTrue", "name": "false", "xml": "<outcome value='false'>\n", "comments": "", "outputs": 1, - "x": 336.03525161743164, - "y": 541.0352182388306, - "z": "7d848bad.6cea14", + "x": 311.06261825561523, + "y": 569.0626125335693, + "z": "466fb936.055828", "wires": [ - ["fecacce0.e773"] + ["a2f84cee.b0617"] ] }, { - "id": "e31d6f4d.a6b8a", + "id": "2029e6ab.86d56a", "type": "outcomeTrue", "name": "true", "xml": "<outcome value='true'>\n", "comments": "", "outputs": 1, - "x": 723.035270690918, - "y": 543.0352516174316, - "z": "7d848bad.6cea14", + "x": 698.0626335144043, + "y": 570.0625958442688, + "z": "466fb936.055828", "wires": [ - ["e96c15e0.5108b8"] + ["6ba5fffc.f4ad7"] ] }, { - "id": "95036d7b.e76b7", + "id": "2e6936ec.48046a", "type": "outcomeTrue", "name": "true", "xml": "<outcome value='true'>\n", "comments": "", "outputs": 1, - "x": 735.035270690918, - "y": 621.0352516174316, - "z": "7d848bad.6cea14", + "x": 710.0626335144043, + "y": 648.0625958442688, + "z": "466fb936.055828", "wires": [ - ["e96c15e0.5108b8"] + ["6ba5fffc.f4ad7"] ] }, { - "id": "3a9f16f2.1de22a", + "id": "93c62735.b84128", "type": "outcomeTrue", "name": "false", "xml": "<outcome value='false'>\n", "comments": "", "outputs": 1, - "x": 331.03519439697266, - "y": 622.0351905822754, - "z": "7d848bad.6cea14", + "x": 306.06256103515625, + "y": 650.0625848770142, + "z": "466fb936.055828", "wires": [ - ["328d5a5f.8b3686"] + ["eec3001f.630de"] ] }, { - "id": "a957c80c.629788", + "id": "9a8815be.418328", "type": "outcomeTrue", "name": "false", "xml": "<outcome value='false'>\n", "comments": "", "outputs": 1, - "x": 336.03526306152344, - "y": 705.0353965759277, - "z": "7d848bad.6cea14", - "wires": [ - ["8ced5ada.6dacc8"] - ] -}, { - "id": "3306f585.d6ad4a", - "type": "outcomeTrue", - "name": "true", - "xml": "<outcome value='true'>\n", - "comments": "", - "outputs": 1, - "x": 736.035343170166, - "y": 698.0353984832764, - "z": "7d848bad.6cea14", + "x": 287.0626792907715, + "y": 825.062798500061, + "z": "466fb936.055828", "wires": [ - ["ff5b5810.5ac2a8"] + ["f3f6e1a2.fe953"] ] }, { - "id": "914afff2.c348e", + "id": "4d6d15f8.1b9b4c", "type": "execute", "name": "execute Properties", "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >\n <parameter name='fileName' value='%SDNC_CONFIG_DIR%/generic-resource-api-dg.properties' />\n <parameter name='contextPrefix' value='prop' />\n", "comments": "", "outputs": 1, - "x": 566.0039978027344, - "y": 386.0039253234863, - "z": "7d848bad.6cea14", + "x": 515.0313491821289, + "y": 344.0312690734863, + "z": "466fb936.055828", "wires": [ [] ] }, { - "id": "5e728e05.d58", + "id": "80ed299a.78d1a8", "type": "block", "name": "block : atomic", "xml": "<block atomic=\"true\">", "atomic": "true", "outputs": 1, - "x": 281.00392150878906, - "y": 366.00390243530273, - "z": "7d848bad.6cea14", + "x": 230.0312728881836, + "y": 324.03124618530273, + "z": "466fb936.055828", "wires": [ - ["914afff2.c348e", "9cfd5628.0461f8", "d08cdbfc.d46288", "8af933b4.c5208"] + ["4d6d15f8.1b9b4c", "a0a6d830.765c48", "8812e145.1ac5", "41f333f8.6ba35c"] ] }, { - "id": "d08cdbfc.d46288", + "id": "8812e145.1ac5", "type": "switchNode", "name": "switch network-id", "xml": "<switch test='`$network-topology-operation-input.network-information.network-id`'>\n", "comments": "", "outputs": 1, - "x": 566.0039291381836, - "y": 324.00391578674316, - "z": "7d848bad.6cea14", + "x": 515.0312805175781, + "y": 282.03125953674316, + "z": "466fb936.055828", "wires": [ - ["13cbf19b.fc4f5e", "163e4527.d3d54b"] + ["5f790529.705d5c", "7efb546.7f035ac"] ] }, { - "id": "13cbf19b.fc4f5e", + "id": "5f790529.705d5c", "type": "outcome", "name": "NULL", "xml": "<outcome value=''>", "comments": "", "outputs": 1, - "x": 815.0040054321289, - "y": 263.00391578674316, - "z": "7d848bad.6cea14", + "x": 764.0313568115234, + "y": 221.03125953674316, + "z": "466fb936.055828", "wires": [ - ["600a4007.612e"] + ["1ac38277.051efe"] ] }, { - "id": "600a4007.612e", + "id": "1ac38277.051efe", "type": "execute", "name": "generate tmp.ar.allotted-resource-id", "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='generateUUID' >\n<parameter name=\"ctx-destination\" value=\"network-topology-operation-input.network-information.network-id\"/>\n", "comments": "", "outputs": 1, - "x": 1030.0039825439453, - "y": 264.00392150878906, - "z": "7d848bad.6cea14", + "x": 1024.0314407348633, + "y": 224.03128719329834, + "z": "466fb936.055828", "wires": [ - ["224d0a6c.fd47b6"] + ["98d0b4b2.0b3c38"] ] }, { - "id": "224d0a6c.fd47b6", + "id": "98d0b4b2.0b3c38", "type": "failure", "name": "failure", "xml": "<outcome value='failure'>\n", "comments": "", "outputs": 1, - "x": 1248.0040245056152, - "y": 264.00388526916504, - "z": "7d848bad.6cea14", + "x": 1289.0314102172852, + "y": 228.03125476837158, + "z": "466fb936.055828", "wires": [ - ["c61d540b.7cf0a8"] + ["c0709980.ccdd88"] ] }, { - "id": "c61d540b.7cf0a8", + "id": "c0709980.ccdd88", "type": "returnFailure", "name": "return failure", "xml": "<return status='failure'>\n<parameter name='error-code' value='' />\n<parameter name='error-message' value=\"An error occured while generation allotted resource ID\" />\n", "comments": "", - "x": 1414.003978729248, - "y": 264.0038995742798, - "z": "7d848bad.6cea14", + "x": 1455.031364440918, + "y": 228.03126907348633, + "z": "466fb936.055828", "wires": [] }, { - "id": "163e4527.d3d54b", + "id": "7efb546.7f035ac", "type": "other", "name": "other", "xml": "<outcome value='Other'>\n", "comments": "", "outputs": 1, - "x": 812.5039024353027, - "y": 311.00391006469727, - "z": "7d848bad.6cea14", + "x": 761.5312538146973, + "y": 269.03125381469727, + "z": "466fb936.055828", "wires": [ [] ] }, { - "id": "4a720633.6d38d8", - "type": "call", - "name": "call GENERIC-RESOURCE-API:wan-connection-save-specification", - "xml": "<call module='GENERIC-RESOURCE-API' rpc='wan-connection-save-specification' mode='sync' >\n", + "id": "41f333f8.6ba35c", + "type": "returnSuccess", + "name": "return success", + "xml": "<return status='success'>\n<parameter name=\"ack-final-indicator\" value=\"Y\" />\n<parameter name=\"error-code\" value=\"200\" />\n<parameter name=\"error-message\" value=\"`$error-message`\" />\n", + "comments": "", + "x": 391.0313262939453, + "y": 963.031286239624, + "z": "466fb936.055828", + "wires": [] +}, { + "id": "f3f6e1a2.fe953", + "type": "block", + "name": "block", + "xml": "<block>\n", + "atomic": "false", "comments": "", "outputs": 1, - "x": 1129.0039367675781, - "y": 441.00395679473877, - "z": "7d848bad.6cea14", + "x": 479.0313606262207, + "y": 826.0314350128174, + "z": "466fb936.055828", "wires": [ [] ] }, { - "id": "e96c15e0.5108b8", - "type": "call", - "name": "call GENERIC-RESOURCE-API:wan-connection-find-specifications", - "xml": "<call module='GENERIC-RESOURCE-API' rpc='wan-connection-find-specifications' mode='sync' >\n", + "id": "c8daa82e.9fce08", + "type": "block", + "name": "save-specification-block : atomic", + "xml": "<block atomic=\"true\">", + "atomic": "true", "comments": "", "outputs": 1, - "x": 1125.5040283203125, - "y": 586.0039100646973, - "z": "7d848bad.6cea14", + "x": 979.0312728881836, + "y": 399.0351710319519, + "z": "466fb936.055828", "wires": [ - [] + ["6bc05eb3.30cd7", "57cf6e7.812929"] ] }, { - "id": "8af933b4.c5208", - "type": "returnSuccess", - "name": "return success", - "xml": "<return status='success'>\n<parameter name=\"ack-final-indicator\" value=\"Y\" />\n<parameter name=\"error-code\" value=\"200\" />\n<parameter name=\"error-message\" value=\"`$error-message`\" />\n", + "id": "6ba5fffc.f4ad7", + "type": "block", + "name": "find-specifications-block : atomic", + "xml": "<block atomic=\"true\">", + "atomic": "true", "comments": "", - "x": 341.00391387939453, - "y": 827.0039396286011, - "z": "7d848bad.6cea14", - "wires": [] + "outputs": 1, + "x": 978.7812538146973, + "y": 602.0351667404175, + "z": "466fb936.055828", + "wires": [ + ["d0de9da2.b12a1"] + ] }, { - "id": "ff5b5810.5ac2a8", - "type": "call", - "name": "call GENERIC-RESOURCE-API:wan-connection-route-calculation", - "xml": "<call module='GENERIC-RESOURCE-API' rpc='wan-connection-route-calculation' mode='sync' >\n", + "id": "d0de9da2.b12a1", + "type": "switchNode", + "name": "switch service-data.networks_length", + "xml": "<switch test='`$service-data.networks.network_length`'>\n", "comments": "", "outputs": 1, - "x": 1105.003921508789, - "y": 701.0039482116699, - "z": "7d848bad.6cea14", + "x": 1334.2816543579102, + "y": 595.0352249145508, + "z": "466fb936.055828", "wires": [ - [] + ["eee3aaf2.4e1838", "caad3ab3.bd09f8"] ] }, { - "id": "f7a1c197.52e9b", - "type": "outcomeTrue", - "name": "false", - "xml": "<outcome value='false'>\n", + "id": "eee3aaf2.4e1838", + "type": "other", + "name": "Null", + "xml": "<outcome value=''>\n", "comments": "", "outputs": 1, - "x": 741.00390625, - "y": 765.00390625, - "z": "7d848bad.6cea14", + "x": 1645.281639099121, + "y": 561.0352354049683, + "z": "466fb936.055828", "wires": [ - ["7ef91d7a.861074"] + ["65406436.592e1c"] ] }, { - "id": "7ef91d7a.861074", + "id": "caad3ab3.bd09f8", + "type": "other", + "name": "other", + "xml": "<outcome value='Other'>\n", + "comments": "", + "outputs": 1, + "x": 1359.2815399169922, + "y": 691.0352286999114, + "z": "466fb936.055828", + "wires": [ + ["cbf10816.ac73a8"] + ] +}, { + "id": "cbf10816.ac73a8", "type": "block", "name": "block", "xml": "<block>\n", "atomic": "false", "comments": "", "outputs": 1, - "x": 909.00390625, - "y": 771.0039482116699, - "z": "7d848bad.6cea14", + "x": 1503.638584136963, + "y": 690.9717406933196, + "z": "466fb936.055828", "wires": [ - [] + ["a9f2a6d9.fdb6e8", "7e85e3b5.a6f3bc"] + ] +}, { + "id": "65406436.592e1c", + "type": "set", + "name": "set nidx and isExist", + "xml": "<set>\n<parameter name='nidx' value='0' />\n<parameter name='isExist' value='false' />", + "comments": "", + "x": 1820.781593322754, + "y": 560.0352621371858, + "z": "466fb936.055828", + "wires": [] +}, { + "id": "7e85e3b5.a6f3bc", + "type": "set", + "name": "set nidx and isExist", + "xml": "<set>\n<parameter name='nidx' value='`$service-data.networks.network_length`' />\n<parameter name='isExist' value='false' />", + "comments": "", + "x": 1664.3372344970703, + "y": 649.5909099578857, + "z": "466fb936.055828", + "wires": [] +}, { + "id": "a9f2a6d9.fdb6e8", + "type": "for", + "name": "for each existing network", + "xml": "<for index='idx' start='0' end='`$nidx`' >\n", + "comments": "", + "outputs": 1, + "x": 1692.7656631469727, + "y": 702.8129920959473, + "z": "466fb936.055828", + "wires": [ + ["18c98a96.bb5695"] + ] +}, { + "id": "cddfa0c7.227f2", + "type": "set", + "name": "set nidx and isExist", + "xml": "<set>\n<parameter name='nidx' value='`$idx`' />\n<parameter name='isExist' value='true' />", + "comments": "", + "x": 1990.0327377319336, + "y": 963.0360021591187, + "z": "466fb936.055828", + "wires": [] +}, { + "id": "6bc05eb3.30cd7", + "type": "set", + "name": "set network in service-data", + "xml": "<set>\n<parameter name='service-data.networks.network[$nidx].network-id' value='`$network-topology-operation-input.network-information.network-id`' />\n<parameter name='service-data.networks.network[$nidx].network-data.sdnc-request-header.' value='`$network-topology-operation-input.sdnc-request-header.`' />\n<parameter name='service-data.networks.network[$nidx].network-data.request-information.' value='`$network-topology-operation-input.request-information.`' />\n<parameter name='service-data.networks.network[$nidx].network-data.service-information.' value='`$network-topology-operation-input.service-information.`' />\n<parameter name='service-data.networks.network[$nidx].network-data.network-information.' value='`$network-topology-operation-input.network-information.`' />\n<parameter name='service-data.networks.network[$nidx].network-data.network-request-input.' value='`$network-topology-operation-input.network-request-input.`' />\n<parameter name='service-data.networks.network_length' value='`$nidx+1`' />\n\n", + "comments": "", + "x": 1287.0312728881836, + "y": 520.0351710319519, + "z": "466fb936.055828", + "wires": [] +}, { + "id": "57cf6e7.812929", + "type": "switchNode", + "name": "switch service-data.networks_length", + "xml": "<switch test='`$service-data.networks.network_length`'>\n", + "comments": "", + "outputs": 1, + "x": 1312.0312576293945, + "y": 334.0351576805115, + "z": "466fb936.055828", + "wires": [ + ["6def6bb2.720534", "62d4e9db.968648"] + ] +}, { + "id": "6def6bb2.720534", + "type": "other", + "name": "Null", + "xml": "<outcome value=''>\n", + "comments": "", + "outputs": 1, + "x": 1261.0313568115234, + "y": 404.03520250320435, + "z": "466fb936.055828", + "wires": [ + ["42684448.095b0c"] + ] +}, { + "id": "42684448.095b0c", + "type": "set", + "name": "set nidx", + "xml": "<set>\n<parameter name='nidx' value='0' />", + "comments": "", + "x": 1394.531265258789, + "y": 403.03520154953003, + "z": "466fb936.055828", + "wires": [] +}, { + "id": "62d4e9db.968648", + "type": "other", + "name": "other", + "xml": "<outcome value='Other'>\n", + "comments": "", + "outputs": 1, + "x": 1258.0311431884766, + "y": 452.03520154953003, + "z": "466fb936.055828", + "wires": [ + ["1c54c402.97ae9c"] + ] +}, { + "id": "1c54c402.97ae9c", + "type": "set", + "name": "set nidx", + "xml": "<set>\n<parameter name='nidx' value='`$service-data.networks.network_length`' />", + "comments": "", + "x": 1395.0870819091797, + "y": 448.59086656570435, + "z": "466fb936.055828", + "wires": [] +}, { + "id": "86478f6e.a1403", + "type": "set", + "name": "set network in service-data", + "xml": "<set>\n<parameter name='network-topology-operation-input.network-request-input.network-input-parameters.param_length' value='`$input_param_length + $param_length`' />\n\n", + "comments": "", + "x": 2011.5335006713867, + "y": 1414.0322880744934, + "z": "466fb936.055828", + "wires": [] +}, { + "id": "c1980d30.dbf2", + "type": "block", + "name": "copy-specifications-block : atomic", + "xml": "<block atomic=\"true\">", + "atomic": "true", + "comments": "", + "outputs": 1, + "x": 1714.2819137573242, + "y": 1057.0315475463867, + "z": "466fb936.055828", + "wires": [ + ["cddfa0c7.227f2", "86478f6e.a1403", "dfb04fab.ed1a7", "b30b3f22.cb27b", "a9852da1.230d4"] + ] +}, { + "id": "dfb04fab.ed1a7", + "type": "switchNode", + "name": "switch service-data.networks_length", + "xml": "<switch test='`$service-data.networks.network[$nidx].network-data.network-request-input.network-input-parameters.param_length`'>\n", + "comments": "", + "outputs": 1, + "x": 2062.031852722168, + "y": 1044.0314559936523, + "z": "466fb936.055828", + "wires": [ + ["d52a368d.901a78", "51e9b139.d035f"] + ] +}, { + "id": "d52a368d.901a78", + "type": "other", + "name": "Null", + "xml": "<outcome value=''>\n", + "comments": "", + "outputs": 1, + "x": 2288.0317039489746, + "y": 1019.0313835144043, + "z": "466fb936.055828", + "wires": [ + ["3b2e0779.e087b8"] + ] +}, { + "id": "3b2e0779.e087b8", + "type": "set", + "name": "set param_length", + "xml": "<set>\n<parameter name='param_length' value='0' />", + "comments": "", + "x": 2474.531539916992, + "y": 1017.0313892657869, + "z": "466fb936.055828", + "wires": [] +}, { + "id": "51e9b139.d035f", + "type": "other", + "name": "other", + "xml": "<outcome value='Other'>\n", + "comments": "", + "outputs": 1, + "x": 2284.031669616699, + "y": 1074.0314292907715, + "z": "466fb936.055828", + "wires": [ + ["739fd4a6.e0fb7c"] + ] +}, { + "id": "739fd4a6.e0fb7c", + "type": "set", + "name": "set param_length", + "xml": "<set>\n<parameter name='param_length' value='`$service-data.networks.network[$nidx].network-data.network-request-input.network-input-parameters.param_length`' />", + "comments": "", + "x": 2472.781608581543, + "y": 1074.0314140319824, + "z": "466fb936.055828", + "wires": [] +}, { + "id": "b30b3f22.cb27b", + "type": "for", + "name": "for each existing params", + "xml": "<for index='pidx' start='0' end='`$param_length`' >\n", + "comments": "", + "outputs": 1, + "x": 2018.7821884155273, + "y": 1298.0316619873047, + "z": "466fb936.055828", + "wires": [ + ["2f59a503.48761a"] + ] +}, { + "id": "113a4fa3.2b489", + "type": "set", + "name": "set input_param_length", + "xml": "<set>\n<parameter name='input_param_length' value='`$network-topology-operation-input.network-request-input.network-input-parameters.param_length`' />", + "comments": "", + "x": 2495.7822265625, + "y": 1203.5315532684326, + "z": "466fb936.055828", + "wires": [] +}, { + "id": "a9852da1.230d4", + "type": "switchNode", + "name": "switch network-input-parameters_length", + "xml": "<switch test='`$network-topology-operation-input.network-request-input.network-input-parameters.param_length`'>\n", + "comments": "", + "outputs": 1, + "x": 2069.78182220459, + "y": 1145.5314140319824, + "z": "466fb936.055828", + "wires": [ + ["5d6fa77d.42d9d8", "45ce065b.ba7088"] + ] +}, { + "id": "45ce065b.ba7088", + "type": "other", + "name": "Null", + "xml": "<outcome value=''>\n", + "comments": "", + "outputs": 1, + "x": 2303.781707763672, + "y": 1140.5314292907715, + "z": "466fb936.055828", + "wires": [ + ["6913f557.72833c"] + ] +}, { + "id": "5d6fa77d.42d9d8", + "type": "other", + "name": "other", + "xml": "<outcome value='Other'>\n", + "comments": "", + "outputs": 1, + "x": 2302.781764984131, + "y": 1206.5313997268677, + "z": "466fb936.055828", + "wires": [ + ["113a4fa3.2b489"] + ] +}, { + "id": "6913f557.72833c", + "type": "set", + "name": "set input_param_length", + "xml": "<set>\n<parameter name='input_param_length' value='0' />", + "comments": "", + "x": 2492.7816772460938, + "y": 1141.5314445495605, + "z": "466fb936.055828", + "wires": [] +}, { + "id": "2f59a503.48761a", + "type": "set", + "name": "set specification_to_input_param", + "xml": "<set>\n<parameter name='network-topology-operation-input.network-request-input.network-input-parameters.param[$pidx+$input_param_length].' value='`$service-data.networks.network[$nidx].network-data.network-request-input.network-input-parameters.param[$pidx].`' />", + "comments": "", + "x": 2330.781837463379, + "y": 1298.0316753387451, + "z": "466fb936.055828", + "wires": [] +}, { + "id": "18c98a96.bb5695", + "type": "execute", + "name": "if contains specification", + "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='contains' emitsOutcome='true' >\n <parameter name=\"source\" value=\"`$service-data.networks.network[$idx].network-data.network-information.onap-model-information.model-name`\" />\n <parameter name=\"target\" value=\"specification\"/>\n \n", + "comments": "", + "outputs": 1, + "x": 1675.531478881836, + "y": 777.0313911437988, + "z": "466fb936.055828", + "wires": [ + ["888a566a.fb8378"] + ] +}, { + "id": "b2839f92.141df", + "type": "execute", + "name": "if contains model-name", + "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='contains' emitsOutcome='true' >\n <parameter name=\"source\" value=\"`$service-data.networks.network[$idx].network-data.network-information.onap-model-information.model-name`\" />\n <parameter name=\"target\" value=\"`$network-topology-operation-input.network-information.onap-model-information.model-name`\"/>\n \n", + "comments": "", + "outputs": 1, + "x": 1669.7812728881836, + "y": 834.0313153266907, + "z": "466fb936.055828", + "wires": [ + ["1aa8258a.890e3a"] + ] +}, { + "id": "888a566a.fb8378", + "type": "outcomeTrue", + "name": "true", + "xml": "<outcome value='true'>\n", + "comments": "", + "outputs": 1, + "x": 1866.7813625335693, + "y": 776.0312671661377, + "z": "466fb936.055828", + "wires": [ + ["b2839f92.141df"] + ] +}, { + "id": "1aa8258a.890e3a", + "type": "outcomeTrue", + "name": "true", + "xml": "<outcome value='true'>\n", + "comments": "", + "outputs": 1, + "x": 1873.0313606262207, + "y": 831.0313777923584, + "z": "466fb936.055828", + "wires": [ + ["c1980d30.dbf2"] + ] +}, { + "id": "1664dd11.e34933", + "type": "execute", + "name": "contains FcPort", + "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='contains' >\n <parameter name=\"source\" value=\"`$network-topology-operation-input.network-information.onap-model-information.model-name`\"/>\n <parameter name=\"target\" value=\"FcPort\"/>\n", + "comments": "", + "outputs": 1, + "x": 507.03125762939453, + "y": 719.03125, + "z": "466fb936.055828", + "wires": [ + ["f55cd673.6b7048", "9a8815be.418328"] + ] +}, { + "id": "f55cd673.6b7048", + "type": "outcomeTrue", + "name": "true", + "xml": "<outcome value='true'>\n", + "comments": "", + "outputs": 1, + "x": 702.0313415527344, + "y": 721.0312824249268, + "z": "466fb936.055828", + "wires": [ + ["6ba5fffc.f4ad7"] + ] +}, { + "id": "7376171f.8378c8", + "type": "outcomeTrue", + "name": "false", + "xml": "<outcome value='false'>\n", + "comments": "", + "outputs": 1, + "x": 298.03126525878906, + "y": 722.0312213897705, + "z": "466fb936.055828", + "wires": [ + ["1664dd11.e34933"] ] }]
\ No newline at end of file diff --git a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_wan-connection-topology-operation-activate.xml b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_wan-connection-topology-operation-activate.xml index fbae8f81..0b1ff5a9 100644 --- a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_wan-connection-topology-operation-activate.xml +++ b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_wan-connection-topology-operation-activate.xml @@ -2,216 +2,702 @@ <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="GENERIC-RESOURCE-API" version="${project.version}"> <method rpc="wan-connection-topology-operation-activate" mode="sync"> - <block atomic="true"> - <execute plugin="org.onap.ccsdk.sli.plugins.prop.PropertiesNode" method="readProperties"> - <parameter name="fileName" value="%SDNC_CONFIG_DIR%/generic-resource-api-dg.properties"/> - <parameter name="contextPrefix" value="prop"/> - </execute> - <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils" method="replace"> - <parameter name="source" value="`$prop.network-provided-resource`"/> - <parameter name="outputPath" value="tmp.services-url"/> - <parameter name="target" value="{service-instance-id}"/> - <parameter name="replacement" value="`$network-topology-operation-input.service-information.service-id`"/> - </execute> - <execute plugin="org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode" method="sendRequest"> - <parameter name="restapiUrl" value="`$prop.controller.url + $tmp.services-url`"/> - <parameter name="restapiUser" value="`$prop.controller.user`"/> - <parameter name="restapiPassword" value="`$prop.controller.pwd`"/> - <parameter name="format" value="json"/> - <parameter name="httpMethod" value="GET"/> - <parameter name="responsePrefix" value="mdsal-psd"/> - <outcome value="success"> - <block></block> - </outcome> - <outcome value="Other"> - <return status="failure"> - <parameter name="ack-final" value="Y"/> - <parameter name="error-code" value="404"/> - <parameter name="error-message" value="Error: Parent service data not available"/> - </return> - </outcome> - </execute> - <set> - <parameter name="tmp.found-network-input" value="false"/> - </set> - <for index="pidx" start="0" end="`$mdsal-psd.service-data.networks.network_length`"> - <switch test="`$mdsal-psd.service-data.networks.network[$pidx].network-data.network-information.onap-model-information.model-name == $network-topology-operation-input.network-information.onap-model-information.model-name`"> - <outcome value="true"> - <block atomic="true"> - <set> - <parameter name="tmp.pidx" value="`$pidx`"/> - <parameter name="tmp.network." value="`$mdsal-psd.service-data.networks.network[$pidx].`"/> - <parameter name="tmp.network-input-parameters" value="`$mdsal-psd.service-data.networks.network[$pidx].network-data.network-request-input.network-input-parameters`"/> - <parameter name="tmp.found-network-input" value="true"/> - </set> - </block> - </outcome> - </switch> - </for> - <switch test="`$found-network-input`"> - <outcome value="false"> - <return status="failure"> - <parameter name="ack-final" value="Y"/> - <parameter name="error-code" value="404"/> - <parameter name="error-message" value="Error: Network input parameters not found"/> - </return> - </outcome> - <outcome value="true"> + <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils" method="contains"> + <parameter name="source" value="`$network-topology-operation-input.network-information.onap-model-information.model-name`"/> + <parameter name="target" value="specification"/> + <outcome value="true"> + <return status="success"> + <parameter name="ack-final-indicator" value="Y"/> + <parameter name="error-code" value="200"/> + <parameter name="error-message" value="`$error-message`"/> + </return> + </outcome> + <outcome value="false"> + <block atomic="true"> <block atomic="true"> + <execute plugin="org.onap.ccsdk.sli.plugins.prop.PropertiesNode" method="readProperties"> + <parameter name="fileName" value="%SDNC_CONFIG_DIR%/generic-resource-api-dg.properties"/> + <parameter name="contextPrefix" value="prop"/> + </execute> <set> - <parameter name="tmp.restapiUrl-found" value="false"/> - <parameter name="tmp.restapiUser-found" value="false"/> - <parameter name="tmp.restapiPassword-found" value="false"/> - <parameter name="tmp.templateFileName-found" value="false"/> - <parameter name="tmp.thirdPartyAdaptorRpc-found" value="false"/> + <parameter name="tmp.found-network-input" value="false"/> </set> - <for index="cidx" start="0" end="`$tmp.network.network-data.network-topology.network-parameters.network-parameter_length`"> - <block> - <switch test="`$tmp.network.network-data.network-topology.network-parameters.network-parameter[$cxid].network-parameter-name == 'restapiUrl'`"> - <outcome value="true"> - <set> - <parameter name="tmp.restapiUrl" value="`$tmp.network.network-data.network-topology.network-parameters.network-parameter[$cxid].network-parameter-value`"/> - <parameter name="tmp.restapiUrl-found" value="true"/> - </set> - </outcome> - </switch> - <switch test="`$tmp.network.network-data.network-topology.network-parameters.network-parameter[$cxid].network-parameter-name == 'restapiUser'`"> - <outcome value="true"> - <set> - <parameter name="tmp.restapiUser" value="`$tmp.network.network-data.network-topology.network-parameters.network-parameter[$cxid].network-parameter-value`"/> - <parameter name="tmp.restapiUser-found" value="true"/> - </set> - </outcome> - </switch> - <switch test="`$tmp.network.network-data.network-topology.network-parameters.network-parameter[$cxid].network-parameter-name == 'restapiPassword'`"> - <outcome value="true"> - <set> - <parameter name="tmp.restapiPassword" value="`$tmp.network.network-data.network-topology.network-parameters.network-parameter[$cxid].network-parameter-value`"/> - <parameter name="tmp.restapiPassword-found" value="true"/> - </set> - </outcome> - </switch> - <switch test="`$tmp.network.network-data.network-topology.network-parameters.network-parameter[$cxid].network-parameter-name == 'templateFileName'`"> - <outcome value="true"> - <set> - <parameter name="tmp.templateFileName" value="`$tmp.network.network-data.network-topology.network-parameters.network-parameter[$cxid].network-parameter-value`"/> - <parameter name="tmp.templateFileName-found" value="true"/> - </set> - </outcome> - </switch> - <switch test="`$tmp.network.network-data.network-topology.network-parameters.network-parameter[$cxid].network-parameter-name == 'thirdPartyAdaptorRpc'`"> - <outcome value="true"> - <set> - <parameter name="tmp.thirdPartyAdaptorRpc" value="`$tmp.network.network-data.network-topology.network-parameters.network-parameter[$cxid].network-parameter-value`"/> - <parameter name="tmp.thirdPartyAdaptorRpc-found" value="true"/> - </set> - </outcome> - </switch> - </block> + <for index="pidx" start="0" end="`$service-data.networks.network_length`"> + <switch test="`$service-data.networks.network[$pidx].network-data.network-information.onap-model-information.model-name == $network-topology-operation-input.network-information.onap-model-information.model-name`"> + <outcome value="true"> + <set> + <parameter name="tmp.pidx" value="`$pidx`"/> + <parameter name="tmp.network." value="`$service-data.networks.network[$pidx].`"/> + <parameter name="tmp.network-input-parameters" value="`$service-data.networks.network[$pidx].network-data.network-request-input.network-input-parameters`"/> + <parameter name="tmp.found-network-input" value="true"/> + </set> + </outcome> + </switch> </for> - <switch test="`$tmp.thirdPartyAdaptorRpc-found == 'true'`"> - <outcome value="true"> - <call module="GENERIC-RESOURCE-API" rpc="`$tmp.thirdPartyAdaptorRpc`" mode="sync"> - <outcome value="success"> - <block></block> - </outcome> - <outcome value="failure"> - <return status="failure"> - <parameter name="ack-final" value="Y"/> - <parameter name="error-code" value="500"/> - <parameter name="error-message" value="`'Error calling ' + $tmp.thirdPartyAdaptorRpc`"/> - </return> - </outcome> - <outcome value="not-found"> - <return status="failure"> - <parameter name="ack-final" value="Y"/> - <parameter name="error-code" value="500"/> - <parameter name="error-message" value="`'Error calling ' + $tmp.thirdPartyAdaptorRpc`"/> - </return> - </outcome> - </call> - </outcome> - <outcome value="false"> - <switch test="`$tmp.restapiUrl-found == 'true'`"> - <outcome value="false"> - <return status="failure"> - <parameter name="ack-final" value="Y"/> - <parameter name="error-code" value="404"/> - <parameter name="error-message" value="Error: 3rd party controller restapiUrl not found"/> + </block> + <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils" method="contains"> + <parameter name="source" value="`$network-topology-operation-input.network-information.onap-model-information.model-name`"/> + <parameter name="target" value="FC"/> + <outcome value="true"> + <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils" method="contains"> + <parameter name="source" value="`$network-topology-operation-input.network-information.onap-model-information.model-name`"/> + <parameter name="target" value="sotn"/> + <outcome value="true"> + <block> + <block atomic="true"> + <set> + <parameter name="sotnFcPortListLength" value="0"/> + </set> + <for index="sIdx" start="0" end="`$service-data.networks.network_length`"> + <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils" method="contains"> + <parameter name="source" value="`$service-data.networks.network[$sIdx].network-data.network-information.onap-model-information.model-name`"/> + <parameter name="target" value="sotn"/> + <outcome value="true"> + <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils" method="contains"> + <parameter name="source" value="`$service-data.networks.network[$sIdx].network-data.network-information.onap-model-information.model-name`"/> + <parameter name="target" value="FcPort"/> + <outcome value="true"> + <block atomic="true"> + <set> + <parameter name="tmp.sotnFcPortList[`$sotnFcPortListLength`]" value="`$sIdx`"/> + </set> + <for index="paramIdx" start="0" end="`$service-data.networks.network[$sIdx].network-data.network-request-input.network-input-parameters.param_length`"> + <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils" method="contains"> + <parameter name="source" value="`$service-data.networks.network[$sIdx].network-data.network-request-input.network-input-parameters.param[$paramIdx].name`"/> + <parameter name="target" value="address"/> + <outcome value="true"> + <block atomic="true"> + <set> + <parameter name="sotnFcPortAddress" value="`$service-data.networks.network[$sIdx].network-data.network-request-input.network-input-parameters.param[$paramIdx].value`"/> + </set> + <execute plugin="org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode" method="sendRequest"> + <parameter name="restapiUrl" value="`$prop.oss.url + '/oss/inventory?location=' + $sotnFcPortAddress`"/> + <parameter name="format" value="json"/> + <parameter name="customHttpHeaders" value="X-FromAppId=MSO"/> + <parameter name="httpMethod" value="GET"/> + <parameter name="responsePrefix" value="temp.oss.accessTPs"/> + <outcome value="success"> + <switch test="`$temp.oss.accessTPs_length`"> + <outcome value="Other"> + <block atomic="true"> + <switch test="`$temp.accessTPs_length`"> + <outcome value=""> + <set> + <parameter name="tp_length" value="0"/> + </set> + </outcome> + <outcome value="Other"> + <set> + <parameter name="tp_length" value="`$temp.accessTPs_length`"/> + </set> + </outcome> + </switch> + <for index="idx" start="0" end="`$temp.oss.accessTPs_length`"> + <set> + <parameter name="`temp.accessTPs[$idx + $tp_length].`" value="`$temp.oss.accessTPs[$idx].`"/> + </set> + </for> + <set> + <parameter name="temp.accessTPs_length" value="`$temp.accessTPs_length + $temp.oss.accessTPs_length`"/> + </set> + </block> + </outcome> + </switch> + </outcome> + </execute> + </block> + </outcome> + </execute> + </for> + </block> + </outcome> + </execute> + </outcome> + </execute> + </for> + </block> + <switch test="`$temp.accessTPs_length >= 2`"> + <outcome value="true"> + <block atomic="true"> + <set> + <parameter name="prop.connection-attachment.access-topology-id" value="`$temp.accessTPs[0].access-topology-id`"/> + <parameter name="prop.connection-attachment.access-client-id" value="`$temp.accessTPs[0].access-client-id`"/> + <parameter name="prop.connection-attachment.access-provider-id" value="`$temp.accessTPs[0].access-provider-id`"/> + <parameter name="prop.connection-attachment.access-node-id" value="`$temp.accessTPs[0].access-node-id`"/> + <parameter name="prop.connection-attachment.access-ltp-id" value="`$temp.accessTPs[0].access-ltp-id`"/> + <parameter name="prop.remote.connection-attachment.access-topology-id" value="`$temp.accessTPs[1].access-topology-id`"/> + <parameter name="prop.remote.connection-attachment.access-client-id" value="`$temp.accessTPs[1].access-client-id`"/> + <parameter name="prop.remote.connection-attachment.access-provider-id" value="`$temp.accessTPs[1].access-provider-id`"/> + <parameter name="prop.remote.connection-attachment.access-node-id" value="`$temp.accessTPs[1].access-node-id`"/> + <parameter name="prop.remote.connection-attachment.access-ltp-id" value="`$temp.accessTPs[1].access-ltp-id`"/> + </set> + <execute plugin="org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode" method="sendRequest"> + <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/' + $prop.restapi.oof-getpath.templatefile`"/> + <parameter name="restapiUrl" value="`$prop.restapi.connection-oof-url`"/> + <parameter name="restapiUser" value="`$prop.oof.user`"/> + <parameter name="restapiPassword" value="`$prop.oof.password`"/> + <parameter name="format" value="json"/> + <parameter name="httpMethod" value="post"/> + <parameter name="responsePrefix" value="oof"/> + <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.openecomp.client.jks"/> + <parameter name="trustStorePassword" value="adminadmin"/> + <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/> + <parameter name="keyStorePassword" value="adminadmin"/> + <parameter name="customHttpHeaders" value="`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`"/> + <outcome value="failure"></outcome> + <outcome value="success"> + <for index="vidx" start="0" end="`$oof.vpns_length`"> + <block atomic="true"> + <set> + <parameter name="oof.vpn." value="`$oof.vpns[$vidx].`"/> + </set> + <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="pnf" key="pnf.pnf-name = $oof.vpn.access-node-id AND depth = '0'" pfx="tmp.aai.pnf" local-only="false"> + <outcome value="success"> + <set> + <parameter name="tmp.thirdparty-sdnc-id" value="`$tmp.aai.pnf.relationship-list.relationship[0].relationship-data[0].relationship-value`"/> + </set> + </outcome> + <outcome value="not-found"> + <return status="failure"> + <parameter name="ack-final" value="Y"/> + <parameter name="error-code" value="500"/> + <parameter name="error-message" value="`'An error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`"/> + </return> + </outcome> + <outcome value="Other"> + <return status="failure"> + <parameter name="ack-final" value="Y"/> + <parameter name="error-code" value="500"/> + <parameter name="error-message" value="`'Unexpected error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`"/> + </return> + </outcome> + </get-resource> + <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="esr-thirdparty-sdnc" key="esr-thirdparty-sdnc.thirdparty-sdnc-id = $tmp.thirdparty-sdnc-id AND depth = '1'" pfx="tmp.aai.esr-thirdparty-sdnc" local-only="false"> + <outcome value="success"> + <set> + <parameter name="prop.sdncRestApi.thirdpartySdnc.url" value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].service-url`"/> + <parameter name="prop.sdncRestApi.thirdpartySdnc.user" value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].user-name`"/> + <parameter name="prop.sdncRestApi.thirdpartySdnc.password" value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].password`"/> + </set> + </outcome> + <outcome value="not-found"> + <return status="failure"> + <parameter name="ack-final" value="Y"/> + <parameter name="error-code" value="500"/> + <parameter name="error-message" value="`'An error occurred while querying esr-thirdparty-sdnc from AnAI with thirdparty-sdnc-id = ' + $tmp.thirdparty-sdnc-id`"/> + </return> + </outcome> + <outcome value="Other"> + <return status="failure"> + <parameter name="ack-final" value="Y"/> + <parameter name="error-code" value="500"/> + <parameter name="error-message" value="`'Unexpected error occurred while querying esr-thirdparty-sdnc from AnAI with thirdparty-sdnc-id = ' + $tmp.thirdparty-sdnc-id`"/> + </return> + </outcome> + </get-resource> + <execute plugin="org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode" method="sendRequest"> + <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/sotn-api-ConnectivityService.json'`"/> + <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/restconf/operations/ZTE-API-ConnectivityService:create-connectivity-service'`"/> + <parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`"/> + <parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`"/> + <parameter name="format" value="json"/> + <parameter name="httpMethod" value="patch"/> + <parameter name="responsePrefix" value="vpn-result"/> + <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.openecomp.client.jks"/> + <parameter name="trustStorePassword" value="adminadmin"/> + <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/> + <parameter name="keyStorePassword" value="adminadmin"/> + <parameter name="customHttpHeaders" value="`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`"/> + <outcome value="failure"> + <return status="failure"> + <parameter name="ack-final" value="Y"/> + <parameter name="error-code" value="500"/> + <parameter name="error-message" value="Error executing Create vpn rest api"/> + </return> + </outcome> + <outcome value="success"> + <block atomic="true"/> + </outcome> + </execute> + </block> + </for> + </outcome> + </execute> + </block> + </outcome> + </switch> + </block> + </outcome> + <outcome value="false"> + <block atomic="true"> + <switch test="`$found-network-input`"> + <outcome value="false"> + <return status="failure"> + <parameter name="ack-final" value="Y"/> + <parameter name="error-code" value="404"/> + <parameter name="error-message" value="Error: Network input parameters not found"/> + </return> + </outcome> + <outcome value="true"> + <block atomic="true"> + <set> + <parameter name="tmp.restapiUrl-found" value="false"/> + <parameter name="tmp.restapiUser-found" value="false"/> + <parameter name="tmp.restapiPassword-found" value="false"/> + <parameter name="tmp.templateFileName-found" value="false"/> + <parameter name="tmp.thirdPartyAdaptorRpc-found" value="false"/> + </set> + <for index="cidx" start="0" end="`$tmp.network.network-data.network-topology.network-parameters.network-parameter_length`"> + <block> + <switch test="`$tmp.network.network-data.network-topology.network-parameters.network-parameter[$cxid].network-parameter-name == 'thirdPartySdncId'`"> + <outcome value="true"> + <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="esr-thirdparty-sdnc" key="esr-thirdparty-sdnc.thirdparty-sdnc-id = `$tmp.network.network-data.network-topology.network-parameters.network-parameter[$cxid].network-parameter-value` AND depth = '1'" pfx="tmp.aai.esr-thirdparty-sdnc" local-only="false"> + <outcome value="success"> + <set> + <parameter name="prop.thirdpartySdnc-found" value="true"/> + <parameter name="prop.sdncRestApi.thirdpartySdnc.url" value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].service-url`"/> + <parameter name="prop.sdncRestApi.thirdpartySdnc.user" value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].user-name`"/> + <parameter name="prop.sdncRestApi.thirdpartySdnc.password" value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].password`"/> + </set> + </outcome> + <outcome value="not-found"> + <set> + <parameter name="prop.thirdpartySdnc-found" value="false"/> + </set> + </outcome> + <outcome value="Other"> + <set> + <parameter name="prop.thirdpartySdnc-found" value="false"/> + </set> + </outcome> + </get-resource> + </outcome> + </switch> + <switch test="`$tmp.network.network-data.network-topology.network-parameters.network-parameter[$cxid].network-parameter-name == 'templateFileName'`"> + <outcome value="true"> + <set> + <parameter name="tmp.templateFileName" value="`$tmp.network.network-data.network-topology.network-parameters.network-parameter[$cxid].network-parameter-value`"/> + <parameter name="tmp.templateFileName-found" value="true"/> + </set> + </outcome> + </switch> + <switch test="`$tmp.network.network-data.network-topology.network-parameters.network-parameter[$cxid].network-parameter-name == 'restapiUrl'`"> + <outcome value="true"> + <set> + <parameter name="tmp.restapiUrl" value="`$tmp.network.network-data.network-topology.network-parameters.network-parameter[$cxid].network-parameter-value`"/> + <parameter name="tmp.restapiUrl-found" value="true"/> + </set> + </outcome> + </switch> + <switch test="`$tmp.network.network-data.network-topology.network-parameters.network-parameter[$cxid].network-parameter-name == 'thirdPartyAdaptorRpc'`"> + <outcome value="true"> + <set> + <parameter name="tmp.thirdPartyAdaptorRpc" value="`$tmp.network.network-data.network-topology.network-parameters.network-parameter[$cxid].network-parameter-value`"/> + <parameter name="tmp.thirdPartyAdaptorRpc-found" value="true"/> + </set> + </outcome> + </switch> + </block> + </for> + <switch test="`$tmp.thirdPartyAdaptorRpc-found == 'true'`"> + <outcome value="true"> + <call module="GENERIC-RESOURCE-API" rpc="`$tmp.thirdPartyAdaptorRpc`" mode="sync"> + <outcome value="success"> + <block></block> + </outcome> + <outcome value="failure"> + <return status="failure"> + <parameter name="ack-final" value="Y"/> + <parameter name="error-code" value="500"/> + <parameter name="error-message" value="`'Error calling ' + $tmp.thirdPartyAdaptorRpc`"/> + </return> + </outcome> + <outcome value="not-found"> + <return status="failure"> + <parameter name="ack-final" value="Y"/> + <parameter name="error-code" value="500"/> + <parameter name="error-message" value="`'Error calling ' + $tmp.thirdPartyAdaptorRpc`"/> + </return> + </outcome> + </call> + </outcome> + <outcome value="false"> + <switch test="`$tmp.prop.thirdpartySdnc-found == 'true' and $tmp.templateFileName-found == 'true' and `$tmp.prop.restapiUrl-found == 'true'`"> + <outcome value="false"> + <return status="failure"> + <parameter name="ack-final" value="Y"/> + <parameter name="error-code" value="404"/> + <parameter name="error-message" value="Error: 3rd party controller restapiUrl not found"/> + </return> + </outcome> + <outcome value="true"> + <execute plugin="org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode" method="sendRequest"> + <parameter name="templateFileName" value="`$tmp.templateFileName`"/> + <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + $tmp.restapiUrl`"/> + <parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`"/> + <parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`"/> + <parameter name="format" value="json"/> + <parameter name="httpMethod" value="post"/> + <parameter name="responsePrefix" value="restApi-result"/> + <outcome value="success"> + <block></block> + </outcome> + <outcome value="failure"> + <return status="failure"> + <parameter name="ack-final" value="Y"/> + <parameter name="error-code" value="500"/> + <parameter name="error-message" value="`'Error calling ' + $tmp.restapiUrl`"/> + </return> + </outcome> + <outcome value="not-found"> + <return status="failure"> + <parameter name="ack-final" value="Y"/> + <parameter name="error-code" value="500"/> + <parameter name="error-message" value="`'Error calling ' + $tmp.restapiUrl`"/> + </return> + </outcome> + </execute> + </outcome> + </switch> + </outcome> + </switch> + </block> + </outcome> + </switch> + <return status="success"> + <parameter name="ack-final-indicator" value="Y"/> + <parameter name="error-code" value="200"/> + <parameter name="error-message" value="`$error-message`"/> </return> - </outcome> - <outcome value="true"> - <switch test="`$tmp.restapiUser-found == 'true'`"> + </block> + </outcome> + </execute> + </outcome> + <outcome value="false"> + <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils" method="contains"> + <parameter name="source" value="`$network-topology-operation-input.network-information.onap-model-information.model-name`"/> + <parameter name="target" value="FD"/> + <outcome value="true"> + <block atomic="true"> + <switch test="`$found-network-input`"> <outcome value="false"> <return status="failure"> <parameter name="ack-final" value="Y"/> <parameter name="error-code" value="404"/> - <parameter name="error-message" value="Error: 3rd party controller restapiUser not found"/> + <parameter name="error-message" value="Error: Network input parameters not found"/> </return> </outcome> <outcome value="true"> - <switch test="`$tmp.restapiPassword-found == 'true'`"> - <outcome value="false"> - <return status="failure"> - <parameter name="ack-final" value="Y"/> - <parameter name="error-code" value="404"/> - <parameter name="error-message" value="Error: 3rd party controller restapiPassword not found"/> - </return> - </outcome> - <outcome value="true"> - <switch test="`$tmp.templateFileName-found == 'true'`"> + <block atomic="true"> + <set> + <parameter name="tmp.restapiUrl-found" value="false"/> + <parameter name="tmp.restapiUser-found" value="false"/> + <parameter name="tmp.restapiPassword-found" value="false"/> + <parameter name="tmp.templateFileName-found" value="false"/> + <parameter name="tmp.thirdPartyAdaptorRpc-found" value="false"/> + </set> + <for index="cidx" start="0" end="`$tmp.network.network-data.network-topology.network-parameters.network-parameter_length`"> + <block> + <switch test="`$tmp.network.network-data.network-topology.network-parameters.network-parameter[$cxid].network-parameter-name == 'thirdPartySdncId'`"> + <outcome value="true"> + <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="esr-thirdparty-sdnc" key="esr-thirdparty-sdnc.thirdparty-sdnc-id = `$tmp.network.network-data.network-topology.network-parameters.network-parameter[$cxid].network-parameter-value` AND depth = '1'" pfx="tmp.aai.esr-thirdparty-sdnc" local-only="false"> + <outcome value="success"> + <set> + <parameter name="prop.thirdpartySdnc-found" value="true"/> + <parameter name="prop.sdncRestApi.thirdpartySdnc.url" value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].service-url`"/> + <parameter name="prop.sdncRestApi.thirdpartySdnc.user" value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].user-name`"/> + <parameter name="prop.sdncRestApi.thirdpartySdnc.password" value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].password`"/> + </set> + </outcome> + <outcome value="not-found"> + <set> + <parameter name="prop.thirdpartySdnc-found" value="false"/> + </set> + </outcome> + <outcome value="Other"> + <set> + <parameter name="prop.thirdpartySdnc-found" value="false"/> + </set> + </outcome> + </get-resource> + </outcome> + </switch> + <switch test="`$tmp.network.network-data.network-topology.network-parameters.network-parameter[$cxid].network-parameter-name == 'templateFileName'`"> + <outcome value="true"> + <set> + <parameter name="tmp.templateFileName" value="`$tmp.network.network-data.network-topology.network-parameters.network-parameter[$cxid].network-parameter-value`"/> + <parameter name="tmp.templateFileName-found" value="true"/> + </set> + </outcome> + </switch> + <switch test="`$tmp.network.network-data.network-topology.network-parameters.network-parameter[$cxid].network-parameter-name == 'restapiUrl'`"> + <outcome value="true"> + <set> + <parameter name="tmp.restapiUrl" value="`$tmp.network.network-data.network-topology.network-parameters.network-parameter[$cxid].network-parameter-value`"/> + <parameter name="tmp.restapiUrl-found" value="true"/> + </set> + </outcome> + </switch> + <switch test="`$tmp.network.network-data.network-topology.network-parameters.network-parameter[$cxid].network-parameter-name == 'thirdPartyAdaptorRpc'`"> + <outcome value="true"> + <set> + <parameter name="tmp.thirdPartyAdaptorRpc" value="`$tmp.network.network-data.network-topology.network-parameters.network-parameter[$cxid].network-parameter-value`"/> + <parameter name="tmp.thirdPartyAdaptorRpc-found" value="true"/> + </set> + </outcome> + </switch> + </block> + </for> + <switch test="`$tmp.thirdPartyAdaptorRpc-found == 'true'`"> + <outcome value="true"> + <call module="GENERIC-RESOURCE-API" rpc="`$tmp.thirdPartyAdaptorRpc`" mode="sync"> + <outcome value="success"> + <block></block> + </outcome> + <outcome value="failure"> + <return status="failure"> + <parameter name="ack-final" value="Y"/> + <parameter name="error-code" value="500"/> + <parameter name="error-message" value="`'Error calling ' + $tmp.thirdPartyAdaptorRpc`"/> + </return> + </outcome> + <outcome value="not-found"> + <return status="failure"> + <parameter name="ack-final" value="Y"/> + <parameter name="error-code" value="500"/> + <parameter name="error-message" value="`'Error calling ' + $tmp.thirdPartyAdaptorRpc`"/> + </return> + </outcome> + </call> + </outcome> + <outcome value="false"> + <switch test="`$tmp.prop.thirdpartySdnc-found == 'true' and $tmp.templateFileName-found == 'true' and `$tmp.prop.restapiUrl-found == 'true'`"> + <outcome value="false"> + <return status="failure"> + <parameter name="ack-final" value="Y"/> + <parameter name="error-code" value="404"/> + <parameter name="error-message" value="Error: 3rd party controller restapiUrl not found"/> + </return> + </outcome> + <outcome value="true"> + <execute plugin="org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode" method="sendRequest"> + <parameter name="templateFileName" value="`$tmp.templateFileName`"/> + <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + $tmp.restapiUrl`"/> + <parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`"/> + <parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`"/> + <parameter name="format" value="json"/> + <parameter name="httpMethod" value="post"/> + <parameter name="responsePrefix" value="restApi-result"/> + <outcome value="success"> + <block></block> + </outcome> + <outcome value="failure"> + <return status="failure"> + <parameter name="ack-final" value="Y"/> + <parameter name="error-code" value="500"/> + <parameter name="error-message" value="`'Error calling ' + $tmp.restapiUrl`"/> + </return> + </outcome> + <outcome value="not-found"> + <return status="failure"> + <parameter name="ack-final" value="Y"/> + <parameter name="error-code" value="500"/> + <parameter name="error-message" value="`'Error calling ' + $tmp.restapiUrl`"/> + </return> + </outcome> + </execute> + </outcome> + </switch> + </outcome> + </switch> + </block> + </outcome> + </switch> + <return status="success"> + <parameter name="ack-final-indicator" value="Y"/> + <parameter name="error-code" value="200"/> + <parameter name="error-message" value="`$error-message`"/> + </return> + </block> + </outcome> + <outcome value="false"> + <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils" method="contains"> + <parameter name="source" value="`$network-topology-operation-input.network-information.onap-model-information.model-name`"/> + <parameter name="target" value="FcPort"/> + <outcome value="true"> + <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils" method="contains"> + <parameter name="source" value="`$network-topology-operation-input.network-information.onap-model-information.model-name`"/> + <parameter name="target" value="sitewan"/> + <outcome value="true"> + <block atomic="true"> + <switch test="`$found-network-input`"> <outcome value="false"> <return status="failure"> <parameter name="ack-final" value="Y"/> <parameter name="error-code" value="404"/> - <parameter name="error-message" value="Error: 3rd party controller templateFileName not found"/> + <parameter name="error-message" value="Error: Network input parameters not found"/> </return> </outcome> <outcome value="true"> - <execute plugin="org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode" method="sendRequest"> - <parameter name="templateFileName" value="`$tmp.templateFileName`"/> - <parameter name="restapiUrl" value="`$tmp.restapiUrl`"/> - <parameter name="restapiUser" value="`$tmp.restapiUser`"/> - <parameter name="restapiPassword" value="`$tmp.restapiPassword`"/> - <parameter name="format" value="json"/> - <parameter name="httpMethod" value="post"/> - <parameter name="responsePrefix" value="restApi-result"/> - <outcome value="success"> - <block></block> - </outcome> - <outcome value="failure"> - <return status="failure"> - <parameter name="ack-final" value="Y"/> - <parameter name="error-code" value="500"/> - <parameter name="error-message" value="`'Error calling ' + $tmp.restapiUrl`"/> - </return> - </outcome> - <outcome value="not-found"> - <return status="failure"> - <parameter name="ack-final" value="Y"/> - <parameter name="error-code" value="500"/> - <parameter name="error-message" value="`'Error calling ' + $tmp.restapiUrl`"/> - </return> - </outcome> - </execute> + <block atomic="true"> + <set> + <parameter name="tmp.restapiUrl-found" value="false"/> + <parameter name="tmp.restapiUser-found" value="false"/> + <parameter name="tmp.restapiPassword-found" value="false"/> + <parameter name="tmp.templateFileName-found" value="false"/> + <parameter name="tmp.thirdPartyAdaptorRpc-found" value="false"/> + </set> + <for index="cidx" start="0" end="`$tmp.network.network-data.network-topology.network-parameters.network-parameter_length`"> + <block> + <switch test="`$tmp.network.network-data.network-topology.network-parameters.network-parameter[$cxid].network-parameter-name == 'thirdPartySdncId'`"> + <outcome value="true"> + <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="esr-thirdparty-sdnc" key="esr-thirdparty-sdnc.thirdparty-sdnc-id = `$tmp.network.network-data.network-topology.network-parameters.network-parameter[$cxid].network-parameter-value` AND depth = '1'" pfx="tmp.aai.esr-thirdparty-sdnc" local-only="false"> + <outcome value="success"> + <set> + <parameter name="prop.thirdpartySdnc-found" value="true"/> + <parameter name="prop.sdncRestApi.thirdpartySdnc.url" value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].service-url`"/> + <parameter name="prop.sdncRestApi.thirdpartySdnc.user" value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].user-name`"/> + <parameter name="prop.sdncRestApi.thirdpartySdnc.password" value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].password`"/> + </set> + </outcome> + <outcome value="not-found"> + <set> + <parameter name="prop.thirdpartySdnc-found" value="false"/> + </set> + </outcome> + <outcome value="Other"> + <set> + <parameter name="prop.thirdpartySdnc-found" value="false"/> + </set> + </outcome> + </get-resource> + </outcome> + </switch> + <switch test="`$tmp.network.network-data.network-topology.network-parameters.network-parameter[$cxid].network-parameter-name == 'templateFileName'`"> + <outcome value="true"> + <set> + <parameter name="tmp.templateFileName" value="`$tmp.network.network-data.network-topology.network-parameters.network-parameter[$cxid].network-parameter-value`"/> + <parameter name="tmp.templateFileName-found" value="true"/> + </set> + </outcome> + </switch> + <switch test="`$tmp.network.network-data.network-topology.network-parameters.network-parameter[$cxid].network-parameter-name == 'restapiUrl'`"> + <outcome value="true"> + <set> + <parameter name="tmp.restapiUrl" value="`$tmp.network.network-data.network-topology.network-parameters.network-parameter[$cxid].network-parameter-value`"/> + <parameter name="tmp.restapiUrl-found" value="true"/> + </set> + </outcome> + </switch> + <switch test="`$tmp.network.network-data.network-topology.network-parameters.network-parameter[$cxid].network-parameter-name == 'thirdPartyAdaptorRpc'`"> + <outcome value="true"> + <set> + <parameter name="tmp.thirdPartyAdaptorRpc" value="`$tmp.network.network-data.network-topology.network-parameters.network-parameter[$cxid].network-parameter-value`"/> + <parameter name="tmp.thirdPartyAdaptorRpc-found" value="true"/> + </set> + </outcome> + </switch> + </block> + </for> + <switch test="`$tmp.thirdPartyAdaptorRpc-found == 'true'`"> + <outcome value="true"> + <call module="GENERIC-RESOURCE-API" rpc="`$tmp.thirdPartyAdaptorRpc`" mode="sync"> + <outcome value="success"> + <block></block> + </outcome> + <outcome value="failure"> + <return status="failure"> + <parameter name="ack-final" value="Y"/> + <parameter name="error-code" value="500"/> + <parameter name="error-message" value="`'Error calling ' + $tmp.thirdPartyAdaptorRpc`"/> + </return> + </outcome> + <outcome value="not-found"> + <return status="failure"> + <parameter name="ack-final" value="Y"/> + <parameter name="error-code" value="500"/> + <parameter name="error-message" value="`'Error calling ' + $tmp.thirdPartyAdaptorRpc`"/> + </return> + </outcome> + </call> + </outcome> + <outcome value="false"> + <switch test="`$tmp.prop.thirdpartySdnc-found == 'true' and $tmp.templateFileName-found == 'true' and `$tmp.prop.restapiUrl-found == 'true'`"> + <outcome value="false"> + <return status="failure"> + <parameter name="ack-final" value="Y"/> + <parameter name="error-code" value="404"/> + <parameter name="error-message" value="Error: 3rd party controller restapiUrl not found"/> + </return> + </outcome> + <outcome value="true"> + <execute plugin="org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode" method="sendRequest"> + <parameter name="templateFileName" value="`$tmp.templateFileName`"/> + <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + $tmp.restapiUrl`"/> + <parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`"/> + <parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`"/> + <parameter name="format" value="json"/> + <parameter name="httpMethod" value="post"/> + <parameter name="responsePrefix" value="restApi-result"/> + <outcome value="success"> + <block></block> + </outcome> + <outcome value="failure"> + <return status="failure"> + <parameter name="ack-final" value="Y"/> + <parameter name="error-code" value="500"/> + <parameter name="error-message" value="`'Error calling ' + $tmp.restapiUrl`"/> + </return> + </outcome> + <outcome value="not-found"> + <return status="failure"> + <parameter name="ack-final" value="Y"/> + <parameter name="error-code" value="500"/> + <parameter name="error-message" value="`'Error calling ' + $tmp.restapiUrl`"/> + </return> + </outcome> + </execute> + </outcome> + </switch> + </outcome> + </switch> + </block> </outcome> </switch> - </outcome> - </switch> - </outcome> - </switch> - </outcome> - </switch> - </outcome> - </switch> - </block> - </outcome> - </switch> - <return status="success"> - <parameter name="ack-final-indicator" value="Y"/> - <parameter name="error-code" value="200"/> - <parameter name="error-message" value="`$error-message`"/> - </return> - </block> + <return status="success"> + <parameter name="ack-final-indicator" value="Y"/> + <parameter name="error-code" value="200"/> + <parameter name="error-message" value="`$error-message`"/> + </return> + </block> + </outcome> + <outcome value="false"> + <block> + <return status="success"> + <parameter name="ack-final-indicator" value="Y"/> + <parameter name="error-code" value="200"/> + <parameter name="error-message" value="`$error-message`"/> + </return> + </block> + </outcome> + </execute> + </outcome> + <outcome value="false"> + <block> + <return status="success"> + <parameter name="ack-final-indicator" value="Y"/> + <parameter name="error-code" value="200"/> + <parameter name="error-message" value="`$error-message`"/> + </return> + </block> + </outcome> + </execute> + </outcome> + </execute> + </outcome> + </execute> + </block> + </outcome> + </execute> </method> </service-logic> diff --git a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_wan-connection-topology-operation-create.xml b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_wan-connection-topology-operation-create.xml index 61453eaf..d3b24d43 100644 --- a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_wan-connection-topology-operation-create.xml +++ b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_wan-connection-topology-operation-create.xml @@ -25,28 +25,257 @@ <parameter name="source" value="`$network-topology-operation-input.network-information.onap-model-information.model-name`"/> <parameter name="target" value="specification"/> <outcome value="true"> - <call module="GENERIC-RESOURCE-API" rpc="wan-connection-save-specification" mode="sync"></call> + <block atomic="true"> + <switch test="`$service-data.networks.network_length`"> + <outcome value=""> + <set> + <parameter name="nidx" value="0"/> + </set> + </outcome> + <outcome value="Other"> + <set> + <parameter name="nidx" value="`$service-data.networks.network_length`"/> + </set> + </outcome> + </switch> + <set> + <parameter name="service-data.networks.network[$nidx].network-id" value="`$network-topology-operation-input.network-information.network-id`"/> + <parameter name="service-data.networks.network[$nidx].network-data.sdnc-request-header." value="`$network-topology-operation-input.sdnc-request-header.`"/> + <parameter name="service-data.networks.network[$nidx].network-data.request-information." value="`$network-topology-operation-input.request-information.`"/> + <parameter name="service-data.networks.network[$nidx].network-data.service-information." value="`$network-topology-operation-input.service-information.`"/> + <parameter name="service-data.networks.network[$nidx].network-data.network-information." value="`$network-topology-operation-input.network-information.`"/> + <parameter name="service-data.networks.network[$nidx].network-data.network-request-input." value="`$network-topology-operation-input.network-request-input.`"/> + <parameter name="service-data.networks.network_length" value="`$nidx+1`"/> + </set> + </block> </outcome> <outcome value="false"> <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils" method="contains"> <parameter name="source" value="`$network-topology-operation-input.network-information.onap-model-information.model-name`"/> <parameter name="target" value="FC"/> <outcome value="true"> - <call module="GENERIC-RESOURCE-API" rpc="wan-connection-find-specifications" mode="sync"></call> + <block atomic="true"> + <switch test="`$service-data.networks.network_length`"> + <outcome value=""> + <set> + <parameter name="nidx" value="0"/> + <parameter name="isExist" value="false"/> + </set> + </outcome> + <outcome value="Other"> + <block> + <set> + <parameter name="nidx" value="`$service-data.networks.network_length`"/> + <parameter name="isExist" value="false"/> + </set> + <for index="idx" start="0" end="`$nidx`"> + <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils" method="contains" emitsOutcome="true"> + <parameter name="source" value="`$service-data.networks.network[$idx].network-data.network-information.onap-model-information.model-name`"/> + <parameter name="target" value="specification"/> + <outcome value="true"> + <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils" method="contains" emitsOutcome="true"> + <parameter name="source" value="`$service-data.networks.network[$idx].network-data.network-information.onap-model-information.model-name`"/> + <parameter name="target" value="`$network-topology-operation-input.network-information.onap-model-information.model-name`"/> + <outcome value="true"> + <block atomic="true"> + <set> + <parameter name="nidx" value="`$idx`"/> + <parameter name="isExist" value="true"/> + </set> + <switch test="`$service-data.networks.network[$nidx].network-data.network-request-input.network-input-parameters.param_length`"> + <outcome value=""> + <set> + <parameter name="param_length" value="0"/> + </set> + </outcome> + <outcome value="Other"> + <set> + <parameter name="param_length" value="`$service-data.networks.network[$nidx].network-data.network-request-input.network-input-parameters.param_length`"/> + </set> + </outcome> + </switch> + <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param_length`"> + <outcome value=""> + <set> + <parameter name="input_param_length" value="0"/> + </set> + </outcome> + <outcome value="Other"> + <set> + <parameter name="input_param_length" value="`$network-topology-operation-input.network-request-input.network-input-parameters.param_length`"/> + </set> + </outcome> + </switch> + <for index="pidx" start="0" end="`$param_length`"> + <set> + <parameter name="network-topology-operation-input.network-request-input.network-input-parameters.param[$pidx+$input_param_length]." value="`$service-data.networks.network[$nidx].network-data.network-request-input.network-input-parameters.param[$pidx].`"/> + </set> + </for> + <set> + <parameter name="network-topology-operation-input.network-request-input.network-input-parameters.param_length" value="`$input_param_length + $param_length`"/> + </set> + </block> + </outcome> + </execute> + </outcome> + </execute> + </for> + </block> + </outcome> + </switch> + </block> </outcome> <outcome value="false"> <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils" method="contains"> <parameter name="source" value="`$network-topology-operation-input.network-information.onap-model-information.model-name`"/> <parameter name="target" value="FD"/> <outcome value="true"> - <call module="GENERIC-RESOURCE-API" rpc="wan-connection-find-specifications" mode="sync"></call> + <block atomic="true"> + <switch test="`$service-data.networks.network_length`"> + <outcome value=""> + <set> + <parameter name="nidx" value="0"/> + <parameter name="isExist" value="false"/> + </set> + </outcome> + <outcome value="Other"> + <block> + <set> + <parameter name="nidx" value="`$service-data.networks.network_length`"/> + <parameter name="isExist" value="false"/> + </set> + <for index="idx" start="0" end="`$nidx`"> + <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils" method="contains" emitsOutcome="true"> + <parameter name="source" value="`$service-data.networks.network[$idx].network-data.network-information.onap-model-information.model-name`"/> + <parameter name="target" value="specification"/> + <outcome value="true"> + <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils" method="contains" emitsOutcome="true"> + <parameter name="source" value="`$service-data.networks.network[$idx].network-data.network-information.onap-model-information.model-name`"/> + <parameter name="target" value="`$network-topology-operation-input.network-information.onap-model-information.model-name`"/> + <outcome value="true"> + <block atomic="true"> + <set> + <parameter name="nidx" value="`$idx`"/> + <parameter name="isExist" value="true"/> + </set> + <switch test="`$service-data.networks.network[$nidx].network-data.network-request-input.network-input-parameters.param_length`"> + <outcome value=""> + <set> + <parameter name="param_length" value="0"/> + </set> + </outcome> + <outcome value="Other"> + <set> + <parameter name="param_length" value="`$service-data.networks.network[$nidx].network-data.network-request-input.network-input-parameters.param_length`"/> + </set> + </outcome> + </switch> + <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param_length`"> + <outcome value=""> + <set> + <parameter name="input_param_length" value="0"/> + </set> + </outcome> + <outcome value="Other"> + <set> + <parameter name="input_param_length" value="`$network-topology-operation-input.network-request-input.network-input-parameters.param_length`"/> + </set> + </outcome> + </switch> + <for index="pidx" start="0" end="`$param_length`"> + <set> + <parameter name="network-topology-operation-input.network-request-input.network-input-parameters.param[$pidx+$input_param_length]." value="`$service-data.networks.network[$nidx].network-data.network-request-input.network-input-parameters.param[$pidx].`"/> + </set> + </for> + <set> + <parameter name="network-topology-operation-input.network-request-input.network-input-parameters.param_length" value="`$input_param_length + $param_length`"/> + </set> + </block> + </outcome> + </execute> + </outcome> + </execute> + </for> + </block> + </outcome> + </switch> + </block> </outcome> <outcome value="false"> <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils" method="contains"> <parameter name="source" value="`$network-topology-operation-input.network-information.onap-model-information.model-name`"/> - <parameter name="target" value="Link"/> + <parameter name="target" value="FcPort"/> <outcome value="true"> - <call module="GENERIC-RESOURCE-API" rpc="wan-connection-route-calculation" mode="sync"></call> + <block atomic="true"> + <switch test="`$service-data.networks.network_length`"> + <outcome value=""> + <set> + <parameter name="nidx" value="0"/> + <parameter name="isExist" value="false"/> + </set> + </outcome> + <outcome value="Other"> + <block> + <set> + <parameter name="nidx" value="`$service-data.networks.network_length`"/> + <parameter name="isExist" value="false"/> + </set> + <for index="idx" start="0" end="`$nidx`"> + <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils" method="contains" emitsOutcome="true"> + <parameter name="source" value="`$service-data.networks.network[$idx].network-data.network-information.onap-model-information.model-name`"/> + <parameter name="target" value="specification"/> + <outcome value="true"> + <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils" method="contains" emitsOutcome="true"> + <parameter name="source" value="`$service-data.networks.network[$idx].network-data.network-information.onap-model-information.model-name`"/> + <parameter name="target" value="`$network-topology-operation-input.network-information.onap-model-information.model-name`"/> + <outcome value="true"> + <block atomic="true"> + <set> + <parameter name="nidx" value="`$idx`"/> + <parameter name="isExist" value="true"/> + </set> + <switch test="`$service-data.networks.network[$nidx].network-data.network-request-input.network-input-parameters.param_length`"> + <outcome value=""> + <set> + <parameter name="param_length" value="0"/> + </set> + </outcome> + <outcome value="Other"> + <set> + <parameter name="param_length" value="`$service-data.networks.network[$nidx].network-data.network-request-input.network-input-parameters.param_length`"/> + </set> + </outcome> + </switch> + <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param_length`"> + <outcome value=""> + <set> + <parameter name="input_param_length" value="0"/> + </set> + </outcome> + <outcome value="Other"> + <set> + <parameter name="input_param_length" value="`$network-topology-operation-input.network-request-input.network-input-parameters.param_length`"/> + </set> + </outcome> + </switch> + <for index="pidx" start="0" end="`$param_length`"> + <set> + <parameter name="network-topology-operation-input.network-request-input.network-input-parameters.param[$pidx+$input_param_length]." value="`$service-data.networks.network[$nidx].network-data.network-request-input.network-input-parameters.param[$pidx].`"/> + </set> + </for> + <set> + <parameter name="network-topology-operation-input.network-request-input.network-input-parameters.param_length" value="`$input_param_length + $param_length`"/> + </set> + </block> + </outcome> + </execute> + </outcome> + </execute> + </for> + </block> + </outcome> + </switch> + </block> </outcome> <outcome value="false"> <block></block> |