Support Wan Connection 55/67155/3
authorZhuoyao Huang <10112215@zte.com.cn>
Tue, 18 Sep 2018 00:58:06 +0000 (08:58 +0800)
committerZhuoyao Huang <10112215@zte.com.cn>
Tue, 18 Sep 2018 06:52:30 +0000 (14:52 +0800)
(https://wiki.onap.org/display/DW/CCVPN+Integration+Test+Case)

Issue-ID: SDNC-354

Change-Id: Ied7189a0f229442517761ec7f785655115af6722
Signed-off-by: Zhuoyao Huang <10112215@zte.com.cn>
Former-commit-id: 0b8a0b4581dba2d55608c67ee95ebda356e1cf33

platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_wan-connection-topology-operation-activate.json [new file with mode: 0644]
platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_wan-connection-topology-operation-create.json [new file with mode: 0644]
platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_wan-connection-topology-operation-deactivate.json [new file with mode: 0644]
platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_wan-connection-topology-operation-delete.json [new file with mode: 0644]
platform-logic/generic-resource-api/src/main/resources/graph.versions
platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_wan-connection-topology-operation-activate.xml [new file with mode: 0644]
platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_wan-connection-topology-operation-create.xml [new file with mode: 0644]
platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_wan-connection-topology-operation-deactivate.xml [new file with mode: 0644]
platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_wan-connection-topology-operation-delete.xml [new file with mode: 0644]

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
new file mode 100644 (file)
index 0000000..5fd9bb3
--- /dev/null
@@ -0,0 +1,890 @@
+[{
+       "id": "17edfd48.067fb3",
+       "type": "dgstart",
+       "name": "DGSTART",
+       "outputs": 1,
+       "x": 100.01040649414062,
+       "y": 68.01041412353516,
+       "z": "e09ddcb4.62be2",
+       "wires": [
+               ["e615e2a2.ccf4f"]
+       ]
+}, {
+       "id": "e615e2a2.ccf4f",
+       "type": "service-logic",
+       "name": "GENERIC-RESOURCE-API ${project.version}",
+       "module": "GENERIC-RESOURCE-API",
+       "version": "${project.version}",
+       "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",
+       "wires": [
+               ["759cd8cf.a97478"]
+       ]
+}, {
+       "id": "759cd8cf.a97478",
+       "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",
+       "wires": [
+               ["6de8279c.d96f18"]
+       ]
+}, {
+       "id": "edd7fd49.09b45",
+       "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",
+       "wires": [
+               []
+       ]
+}, {
+       "id": "e02df58.543ea08",
+       "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",
+       "wires": []
+}, {
+       "id": "6de8279c.d96f18",
+       "type": "block",
+       "name": "block : atomic",
+       "xml": "<block atomic=\"true\">",
+       "atomic": "true",
+       "outputs": 1,
+       "x": 212.51060485839844,
+       "y": 669.0105495452881,
+       "z": "e09ddcb4.62be2",
+       "wires": [
+               ["c3c817be.4ef968", "ad2c5957.526e98", "ee7ba6fd.384b18", "569cdb0d.3aa8c4", "336b6524.04896a", "edd7fd49.09b45", "e02df58.543ea08"]
+       ]
+}, {
+       "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",
+       "comments": "",
+       "outputs": 1,
+       "x": 673.0106735229492,
+       "y": 383.0105857849121,
+       "z": "e09ddcb4.62be2",
+       "wires": [
+               []
+       ]
+}, {
+       "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",
+       "comments": "",
+       "outputs": 1,
+       "x": 799.0106735229492,
+       "y": 460.0105857849121,
+       "z": "e09ddcb4.62be2",
+       "wires": [
+               ["649fc773.be7288", "2c3dd512.e7091a"]
+       ]
+}, {
+       "id": "649fc773.be7288",
+       "type": "success",
+       "name": "success",
+       "xml": "<outcome value='success'>\n",
+       "comments": "",
+       "outputs": 1,
+       "x": 1146.010856628418,
+       "y": 411.0105857849121,
+       "z": "e09ddcb4.62be2",
+       "wires": [
+               ["27ee6d28.0b0992"]
+       ]
+}, {
+       "id": "27ee6d28.0b0992",
+       "type": "block",
+       "name": "block",
+       "xml": "<block>\n",
+       "atomic": "false",
+       "comments": "",
+       "outputs": 1,
+       "x": 1313.0109329223633,
+       "y": 445.0106463432312,
+       "z": "e09ddcb4.62be2",
+       "wires": [
+               []
+       ]
+}, {
+       "id": "2c3dd512.e7091a",
+       "type": "other",
+       "name": "other",
+       "xml": "<outcome value='Other'>\n",
+       "comments": "",
+       "outputs": 1,
+       "x": 1151.8626289367676,
+       "y": 494.07674503326416,
+       "z": "e09ddcb4.62be2",
+       "wires": [
+               ["a4f3ebc3.28d808"]
+       ]
+}, {
+       "id": "a4f3ebc3.28d808",
+       "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",
+       "comments": "",
+       "x": 1322.2607803344727,
+       "y": 510.01057529449463,
+       "z": "e09ddcb4.62be2",
+       "wires": []
+}, {
+       "id": "ee7ba6fd.384b18",
+       "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",
+       "comments": "",
+       "outputs": 1,
+       "x": 859.5107116699219,
+       "y": 611.0105295181274,
+       "z": "e09ddcb4.62be2",
+       "wires": [
+               ["5178f9b4.19b7c8"]
+       ]
+}, {
+       "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",
+       "comments": "",
+       "outputs": 1,
+       "x": 807.5106887817383,
+       "y": 688.0105800628662,
+       "z": "e09ddcb4.62be2",
+       "wires": [
+               ["d017d8d9.0843a8"]
+       ]
+}, {
+       "id": "d017d8d9.0843a8",
+       "type": "outcomeTrue",
+       "name": "true",
+       "xml": "<outcome value='true'>\n",
+       "comments": "",
+       "outputs": 1,
+       "x": 989.7607917785645,
+       "y": 690.0106735229492,
+       "z": "e09ddcb4.62be2",
+       "wires": [
+               ["b549c649.6ef3f8"]
+       ]
+}, {
+       "id": "b549c649.6ef3f8",
+       "type": "block",
+       "name": "block : atomic",
+       "xml": "<block atomic=\"true\">",
+       "atomic": "true",
+       "outputs": 1,
+       "x": 1160.5214195251465,
+       "y": 694.867790222168,
+       "z": "e09ddcb4.62be2",
+       "wires": [
+               ["90347753.f53c58"]
+       ]
+}, {
+       "id": "90347753.f53c58",
+       "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' />",
+       "comments": "",
+       "x": 1107.3788032531738,
+       "y": 768.4393863677979,
+       "z": "e09ddcb4.62be2",
+       "wires": []
+}, {
+       "id": "569cdb0d.3aa8c4",
+       "type": "set",
+       "name": "set tmp.found-network-input",
+       "xml": "<set>\n<parameter name='tmp.found-network-input' value='false' />",
+       "comments": "",
+       "x": 741.5106582641602,
+       "y": 540.0105857849121,
+       "z": "e09ddcb4.62be2",
+       "wires": []
+}, {
+       "id": "336b6524.04896a",
+       "type": "switchNode",
+       "name": "switch found-network-input",
+       "xml": "<switch test=\"`$found-network-input`\">\n\n",
+       "comments": "",
+       "outputs": 1,
+       "x": 572.5107040405273,
+       "y": 879.0107097625732,
+       "z": "e09ddcb4.62be2",
+       "wires": [
+               ["616108fb.092f18", "40e56e53.4077e"]
+       ]
+}, {
+       "id": "616108fb.092f18",
+       "type": "outcomeTrue",
+       "name": "true",
+       "xml": "<outcome value='true'>\n",
+       "comments": "",
+       "outputs": 1,
+       "x": 804.5107955932617,
+       "y": 923.010908126831,
+       "z": "e09ddcb4.62be2",
+       "wires": [
+               ["a846a4bd.9956b8"]
+       ]
+}, {
+       "id": "40e56e53.4077e",
+       "type": "outcomeTrue",
+       "name": "false",
+       "xml": "<outcome value='false'>\n",
+       "comments": "",
+       "outputs": 1,
+       "x": 805.2607345581055,
+       "y": 881.010799407959,
+       "z": "e09ddcb4.62be2",
+       "wires": [
+               ["8273b3b3.844e2"]
+       ]
+}, {
+       "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",
+       "comments": "",
+       "x": 976.2607345581055,
+       "y": 889.0107688903809,
+       "z": "e09ddcb4.62be2",
+       "wires": []
+}, {
+       "id": "a846a4bd.9956b8",
+       "type": "block",
+       "name": "block : atomic",
+       "xml": "<block atomic=\"true\">",
+       "atomic": "true",
+       "outputs": 1,
+       "x": 542.0105819702148,
+       "y": 1035.0106945037842,
+       "z": "e09ddcb4.62be2",
+       "wires": [
+               ["a938b787.7c82b8", "2becb5c8.f5838a", "fec72c37.99e8b"]
+       ]
+}, {
+       "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",
+       "comments": "",
+       "outputs": 1,
+       "x": 991.0104217529297,
+       "y": 1121.0105504989624,
+       "z": "e09ddcb4.62be2",
+       "wires": [
+               ["a608965c.57ec78"]
+       ]
+}, {
+       "id": "21b22ac0.8b6036",
+       "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": 1105.010482788086,
+       "y": 1191.010612487793,
+       "z": "e09ddcb4.62be2",
+       "wires": [
+               ["b3b8f491.b604a8"]
+       ]
+}, {
+       "id": "b3b8f491.b604a8",
+       "type": "outcomeTrue",
+       "name": "true",
+       "xml": "<outcome value='true'>\n",
+       "comments": "",
+       "outputs": 1,
+       "x": 1356.0105361938477,
+       "y": 1194.0106182098389,
+       "z": "e09ddcb4.62be2",
+       "wires": [
+               ["f19676be.7dd8e8"]
+       ]
+}, {
+       "id": "f19676be.7dd8e8",
+       "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' />",
+       "comments": "",
+       "x": 1557.0105667114258,
+       "y": 1192.0106191635132,
+       "z": "e09ddcb4.62be2",
+       "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\"/>",
+       "comments": "",
+       "outputs": 1,
+       "x": 879.2604522705078,
+       "y": 1923.0111656188965,
+       "z": "e09ddcb4.62be2",
+       "wires": [
+               ["6cfa08fc.d58438", "35b532e4.67c04e", "456722ac.35f45c"]
+       ]
+}, {
+       "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",
+       "comments": "",
+       "outputs": 1,
+       "x": 1108.2604751586914,
+       "y": 1242.0105876922607,
+       "z": "e09ddcb4.62be2",
+       "wires": [
+               ["bfa7b41.e85df48"]
+       ]
+}, {
+       "id": "bfa7b41.e85df48",
+       "type": "outcomeTrue",
+       "name": "true",
+       "xml": "<outcome value='true'>\n",
+       "comments": "",
+       "outputs": 1,
+       "x": 1374.2605895996094,
+       "y": 1244.0106649398804,
+       "z": "e09ddcb4.62be2",
+       "wires": [
+               ["431e7704.816128"]
+       ]
+}, {
+       "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' />",
+       "comments": "",
+       "x": 1575.2606201171875,
+       "y": 1242.0106658935547,
+       "z": "e09ddcb4.62be2",
+       "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",
+       "comments": "",
+       "outputs": 1,
+       "x": 1116.2605438232422,
+       "y": 1296.010513305664,
+       "z": "e09ddcb4.62be2",
+       "wires": [
+               ["32c617c3.6666a8"]
+       ]
+}, {
+       "id": "32c617c3.6666a8",
+       "type": "outcomeTrue",
+       "name": "true",
+       "xml": "<outcome value='true'>\n",
+       "comments": "",
+       "outputs": 1,
+       "x": 1393.260555267334,
+       "y": 1294.0105457305908,
+       "z": "e09ddcb4.62be2",
+       "wires": [
+               ["7965a848.b113a8"]
+       ]
+}, {
+       "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' />",
+       "comments": "",
+       "x": 1594.260585784912,
+       "y": 1292.0105466842651,
+       "z": "e09ddcb4.62be2",
+       "wires": []
+}, {
+       "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",
+       "comments": "",
+       "outputs": 1,
+       "x": 1125.2605743408203,
+       "y": 1351.0105781555176,
+       "z": "e09ddcb4.62be2",
+       "wires": [
+               ["c074d65e.325f18"]
+       ]
+}, {
+       "id": "c074d65e.325f18",
+       "type": "outcomeTrue",
+       "name": "true",
+       "xml": "<outcome value='true'>\n",
+       "comments": "",
+       "outputs": 1,
+       "x": 1413.2607078552246,
+       "y": 1354.0106735229492,
+       "z": "e09ddcb4.62be2",
+       "wires": [
+               ["c839c2e5.daaf"]
+       ]
+}, {
+       "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' />",
+       "comments": "",
+       "x": 1614.2607383728027,
+       "y": 1352.0106744766235,
+       "z": "e09ddcb4.62be2",
+       "wires": []
+}, {
+       "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' />",
+       "comments": "",
+       "x": 778.0105895996094,
+       "y": 1036.0105476379395,
+       "z": "e09ddcb4.62be2",
+       "wires": []
+}, {
+       "id": "fec72c37.99e8b",
+       "type": "switchNode",
+       "name": "switch thirdPartyAdaptorRpc-found == 'true'",
+       "xml": "<switch test=\"`$tmp.thirdPartyAdaptorRpc-found == 'true'`\">\n",
+       "comments": "",
+       "outputs": 1,
+       "x": 820.0104217529297,
+       "y": 1531.0105934143066,
+       "z": "e09ddcb4.62be2",
+       "wires": [
+               ["761c7f6a.1e156", "fc5cb76b.242648"]
+       ]
+}, {
+       "id": "a608965c.57ec78",
+       "type": "block",
+       "name": "block",
+       "xml": "<block>\n",
+       "atomic": "false",
+       "comments": "",
+       "outputs": 1,
+       "x": 762.0104217529297,
+       "y": 1302.0104637145996,
+       "z": "e09ddcb4.62be2",
+       "wires": [
+               ["21b22ac0.8b6036", "482305da.d57c9c", "d87dc5c6.9f2d38", "8c362f3b.3ca69", "2c7884dd.9d5eac"]
+       ]
+}, {
+       "id": "761c7f6a.1e156",
+       "type": "outcomeTrue",
+       "name": "true",
+       "xml": "<outcome value='true'>\n",
+       "comments": "",
+       "outputs": 1,
+       "x": 1082.010440826416,
+       "y": 1493.0105304718018,
+       "z": "e09ddcb4.62be2",
+       "wires": [
+               ["abb14bbc.08d3c8"]
+       ]
+}, {
+       "id": "fc5cb76b.242648",
+       "type": "outcomeTrue",
+       "name": "false",
+       "xml": "<outcome value='false'>\n",
+       "comments": "",
+       "outputs": 1,
+       "x": 1083.0103912353516,
+       "y": 1559.010495185852,
+       "z": "e09ddcb4.62be2",
+       "wires": [
+               ["7e672194.b5093"]
+       ]
+}, {
+       "id": "abb14bbc.08d3c8",
+       "type": "call",
+       "name": "call thirdPartyAdaptorRpc",
+       "xml": "<call module='GENERIC-RESOURCE-API' rpc='`$tmp.thirdPartyAdaptorRpc`' mode='sync' >\n",
+       "comments": "",
+       "outputs": 1,
+       "x": 1302.010482788086,
+       "y": 1494.0105895996094,
+       "z": "e09ddcb4.62be2",
+       "wires": [
+               ["97bbf68a.23df28", "54cba094.60db8", "40b8aaf.3584554"]
+       ]
+}, {
+       "id": "7e672194.b5093",
+       "type": "switchNode",
+       "name": "switch restapiUrl-found == 'true'",
+       "xml": "<switch test=\"`$tmp.restapiUrl-found == 'true'`\">\n",
+       "comments": "",
+       "outputs": 1,
+       "x": 844.461311340332,
+       "y": 1643.0172395706177,
+       "z": "e09ddcb4.62be2",
+       "wires": [
+               ["8b58f6f.b1e3208", "94431bfa.4e9a48"]
+       ]
+}, {
+       "id": "8b58f6f.b1e3208",
+       "type": "outcomeTrue",
+       "name": "true",
+       "xml": "<outcome value='true'>\n",
+       "comments": "",
+       "outputs": 1,
+       "x": 1095.461296081543,
+       "y": 1641.017035484314,
+       "z": "e09ddcb4.62be2",
+       "wires": [
+               ["fed700d7.65be7"]
+       ]
+}, {
+       "id": "fed700d7.65be7",
+       "type": "switchNode",
+       "name": "switch restapiUser-found == 'true'",
+       "xml": "<switch test=\"`$tmp.restapiUser-found == 'true'`\">\n",
+       "comments": "",
+       "outputs": 1,
+       "x": 822.4614105224609,
+       "y": 1710.2393379211426,
+       "z": "e09ddcb4.62be2",
+       "wires": [
+               ["9051a6d0.545648", "52bc5ad7.e75954"]
+       ]
+}, {
+       "id": "9051a6d0.545648",
+       "type": "outcomeTrue",
+       "name": "true",
+       "xml": "<outcome value='true'>\n",
+       "comments": "",
+       "outputs": 1,
+       "x": 1089.4613037109375,
+       "y": 1711.2390508651733,
+       "z": "e09ddcb4.62be2",
+       "wires": [
+               ["558122b6.d2e6dc"]
+       ]
+}, {
+       "id": "558122b6.d2e6dc",
+       "type": "switchNode",
+       "name": "switch restapiPassword-found == 'true'",
+       "xml": "<switch test=\"`$tmp.restapiPassword-found == 'true'`\">\n",
+       "comments": "",
+       "outputs": 1,
+       "x": 837.4613037109375,
+       "y": 1780.239260673523,
+       "z": "e09ddcb4.62be2",
+       "wires": [
+               ["107aae8d.403771", "3e643f4d.27a45"]
+       ]
+}, {
+       "id": "107aae8d.403771",
+       "type": "outcomeTrue",
+       "name": "true",
+       "xml": "<outcome value='true'>\n",
+       "comments": "",
+       "outputs": 1,
+       "x": 1097.4613037109375,
+       "y": 1780.2390508651733,
+       "z": "e09ddcb4.62be2",
+       "wires": [
+               ["3e959559.67274a"]
+       ]
+}, {
+       "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",
+       "comments": "",
+       "outputs": 1,
+       "x": 1125.0168762207031,
+       "y": 1405.0168838500977,
+       "z": "e09ddcb4.62be2",
+       "wires": [
+               ["14544bfa.4af374"]
+       ]
+}, {
+       "id": "14544bfa.4af374",
+       "type": "outcomeTrue",
+       "name": "true",
+       "xml": "<outcome value='true'>\n",
+       "comments": "",
+       "outputs": 1,
+       "x": 1413.0170097351074,
+       "y": 1408.0169792175293,
+       "z": "e09ddcb4.62be2",
+       "wires": [
+               ["2d59e0f.1af282"]
+       ]
+}, {
+       "id": "2d59e0f.1af282",
+       "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' />",
+       "comments": "",
+       "x": 1614.0170402526855,
+       "y": 1406.0169801712036,
+       "z": "e09ddcb4.62be2",
+       "wires": []
+}, {
+       "id": "3e959559.67274a",
+       "type": "switchNode",
+       "name": "switch templateFileName-found == 'true'",
+       "xml": "<switch test=\"`$tmp.templateFileName-found == 'true'`\">\n",
+       "comments": "",
+       "outputs": 1,
+       "x": 835.0168762207031,
+       "y": 1840.3502979278564,
+       "z": "e09ddcb4.62be2",
+       "wires": [
+               ["5a8246c3.86d3d8", "e9a7f173.e33ea"]
+       ]
+}, {
+       "id": "5a8246c3.86d3d8",
+       "type": "outcomeTrue",
+       "name": "true",
+       "xml": "<outcome value='true'>\n",
+       "comments": "",
+       "outputs": 1,
+       "x": 1095.0168762207031,
+       "y": 1840.3500881195068,
+       "z": "e09ddcb4.62be2",
+       "wires": [
+               ["5e9a3d4b.faee04"]
+       ]
+}, {
+       "id": "40b8aaf.3584554",
+       "type": "not-found",
+       "name": "not-found",
+       "xml": "<outcome value='not-found'>\n",
+       "comments": "",
+       "outputs": 1,
+       "x": 1568.0168762207031,
+       "y": 1533.3502578735352,
+       "z": "e09ddcb4.62be2",
+       "wires": [
+               ["10f2c69f.8e3de9"]
+       ]
+}, {
+       "id": "54cba094.60db8",
+       "type": "failure",
+       "name": "failure",
+       "xml": "<outcome value='failure'>\n",
+       "comments": "",
+       "outputs": 1,
+       "x": 1559.0169258117676,
+       "y": 1501.8502836227417,
+       "z": "e09ddcb4.62be2",
+       "wires": [
+               ["10f2c69f.8e3de9"]
+       ]
+}, {
+       "id": "97bbf68a.23df28",
+       "type": "success",
+       "name": "success",
+       "xml": "<outcome value='success'>\n",
+       "comments": "",
+       "outputs": 1,
+       "x": 1562.7669639587402,
+       "y": 1472.207388497889,
+       "z": "e09ddcb4.62be2",
+       "wires": [
+               ["9b5e3e39.e0053"]
+       ]
+}, {
+       "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",
+       "comments": "",
+       "x": 1725.766990661621,
+       "y": 1518.6003561019897,
+       "z": "e09ddcb4.62be2",
+       "wires": []
+}, {
+       "id": "9b5e3e39.e0053",
+       "type": "block",
+       "name": "block",
+       "xml": "<block>\n",
+       "atomic": "false",
+       "comments": "",
+       "outputs": 1,
+       "x": 1704.4229316711426,
+       "y": 1468.3995576873422,
+       "z": "e09ddcb4.62be2",
+       "wires": [
+               []
+       ]
+}, {
+       "id": "456722ac.35f45c",
+       "type": "not-found",
+       "name": "not-found",
+       "xml": "<outcome value='not-found'>\n",
+       "comments": "",
+       "outputs": 1,
+       "x": 1209.0168762207031,
+       "y": 1958.3502578735352,
+       "z": "e09ddcb4.62be2",
+       "wires": [
+               ["504edb98.e54e24"]
+       ]
+}, {
+       "id": "35b532e4.67c04e",
+       "type": "failure",
+       "name": "failure",
+       "xml": "<outcome value='failure'>\n",
+       "comments": "",
+       "outputs": 1,
+       "x": 1200.0169258117676,
+       "y": 1926.8502836227417,
+       "z": "e09ddcb4.62be2",
+       "wires": [
+               ["504edb98.e54e24"]
+       ]
+}, {
+       "id": "6cfa08fc.d58438",
+       "type": "success",
+       "name": "success",
+       "xml": "<outcome value='success'>\n",
+       "comments": "",
+       "outputs": 1,
+       "x": 1203.7669639587402,
+       "y": 1897.207388497889,
+       "z": "e09ddcb4.62be2",
+       "wires": [
+               ["e5f43bf1.ad3d38"]
+       ]
+}, {
+       "id": "504edb98.e54e24",
+       "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": 1366.766990661621,
+       "y": 1943.6003561019897,
+       "z": "e09ddcb4.62be2",
+       "wires": []
+}, {
+       "id": "e5f43bf1.ad3d38",
+       "type": "block",
+       "name": "block",
+       "xml": "<block>\n",
+       "atomic": "false",
+       "comments": "",
+       "outputs": 1,
+       "x": 1345.4229316711426,
+       "y": 1893.3995576873422,
+       "z": "e09ddcb4.62be2",
+       "wires": [
+               []
+       ]
+}, {
+       "id": "94431bfa.4e9a48",
+       "type": "outcomeTrue",
+       "name": "false",
+       "xml": "<outcome value='false'>\n",
+       "comments": "",
+       "outputs": 1,
+       "x": 1246.6835021972656,
+       "y": 1608.4613418579102,
+       "z": "e09ddcb4.62be2",
+       "wires": [
+               ["79546287.78b3ac"]
+       ]
+}, {
+       "id": "79546287.78b3ac",
+       "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": 1417.6835021972656,
+       "y": 1616.461311340332,
+       "z": "e09ddcb4.62be2",
+       "wires": []
+}, {
+       "id": "52bc5ad7.e75954",
+       "type": "outcomeTrue",
+       "name": "false",
+       "xml": "<outcome value='false'>\n",
+       "comments": "",
+       "outputs": 1,
+       "x": 1251.6835021972656,
+       "y": 1687.4613418579102,
+       "z": "e09ddcb4.62be2",
+       "wires": [
+               ["e7175614.0bbb18"]
+       ]
+}, {
+       "id": "e7175614.0bbb18",
+       "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",
+       "comments": "",
+       "x": 1422.6835021972656,
+       "y": 1695.461311340332,
+       "z": "e09ddcb4.62be2",
+       "wires": []
+}, {
+       "id": "3e643f4d.27a45",
+       "type": "outcomeTrue",
+       "name": "false",
+       "xml": "<outcome value='false'>\n",
+       "comments": "",
+       "outputs": 1,
+       "x": 1242.6835021972656,
+       "y": 1758.4613418579102,
+       "z": "e09ddcb4.62be2",
+       "wires": [
+               ["eab97fcc.763a6"]
+       ]
+}, {
+       "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",
+       "comments": "",
+       "x": 1413.6835021972656,
+       "y": 1766.461311340332,
+       "z": "e09ddcb4.62be2",
+       "wires": []
+}, {
+       "id": "e9a7f173.e33ea",
+       "type": "outcomeTrue",
+       "name": "false",
+       "xml": "<outcome value='false'>\n",
+       "comments": "",
+       "outputs": 1,
+       "x": 1241.6835021972656,
+       "y": 1819.4613418579102,
+       "z": "e09ddcb4.62be2",
+       "wires": [
+               ["4679556f.41babc"]
+       ]
+}, {
+       "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",
+       "comments": "",
+       "x": 1412.6835021972656,
+       "y": 1827.461311340332,
+       "z": "e09ddcb4.62be2",
+       "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
new file mode 100644 (file)
index 0000000..5660246
--- /dev/null
@@ -0,0 +1,360 @@
+[{
+       "id": "6ac67ae1.a0aa44",
+       "type": "dgstart",
+       "name": "DGSTART",
+       "outputs": 1,
+       "x": 175.00390625,
+       "y": 106.00390625,
+       "z": "7d848bad.6cea14",
+       "wires": [
+               ["a7166f73.c3b7d"]
+       ]
+}, {
+       "id": "a7166f73.c3b7d",
+       "type": "service-logic",
+       "name": "GENERIC-RESOURCE-API ${project.version}",
+       "module": "GENERIC-RESOURCE-API",
+       "version": "${project.version}",
+       "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",
+       "wires": [
+               ["28d122a6.3dff6e"]
+       ]
+}, {
+       "id": "28d122a6.3dff6e",
+       "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",
+       "wires": [
+               ["5e728e05.d58"]
+       ]
+}, {
+       "id": "9cfd5628.0461f8",
+       "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",
+       "wires": [
+               ["880d63dc.b5a38", "f32a417.139a7c"]
+       ]
+}, {
+       "id": "fecacce0.e773",
+       "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",
+       "wires": [
+               ["e31d6f4d.a6b8a", "3a9f16f2.1de22a"]
+       ]
+}, {
+       "id": "328d5a5f.8b3686",
+       "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",
+       "wires": [
+               ["95036d7b.e76b7", "a957c80c.629788"]
+       ]
+}, {
+       "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",
+       "type": "outcomeTrue",
+       "name": "true",
+       "xml": "<outcome value='true'>\n",
+       "comments": "",
+       "outputs": 1,
+       "x": 807.0352210998535,
+       "y": 441.03514528274536,
+       "z": "7d848bad.6cea14",
+       "wires": [
+               ["4a720633.6d38d8"]
+       ]
+}, {
+       "id": "f32a417.139a7c",
+       "type": "outcomeTrue",
+       "name": "false",
+       "xml": "<outcome value='false'>\n",
+       "comments": "",
+       "outputs": 1,
+       "x": 336.03525161743164,
+       "y": 541.0352182388306,
+       "z": "7d848bad.6cea14",
+       "wires": [
+               ["fecacce0.e773"]
+       ]
+}, {
+       "id": "e31d6f4d.a6b8a",
+       "type": "outcomeTrue",
+       "name": "true",
+       "xml": "<outcome value='true'>\n",
+       "comments": "",
+       "outputs": 1,
+       "x": 723.035270690918,
+       "y": 543.0352516174316,
+       "z": "7d848bad.6cea14",
+       "wires": [
+               ["e96c15e0.5108b8"]
+       ]
+}, {
+       "id": "95036d7b.e76b7",
+       "type": "outcomeTrue",
+       "name": "true",
+       "xml": "<outcome value='true'>\n",
+       "comments": "",
+       "outputs": 1,
+       "x": 735.035270690918,
+       "y": 621.0352516174316,
+       "z": "7d848bad.6cea14",
+       "wires": [
+               ["e96c15e0.5108b8"]
+       ]
+}, {
+       "id": "3a9f16f2.1de22a",
+       "type": "outcomeTrue",
+       "name": "false",
+       "xml": "<outcome value='false'>\n",
+       "comments": "",
+       "outputs": 1,
+       "x": 331.03519439697266,
+       "y": 622.0351905822754,
+       "z": "7d848bad.6cea14",
+       "wires": [
+               ["328d5a5f.8b3686"]
+       ]
+}, {
+       "id": "a957c80c.629788",
+       "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",
+       "wires": [
+               ["ff5b5810.5ac2a8"]
+       ]
+}, {
+       "id": "914afff2.c348e",
+       "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",
+       "wires": [
+               []
+       ]
+}, {
+       "id": "5e728e05.d58",
+       "type": "block",
+       "name": "block : atomic",
+       "xml": "<block atomic=\"true\">",
+       "atomic": "true",
+       "outputs": 1,
+       "x": 281.00392150878906,
+       "y": 366.00390243530273,
+       "z": "7d848bad.6cea14",
+       "wires": [
+               ["914afff2.c348e", "9cfd5628.0461f8", "d08cdbfc.d46288", "8af933b4.c5208"]
+       ]
+}, {
+       "id": "d08cdbfc.d46288",
+       "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",
+       "wires": [
+               ["13cbf19b.fc4f5e", "163e4527.d3d54b"]
+       ]
+}, {
+       "id": "13cbf19b.fc4f5e",
+       "type": "outcome",
+       "name": "NULL",
+       "xml": "<outcome value=''>",
+       "comments": "",
+       "outputs": 1,
+       "x": 815.0040054321289,
+       "y": 263.00391578674316,
+       "z": "7d848bad.6cea14",
+       "wires": [
+               ["600a4007.612e"]
+       ]
+}, {
+       "id": "600a4007.612e",
+       "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",
+       "wires": [
+               ["224d0a6c.fd47b6"]
+       ]
+}, {
+       "id": "224d0a6c.fd47b6",
+       "type": "failure",
+       "name": "failure",
+       "xml": "<outcome value='failure'>\n",
+       "comments": "",
+       "outputs": 1,
+       "x": 1248.0040245056152,
+       "y": 264.00388526916504,
+       "z": "7d848bad.6cea14",
+       "wires": [
+               ["c61d540b.7cf0a8"]
+       ]
+}, {
+       "id": "c61d540b.7cf0a8",
+       "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",
+       "wires": []
+}, {
+       "id": "163e4527.d3d54b",
+       "type": "other",
+       "name": "other",
+       "xml": "<outcome value='Other'>\n",
+       "comments": "",
+       "outputs": 1,
+       "x": 812.5039024353027,
+       "y": 311.00391006469727,
+       "z": "7d848bad.6cea14",
+       "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",
+       "comments": "",
+       "outputs": 1,
+       "x": 1129.0039367675781,
+       "y": 441.00395679473877,
+       "z": "7d848bad.6cea14",
+       "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",
+       "comments": "",
+       "outputs": 1,
+       "x": 1125.5040283203125,
+       "y": 586.0039100646973,
+       "z": "7d848bad.6cea14",
+       "wires": [
+               []
+       ]
+}, {
+       "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",
+       "comments": "",
+       "x": 341.00391387939453,
+       "y": 827.0039396286011,
+       "z": "7d848bad.6cea14",
+       "wires": []
+}, {
+       "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",
+       "comments": "",
+       "outputs": 1,
+       "x": 1105.003921508789,
+       "y": 701.0039482116699,
+       "z": "7d848bad.6cea14",
+       "wires": [
+               []
+       ]
+}, {
+       "id": "f7a1c197.52e9b",
+       "type": "outcomeTrue",
+       "name": "false",
+       "xml": "<outcome value='false'>\n",
+       "comments": "",
+       "outputs": 1,
+       "x": 741.00390625,
+       "y": 765.00390625,
+       "z": "7d848bad.6cea14",
+       "wires": [
+               ["7ef91d7a.861074"]
+       ]
+}, {
+       "id": "7ef91d7a.861074",
+       "type": "block",
+       "name": "block",
+       "xml": "<block>\n",
+       "atomic": "false",
+       "comments": "",
+       "outputs": 1,
+       "x": 909.00390625,
+       "y": 771.0039482116699,
+       "z": "7d848bad.6cea14",
+       "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-deactivate.json b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_wan-connection-topology-operation-deactivate.json
new file mode 100644 (file)
index 0000000..3b0b0fb
--- /dev/null
@@ -0,0 +1,890 @@
+[{
+       "id": "dc5daae1.4b2b68",
+       "type": "dgstart",
+       "name": "DGSTART",
+       "outputs": 1,
+       "x": 136.01040649414062,
+       "y": 88.01041412353516,
+       "z": "5f2b1b80.205544",
+       "wires": [
+               ["f86fe308.85c13"]
+       ]
+}, {
+       "id": "f86fe308.85c13",
+       "type": "service-logic",
+       "name": "GENERIC-RESOURCE-API ${project.version}",
+       "module": "GENERIC-RESOURCE-API",
+       "version": "${project.version}",
+       "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": 348.0104103088379,
+       "y": 160.01043128967285,
+       "z": "5f2b1b80.205544",
+       "wires": [
+               ["c94e70a1.1a9f8"]
+       ]
+}, {
+       "id": "c94e70a1.1a9f8",
+       "type": "method",
+       "name": "wan-connection-topology-operation-deactivate",
+       "xml": "<method rpc='wan-connection-topology-operation-deactivate' mode='sync'>\n",
+       "comments": "",
+       "outputs": 1,
+       "x": 336.0105285644531,
+       "y": 248.01041412353516,
+       "z": "5f2b1b80.205544",
+       "wires": [
+               ["2779c46a.0d3bfc"]
+       ]
+}, {
+       "id": "57a97cf3.f011a4",
+       "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": 723.0106887817383,
+       "y": 332.0104856491089,
+       "z": "5f2b1b80.205544",
+       "wires": [
+               []
+       ]
+}, {
+       "id": "ea250cc1.d5382",
+       "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": 323.0104217529297,
+       "y": 1197.010627746582,
+       "z": "5f2b1b80.205544",
+       "wires": []
+}, {
+       "id": "2779c46a.0d3bfc",
+       "type": "block",
+       "name": "block : atomic",
+       "xml": "<block atomic=\"true\">",
+       "atomic": "true",
+       "outputs": 1,
+       "x": 248.51060485839844,
+       "y": 689.0105495452881,
+       "z": "5f2b1b80.205544",
+       "wires": [
+               ["ed99019f.1977", "7dda64d7.a5a00c", "f7ff6068.4e95b", "3266b2a4.654dfe", "5f4320a1.8de1c", "57a97cf3.f011a4", "ea250cc1.d5382"]
+       ]
+}, {
+       "id": "ed99019f.1977",
+       "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",
+       "comments": "",
+       "outputs": 1,
+       "x": 709.0106735229492,
+       "y": 403.0105857849121,
+       "z": "5f2b1b80.205544",
+       "wires": [
+               []
+       ]
+}, {
+       "id": "7dda64d7.a5a00c",
+       "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",
+       "comments": "",
+       "outputs": 1,
+       "x": 835.0106735229492,
+       "y": 480.0105857849121,
+       "z": "5f2b1b80.205544",
+       "wires": [
+               ["1a420eef.b4ab81", "758b4d6.827c5b4"]
+       ]
+}, {
+       "id": "1a420eef.b4ab81",
+       "type": "success",
+       "name": "success",
+       "xml": "<outcome value='success'>\n",
+       "comments": "",
+       "outputs": 1,
+       "x": 1182.010856628418,
+       "y": 431.0105857849121,
+       "z": "5f2b1b80.205544",
+       "wires": [
+               ["f55029d2.253db8"]
+       ]
+}, {
+       "id": "f55029d2.253db8",
+       "type": "block",
+       "name": "block",
+       "xml": "<block>\n",
+       "atomic": "false",
+       "comments": "",
+       "outputs": 1,
+       "x": 1349.0109329223633,
+       "y": 465.0106463432312,
+       "z": "5f2b1b80.205544",
+       "wires": [
+               []
+       ]
+}, {
+       "id": "758b4d6.827c5b4",
+       "type": "other",
+       "name": "other",
+       "xml": "<outcome value='Other'>\n",
+       "comments": "",
+       "outputs": 1,
+       "x": 1187.8626289367676,
+       "y": 514.0767450332642,
+       "z": "5f2b1b80.205544",
+       "wires": [
+               ["1418c003.c3bc4"]
+       ]
+}, {
+       "id": "1418c003.c3bc4",
+       "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",
+       "comments": "",
+       "x": 1358.2607803344727,
+       "y": 530.0105752944946,
+       "z": "5f2b1b80.205544",
+       "wires": []
+}, {
+       "id": "f7ff6068.4e95b",
+       "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",
+       "comments": "",
+       "outputs": 1,
+       "x": 895.5107116699219,
+       "y": 631.0105295181274,
+       "z": "5f2b1b80.205544",
+       "wires": [
+               ["492dcfc8.84723"]
+       ]
+}, {
+       "id": "492dcfc8.84723",
+       "type": "switchNode",
+       "name": "switch model-name",
+       "xml": "<switch test=\"`$mdsal-psd.service-data.networks.network[$pidx].network-id == $network-topology-operation-input.network-information.network-id`\">\n\n",
+       "comments": "",
+       "outputs": 1,
+       "x": 843.5106887817383,
+       "y": 708.0105800628662,
+       "z": "5f2b1b80.205544",
+       "wires": [
+               ["27343179.181b8e"]
+       ]
+}, {
+       "id": "27343179.181b8e",
+       "type": "outcomeTrue",
+       "name": "true",
+       "xml": "<outcome value='true'>\n",
+       "comments": "",
+       "outputs": 1,
+       "x": 1025.7607917785645,
+       "y": 710.0106735229492,
+       "z": "5f2b1b80.205544",
+       "wires": [
+               ["63f3970f.a34118"]
+       ]
+}, {
+       "id": "63f3970f.a34118",
+       "type": "block",
+       "name": "block : atomic",
+       "xml": "<block atomic=\"true\">",
+       "atomic": "true",
+       "outputs": 1,
+       "x": 1196.5214195251465,
+       "y": 714.867790222168,
+       "z": "5f2b1b80.205544",
+       "wires": [
+               ["a56f8acd.7498b8"]
+       ]
+}, {
+       "id": "a56f8acd.7498b8",
+       "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' />",
+       "comments": "",
+       "x": 1143.3788032531738,
+       "y": 788.4393863677979,
+       "z": "5f2b1b80.205544",
+       "wires": []
+}, {
+       "id": "3266b2a4.654dfe",
+       "type": "set",
+       "name": "set tmp.found-network-input",
+       "xml": "<set>\n<parameter name='tmp.found-network-input' value='false' />",
+       "comments": "",
+       "x": 777.5106582641602,
+       "y": 560.0105857849121,
+       "z": "5f2b1b80.205544",
+       "wires": []
+}, {
+       "id": "5f4320a1.8de1c",
+       "type": "switchNode",
+       "name": "switch found-network-input",
+       "xml": "<switch test=\"`$found-network-input`\">\n\n",
+       "comments": "",
+       "outputs": 1,
+       "x": 608.5107040405273,
+       "y": 899.0107097625732,
+       "z": "5f2b1b80.205544",
+       "wires": [
+               ["8d8a4cba.9e184", "b9d9fb0b.7db9b8"]
+       ]
+}, {
+       "id": "8d8a4cba.9e184",
+       "type": "outcomeTrue",
+       "name": "true",
+       "xml": "<outcome value='true'>\n",
+       "comments": "",
+       "outputs": 1,
+       "x": 840.5107955932617,
+       "y": 943.010908126831,
+       "z": "5f2b1b80.205544",
+       "wires": [
+               ["d6f87580.2dc1d8"]
+       ]
+}, {
+       "id": "b9d9fb0b.7db9b8",
+       "type": "outcomeTrue",
+       "name": "false",
+       "xml": "<outcome value='false'>\n",
+       "comments": "",
+       "outputs": 1,
+       "x": 841.2607345581055,
+       "y": 901.010799407959,
+       "z": "5f2b1b80.205544",
+       "wires": [
+               ["cd109ebd.9e8f9"]
+       ]
+}, {
+       "id": "cd109ebd.9e8f9",
+       "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",
+       "comments": "",
+       "x": 1012.2607345581055,
+       "y": 909.0107688903809,
+       "z": "5f2b1b80.205544",
+       "wires": []
+}, {
+       "id": "d6f87580.2dc1d8",
+       "type": "block",
+       "name": "block : atomic",
+       "xml": "<block atomic=\"true\">",
+       "atomic": "true",
+       "outputs": 1,
+       "x": 578.0105819702148,
+       "y": 1055.0106945037842,
+       "z": "5f2b1b80.205544",
+       "wires": [
+               ["9089330c.7c429", "f7517eb4.eccef", "c4ea6652.9fa878"]
+       ]
+}, {
+       "id": "9089330c.7c429",
+       "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",
+       "comments": "",
+       "outputs": 1,
+       "x": 1027.0104217529297,
+       "y": 1141.0105504989624,
+       "z": "5f2b1b80.205544",
+       "wires": [
+               ["91a2217e.0aa36"]
+       ]
+}, {
+       "id": "44bbe120.7255",
+       "type": "switchNode",
+       "name": "switch network-parameter-name == 'restapiUrl-deactivate'",
+       "xml": "<switch test=\"`$tmp.network.network-data.network-topology.network-parameters.network-parameter[$cxid].network-parameter-name == 'restapiUrl-deactivate'`\">\n",
+       "comments": "",
+       "outputs": 1,
+       "x": 1141.010482788086,
+       "y": 1211.010612487793,
+       "z": "5f2b1b80.205544",
+       "wires": [
+               ["ae0bda70.be78d8"]
+       ]
+}, {
+       "id": "ae0bda70.be78d8",
+       "type": "outcomeTrue",
+       "name": "true",
+       "xml": "<outcome value='true'>\n",
+       "comments": "",
+       "outputs": 1,
+       "x": 1414.0106048583984,
+       "y": 1210.010570526123,
+       "z": "5f2b1b80.205544",
+       "wires": [
+               ["866f7c3c.d7349"]
+       ]
+}, {
+       "id": "866f7c3c.d7349",
+       "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' />",
+       "comments": "",
+       "x": 1593.0105667114258,
+       "y": 1212.0106191635132,
+       "z": "5f2b1b80.205544",
+       "wires": []
+}, {
+       "id": "2a83ab2c.a5f774",
+       "type": "execute",
+       "name": "execute RestApiCallNode delete wan-connection",
+       "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"restapiUrl\" value=\"`$tmp.restapiUrl + $tmp.actualId`\" />\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=\"delete\"/>",
+       "comments": "",
+       "outputs": 1,
+       "x": 915.2604522705078,
+       "y": 1943.0111656188965,
+       "z": "5f2b1b80.205544",
+       "wires": [
+               ["5eb1697e.075858", "dd1f30f9.8bae3", "bd716a80.bf8068"]
+       ]
+}, {
+       "id": "9154a660.674bb8",
+       "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",
+       "comments": "",
+       "outputs": 1,
+       "x": 1144.2604751586914,
+       "y": 1262.0105876922607,
+       "z": "5f2b1b80.205544",
+       "wires": [
+               ["dcf17939.4e7148"]
+       ]
+}, {
+       "id": "dcf17939.4e7148",
+       "type": "outcomeTrue",
+       "name": "true",
+       "xml": "<outcome value='true'>\n",
+       "comments": "",
+       "outputs": 1,
+       "x": 1410.2605895996094,
+       "y": 1264.0106649398804,
+       "z": "5f2b1b80.205544",
+       "wires": [
+               ["de64ea4d.ab18b8"]
+       ]
+}, {
+       "id": "de64ea4d.ab18b8",
+       "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' />",
+       "comments": "",
+       "x": 1611.2606201171875,
+       "y": 1262.0106658935547,
+       "z": "5f2b1b80.205544",
+       "wires": []
+}, {
+       "id": "6d3fee98.40477",
+       "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",
+       "comments": "",
+       "outputs": 1,
+       "x": 1152.2605438232422,
+       "y": 1316.010513305664,
+       "z": "5f2b1b80.205544",
+       "wires": [
+               ["e3d0d091.7555a"]
+       ]
+}, {
+       "id": "e3d0d091.7555a",
+       "type": "outcomeTrue",
+       "name": "true",
+       "xml": "<outcome value='true'>\n",
+       "comments": "",
+       "outputs": 1,
+       "x": 1429.260555267334,
+       "y": 1314.0105457305908,
+       "z": "5f2b1b80.205544",
+       "wires": [
+               ["4b4e91b6.1741a"]
+       ]
+}, {
+       "id": "4b4e91b6.1741a",
+       "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' />",
+       "comments": "",
+       "x": 1630.260585784912,
+       "y": 1312.0105466842651,
+       "z": "5f2b1b80.205544",
+       "wires": []
+}, {
+       "id": "f7517eb4.eccef",
+       "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.thirdPartyAdaptorRpc-found' value='false' />\n<parameter name='tmp.actualId-found' value='false' />",
+       "comments": "",
+       "x": 814.0105895996094,
+       "y": 1056.0105476379395,
+       "z": "5f2b1b80.205544",
+       "wires": []
+}, {
+       "id": "c4ea6652.9fa878",
+       "type": "switchNode",
+       "name": "switch thirdPartyAdaptorRpc-found == 'true'",
+       "xml": "<switch test=\"`$tmp.thirdPartyAdaptorRpc-found == 'true'`\">\n",
+       "comments": "",
+       "outputs": 1,
+       "x": 856.0104217529297,
+       "y": 1551.0105934143066,
+       "z": "5f2b1b80.205544",
+       "wires": [
+               ["a1470852.fbe9a8", "44560421.b5783c"]
+       ]
+}, {
+       "id": "91a2217e.0aa36",
+       "type": "block",
+       "name": "block",
+       "xml": "<block>\n",
+       "atomic": "false",
+       "comments": "",
+       "outputs": 1,
+       "x": 798.0104217529297,
+       "y": 1322.0104637145996,
+       "z": "5f2b1b80.205544",
+       "wires": [
+               ["44bbe120.7255", "9154a660.674bb8", "6d3fee98.40477", "fe9a117b.1f532", "9e6c08bf.a2fe88"]
+       ]
+}, {
+       "id": "a1470852.fbe9a8",
+       "type": "outcomeTrue",
+       "name": "true",
+       "xml": "<outcome value='true'>\n",
+       "comments": "",
+       "outputs": 1,
+       "x": 1118.010440826416,
+       "y": 1513.0105304718018,
+       "z": "5f2b1b80.205544",
+       "wires": [
+               ["87499e3e.8efd7"]
+       ]
+}, {
+       "id": "44560421.b5783c",
+       "type": "outcomeTrue",
+       "name": "false",
+       "xml": "<outcome value='false'>\n",
+       "comments": "",
+       "outputs": 1,
+       "x": 1119.0103912353516,
+       "y": 1579.010495185852,
+       "z": "5f2b1b80.205544",
+       "wires": [
+               ["1d000250.ddb41e"]
+       ]
+}, {
+       "id": "87499e3e.8efd7",
+       "type": "call",
+       "name": "call thirdPartyAdaptorRpc",
+       "xml": "<call module='GENERIC-RESOURCE-API' rpc='`$tmp.thirdPartyAdaptorRpc`' mode='sync' >\n",
+       "comments": "",
+       "outputs": 1,
+       "x": 1338.010482788086,
+       "y": 1514.0105895996094,
+       "z": "5f2b1b80.205544",
+       "wires": [
+               ["be1c43cd.6c6d5", "36f2fa8b.9ff576", "9830e901.9d2aa8"]
+       ]
+}, {
+       "id": "1d000250.ddb41e",
+       "type": "switchNode",
+       "name": "switch restapiUrl-found == 'true'",
+       "xml": "<switch test=\"`$tmp.restapiUrl-found == 'true'`\">\n",
+       "comments": "",
+       "outputs": 1,
+       "x": 880.461311340332,
+       "y": 1663.0172395706177,
+       "z": "5f2b1b80.205544",
+       "wires": [
+               ["e6d9ab3.015a858", "20fb14a8.faab2c"]
+       ]
+}, {
+       "id": "e6d9ab3.015a858",
+       "type": "outcomeTrue",
+       "name": "true",
+       "xml": "<outcome value='true'>\n",
+       "comments": "",
+       "outputs": 1,
+       "x": 1131.461296081543,
+       "y": 1661.017035484314,
+       "z": "5f2b1b80.205544",
+       "wires": [
+               ["481b171e.ab37e8"]
+       ]
+}, {
+       "id": "481b171e.ab37e8",
+       "type": "switchNode",
+       "name": "switch restapiUser-found == 'true'",
+       "xml": "<switch test=\"`$tmp.restapiUser-found == 'true'`\">\n",
+       "comments": "",
+       "outputs": 1,
+       "x": 858.4614105224609,
+       "y": 1730.2393379211426,
+       "z": "5f2b1b80.205544",
+       "wires": [
+               ["3742155.0c254ea", "6f396aea.673404"]
+       ]
+}, {
+       "id": "3742155.0c254ea",
+       "type": "outcomeTrue",
+       "name": "true",
+       "xml": "<outcome value='true'>\n",
+       "comments": "",
+       "outputs": 1,
+       "x": 1125.4613037109375,
+       "y": 1731.2390508651733,
+       "z": "5f2b1b80.205544",
+       "wires": [
+               ["2df75511.30eb8a"]
+       ]
+}, {
+       "id": "2df75511.30eb8a",
+       "type": "switchNode",
+       "name": "switch restapiPassword-found == 'true'",
+       "xml": "<switch test=\"`$tmp.restapiPassword-found == 'true'`\">\n",
+       "comments": "",
+       "outputs": 1,
+       "x": 873.4613037109375,
+       "y": 1800.239260673523,
+       "z": "5f2b1b80.205544",
+       "wires": [
+               ["6e3c4b77.f76d04", "79b92f2b.ec99"]
+       ]
+}, {
+       "id": "6e3c4b77.f76d04",
+       "type": "outcomeTrue",
+       "name": "true",
+       "xml": "<outcome value='true'>\n",
+       "comments": "",
+       "outputs": 1,
+       "x": 1133.4613037109375,
+       "y": 1800.2390508651733,
+       "z": "5f2b1b80.205544",
+       "wires": [
+               ["e4613219.7da05"]
+       ]
+}, {
+       "id": "fe9a117b.1f532",
+       "type": "switchNode",
+       "name": "switch network-parameter-name == 'thirdPartyAdaptorRpc-deactivate'",
+       "xml": "<switch test=\"`$tmp.network.network-data.network-topology.network-parameters.network-parameter[$cxid].network-parameter-name == 'thirdPartyAdaptorRpc-deactivate'`\">\n",
+       "comments": "",
+       "outputs": 1,
+       "x": 1170.0169410705566,
+       "y": 1409.0168914794922,
+       "z": "5f2b1b80.205544",
+       "wires": [
+               ["3b34faa8.496266"]
+       ]
+}, {
+       "id": "3b34faa8.496266",
+       "type": "outcomeTrue",
+       "name": "true",
+       "xml": "<outcome value='true'>\n",
+       "comments": "",
+       "outputs": 1,
+       "x": 1481.0171585083008,
+       "y": 1413.0167961120605,
+       "z": "5f2b1b80.205544",
+       "wires": [
+               ["89a96064.90193"]
+       ]
+}, {
+       "id": "89a96064.90193",
+       "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' />",
+       "comments": "",
+       "x": 1676.0171127319336,
+       "y": 1407.0169868469238,
+       "z": "5f2b1b80.205544",
+       "wires": []
+}, {
+       "id": "9830e901.9d2aa8",
+       "type": "not-found",
+       "name": "not-found",
+       "xml": "<outcome value='not-found'>\n",
+       "comments": "",
+       "outputs": 1,
+       "x": 1604.0168762207031,
+       "y": 1553.3502578735352,
+       "z": "5f2b1b80.205544",
+       "wires": [
+               ["e00f6454.dddf68"]
+       ]
+}, {
+       "id": "36f2fa8b.9ff576",
+       "type": "failure",
+       "name": "failure",
+       "xml": "<outcome value='failure'>\n",
+       "comments": "",
+       "outputs": 1,
+       "x": 1595.0169258117676,
+       "y": 1521.8502836227417,
+       "z": "5f2b1b80.205544",
+       "wires": [
+               ["e00f6454.dddf68"]
+       ]
+}, {
+       "id": "be1c43cd.6c6d5",
+       "type": "success",
+       "name": "success",
+       "xml": "<outcome value='success'>\n",
+       "comments": "",
+       "outputs": 1,
+       "x": 1598.7669639587402,
+       "y": 1492.207388497889,
+       "z": "5f2b1b80.205544",
+       "wires": [
+               ["6355ce7d.fb42b"]
+       ]
+}, {
+       "id": "e00f6454.dddf68",
+       "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": 1761.766990661621,
+       "y": 1538.6003561019897,
+       "z": "5f2b1b80.205544",
+       "wires": []
+}, {
+       "id": "6355ce7d.fb42b",
+       "type": "block",
+       "name": "block",
+       "xml": "<block>\n",
+       "atomic": "false",
+       "comments": "",
+       "outputs": 1,
+       "x": 1740.4229316711426,
+       "y": 1488.3995576873422,
+       "z": "5f2b1b80.205544",
+       "wires": [
+               []
+       ]
+}, {
+       "id": "bd716a80.bf8068",
+       "type": "not-found",
+       "name": "not-found",
+       "xml": "<outcome value='not-found'>\n",
+       "comments": "",
+       "outputs": 1,
+       "x": 1245.0168762207031,
+       "y": 1978.3502578735352,
+       "z": "5f2b1b80.205544",
+       "wires": [
+               ["593817ce.8c6458"]
+       ]
+}, {
+       "id": "dd1f30f9.8bae3",
+       "type": "failure",
+       "name": "failure",
+       "xml": "<outcome value='failure'>\n",
+       "comments": "",
+       "outputs": 1,
+       "x": 1236.0169258117676,
+       "y": 1946.8502836227417,
+       "z": "5f2b1b80.205544",
+       "wires": [
+               ["593817ce.8c6458"]
+       ]
+}, {
+       "id": "5eb1697e.075858",
+       "type": "success",
+       "name": "success",
+       "xml": "<outcome value='success'>\n",
+       "comments": "",
+       "outputs": 1,
+       "x": 1239.7669639587402,
+       "y": 1917.207388497889,
+       "z": "5f2b1b80.205544",
+       "wires": [
+               ["33a4cba3.45a344"]
+       ]
+}, {
+       "id": "593817ce.8c6458",
+       "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": 1402.766990661621,
+       "y": 1963.6003561019897,
+       "z": "5f2b1b80.205544",
+       "wires": []
+}, {
+       "id": "33a4cba3.45a344",
+       "type": "block",
+       "name": "block",
+       "xml": "<block>\n",
+       "atomic": "false",
+       "comments": "",
+       "outputs": 1,
+       "x": 1381.4229316711426,
+       "y": 1913.3995576873422,
+       "z": "5f2b1b80.205544",
+       "wires": [
+               []
+       ]
+}, {
+       "id": "20fb14a8.faab2c",
+       "type": "outcomeTrue",
+       "name": "false",
+       "xml": "<outcome value='false'>\n",
+       "comments": "",
+       "outputs": 1,
+       "x": 1282.6835021972656,
+       "y": 1628.4613418579102,
+       "z": "5f2b1b80.205544",
+       "wires": [
+               ["f5cee36d.88941"]
+       ]
+}, {
+       "id": "f5cee36d.88941",
+       "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": 1453.6835021972656,
+       "y": 1636.461311340332,
+       "z": "5f2b1b80.205544",
+       "wires": []
+}, {
+       "id": "6f396aea.673404",
+       "type": "outcomeTrue",
+       "name": "false",
+       "xml": "<outcome value='false'>\n",
+       "comments": "",
+       "outputs": 1,
+       "x": 1287.6835021972656,
+       "y": 1707.4613418579102,
+       "z": "5f2b1b80.205544",
+       "wires": [
+               ["82e86a2a.10b8e8"]
+       ]
+}, {
+       "id": "82e86a2a.10b8e8",
+       "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",
+       "comments": "",
+       "x": 1458.6835021972656,
+       "y": 1715.461311340332,
+       "z": "5f2b1b80.205544",
+       "wires": []
+}, {
+       "id": "79b92f2b.ec99",
+       "type": "outcomeTrue",
+       "name": "false",
+       "xml": "<outcome value='false'>\n",
+       "comments": "",
+       "outputs": 1,
+       "x": 1278.6835021972656,
+       "y": 1778.4613418579102,
+       "z": "5f2b1b80.205544",
+       "wires": [
+               ["2dcb87b4.9d09e8"]
+       ]
+}, {
+       "id": "2dcb87b4.9d09e8",
+       "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",
+       "comments": "",
+       "x": 1449.6835021972656,
+       "y": 1786.461311340332,
+       "z": "5f2b1b80.205544",
+       "wires": []
+}, {
+       "id": "9e6c08bf.a2fe88",
+       "type": "switchNode",
+       "name": "switch network-parameter-name == 'actualId'",
+       "xml": "<switch test=\"`$tmp.network.network-data.network-topology.network-parameters.network-parameter[$cxid].network-parameter-name == 'actualId'`\">\n",
+       "comments": "",
+       "outputs": 1,
+       "x": 1156.0103759765625,
+       "y": 1364.0103759765625,
+       "z": "5f2b1b80.205544",
+       "wires": [
+               ["11fcb359.0b74ed"]
+       ]
+}, {
+       "id": "11fcb359.0b74ed",
+       "type": "outcomeTrue",
+       "name": "true",
+       "xml": "<outcome value='true'>\n",
+       "comments": "",
+       "outputs": 1,
+       "x": 1433.0103874206543,
+       "y": 1362.0104084014893,
+       "z": "5f2b1b80.205544",
+       "wires": [
+               ["f5a304ff.f9aea8"]
+       ]
+}, {
+       "id": "f5a304ff.f9aea8",
+       "type": "set",
+       "name": "set tmp.actualId",
+       "xml": "<set>\n<parameter name='tmp.actualId' value='`$tmp.network.network-data.network-topology.network-parameters.network-parameter[$cxid].network-parameter-value`' />\n<parameter name='tmp.actualId-found' value='true' />",
+       "comments": "",
+       "x": 1634.0104179382324,
+       "y": 1360.0104093551636,
+       "z": "5f2b1b80.205544",
+       "wires": []
+}, {
+       "id": "e4613219.7da05",
+       "type": "switchNode",
+       "name": "switch actualId-found == 'true'",
+       "xml": "<switch test=\"`$tmp.actualId-found == 'true'`\">\n",
+       "comments": "",
+       "outputs": 1,
+       "x": 887.2326049804688,
+       "y": 1868.454833984375,
+       "z": "5f2b1b80.205544",
+       "wires": [
+               ["572932d1.b17b3c", "c0db58a1.69dc58"]
+       ]
+}, {
+       "id": "572932d1.b17b3c",
+       "type": "outcomeTrue",
+       "name": "true",
+       "xml": "<outcome value='true'>\n",
+       "comments": "",
+       "outputs": 1,
+       "x": 1147.2326049804688,
+       "y": 1868.4546241760254,
+       "z": "5f2b1b80.205544",
+       "wires": [
+               ["2a83ab2c.a5f774"]
+       ]
+}, {
+       "id": "c0db58a1.69dc58",
+       "type": "outcomeTrue",
+       "name": "false",
+       "xml": "<outcome value='false'>\n",
+       "comments": "",
+       "outputs": 1,
+       "x": 1292.4548034667969,
+       "y": 1846.6769151687622,
+       "z": "5f2b1b80.205544",
+       "wires": [
+               ["cf40162e.095f98"]
+       ]
+}, {
+       "id": "cf40162e.095f98",
+       "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: Wan Connection actualId not found\" />\n    \n",
+       "comments": "",
+       "x": 1463.4548034667969,
+       "y": 1854.676884651184,
+       "z": "5f2b1b80.205544",
+       "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-delete.json b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_wan-connection-topology-operation-delete.json
new file mode 100644 (file)
index 0000000..4430f5e
--- /dev/null
@@ -0,0 +1,286 @@
+[{
+       "id": "c81f4d78.b1e6c",
+       "type": "dgstart",
+       "name": "DGSTART",
+       "outputs": 1,
+       "x": 100.01040649414062,
+       "y": 75.99999976158142,
+       "z": "b1682cba.152",
+       "wires": [
+               ["64b261af.cf184"]
+       ]
+}, {
+       "id": "64b261af.cf184",
+       "type": "service-logic",
+       "name": "GENERIC-RESOURCE-API ${project.version}",
+       "module": "GENERIC-RESOURCE-API",
+       "version": "${project.version}",
+       "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": 148.00001692771912,
+       "z": "b1682cba.152",
+       "wires": [
+               ["c6b54419.3039a8"]
+       ]
+}, {
+       "id": "c6b54419.3039a8",
+       "type": "method",
+       "name": "wan-connection-topology-operation-delete",
+       "xml": "<method rpc='wan-connection-topology-operation-delete' mode='sync'>\n",
+       "comments": "",
+       "outputs": 1,
+       "x": 300.0105285644531,
+       "y": 235.99999976158142,
+       "z": "b1682cba.152",
+       "wires": [
+               ["f3a69c11.4cac9"]
+       ]
+}, {
+       "id": "140a99be.e1cda6",
+       "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": 467.04176330566406,
+       "y": 511.031311750412,
+       "z": "b1682cba.152",
+       "wires": [
+               ["df506b8a.806268", "5d821249.e9d6cc"]
+       ]
+}, {
+       "id": "54dc8604.f2ccb8",
+       "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": 465.04168701171875,
+       "y": 589.0313127040863,
+       "z": "b1682cba.152",
+       "wires": [
+               ["1ab6bc40.bffaf4", "7db0c17f.b059"]
+       ]
+}, {
+       "id": "df506b8a.806268",
+       "type": "outcomeTrue",
+       "name": "true",
+       "xml": "<outcome value='true'>\n",
+       "comments": "",
+       "outputs": 1,
+       "x": 648.0417709350586,
+       "y": 513.0313451290131,
+       "z": "b1682cba.152",
+       "wires": [
+               ["44c3101c.7b387"]
+       ]
+}, {
+       "id": "1ab6bc40.bffaf4",
+       "type": "outcomeTrue",
+       "name": "true",
+       "xml": "<outcome value='true'>\n",
+       "comments": "",
+       "outputs": 1,
+       "x": 660.0417709350586,
+       "y": 591.0313451290131,
+       "z": "b1682cba.152",
+       "wires": [
+               ["44c3101c.7b387"]
+       ]
+}, {
+       "id": "5d821249.e9d6cc",
+       "type": "outcomeTrue",
+       "name": "false",
+       "xml": "<outcome value='false'>\n",
+       "comments": "",
+       "outputs": 1,
+       "x": 256.0416946411133,
+       "y": 592.0312840938568,
+       "z": "b1682cba.152",
+       "wires": [
+               ["54dc8604.f2ccb8"]
+       ]
+}, {
+       "id": "7f76e93c.a850f8",
+       "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": 491.010498046875,
+       "y": 356.00001883506775,
+       "z": "b1682cba.152",
+       "wires": [
+               []
+       ]
+}, {
+       "id": "f3a69c11.4cac9",
+       "type": "block",
+       "name": "block : atomic",
+       "xml": "<block atomic=\"true\">",
+       "atomic": "true",
+       "outputs": 1,
+       "x": 206.0104217529297,
+       "y": 335.99999594688416,
+       "z": "b1682cba.152",
+       "wires": [
+               ["7f76e93c.a850f8", "99bcb143.6aec8", "30b4304f.e646c", "140a99be.e1cda6"]
+       ]
+}, {
+       "id": "99bcb143.6aec8",
+       "type": "switchNode",
+       "name": "switch network-id",
+       "xml": "<switch test='`$network-topology-operation-input.network-information.network-id`'>\n",
+       "comments": "",
+       "outputs": 1,
+       "x": 491.0104293823242,
+       "y": 294.0000092983246,
+       "z": "b1682cba.152",
+       "wires": [
+               ["57d76327.9c63cc", "d50b31e0.e314e"]
+       ]
+}, {
+       "id": "57d76327.9c63cc",
+       "type": "outcome",
+       "name": "NULL",
+       "xml": "<outcome value=''>",
+       "comments": "",
+       "outputs": 1,
+       "x": 740.0105056762695,
+       "y": 233.00000929832458,
+       "z": "b1682cba.152",
+       "wires": [
+               ["54153e4c.ec78c"]
+       ]
+}, {
+       "id": "54153e4c.ec78c",
+       "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": 1010.0105209350586,
+       "y": 234.99999809265137,
+       "z": "b1682cba.152",
+       "wires": []
+}, {
+       "id": "d50b31e0.e314e",
+       "type": "other",
+       "name": "other",
+       "xml": "<outcome value='Other'>\n",
+       "comments": "",
+       "outputs": 1,
+       "x": 737.5104026794434,
+       "y": 281.0000035762787,
+       "z": "b1682cba.152",
+       "wires": [
+               []
+       ]
+}, {
+       "id": "30b4304f.e646c",
+       "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": 192.01040649414062,
+       "y": 943.0000705718994,
+       "z": "b1682cba.152",
+       "wires": []
+}, {
+       "id": "65a3a6ee.c50208",
+       "type": "block",
+       "name": "block",
+       "xml": "<block>\n",
+       "atomic": "false",
+       "comments": "",
+       "outputs": 1,
+       "x": 258.01040267944336,
+       "y": 735.0001106262207,
+       "z": "b1682cba.152",
+       "wires": [
+               []
+       ]
+}, {
+       "id": "7db0c17f.b059",
+       "type": "outcomeTrue",
+       "name": "false",
+       "xml": "<outcome value='false'>\n",
+       "comments": "",
+       "outputs": 1,
+       "x": 261.04176330566406,
+       "y": 675.0314900875092,
+       "z": "b1682cba.152",
+       "wires": [
+               ["65a3a6ee.c50208"]
+       ]
+}, {
+       "id": "44c3101c.7b387",
+       "type": "block",
+       "name": "block : atomic",
+       "xml": "<block atomic=\"true\">",
+       "atomic": "true",
+       "outputs": 1,
+       "x": 843.010383605957,
+       "y": 542.1214942932129,
+       "z": "b1682cba.152",
+       "wires": [
+               ["81240f98.0bd24", "51b098fe.5ee238", "e14455de.b9dcd8", "5e6ceda3.d49424", "629880b9.6f91a"]
+       ]
+}, {
+       "id": "81240f98.0bd24",
+       "type": "delete",
+       "name": "delete wan connection in AAI",
+       "xml": "<delete plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" resource='connectivity' \n        key='connectivity.connectivity-id = $network-topology-operation-input.network-information.network-id'>\n",
+       "comments": "",
+       "outputs": 1,
+       "x": 1139.0104446411133,
+       "y": 492.1214962005615,
+       "z": "b1682cba.152",
+       "wires": [
+               []
+       ]
+}, {
+       "id": "51b098fe.5ee238",
+       "type": "set",
+       "name": "set new network length",
+       "xml": "<set>\n\t<parameter name=\"service-data.networks.network_length\" value=\"`$service-data.networks.network_length - 1`\"/>\n\n\t\n",
+       "comments": "",
+       "x": 1116.4549293518066,
+       "y": 556.0104026794434,
+       "z": "b1682cba.152",
+       "wires": []
+}, {
+       "id": "e14455de.b9dcd8",
+       "type": "set",
+       "name": "Remove networks from ServiceData",
+       "xml": "<set>\n\t<parameter name=\"service-data.networks.network[$tmp.nidx].\" value=\"\"/>\n\n",
+       "comments": "",
+       "x": 1147.0791816711426,
+       "y": 607.9783487319946,
+       "z": "b1682cba.152",
+       "wires": []
+}, {
+       "id": "5e6ceda3.d49424",
+       "type": "set",
+       "name": "set networkId and network-object-path",
+       "xml": "<set>\n<parameter name='networkId' value='`$network-topology-operation-input.network-information.network-id`' />\n<parameter name='service-object-path' value=\"`'restconf/config/GENERIC-RESOURCE-API:services/service/'\n + $network-topology-operation-input.service-information.service-instance-id\n + '/service-data/service-topology/'` \" />",
+       "comments": "",
+       "x": 1157.8222579956055,
+       "y": 678.5394926071167,
+       "z": "b1682cba.152",
+       "wires": []
+}, {
+       "id": "629880b9.6f91a",
+       "type": "record",
+       "name": "record",
+       "xml": "<record plugin=\"org.onap.ccsdk.sli.core.sli.recording.FileRecorder\">\n<parameter name=\"file\" value=\"/opt/opendaylight/current/data/log/svclogic.log\"/>\n<parameter name=\"field1\" value=\"__TIMESTAMP__\"/>\n<parameter name=\"field2\" value=\"wan-connection-topology-operation-delete\"/>\n<parameter name=\"field3\" value=\"`$network-topology-operation-input.network-information.onap-model-information.model-name + ' delete'`\"/>\n",
+       "comments": "",
+       "outputs": 1,
+       "x": 1075.0103759765625,
+       "y": 423.34375,
+       "z": "b1682cba.152",
+       "wires": [
+               []
+       ]
+}]
\ No newline at end of file
index 6d06cce..94f4fe3 100755 (executable)
@@ -206,6 +206,10 @@ GENERIC-RESOURCE-API sdwan-vnf-topology-operation-wanport-create ${project.versi
 GENERIC-RESOURCE-API sdwan-vnf-topology-operation-wanport-deactivate ${project.version} sync
 GENERIC-RESOURCE-API sdwan-vnf-topology-operation-wanport-delete ${project.version} sync
 GENERIC-RESOURCE-API sdwan-wanport-vnf-topology-operation-underlay ${project.version} sync
+GENERIC-RESOURCE-API wan-connection-topology-operation-create ${project.version} sync
+GENERIC-RESOURCE-API wan-connection-topology-operation-activate ${project.version} sync
+GENERIC-RESOURCE-API wan-connection-topology-operation-deactivate ${project.version} sync
+GENERIC-RESOURCE-API wan-connection-topology-operation-delete ${project.version} sync
 
 
 
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
new file mode 100644 (file)
index 0000000..fbae8f8
--- /dev/null
@@ -0,0 +1,217 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<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"> 
+          <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 == '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>
+            <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"/> 
+                    </return>
+                  </outcome>
+                  <outcome value="true"> 
+                    <switch test="`$tmp.restapiUser-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 restapiUser 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'`"> 
+                              <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"/> 
+                                </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>
+                              </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>
+  </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
new file mode 100644 (file)
index 0000000..61453ea
--- /dev/null
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<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-create" mode="sync"> 
+    <block atomic="true">
+      <switch test="`$network-topology-operation-input.network-information.network-id`"> 
+        <outcome value="">
+          <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils" method="generateUUID"> 
+            <parameter name="ctx-destination" value="network-topology-operation-input.network-information.network-id"/>  
+            <outcome value="failure"> 
+              <return status="failure"> 
+                <parameter name="error-code" value=""/>  
+                <parameter name="error-message" value="An error occured while generation allotted resource ID"/> 
+              </return>
+            </outcome>
+          </execute>
+        </outcome>
+        <outcome value="Other"></outcome>
+      </switch>
+      <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="contains"> 
+        <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>
+        </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>
+            </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>
+                </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"/>  
+                    <outcome value="true"> 
+                      <call module="GENERIC-RESOURCE-API" rpc="wan-connection-route-calculation" mode="sync"></call>
+                    </outcome>
+                    <outcome value="false"> 
+                      <block></block>
+                    </outcome>
+                  </execute>
+                </outcome>
+              </execute>
+            </outcome>
+          </execute>
+        </outcome>
+      </execute>
+      <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>
+  </method>
+</service-logic>
diff --git a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_wan-connection-topology-operation-deactivate.xml b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_wan-connection-topology-operation-deactivate.xml
new file mode 100644 (file)
index 0000000..592fb65
--- /dev/null
@@ -0,0 +1,215 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<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-deactivate" 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-id == $network-topology-operation-input.network-information.network-id`"> 
+          <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"> 
+          <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.thirdPartyAdaptorRpc-found" value="false"/>  
+              <parameter name="tmp.actualId-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 == 'restapiUrl-deactivate'`"> 
+                  <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 == 'actualId'`"> 
+                  <outcome value="true"> 
+                    <set> 
+                      <parameter name="tmp.actualId" value="`$tmp.network.network-data.network-topology.network-parameters.network-parameter[$cxid].network-parameter-value`"/>  
+                      <parameter name="tmp.actualId-found" value="true"/>
+                    </set>
+                  </outcome>
+                </switch>
+                <switch test="`$tmp.network.network-data.network-topology.network-parameters.network-parameter[$cxid].network-parameter-name == 'thirdPartyAdaptorRpc-deactivate'`"> 
+                  <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.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"> 
+                    <switch test="`$tmp.restapiUser-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 restapiUser 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.actualId-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: Wan Connection actualId not found"/> 
+                                </return>
+                              </outcome>
+                              <outcome value="true"> 
+                                <execute plugin="org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode" method="sendRequest"> 
+                                  <parameter name="restapiUrl" value="`$tmp.restapiUrl + $tmp.actualId`"/>  
+                                  <parameter name="restapiUser" value="`$tmp.restapiUser`"/>  
+                                  <parameter name="restapiPassword" value="`$tmp.restapiPassword`"/>  
+                                  <parameter name="format" value="json"/>  
+                                  <parameter name="httpMethod" value="delete"/>
+                                  <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>
+                      </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>
+  </method>
+</service-logic>
diff --git a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_wan-connection-topology-operation-delete.xml b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_wan-connection-topology-operation-delete.xml
new file mode 100644 (file)
index 0000000..9c24e52
--- /dev/null
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<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-delete" mode="sync"> 
+    <block atomic="true">
+      <switch test="`$network-topology-operation-input.network-information.network-id`"> 
+        <outcome value="">
+          <return status="failure"> 
+            <parameter name="error-code" value=""/>  
+            <parameter name="error-message" value="An error occured while generation allotted resource ID"/> 
+          </return>
+        </outcome>
+        <outcome value="Other"></outcome>
+      </switch>
+      <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="contains"> 
+        <parameter name="source" value="`$network-topology-operation-input.network-information.onap-model-information.model-name`"/>  
+        <parameter name="target" value="FC"/>  
+        <outcome value="true"> 
+          <block atomic="true">
+            <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> 
+              <parameter name="file" value="/opt/opendaylight/current/data/log/svclogic.log"/>  
+              <parameter name="field1" value="__TIMESTAMP__"/>  
+              <parameter name="field2" value="wan-connection-topology-operation-delete"/>  
+              <parameter name="field3" value="`$network-topology-operation-input.network-information.onap-model-information.model-name + ' delete'`"/> 
+            </record>
+            <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="connectivity" key="connectivity.connectivity-id = $network-topology-operation-input.network-information.network-id"></delete>
+            <set> 
+              <parameter name="service-data.networks.network_length" value="`$service-data.networks.network_length - 1`"/> 
+            </set>
+            <set> 
+              <parameter name="service-data.networks.network[$tmp.nidx]." value=""/> 
+            </set>
+            <set> 
+              <parameter name="networkId" value="`$network-topology-operation-input.network-information.network-id`"/>  
+              <parameter name="service-object-path" value="`'restconf/config/GENERIC-RESOURCE-API:services/service/'  + $network-topology-operation-input.service-information.service-instance-id  + '/service-data/service-topology/'` "/>
+            </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="FD"/>  
+            <outcome value="true"> 
+              <block atomic="true">
+                <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> 
+                  <parameter name="file" value="/opt/opendaylight/current/data/log/svclogic.log"/>  
+                  <parameter name="field1" value="__TIMESTAMP__"/>  
+                  <parameter name="field2" value="wan-connection-topology-operation-delete"/>  
+                  <parameter name="field3" value="`$network-topology-operation-input.network-information.onap-model-information.model-name + ' delete'`"/> 
+                </record>
+                <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="connectivity" key="connectivity.connectivity-id = $network-topology-operation-input.network-information.network-id"></delete>
+                <set> 
+                  <parameter name="service-data.networks.network_length" value="`$service-data.networks.network_length - 1`"/> 
+                </set>
+                <set> 
+                  <parameter name="service-data.networks.network[$tmp.nidx]." value=""/> 
+                </set>
+                <set> 
+                  <parameter name="networkId" value="`$network-topology-operation-input.network-information.network-id`"/>  
+                  <parameter name="service-object-path" value="`'restconf/config/GENERIC-RESOURCE-API:services/service/'  + $network-topology-operation-input.service-information.service-instance-id  + '/service-data/service-topology/'` "/>
+                </set>
+              </block>
+            </outcome>
+            <outcome value="false"> 
+              <block></block>
+            </outcome>
+          </execute>
+        </outcome>
+      </execute>
+      <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>
+  </method>
+</service-logic>