Adding support for multi-layer and multi-domain topology discovery for CCVPN 47/102647/4
authorHesam Rahimi <hesam.rahimi@huawei.com>
Sat, 29 Feb 2020 00:25:00 +0000 (00:25 +0000)
committerHesam Rahimi <hesam.rahimi@huawei.com>
Wed, 4 Mar 2020 01:30:24 +0000 (01:30 +0000)
Issue-ID: SDNC-899
Change-Id: I20f9d82e2488be3f90ef2566511787c69b6f7ed0
Signed-off-by: Hesam Rahimi <hesam.rahimi@huawei.com>
Former-commit-id: e5d3e8b2548f4cfe234e7d35733964e803cc0594

platform-logic/datachange/src/main/json/DataChange_esr-thirdparty-sdnc-discovery.json
platform-logic/datachange/src/main/json/DataChange_update-network-links-to-aai.json [new file with mode: 0644]
platform-logic/datachange/src/main/json/DataChange_update-network-to-aai.json
platform-logic/datachange/src/main/json/DataChange_update-open-ended-links.json [new file with mode: 0644]
platform-logic/datachange/src/main/json/DataChange_update-tp-ttp-relationship.json [new file with mode: 0644]
platform-logic/datachange/src/main/resources/graph.versions
platform-logic/datachange/src/main/xml/DataChange_esr-thirdparty-sdnc-discovery.xml
platform-logic/datachange/src/main/xml/DataChange_update-network-links-to-aai.xml [new file with mode: 0644]
platform-logic/datachange/src/main/xml/DataChange_update-network-to-aai.xml
platform-logic/datachange/src/main/xml/DataChange_update-open-ended-links.xml [new file with mode: 0644]
platform-logic/datachange/src/main/xml/DataChange_update-tp-ttp-relationship.xml [new file with mode: 0644]

index 9b95dc5..232afae 100644 (file)
 [\r
     {\r
-        "id": "36e96ed4.41d832",\r
+        "id": "b49e6ed1.c8dcb",\r
         "type": "other",\r
         "name": "update",\r
         "xml": "<outcome value='Update'>\n",\r
         "comments": "",\r
         "outputs": 1,\r
-        "x": 665.5,\r
-        "y": 329,\r
-        "z": "35b097d7.5fa018",\r
+        "x": 663,\r
+        "y": 290,\r
+        "z": "1b18cff5.bba51",\r
         "wires": [\r
             [\r
-                "8acc6f21.be6fc8"\r
+                "afc79595.03a058"\r
             ]\r
         ]\r
     },\r
     {\r
-        "id": "6f06aa61.f248ec",\r
+        "id": "93d3a809.23d83",\r
         "type": "other",\r
         "name": "delete",\r
         "xml": "<outcome value='delete'>\n",\r
         "comments": "",\r
         "outputs": 1,\r
-        "x": 665.5,\r
-        "y": 409,\r
-        "z": "35b097d7.5fa018",\r
+        "x": 663,\r
+        "y": 370,\r
+        "z": "1b18cff5.bba51",\r
         "wires": [\r
             [\r
-                "a603632c.68bff"\r
+                "87f5ce3d.163be8"\r
             ]\r
         ]\r
     },\r
     {\r
-        "id": "a603632c.68bff",\r
+        "id": "87f5ce3d.163be8",\r
         "type": "block",\r
         "name": "block : atomic",\r
         "xml": "<block atomic=\"true\">",\r
         "atomic": "true",\r
         "outputs": 1,\r
-        "x": 807,\r
-        "y": 409,\r
-        "z": "35b097d7.5fa018",\r
+        "x": 804.5,\r
+        "y": 370,\r
+        "z": "1b18cff5.bba51",\r
         "wires": [\r
             []\r
         ]\r
     },\r
     {\r
-        "id": "68bed413.930adc",\r
+        "id": "ed89d8e2.366518",\r
         "type": "comment",\r
         "name": "TODO: Delete topology from AAI",\r
         "info": "",\r
         "comments": "",\r
-        "x": 739.8335189819336,\r
-        "y": 376.96899485588074,\r
-        "z": "35b097d7.5fa018",\r
+        "x": 737.3335189819336,\r
+        "y": 337.96899485588074,\r
+        "z": "1b18cff5.bba51",\r
         "wires": []\r
     },\r
     {\r
-        "id": "50de7689.c1ed4",\r
+        "id": "493ee223.06b5cc",\r
         "type": "switchNode",\r
         "name": "switch aai-event-trigger",\r
         "xml": "<switch test=\"`$data-change-notification-input.aai-event-trigger`\">\n",\r
         "comments": "",\r
         "outputs": 1,\r
-        "x": 496,\r
-        "y": 369,\r
-        "z": "35b097d7.5fa018",\r
+        "x": 493.5,\r
+        "y": 330,\r
+        "z": "1b18cff5.bba51",\r
         "wires": [\r
             [\r
-                "36e96ed4.41d832",\r
-                "6f06aa61.f248ec"\r
+                "b49e6ed1.c8dcb",\r
+                "93d3a809.23d83"\r
             ]\r
         ]\r
     },\r
     {\r
-        "id": "e12b7948.8a8be",\r
+        "id": "c970e0d9.988dc8",\r
         "type": "block",\r
         "name": "block : atomic",\r
         "xml": "<block atomic=\"true\">",\r
         "atomic": "true",\r
         "outputs": 1,\r
-        "x": 1193,\r
-        "y": 240,\r
-        "z": "35b097d7.5fa018",\r
+        "x": 1190.5,\r
+        "y": 201,\r
+        "z": "1b18cff5.bba51",\r
         "wires": [\r
             [\r
-                "484845a5.2238e4",\r
-                "4e058d3f.ebbc8c",\r
-                "19259d76.96fc3b",\r
-                "ac66ccfd.381a88",\r
-                "da47859b.4ec77"\r
+                "b93333aa.1c0a7",\r
+                "8e89ec86.381848",\r
+                "6bfd56ef.86aba8",\r
+                "29c878c8.6e2e3",\r
+                "9dd42ebd.c3ec58"\r
             ]\r
         ]\r
     },\r
     {\r
-        "id": "4e058d3f.ebbc8c",\r
+        "id": "8e89ec86.381848",\r
         "type": "execute",\r
         "name": "execute RestApiCallNode Get token",\r
         "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"templateFileName\" value=\"`$prop.restapi.templateDir + '/actokentemplate.json'`\" />\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/v2/tokens'`\" />\n<parameter name=\"format\" value=\"json\"/>\n<parameter name=\"httpMethod\" value=\"post\"/>\n<parameter name=\"responsePrefix\" value=\"token-result\"/>\n<parameter name=\"trustStoreFileName\" value=\"/opt/onap/sdnc/data/stores/truststore.onap.client.jks\"/>\n<parameter name=\"trustStorePassword\" value=\"adminadmin\"/>\n<parameter name=\"keyStoreFileName\" value=\"/opt/onap/sdnc/data/stores/sdnc.p12\"/>\n<parameter name=\"keyStorePassword\" value=\"adminadmin\"/>",\r
         "comments": "",\r
         "outputs": 1,\r
-        "x": 1466.0001983642578,\r
-        "y": 161.00000953674316,\r
-        "z": "35b097d7.5fa018",\r
+        "x": 1463.5001983642578,\r
+        "y": 122.00000953674316,\r
+        "z": "1b18cff5.bba51",\r
         "wires": [\r
             [\r
-                "916502a3.877388",\r
-                "e44e3e68.a49fd8"\r
+                "37b02225.daaf3e",\r
+                "e44faed5.0a562"\r
             ]\r
         ]\r
     },\r
     {\r
-        "id": "916502a3.877388",\r
+        "id": "37b02225.daaf3e",\r
         "type": "success",\r
         "name": "success",\r
         "xml": "<outcome value='success'>\n",\r
         "comments": "",\r
         "outputs": 1,\r
-        "x": 1755.500244140625,\r
-        "y": 153,\r
-        "z": "35b097d7.5fa018",\r
+        "x": 1753.000244140625,\r
+        "y": 114,\r
+        "z": "1b18cff5.bba51",\r
         "wires": [\r
             [\r
-                "a8c3cc1.f5d4bb"\r
+                "9ee82b4c.027258"\r
             ]\r
         ]\r
     },\r
     {\r
-        "id": "e44e3e68.a49fd8",\r
+        "id": "e44faed5.0a562",\r
         "type": "failure",\r
         "name": "failure",\r
         "xml": "<outcome value='failure'>\n",\r
         "comments": "",\r
         "outputs": 1,\r
-        "x": 1751.500244140625,\r
-        "y": 193,\r
-        "z": "35b097d7.5fa018",\r
+        "x": 1749.000244140625,\r
+        "y": 154,\r
+        "z": "1b18cff5.bba51",\r
         "wires": [\r
             [\r
-                "e40e8527.2ee67"\r
+                "95fadd6c.fb4588"\r
             ]\r
         ]\r
     },\r
     {\r
-        "id": "a8c3cc1.f5d4bb",\r
+        "id": "9ee82b4c.027258",\r
         "type": "set",\r
         "name": "set token-id",\r
         "xml": "<set>\n<parameter name='prop.sdncRestApi.token_id' value='`$token-result.data.token_id`' />\n",\r
         "comments": "",\r
-        "x": 1906.000244140625,\r
-        "y": 153,\r
-        "z": "35b097d7.5fa018",\r
+        "x": 1903.500244140625,\r
+        "y": 114,\r
+        "z": "1b18cff5.bba51",\r
         "wires": []\r
     },\r
     {\r
-        "id": "f1eb21a4.8d1378",\r
+        "id": "d863483.fe451b8",\r
         "type": "execute",\r
         "name": "execute RestApiCallNode Get Topology",\r
         "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/restconf/data/ietf-network:networks'`\" />\n<parameter name=\"restapiUser\" value=\"`$prop.sdncRestApi.thirdpartySdnc.user`\" />\n<parameter name=\"restapiPassword\" value=\"`$prop.sdncRestApi.thirdpartySdnc.password`\" />\n<parameter name=\"format\" value=\"json\"/>\n<parameter name=\"httpMethod\" value=\"get\"/>\n<parameter name=\"responsePrefix\" value=\"topology\"/>\n<parameter name=\"trustStoreFileName\" value=\"/opt/onap/sdnc/data/stores/truststore.onap.client.jks\"/>\n<parameter name=\"trustStorePassword\" value=\"adminadmin\"/>\n<parameter name=\"keyStoreFileName\" value=\"/opt/onap/sdnc/data/stores/sdnc.p12\"/>\n<parameter name=\"keyStorePassword\" value=\"adminadmin\"/>\n<parameter name='customHttpHeaders' value=\"`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`\" />",\r
         "comments": "",\r
         "outputs": 1,\r
-        "x": 1973.000244140625,\r
-        "y": 273,\r
-        "z": "35b097d7.5fa018",\r
+        "x": 1970.500244140625,\r
+        "y": 234,\r
+        "z": "1b18cff5.bba51",\r
         "wires": [\r
             [\r
-                "8660dd2a.bc5478",\r
-                "f7ff1324.a58c28"\r
+                "27150b59.a15c7c",\r
+                "10804f14.8fac71"\r
             ]\r
         ]\r
     },\r
     {\r
-        "id": "8660dd2a.bc5478",\r
+        "id": "27150b59.a15c7c",\r
         "type": "success",\r
         "name": "success",\r
         "xml": "<outcome value='success'>\n",\r
         "comments": "",\r
         "outputs": 1,\r
-        "x": 2215.500244140625,\r
-        "y": 293,\r
-        "z": "35b097d7.5fa018",\r
+        "x": 2213.000244140625,\r
+        "y": 254,\r
+        "z": "1b18cff5.bba51",\r
         "wires": [\r
             [\r
-                "73cb768c.3647e"\r
+                "45766a62.487964"\r
             ]\r
         ]\r
     },\r
     {\r
-        "id": "73cb768c.3647e",\r
+        "id": "45766a62.487964",\r
         "type": "block",\r
         "name": "block : atomic",\r
         "xml": "<block atomic=\"true\">",\r
         "atomic": "true",\r
         "comments": "",\r
         "outputs": 1,\r
-        "x": 2373.000244140625,\r
-        "y": 293,\r
-        "z": "35b097d7.5fa018",\r
+        "x": 2370.500244140625,\r
+        "y": 254,\r
+        "z": "1b18cff5.bba51",\r
         "wires": [\r
             [\r
-                "92b164bb.975a38"\r
+                "ed8abc6a.23da9",\r
+                "3075f0c3.b7397",\r
+                "5530fe3e.d46a6"\r
             ]\r
         ]\r
     },\r
     {\r
-        "id": "33371bb9.421c84",\r
+        "id": "679734df.7d768c",\r
         "type": "returnFailure",\r
         "name": "return failure",\r
         "xml": "<return status='failure'>\n <parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n    <parameter name=\"error-message\" value=\"Error executing Create vpn rest api\" />\n",\r
         "comments": "",\r
-        "x": 2349.500244140625,\r
-        "y": 193,\r
-        "z": "35b097d7.5fa018",\r
+        "x": 2347.000244140625,\r
+        "y": 154,\r
+        "z": "1b18cff5.bba51",\r
         "wires": []\r
     },\r
     {\r
-        "id": "f7ff1324.a58c28",\r
+        "id": "10804f14.8fac71",\r
         "type": "failure",\r
         "name": "failure",\r
         "xml": "<outcome value='failure'>\n",\r
         "comments": "",\r
         "outputs": 1,\r
-        "x": 2211.500244140625,\r
-        "y": 193,\r
-        "z": "35b097d7.5fa018",\r
+        "x": 2209.000244140625,\r
+        "y": 154,\r
+        "z": "1b18cff5.bba51",\r
         "wires": [\r
             [\r
-                "33371bb9.421c84"\r
+                "679734df.7d768c"\r
             ]\r
         ]\r
     },\r
     {\r
-        "id": "ea734627.c2c7d8",\r
+        "id": "fb65e652.c18e18",\r
         "type": "dgstart",\r
         "name": "DGSTART",\r
         "outputs": 1,\r
-        "x": 118.5,\r
-        "y": 104,\r
-        "z": "35b097d7.5fa018",\r
+        "x": 116,\r
+        "y": 65,\r
+        "z": "1b18cff5.bba51",\r
         "wires": [\r
             [\r
-                "89ca9d8b.bbc328"\r
+                "5fd8c6ae.cf15e8"\r
             ]\r
         ]\r
     },\r
     {\r
-        "id": "89ca9d8b.bbc328",\r
+        "id": "5fd8c6ae.cf15e8",\r
         "type": "service-logic",\r
         "name": "DataChange ${project.version}",\r
         "module": "DataChange",\r
         "comments": "",\r
         "xml": "<service-logic xmlns='http://www.onap.org/sdnc/svclogic' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='DataChange' version='${project.version}'>",\r
         "outputs": 1,\r
-        "x": 131.5,\r
-        "y": 164,\r
-        "z": "35b097d7.5fa018",\r
+        "x": 129,\r
+        "y": 125,\r
+        "z": "1b18cff5.bba51",\r
         "wires": [\r
             [\r
-                "789b0d9d.02f75c"\r
+                "7c6d0d29.a4e9cc"\r
             ]\r
         ]\r
     },\r
     {\r
-        "id": "789b0d9d.02f75c",\r
+        "id": "7c6d0d29.a4e9cc",\r
         "type": "method",\r
         "name": "method esr-thirdparty-sdnc-discovery",\r
         "xml": "<method rpc='esr-thirdparty-sdnc-discovery' mode='sync'>\n",\r
         "comments": "",\r
         "outputs": 1,\r
-        "x": 151.5,\r
-        "y": 244,\r
-        "z": "35b097d7.5fa018",\r
+        "x": 149,\r
+        "y": 205,\r
+        "z": "1b18cff5.bba51",\r
         "wires": [\r
             [\r
-                "19dd5973.ca5fbf"\r
+                "d5da3f05.d59de8"\r
             ]\r
         ]\r
     },\r
     {\r
-        "id": "19dd5973.ca5fbf",\r
+        "id": "d5da3f05.d59de8",\r
         "type": "block",\r
         "name": "block : atomic",\r
         "xml": "<block atomic=\"true\">\n",\r
         "atomic": "false",\r
         "comments": "",\r
         "outputs": 1,\r
-        "x": 399,\r
-        "y": 244,\r
-        "z": "35b097d7.5fa018",\r
+        "x": 396.5,\r
+        "y": 205,\r
+        "z": "1b18cff5.bba51",\r
         "wires": [\r
             [\r
-                "72476c1.b3cb514"\r
+                "94fe0252.df11a8"\r
             ]\r
         ]\r
     },\r
     {\r
-        "id": "92b164bb.975a38",\r
+        "id": "ed8abc6a.23da9",\r
         "type": "for",\r
         "name": "for each Network",\r
         "xml": "<for index='nidx' start='0' end='`$topology.networks.network_length`' >\n",\r
         "comments": "",\r
         "outputs": 1,\r
-        "x": 1799.000259399414,\r
-        "y": 392.00001525878906,\r
-        "z": "35b097d7.5fa018",\r
+        "x": 2609.500244140625,\r
+        "y": 214,\r
+        "z": "1b18cff5.bba51",\r
         "wires": [\r
             [\r
-                "a33c6916.e2063"\r
+                "9a721924.2f2028"\r
             ]\r
         ]\r
     },\r
     {\r
-        "id": "a33c6916.e2063",\r
+        "id": "9a721924.2f2028",\r
         "type": "block",\r
         "name": "block",\r
         "xml": "<block>\n",\r
         "atomic": "false",\r
         "comments": "",\r
         "outputs": 1,\r
-        "x": 1947.500259399414,\r
-        "y": 392.00001525878906,\r
-        "z": "35b097d7.5fa018",\r
+        "x": 2786.000244140625,\r
+        "y": 209,\r
+        "z": "1b18cff5.bba51",\r
         "wires": [\r
             [\r
-                "70a92c18.3741ec",\r
-                "6196a44a.543cec"\r
+                "6726d129.2959a",\r
+                "896230f8.99ca6"\r
             ]\r
         ]\r
     },\r
     {\r
-        "id": "70a92c18.3741ec",\r
+        "id": "6726d129.2959a",\r
         "type": "call",\r
         "name": "call update-network-to-aai",\r
         "xml": "<call module='DataChange' rpc='update-network-to-aai' mode='sync' >\n",\r
         "comments": "",\r
         "outputs": 1,\r
-        "x": 2126.500259399414,\r
-        "y": 412.00001525878906,\r
-        "z": "35b097d7.5fa018",\r
+        "x": 2965.000244140625,\r
+        "y": 229,\r
+        "z": "1b18cff5.bba51",\r
         "wires": [\r
             []\r
         ]\r
     },\r
     {\r
-        "id": "6196a44a.543cec",\r
+        "id": "896230f8.99ca6",\r
         "type": "set",\r
         "name": "set network",\r
         "xml": "<set>\n<parameter name='network.' value='`$topology.networks.network[$nidx].`' />\n",\r
         "comments": "",\r
-        "x": 2081.500259399414,\r
-        "y": 372.00001525878906,\r
-        "z": "35b097d7.5fa018",\r
+        "x": 2920.000244140625,\r
+        "y": 189,\r
+        "z": "1b18cff5.bba51",\r
         "wires": []\r
     },\r
     {\r
-        "id": "e40e8527.2ee67",\r
+        "id": "95fadd6c.fb4588",\r
         "type": "block",\r
         "name": "block",\r
         "xml": "<block>\n",\r
         "atomic": "false",\r
         "comments": "",\r
         "outputs": 1,\r
-        "x": 1871.500244140625,\r
-        "y": 193,\r
-        "z": "35b097d7.5fa018",\r
+        "x": 1869.000244140625,\r
+        "y": 154,\r
+        "z": "1b18cff5.bba51",\r
         "wires": [\r
             []\r
         ]\r
     },\r
     {\r
-        "id": "984ef742.f7de98",\r
+        "id": "8fa7ac01.7e9068",\r
         "type": "comment",\r
         "name": "Do Nothing",\r
         "info": "",\r
         "comments": "",\r
-        "x": 2041.500244140625,\r
-        "y": 233,\r
-        "z": "35b097d7.5fa018",\r
+        "x": 2039.000244140625,\r
+        "y": 194,\r
+        "z": "1b18cff5.bba51",\r
         "wires": []\r
     },\r
     {\r
-        "id": "4308651d.5eb474",\r
+        "id": "4076575b.04c63",\r
         "type": "switchNode",\r
         "name": "switch type",\r
         "xml": "<switch test=\"`$prop.sdncRestApi.type`\">\n",\r
         "comments": "",\r
         "outputs": 1,\r
-        "x": 918.5,\r
-        "y": 329,\r
-        "z": "35b097d7.5fa018",\r
+        "x": 916,\r
+        "y": 290,\r
+        "z": "1b18cff5.bba51",\r
         "wires": [\r
             [\r
-                "98c19260.813238",\r
-                "3ccd2719.ec5e88",\r
-                "c0dd9c59.c4eff8",\r
-                "4451a4e9.723244"\r
+                "e5bd5122.002238",\r
+                "6d8d65c8.0b06bc",\r
+                "b3287819.8ca7c",\r
+                "4433c168.8e0cb"\r
             ]\r
         ]\r
     },\r
     {\r
-        "id": "8acc6f21.be6fc8",\r
+        "id": "afc79595.03a058",\r
         "type": "block",\r
         "name": "block",\r
         "xml": "<block>\n",\r
         "atomic": "false",\r
         "comments": "",\r
         "outputs": 1,\r
-        "x": 785.5,\r
-        "y": 329,\r
-        "z": "35b097d7.5fa018",\r
+        "x": 783,\r
+        "y": 290,\r
+        "z": "1b18cff5.bba51",\r
         "wires": [\r
             [\r
-                "4308651d.5eb474"\r
+                "4076575b.04c63"\r
             ]\r
         ]\r
     },\r
     {\r
-        "id": "98c19260.813238",\r
+        "id": "e5bd5122.002238",\r
         "type": "other",\r
         "name": "SOTN",\r
         "xml": "<outcome value='SOTN'>\n",\r
         "comments": "",\r
         "outputs": 1,\r
-        "x": 1031.5,\r
-        "y": 240,\r
-        "z": "35b097d7.5fa018",\r
+        "x": 1029,\r
+        "y": 201,\r
+        "z": "1b18cff5.bba51",\r
         "wires": [\r
             [\r
-                "e12b7948.8a8be"\r
+                "c970e0d9.988dc8"\r
             ]\r
         ]\r
     },\r
     {\r
-        "id": "3ccd2719.ec5e88",\r
+        "id": "6d8d65c8.0b06bc",\r
         "type": "other",\r
         "name": "other",\r
         "xml": "<outcome value='Other'>\n",\r
         "comments": "",\r
         "outputs": 1,\r
-        "x": 1033.500087738037,\r
-        "y": 789.0001106262207,\r
-        "z": "35b097d7.5fa018",\r
+        "x": 1031.000087738037,\r
+        "y": 750.0001106262207,\r
+        "z": "1b18cff5.bba51",\r
         "wires": [\r
             [\r
-                "f4c76776.724b28"\r
+                "f76541c6.503d4"\r
             ]\r
         ]\r
     },\r
     {\r
-        "id": "f4c76776.724b28",\r
+        "id": "f76541c6.503d4",\r
         "type": "returnFailure",\r
         "name": "return failure",\r
         "xml": "<return status='failure'>\n<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n    <parameter name=\"error-message\" value=\"`'Unsupported type = ' + $prop.sdncRestApi.type`\" />\n\n",\r
         "comments": "",\r
-        "x": 1183.5000610351562,\r
-        "y": 785.0000972747803,\r
-        "z": "35b097d7.5fa018",\r
+        "x": 1181.0000610351562,\r
+        "y": 746.0000972747803,\r
+        "z": "1b18cff5.bba51",\r
         "wires": []\r
     },\r
     {\r
-        "id": "484845a5.2238e4",\r
+        "id": "b93333aa.1c0a7",\r
         "type": "execute",\r
         "name": "execute Properties",\r
         "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",\r
         "comments": "",\r
         "outputs": 1,\r
-        "x": 1412.5001983642578,\r
-        "y": 121.00000953674316,\r
-        "z": "35b097d7.5fa018",\r
+        "x": 1410.0001983642578,\r
+        "y": 82.00000953674316,\r
+        "z": "1b18cff5.bba51",\r
         "wires": [\r
             []\r
         ]\r
     },\r
     {\r
-        "id": "19259d76.96fc3b",\r
+        "id": "6bfd56ef.86aba8",\r
         "type": "switchNode",\r
         "name": "switch prop.sdncRestApi.token_id",\r
         "xml": "<switch test=\"`$prop.sdncRestApi.token_id`\">\n",\r
         "comments": "",\r
         "outputs": 1,\r
-        "x": 1459.0001983642578,\r
-        "y": 241.00000953674316,\r
-        "z": "35b097d7.5fa018",\r
+        "x": 1456.5001983642578,\r
+        "y": 202.00000953674316,\r
+        "z": "1b18cff5.bba51",\r
         "wires": [\r
             [\r
-                "2313a899.da913",\r
-                "531d5829.4a09a8"\r
+                "ec0b1f86.de86a8",\r
+                "d869f67b.6cbd68"\r
             ]\r
         ]\r
     },\r
     {\r
-        "id": "2313a899.da913",\r
+        "id": "ec0b1f86.de86a8",\r
         "type": "other",\r
         "name": "Null",\r
         "xml": "<outcome value=''>\n",\r
         "comments": "",\r
         "outputs": 1,\r
-        "x": 1751.500244140625,\r
-        "y": 233,\r
-        "z": "35b097d7.5fa018",\r
+        "x": 1749.000244140625,\r
+        "y": 194,\r
+        "z": "1b18cff5.bba51",\r
         "wires": [\r
             [\r
-                "c60b8cf4.53a21"\r
+                "36410877.b60b2"\r
             ]\r
         ]\r
     },\r
     {\r
-        "id": "531d5829.4a09a8",\r
+        "id": "d869f67b.6cbd68",\r
         "type": "other",\r
         "name": "other",\r
         "xml": "<outcome value='Other'>\n",\r
         "comments": "",\r
         "outputs": 1,\r
-        "x": 1751.500244140625,\r
-        "y": 273,\r
-        "z": "35b097d7.5fa018",\r
+        "x": 1749.000244140625,\r
+        "y": 234,\r
+        "z": "1b18cff5.bba51",\r
         "wires": [\r
             [\r
-                "f1eb21a4.8d1378"\r
+                "d863483.fe451b8"\r
             ]\r
         ]\r
     },\r
     {\r
-        "id": "c60b8cf4.53a21",\r
+        "id": "36410877.b60b2",\r
         "type": "execute",\r
         "name": "execute RestApiCallNode Get Topology",\r
         "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/restconf/data/ietf-network:networks'`\" />\n<parameter name=\"restapiUser\" value=\"`$prop.sdncRestApi.thirdpartySdnc.user`\" />\n<parameter name=\"restapiPassword\" value=\"`$prop.sdncRestApi.thirdpartySdnc.password`\" />\n<parameter name=\"format\" value=\"json\"/>\n<parameter name=\"httpMethod\" value=\"get\"/>\n<parameter name=\"responsePrefix\" value=\"topology\"/>\n<parameter name=\"trustStoreFileName\" value=\"/opt/onap/sdnc/data/stores/truststore.onap.client.jks\"/>\n<parameter name=\"trustStorePassword\" value=\"adminadmin\"/>\n<parameter name=\"keyStoreFileName\" value=\"/opt/onap/sdnc/data/stores/sdnc.p12\"/>\n<parameter name=\"keyStorePassword\" value=\"adminadmin\"/>\n",\r
         "comments": "",\r
         "outputs": 1,\r
-        "x": 1973.000244140625,\r
-        "y": 233,\r
-        "z": "35b097d7.5fa018",\r
+        "x": 1970.500244140625,\r
+        "y": 194,\r
+        "z": "1b18cff5.bba51",\r
         "wires": [\r
             [\r
-                "f7ff1324.a58c28",\r
-                "8660dd2a.bc5478"\r
+                "10804f14.8fac71",\r
+                "27150b59.a15c7c"\r
             ]\r
         ]\r
     },\r
     {\r
-        "id": "da47859b.4ec77",\r
+        "id": "9dd42ebd.c3ec58",\r
         "type": "execute",\r
         "name": "execute RestconfDiscoveryNode",\r
         "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restconfdiscovery.RestconfDiscoveryNode' method='establishSubscription' >\n<parameter name=\"subscriberId\" value=\"sotn-controller\" />\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/restconf/operations/ietf-subscribed-notifications:establish-subscription'`\" />\n<parameter name=\"restapiUser\" value=\"`$prop.sdncRestApi.thirdpartySdnc.user`\" />\n<parameter name=\"restapiPassword\" value=\"`$prop.sdncRestApi.thirdpartySdnc.password`\" />\n<parameter name=\"sseConnectURL\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/restconf/streams/yang-push-json'`\" />\n<parameter name=\"dirPath\" value=\"/opt/sdnc/restconfapi/yang/notification\" />\n<parameter name=\"format\" value=\"json\" />\n<parameter name=\"httpMethod\" value=\"post\" />\n<parameter name=\"trustStoreFileName\" value=\"/opt/onap/sdnc/data/stores/truststore.onap.client.jks\"/>\n<parameter name=\"trustStorePassword\" value=\"adminadmin\"/>\n<parameter name=\"keyStoreFileName\" value=\"/opt/onap/sdnc/data/stores/sdnc.p12\"/>\n<parameter name=\"keyStorePassword\" value=\"adminadmin\"/>\n<parameter name='customHttpHeaders' value=\"`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`\" />\n<parameter name=\"module\" value=\"DataChange\" />\n<parameter name=\"rpc\" value=\"sotn-notification-handler\" />\n<parameter name=\"mode\" value=\"sync\" />",\r
         "comments": "",\r
         "outputs": 1,\r
-        "x": 1455.5001983642578,\r
-        "y": 381.00000953674316,\r
-        "z": "35b097d7.5fa018",\r
+        "x": 1453.0001983642578,\r
+        "y": 342.00000953674316,\r
+        "z": "1b18cff5.bba51",\r
         "wires": [\r
             []\r
         ]\r
     },\r
     {\r
-        "id": "ac66ccfd.381a88",\r
+        "id": "29c878c8.6e2e3",\r
         "type": "set",\r
         "name": "set encoding-format",\r
         "xml": "<set>\n<parameter name='input' value='ietf-subscribed-notifications:establish-subscription.input.' />\n<parameter name=\"`$input + 'encoding'`\" value=\"encode-json\" />",\r
         "comments": "",\r
-        "x": 1415.5001983642578,\r
-        "y": 341.00000953674316,\r
-        "z": "35b097d7.5fa018",\r
+        "x": 1413.0001983642578,\r
+        "y": 302.00000953674316,\r
+        "z": "1b18cff5.bba51",\r
         "wires": []\r
     },\r
     {\r
-        "id": "fa1a511.33260b",\r
+        "id": "6c35f59f.31aaf4",\r
         "type": "comment",\r
         "name": "Notification subscription",\r
         "info": "",\r
         "comments": "",\r
-        "x": 1420.500343322754,\r
-        "y": 298.00000858306885,\r
-        "z": "35b097d7.5fa018",\r
+        "x": 1418.000343322754,\r
+        "y": 259.00000858306885,\r
+        "z": "1b18cff5.bba51",\r
         "wires": []\r
     },\r
     {\r
-        "id": "72476c1.b3cb514",\r
+        "id": "94fe0252.df11a8",\r
         "type": "switchNode",\r
         "name": "switch",\r
         "xml": "<switch test=\"`$prop.sdncRestApi.vendor == 'ZTE'`\">\n",\r
         "comments": "",\r
         "outputs": 1,\r
-        "x": 105.5,\r
-        "y": 369,\r
-        "z": "35b097d7.5fa018",\r
+        "x": 103,\r
+        "y": 330,\r
+        "z": "1b18cff5.bba51",\r
         "wires": [\r
             [\r
-                "7ff38366.3f2f34",\r
-                "18555fe6.542308"\r
+                "97112dfb.d25148",\r
+                "c86f88a8.e3654"\r
             ]\r
         ]\r
     },\r
     {\r
-        "id": "7ff38366.3f2f34",\r
+        "id": "97112dfb.d25148",\r
         "type": "outcomeFalse",\r
         "name": "false",\r
         "xml": "<outcome value='false'>\n",\r
         "comments": "",\r
         "outputs": 1,\r
-        "x": 292.5,\r
-        "y": 369,\r
-        "z": "35b097d7.5fa018",\r
+        "x": 290,\r
+        "y": 330,\r
+        "z": "1b18cff5.bba51",\r
         "wires": [\r
             [\r
-                "50de7689.c1ed4"\r
+                "493ee223.06b5cc"\r
             ]\r
         ]\r
     },\r
     {\r
-        "id": "18555fe6.542308",\r
+        "id": "c86f88a8.e3654",\r
         "type": "outcomeTrue",\r
         "name": "true",\r
         "xml": "<outcome value='true'>\n",\r
         "comments": "",\r
         "outputs": 1,\r
-        "x": 293.5,\r
-        "y": 494,\r
-        "z": "35b097d7.5fa018",\r
+        "x": 291,\r
+        "y": 455,\r
+        "z": "1b18cff5.bba51",\r
         "wires": [\r
             [\r
-                "46364a8c.43d47c"\r
+                "31c62e46.1b6bfa"\r
             ]\r
         ]\r
     },\r
     {\r
-        "id": "46364a8c.43d47c",\r
+        "id": "31c62e46.1b6bfa",\r
         "type": "call",\r
         "name": "call esr-thirdparty-sdnc-of-zte",\r
         "xml": "<call module='DataChange' rpc='esr-thirdparty-sdnc-of-zte' mode='sync' >\n",\r
         "comments": "",\r
         "outputs": 1,\r
-        "x": 516.5,\r
-        "y": 494,\r
-        "z": "35b097d7.5fa018",\r
+        "x": 514,\r
+        "y": 455,\r
+        "z": "1b18cff5.bba51",\r
         "wires": [\r
             []\r
         ]\r
     },\r
     {\r
-        "id": "c0dd9c59.c4eff8",\r
+        "id": "b3287819.8ca7c",\r
         "type": "other",\r
         "name": "TAPI",\r
         "xml": "<outcome value='TAPI'>\n",\r
         "comments": "",\r
         "outputs": 1,\r
-        "x": 1109.5,\r
-        "y": 474,\r
-        "z": "35b097d7.5fa018",\r
+        "x": 1107,\r
+        "y": 435,\r
+        "z": "1b18cff5.bba51",\r
         "wires": [\r
             [\r
-                "b4761a0a.e9187"\r
+                "a1b223fc.4bfc8"\r
             ]\r
         ]\r
     },\r
     {\r
-        "id": "b4761a0a.e9187",\r
+        "id": "a1b223fc.4bfc8",\r
         "type": "block",\r
         "name": "block : atomic",\r
         "xml": "<block atomic=\"true\">",\r
         "atomic": "true",\r
         "outputs": 1,\r
-        "x": 1272.5,\r
-        "y": 473,\r
-        "z": "35b097d7.5fa018",\r
+        "x": 1270,\r
+        "y": 434,\r
+        "z": "1b18cff5.bba51",\r
         "wires": [\r
             [\r
-                "5f4972dc.a8c76c"\r
+                "2ba90d0d.a5469a"\r
             ]\r
         ]\r
     },\r
     {\r
-        "id": "5f4972dc.a8c76c",\r
+        "id": "2ba90d0d.a5469a",\r
         "type": "execute",\r
         "name": "execute",\r
         "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n    <parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/cxf/tapi/v2/topologies?topology-id-or-name=otn'`\"/>  \n    <parameter name=\"restapiUser\" value=\"`$prop.sdncRestApi.thirdpartySdnc.user`\"/>  \n    <parameter name=\"restapiPassword\" value=\"`$prop.sdncRestApi.thirdpartySdnc.password`\"/>  \n    <parameter name=\"format\" value=\"json\"/>  \n    <parameter name=\"httpMethod\" value=\"get\"/>  \n    <parameter name=\"responsePrefix\" value=\"topologies\"/>\n    <parameter name=\"trustStoreFileName\" value=\"/opt/onap/sdnc/data/stores/truststore.onap.client.tapi.jks\"/>  \n    <parameter name=\"trustStorePassword\" value=\"adminadmin\"/>  \n    <parameter name=\"keyStoreFileName\" value=\"/opt/onap/sdnc/data/stores/sdnc.p12\"/>  \n    <parameter name=\"keyStorePassword\" value=\"adminadmin\"/>",\r
         "comments": "",\r
         "outputs": 1,\r
-        "x": 1433.5,\r
-        "y": 472,\r
-        "z": "35b097d7.5fa018",\r
+        "x": 1431,\r
+        "y": 433,\r
+        "z": "1b18cff5.bba51",\r
         "wires": [\r
             [\r
-                "cef3a525.157f48",\r
-                "aa2154d5.57633"\r
+                "e4e0c00a.96655",\r
+                "8857c3bd.cbf58"\r
             ]\r
         ]\r
     },\r
     {\r
-        "id": "aa2154d5.57633",\r
+        "id": "8857c3bd.cbf58",\r
         "type": "success",\r
         "name": "success",\r
         "xml": "<outcome value='success'>\n",\r
         "comments": "",\r
         "outputs": 1,\r
-        "x": 1575.5,\r
-        "y": 548,\r
-        "z": "35b097d7.5fa018",\r
+        "x": 1573,\r
+        "y": 509,\r
+        "z": "1b18cff5.bba51",\r
         "wires": [\r
             [\r
-                "80d535c0.0a3eb"\r
+                "5009a48f.6c9144"\r
             ]\r
         ]\r
     },\r
     {\r
-        "id": "cef3a525.157f48",\r
+        "id": "e4e0c00a.96655",\r
         "type": "failure",\r
         "name": "failure",\r
         "xml": "<outcome value='failure'>\n",\r
         "comments": "",\r
         "outputs": 1,\r
-        "x": 1609.5,\r
-        "y": 469,\r
-        "z": "35b097d7.5fa018",\r
+        "x": 1607,\r
+        "y": 430,\r
+        "z": "1b18cff5.bba51",\r
         "wires": [\r
             [\r
-                "9d726edf.4a00d"\r
+                "3d3fabb0.3b7c64"\r
             ]\r
         ]\r
     },\r
     {\r
-        "id": "9d726edf.4a00d",\r
+        "id": "3d3fabb0.3b7c64",\r
         "type": "returnFailure",\r
         "name": "return failure",\r
         "xml": "<return status='failure'>\n <parameter name='ack-final' value='Y'/>\n <parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"Error executing get topology TAPI rest api\" />\n\n",\r
         "comments": "",\r
-        "x": 1779.5,\r
-        "y": 468,\r
-        "z": "35b097d7.5fa018",\r
+        "x": 1777,\r
+        "y": 429,\r
+        "z": "1b18cff5.bba51",\r
         "wires": []\r
     },\r
     {\r
-        "id": "80d535c0.0a3eb",\r
+        "id": "5009a48f.6c9144",\r
         "type": "block",\r
         "name": "block : atomic",\r
         "xml": "<block atomic=\"true\">",\r
         "atomic": "true",\r
         "outputs": 1,\r
-        "x": 1736.5,\r
-        "y": 547,\r
-        "z": "35b097d7.5fa018",\r
+        "x": 1734,\r
+        "y": 508,\r
+        "z": "1b18cff5.bba51",\r
         "wires": [\r
             [\r
-                "73db98e4.daca9"\r
+                "7bccde97.6587f8"\r
             ]\r
         ]\r
     },\r
     {\r
-        "id": "73db98e4.daca9",\r
+        "id": "7bccde97.6587f8",\r
         "type": "for",\r
         "name": "for each topology",\r
         "xml": "<for index='tidx' start='0' end=\"`$topologies.topology_length`\" >\n",\r
         "comments": "",\r
         "outputs": 1,\r
-        "x": 1915.5,\r
-        "y": 547,\r
-        "z": "35b097d7.5fa018",\r
+        "x": 1913,\r
+        "y": 508,\r
+        "z": "1b18cff5.bba51",\r
         "wires": [\r
             [\r
-                "d273e3f9.ce07"\r
+                "b488f25e.063e58"\r
             ]\r
         ]\r
     },\r
     {\r
-        "id": "d273e3f9.ce07",\r
+        "id": "b488f25e.063e58",\r
         "type": "block",\r
         "name": "block",\r
         "xml": "<block>\n",\r
         "atomic": "false",\r
         "comments": "",\r
         "outputs": 1,\r
-        "x": 2082.5,\r
-        "y": 548,\r
-        "z": "35b097d7.5fa018",\r
+        "x": 2080,\r
+        "y": 509,\r
+        "z": "1b18cff5.bba51",\r
         "wires": [\r
             [\r
-                "e1c04d4.8fe4cb",\r
-                "3d2b44f0.5e96ec"\r
+                "5387bb7e.ccfa04",\r
+                "58ce3e1c.538878"\r
             ]\r
         ]\r
     },\r
     {\r
-        "id": "e1c04d4.8fe4cb",\r
+        "id": "5387bb7e.ccfa04",\r
         "type": "set",\r
         "name": "set topology",\r
         "xml": "<set>\n<parameter name='topology.' value='`$topologies.topology[$tidx].`' />\n",\r
         "comments": "",\r
-        "x": 2241.5,\r
-        "y": 549,\r
-        "z": "35b097d7.5fa018",\r
+        "x": 2239,\r
+        "y": 510,\r
+        "z": "1b18cff5.bba51",\r
         "wires": []\r
     },\r
     {\r
-        "id": "3d2b44f0.5e96ec",\r
+        "id": "58ce3e1c.538878",\r
         "type": "call",\r
         "name": "call tapi-update-network-to-aai",\r
         "xml": "<call module='DataChange' rpc='tapi-update-network-to-aai' mode='sync' >\n\n",\r
         "comments": "",\r
         "outputs": 1,\r
-        "x": 2232.5,\r
-        "y": 615,\r
-        "z": "35b097d7.5fa018",\r
+        "x": 2230,\r
+        "y": 576,\r
+        "z": "1b18cff5.bba51",\r
         "wires": [\r
             []\r
         ]\r
     },\r
     {\r
-        "id": "4451a4e9.723244",\r
+        "id": "4433c168.8e0cb",\r
         "type": "outcome",\r
         "name": "MSA",\r
         "xml": "<outcome value='MSA'>\n",\r
         "comments": "",\r
         "outputs": 1,\r
-        "x": 1080.177324295044,\r
-        "y": 630.8993349075317,\r
-        "z": "35b097d7.5fa018",\r
+        "x": 1077.677324295044,\r
+        "y": 591.8993349075317,\r
+        "z": "1b18cff5.bba51",\r
         "wires": [\r
             [\r
-                "fe364eaa.3f7b08"\r
+                "e65be9ee.c7b3b"\r
             ]\r
         ]\r
     },\r
     {\r
-        "id": "fe364eaa.3f7b08",\r
+        "id": "e65be9ee.c7b3b",\r
         "type": "block",\r
         "name": "block : atomic",\r
         "xml": "<block atomic=\"true\">",\r
         "atomic": "true",\r
         "outputs": 1,\r
-        "x": 1242.1773872375488,\r
-        "y": 628.899335861206,\r
-        "z": "35b097d7.5fa018",\r
+        "x": 1239.6773872375488,\r
+        "y": 589.899335861206,\r
+        "z": "1b18cff5.bba51",\r
         "wires": [\r
             [\r
-                "3e697d7a.72d032"\r
+                "35fd633c.bf4964"\r
             ]\r
         ]\r
     },\r
     {\r
-        "id": "3e697d7a.72d032",\r
+        "id": "35fd633c.bf4964",\r
         "type": "execute",\r
         "name": "execute",\r
         "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n    <parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/cxf/openroadm/v2/networks/otn-topology'`\"/>  \n    <parameter name=\"restapiUser\" value=\"`$prop.sdncRestApi.thirdpartySdnc.user`\"/>  \n    <parameter name=\"restapiPassword\" value=\"`$prop.sdncRestApi.thirdpartySdnc.password`\"/>  \n    <parameter name=\"format\" value=\"json\"/>  \n    <parameter name=\"httpMethod\" value=\"get\"/>  \n    <parameter name=\"responsePrefix\" value=\"networks\"/>\n    <parameter name=\"trustStoreFileName\" value=\"/opt/onap/sdnc/data/stores/truststore.onap.client.msa.jks\"/>  \n    <parameter name=\"trustStorePassword\" value=\"adminadmin\"/>  \n    <parameter name=\"keyStoreFileName\" value=\"/opt/onap/sdnc/data/stores/sdnc.p12\"/>  \n    <parameter name=\"keyStorePassword\" value=\"adminadmin\"/>\n",\r
         "comments": "",\r
         "outputs": 1,\r
-        "x": 1419.1771354675293,\r
-        "y": 620.8992919921875,\r
-        "z": "35b097d7.5fa018",\r
+        "x": 1416.6771354675293,\r
+        "y": 581.8992919921875,\r
+        "z": "1b18cff5.bba51",\r
         "wires": [\r
             [\r
-                "65bb501c.2cef98",\r
-                "d2559ee1.0d8548"\r
+                "7a243e03.e07788",\r
+                "31b0685e.813ca8"\r
             ]\r
         ]\r
     },\r
     {\r
-        "id": "65bb501c.2cef98",\r
+        "id": "7a243e03.e07788",\r
         "type": "failure",\r
         "name": "failure",\r
         "xml": "<outcome value='failure'>\n",\r
         "comments": "",\r
         "outputs": 1,\r
-        "x": 1572.1771354675293,\r
-        "y": 617.8992919921875,\r
-        "z": "35b097d7.5fa018",\r
+        "x": 1569.6771354675293,\r
+        "y": 578.8992919921875,\r
+        "z": "1b18cff5.bba51",\r
         "wires": [\r
             [\r
-                "6d2f6447.367f94"\r
+                "a65ca6e4.09ef28"\r
             ]\r
         ]\r
     },\r
     {\r
-        "id": "6d2f6447.367f94",\r
+        "id": "a65ca6e4.09ef28",\r
         "type": "returnFailure",\r
         "name": "return failure",\r
         "xml": "<return status='failure'>\n <parameter name='ack-final' value='Y'/>\n <parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"Error executing get topology MSA rest api\" />\n\n",\r
         "comments": "",\r
-        "x": 1747.1771354675293,\r
-        "y": 616.8992919921875,\r
-        "z": "35b097d7.5fa018",\r
+        "x": 1744.6771354675293,\r
+        "y": 577.8992919921875,\r
+        "z": "1b18cff5.bba51",\r
         "wires": []\r
     },\r
     {\r
-        "id": "d2559ee1.0d8548",\r
+        "id": "31b0685e.813ca8",\r
         "type": "success",\r
         "name": "success",\r
         "xml": "<outcome value='success'>\n",\r
         "comments": "",\r
         "outputs": 1,\r
-        "x": 1578.1771354675293,\r
-        "y": 690.8992919921875,\r
-        "z": "35b097d7.5fa018",\r
+        "x": 1575.6771354675293,\r
+        "y": 651.8992919921875,\r
+        "z": "1b18cff5.bba51",\r
         "wires": [\r
             [\r
-                "81b6558e.8743c"\r
+                "777a7a58.789fc4"\r
             ]\r
         ]\r
     },\r
     {\r
-        "id": "81b6558e.8743c",\r
+        "id": "777a7a58.789fc4",\r
         "type": "block",\r
         "name": "block : atomic",\r
         "xml": "<block atomic=\"true\">",\r
         "atomic": "true",\r
         "outputs": 1,\r
-        "x": 1762.1771354675293,\r
-        "y": 692.8992919921875,\r
-        "z": "35b097d7.5fa018",\r
+        "x": 1759.6771354675293,\r
+        "y": 653.8992919921875,\r
+        "z": "1b18cff5.bba51",\r
         "wires": [\r
             [\r
-                "4139e8ab.39b6d8"\r
+                "7575649a.153f4c"\r
             ]\r
         ]\r
     },\r
     {\r
-        "id": "4139e8ab.39b6d8",\r
+        "id": "7575649a.153f4c",\r
         "type": "call",\r
         "name": "call msa-update-network-to-aai",\r
         "xml": "<call module='DataChange' rpc='msa-update-network-to-aai' mode='sync' >\n\n",\r
         "comments": "",\r
         "outputs": 1,\r
-        "x": 2041.177001953125,\r
-        "y": 690.8992919921875,\r
-        "z": "35b097d7.5fa018",\r
+        "x": 2038.677001953125,\r
+        "y": 651.8992919921875,\r
+        "z": "1b18cff5.bba51",\r
         "wires": [\r
             []\r
         ]\r
+    },\r
+    {\r
+        "id": "3075f0c3.b7397",\r
+        "type": "switchNode",\r
+        "name": "switch network_length",\r
+        "xml": "<switch test='`$topology.networks.network_length`'>\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 2630,\r
+        "y": 320,\r
+        "z": "1b18cff5.bba51",\r
+        "wires": [\r
+            [\r
+                "8524dca2.aeded8"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "8524dca2.aeded8",\r
+        "type": "outcome",\r
+        "name": "2 Topologies (1 Domain)",\r
+        "xml": "<outcome value='2'>\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 2904,\r
+        "y": 320,\r
+        "z": "1b18cff5.bba51",\r
+        "wires": [\r
+            [\r
+                "b33095ec.9e9e"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "b33095ec.9e9e",\r
+        "type": "switchNode",\r
+        "name": "switch network-types[0]",\r
+        "xml": "<switch test='`$topology.networks.network[0].network-types`'>\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 3272,\r
+        "y": 305,\r
+        "z": "1b18cff5.bba51",\r
+        "wires": [\r
+            [\r
+                "d9671ae7.1f2ac",\r
+                "8d2f7cad.ac7078"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "d9671ae7.1f2ac",\r
+        "type": "outcome",\r
+        "name": "ethernet-topology",\r
+        "xml": "<outcome value='ethernet-topology'>\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 3488,\r
+        "y": 305,\r
+        "z": "1b18cff5.bba51",\r
+        "wires": [\r
+            [\r
+                "9105249.2609cd8"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "9105249.2609cd8",\r
+        "type": "switchNode",\r
+        "name": "switch network-types[1]",\r
+        "xml": "<switch test='`$topology.networks.network[1].network-types`'>\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 3713,\r
+        "y": 305,\r
+        "z": "1b18cff5.bba51",\r
+        "wires": [\r
+            [\r
+                "9ce7c86d.2eb2d8",\r
+                "36497843.e3494"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "9ce7c86d.2eb2d8",\r
+        "type": "outcome",\r
+        "name": "otn-topology",\r
+        "xml": "<outcome value='otn-topology'>\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 3949,\r
+        "y": 258,\r
+        "z": "1b18cff5.bba51",\r
+        "wires": [\r
+            [\r
+                "637acfae.0f124"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "f3d25251.c6e91",\r
+        "type": "call",\r
+        "name": "call update-tp-ttp-relationship",\r
+        "xml": "<call module='DataChange' rpc='update-tp-ttp-relationship' mode='sync' >\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 4365,\r
+        "y": 246,\r
+        "z": "1b18cff5.bba51",\r
+        "wires": [\r
+            []\r
+        ]\r
+    },\r
+    {\r
+        "id": "741e41f5.1da6",\r
+        "type": "set",\r
+        "name": "set networks",\r
+        "xml": "<set>\n<parameter name='network-eth.' value='`$topology.networks.network[0].`' />\n<parameter name='network-otn.' value='`$topology.networks.network[1].`' />\n",\r
+        "comments": "",\r
+        "x": 4321,\r
+        "y": 155,\r
+        "z": "1b18cff5.bba51",\r
+        "wires": []\r
+    },\r
+    {\r
+        "id": "8d2f7cad.ac7078",\r
+        "type": "outcome",\r
+        "name": "otn-topology",\r
+        "xml": "<outcome value='otn-topology'>\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 3493,\r
+        "y": 362,\r
+        "z": "1b18cff5.bba51",\r
+        "wires": [\r
+            [\r
+                "a8d319cf.4bc79"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "637acfae.0f124",\r
+        "type": "block",\r
+        "name": "block",\r
+        "xml": "<block>\n",\r
+        "atomic": "false",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 4131,\r
+        "y": 232,\r
+        "z": "1b18cff5.bba51",\r
+        "wires": [\r
+            [\r
+                "741e41f5.1da6",\r
+                "f3d25251.c6e91"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "a8d319cf.4bc79",\r
+        "type": "switchNode",\r
+        "name": "switch network-types[1]",\r
+        "xml": "<switch test='`$topology.networks.network[1].network-types`'>\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 3712,\r
+        "y": 364,\r
+        "z": "1b18cff5.bba51",\r
+        "wires": [\r
+            [\r
+                "5531c9a0.612ad8",\r
+                "182315db.ba9502"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "36497843.e3494",\r
+        "type": "other",\r
+        "name": "other",\r
+        "xml": "<outcome value='Other'>\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 3943,\r
+        "y": 317,\r
+        "z": "1b18cff5.bba51",\r
+        "wires": [\r
+            [\r
+                "695f6a27.1421dc"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "695f6a27.1421dc",\r
+        "type": "returnFailure",\r
+        "name": "return failure",\r
+        "xml": "<return status='failure'>\n<parameter name='error-code' value='' />\n<parameter name='error-message' value='' />\n",\r
+        "comments": "",\r
+        "x": 4145,\r
+        "y": 315,\r
+        "z": "1b18cff5.bba51",\r
+        "wires": []\r
+    },\r
+    {\r
+        "id": "5531c9a0.612ad8",\r
+        "type": "outcome",\r
+        "name": "ethernet-topology",\r
+        "xml": "<outcome value='ethernet-topology'>\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 3935,\r
+        "y": 378,\r
+        "z": "1b18cff5.bba51",\r
+        "wires": [\r
+            [\r
+                "842f72e1.b17048"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "3a98f05a.e5da8",\r
+        "type": "set",\r
+        "name": "set networks",\r
+        "xml": "<set>\n<parameter name='network.eth' value='`$topology.networks.network[1].`' />\n<parameter name='network.otn' value='`$topology.networks.network[0].`' />\n",\r
+        "comments": "",\r
+        "x": 4351,\r
+        "y": 359,\r
+        "z": "1b18cff5.bba51",\r
+        "wires": []\r
+    },\r
+    {\r
+        "id": "182315db.ba9502",\r
+        "type": "other",\r
+        "name": "other",\r
+        "xml": "<outcome value='Other'>\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 3894,\r
+        "y": 439,\r
+        "z": "1b18cff5.bba51",\r
+        "wires": [\r
+            [\r
+                "ac618cc1.491d7"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "ac618cc1.491d7",\r
+        "type": "returnFailure",\r
+        "name": "return failure",\r
+        "xml": "<return status='failure'>\n<parameter name='error-code' value='' />\n<parameter name='error-message' value='' />\n",\r
+        "comments": "",\r
+        "x": 4063,\r
+        "y": 446,\r
+        "z": "1b18cff5.bba51",\r
+        "wires": []\r
+    },\r
+    {\r
+        "id": "842f72e1.b17048",\r
+        "type": "block",\r
+        "name": "block",\r
+        "xml": "<block>\n",\r
+        "atomic": "false",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 4113,\r
+        "y": 374,\r
+        "z": "1b18cff5.bba51",\r
+        "wires": [\r
+            [\r
+                "3a98f05a.e5da8",\r
+                "225dfddc.2a0cba"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "5530fe3e.d46a6",\r
+        "type": "get-resource",\r
+        "name": "get-resource network-resources",\r
+        "xml": "<get-resource plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\t\tresource=\"network-resources\" \n        pfx='tmp.aai.network-resources' local-only='false' >\n\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 2617,\r
+        "y": 510,\r
+        "z": "1b18cff5.bba51",\r
+        "wires": [\r
+            [\r
+                "d9e48832.552bd8",\r
+                "59795789.351ce",\r
+                "61ad07cf.dca3e8"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "d9e48832.552bd8",\r
+        "type": "success",\r
+        "name": "success",\r
+        "xml": "<outcome value='success'>\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 2870,\r
+        "y": 428,\r
+        "z": "1b18cff5.bba51",\r
+        "wires": [\r
+            [\r
+                "aa408c9d.56c38"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "59795789.351ce",\r
+        "type": "not-found",\r
+        "name": "not-found",\r
+        "xml": "<outcome value='not-found'>\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 2873.490966796875,\r
+        "y": 475.57403564453125,\r
+        "z": "1b18cff5.bba51",\r
+        "wires": [\r
+            [\r
+                "c28a983a.0204"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "61ad07cf.dca3e8",\r
+        "type": "other",\r
+        "name": "other",\r
+        "xml": "<outcome value='Other'>\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 2861.823974609375,\r
+        "y": 519.9073486328125,\r
+        "z": "1b18cff5.bba51",\r
+        "wires": [\r
+            [\r
+                "781b901c.45ff08"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "225dfddc.2a0cba",\r
+        "type": "call",\r
+        "name": "call update-tp-ttp-relationship",\r
+        "xml": "<call module='DataChange' rpc='update-tp-ttp-relationship' mode='sync' >\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 4386,\r
+        "y": 425,\r
+        "z": "1b18cff5.bba51",\r
+        "wires": [\r
+            []\r
+        ]\r
+    },\r
+    {\r
+        "id": "11abef7e.ad2629",\r
+        "type": "call",\r
+        "name": "call update-open-ended-links",\r
+        "xml": "<call module='DataChange' rpc='update-open-ended-links' mode='sync' >\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 3658,\r
+        "y": 683,\r
+        "z": "1b18cff5.bba51",\r
+        "wires": [\r
+            []\r
+        ]\r
+    },\r
+    {\r
+        "id": "aa408c9d.56c38",\r
+        "type": "switchNode",\r
+        "name": "switch network-resources_length",\r
+        "xml": "<switch test='tmp.aai.network-resources_length'>\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 3085,\r
+        "y": 426,\r
+        "z": "1b18cff5.bba51",\r
+        "wires": [\r
+            [\r
+                "13de82c2.31f6ad"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "13de82c2.31f6ad",\r
+        "type": "outcome",\r
+        "name": "4 Topologies (2 Domains)",\r
+        "xml": "<outcome value='4'>\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 3362,\r
+        "y": 425,\r
+        "z": "1b18cff5.bba51",\r
+        "wires": [\r
+            [\r
+                "e4acb7eb.00534"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "c28a983a.0204",\r
+        "type": "returnFailure",\r
+        "name": "return failure",\r
+        "xml": "<return status='failure'>\n<parameter name='error-code' value='' />\n<parameter name='error-message' value='' />\n",\r
+        "comments": "",\r
+        "x": 3046,\r
+        "y": 476,\r
+        "z": "1b18cff5.bba51",\r
+        "wires": []\r
+    },\r
+    {\r
+        "id": "781b901c.45ff08",\r
+        "type": "returnFailure",\r
+        "name": "return failure",\r
+        "xml": "<return status='failure'>\n<parameter name='error-code' value='' />\n<parameter name='error-message' value='' />\n",\r
+        "comments": "",\r
+        "x": 3035,\r
+        "y": 522,\r
+        "z": "1b18cff5.bba51",\r
+        "wires": []\r
+    },\r
+    {\r
+        "id": "3daf0b35.8056dc",\r
+        "type": "for",\r
+        "name": "for each network-resource",\r
+        "xml": "<for index='nridx' start='0' end='`$tmp.aai.network-resources.network-resource_length`' >\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 3677,\r
+        "y": 476,\r
+        "z": "1b18cff5.bba51",\r
+        "wires": [\r
+            [\r
+                "a478abea.aef858"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "a478abea.aef858",\r
+        "type": "block",\r
+        "name": "block",\r
+        "xml": "<block>\n",\r
+        "atomic": "false",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 3836,\r
+        "y": 575,\r
+        "z": "1b18cff5.bba51",\r
+        "wires": [\r
+            [\r
+                "672de2b7.6fadec",\r
+                "b7971e38.4fdc88"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "672de2b7.6fadec",\r
+        "type": "switchNode",\r
+        "name": "switch network-types[nridx]",\r
+        "xml": "<switch test='`$tmp.aai.network-resources.network-resource[$nridx].network-type`'>\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 4043,\r
+        "y": 568,\r
+        "z": "1b18cff5.bba51",\r
+        "wires": [\r
+            [\r
+                "8b03cc56.be0278"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "8b03cc56.be0278",\r
+        "type": "outcome",\r
+        "name": "otn-topology",\r
+        "xml": "<outcome value='otn-topology'>\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 4256,\r
+        "y": 562,\r
+        "z": "1b18cff5.bba51",\r
+        "wires": [\r
+            [\r
+                "5b2aaa85.617b44"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "7c2a6199.8c29b",\r
+        "type": "set",\r
+        "name": "set network-resource-otn[$otnidx]",\r
+        "xml": "<set>\n<parameter name='network-resource-otn[$otnidx].' value='`$tmp.aai.network-resources.network-resource[$nridx].`' />\n",\r
+        "comments": "",\r
+        "x": 4622,\r
+        "y": 555,\r
+        "z": "1b18cff5.bba51",\r
+        "wires": []\r
+    },\r
+    {\r
+        "id": "b7971e38.4fdc88",\r
+        "type": "set",\r
+        "name": "set otnidx",\r
+        "xml": "<set>\n<parameter name='otnidx' value='0' />\n",\r
+        "comments": "",\r
+        "x": 3988,\r
+        "y": 526,\r
+        "z": "1b18cff5.bba51",\r
+        "wires": []\r
+    },\r
+    {\r
+        "id": "ee5c6cf6.44a0c",\r
+        "type": "set",\r
+        "name": "set otnidx",\r
+        "xml": "<set>\n<parameter name='otnidx' value='`$otnidx + 1`' />\n",\r
+        "comments": "",\r
+        "x": 4539,\r
+        "y": 607,\r
+        "z": "1b18cff5.bba51",\r
+        "wires": []\r
+    },\r
+    {\r
+        "id": "5b2aaa85.617b44",\r
+        "type": "block",\r
+        "name": "block",\r
+        "xml": "<block>\n",\r
+        "atomic": "false",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 4402,\r
+        "y": 575,\r
+        "z": "1b18cff5.bba51",\r
+        "wires": [\r
+            [\r
+                "7c2a6199.8c29b",\r
+                "ee5c6cf6.44a0c"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "e4acb7eb.00534",\r
+        "type": "block",\r
+        "name": "block : atomic",\r
+        "xml": "<block atomic='true'>",\r
+        "atomic": "true",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 3456,\r
+        "y": 499,\r
+        "z": "1b18cff5.bba51",\r
+        "wires": [\r
+            [\r
+                "3daf0b35.8056dc",\r
+                "11abef7e.ad2629"\r
+            ]\r
+        ]\r
     }\r
 ]
\ No newline at end of file
diff --git a/platform-logic/datachange/src/main/json/DataChange_update-network-links-to-aai.json b/platform-logic/datachange/src/main/json/DataChange_update-network-links-to-aai.json
new file mode 100644 (file)
index 0000000..442a44e
--- /dev/null
@@ -0,0 +1,285 @@
+[
+  {
+    "id": "3dae3829.6d50d8",
+    "type": "dgstart",
+    "name": "DGSTART",
+    "outputs": 1,
+    "x": 140,
+    "y": 83,
+    "z": "5fc7c3fb.48a444",
+    "wires": [
+      [
+        "de2fffb7.c073f8"
+      ]
+    ]
+  },
+  {
+    "id": "de2fffb7.c073f8",
+    "type": "service-logic",
+    "name": "DataChange ${project.version}",
+    "module": "DataChange",
+    "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='DataChange' version='${project.version}'>",
+    "outputs": 1,
+    "x": 182,
+    "y": 162.888916015625,
+    "z": "5fc7c3fb.48a444",
+    "wires": [
+      [
+        "8d7f08d3.c67fe8"
+      ]
+    ]
+  },
+  {
+    "id": "8d7f08d3.c67fe8",
+    "type": "method",
+    "name": "method update-network-links-to-aai",
+    "xml": "<method rpc='update-network-links-to-aai' mode='sync'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 196,
+    "y": 239.22222900390625,
+    "z": "5fc7c3fb.48a444",
+    "wires": [
+      [
+        "89a3239d.9a961"
+      ]
+    ]
+  },
+  {
+    "id": "89a3239d.9a961",
+    "type": "block",
+    "name": "block : atomic",
+    "xml": "<block atomic=\"true\">\n",
+    "atomic": "false",
+    "comments": "",
+    "outputs": 1,
+    "x": 207.33343505859375,
+    "y": 316.7779235839844,
+    "z": "5fc7c3fb.48a444",
+    "wires": [
+      [
+        "f779b713.8cfdc8"
+      ]
+    ]
+  },
+  {
+    "id": "705ccc82.ecc094",
+    "type": "update",
+    "name": "save logical-link",
+    "xml": "<save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='logical-link' \n      key='logical-link.link-name = $unique-linkId' >\n<parameter name='link-name' value='`$unique-linkId`' />\n<parameter name='link-id' value='`$link.link-id`' />\n\n\n\n\n\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 580.1111450195312,
+    "y": 168.11109924316406,
+    "z": "5fc7c3fb.48a444",
+    "wires": [
+      []
+    ]
+  },
+  {
+    "id": "f779b713.8cfdc8",
+    "type": "for",
+    "name": "for each link",
+    "xml": "<for index='pidx' start='0' end='`$network.link_length`' >\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 235.88885498046875,
+    "y": 410.33331298828125,
+    "z": "5fc7c3fb.48a444",
+    "wires": [
+      [
+        "705ccc82.ecc094",
+        "45a55196.a54ca",
+        "d54d8abb.5beac",
+        "5271a41c.d8700c"
+      ]
+    ]
+  },
+  {
+    "id": "45a55196.a54ca",
+    "type": "set",
+    "name": "set network link's local variables",
+    "xml": "<set>\n<parameter name='link.' value='`$network.link[$pidx].`' />\n<parameter name='unique-networkId' value='`$tmp.network-id`' />\n<parameter name='unique-linkId' value=\"`'networkId-' + $unique-networkId + '-linkId-' + $link.link-id`\" />\n<parameter name='src-tpId' value=\"`'networkId-' + $unique-networkId + '-nodeId-' + $link.source.source-node + '-ltpId-' + $link.source.source-tp`\" />\n<parameter name='dst-tpId' value=\"`'networkId-' + $unique-networkId + '-nodeId-' + $link.destination.dest-node + '-ltpId-' + $link.destination.dest-tp`\" />\n\n",
+    "comments": "",
+    "x": 581.111083984375,
+    "y": 109.22221374511719,
+    "z": "5fc7c3fb.48a444",
+    "wires": []
+  },
+  {
+    "id": "d54d8abb.5beac",
+    "type": "save",
+    "name": "save source and dest TP",
+    "xml": "<save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='logical-link:relationship-list' \n      key='logical-link.link-name = $unique-linkId' force=\"true\" pfx=\"tmp.AnAI-data\">\n<parameter name=\"relationship-list.relationship[0].related-to\" value=\"p-interface\" />\n<parameter name=\"relationship-list.relationship[0].related-link\" value=\"`'/p-interfaces/p-interface/' + $src-tpId`\" />\n<parameter name=\"relationship-list.relationship[0].relationship-data[0].relationship-key\" value=\"p-interface.interface-name\" />\n<parameter name=\"relationship-list.relationship[0].relationship-data[0].relationship-value\" value=\"`$src-tpId`\" />\n\n<parameter name=\"relationship-list.relationship[1].related-to\" value=\"p-interface\" />\n<parameter name=\"relationship-list.relationship[1].related-link\" value=\"`'/p-interfaces/p-interface/' + $dst-tpId`\" />\n<parameter name=\"relationship-list.relationship[1].relationship-data[0].relationship-key\" value=\"p-interface.interface-name\" />\n<parameter name=\"relationship-list.relationship[1].relationship-data[0].relationship-value\" value=\"`$dst-tpId`\" />",
+    "comments": "",
+    "outputs": 1,
+    "x": 596.7779541015625,
+    "y": 234.44447326660156,
+    "z": "5fc7c3fb.48a444",
+    "wires": [
+      []
+    ]
+  },
+  {
+    "id": "5271a41c.d8700c",
+    "type": "for",
+    "name": "for each label-restriction",
+    "xml": "<for index='tidx' start='0' end='`$link.te.te-link-attributes.label-restriction_length`' >\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 533.4444580078125,
+    "y": 375.111083984375,
+    "z": "5fc7c3fb.48a444",
+    "wires": [
+      [
+        "1b0f5546.e78123",
+        "443c3267.dc2134",
+        "b1de45a9.d99468"
+      ]
+    ]
+  },
+  {
+    "id": "1b0f5546.e78123",
+    "type": "set",
+    "name": "set label-restriction's local variables",
+    "xml": "<set>\n<parameter name='label-restriction.' value='`$link.te.te-link-attributes.label-restriction[$tidx].`' />\n<parameter name='unique-lrId' value=\"`$unique-linkId + '-lrId-' + $label-restriction.index`\" />\n",
+    "comments": "",
+    "x": 805.111328125,
+    "y": 299.00006103515625,
+    "z": "5fc7c3fb.48a444",
+    "wires": []
+  },
+  {
+    "id": "759b3331.b0b62c",
+    "type": "success",
+    "name": "success",
+    "xml": "<outcome value='success'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 982.4998779296875,
+    "y": 371.7460632324219,
+    "z": "5fc7c3fb.48a444",
+    "wires": [
+      [
+        "1a522f6e.2f6589"
+      ]
+    ]
+  },
+  {
+    "id": "b709b603.7fa938",
+    "type": "failure",
+    "name": "failure",
+    "xml": "<outcome value='failure'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 990.178466796875,
+    "y": 430.96038818359375,
+    "z": "5fc7c3fb.48a444",
+    "wires": [
+      [
+        "5fd30b98.524afc"
+      ]
+    ]
+  },
+  {
+    "id": "1a522f6e.2f6589",
+    "type": "block",
+    "name": "block",
+    "xml": "<block>\n",
+    "atomic": "false",
+    "comments": "",
+    "outputs": 1,
+    "x": 1102,
+    "y": 318,
+    "z": "5fc7c3fb.48a444",
+    "wires": [
+      []
+    ]
+  },
+  {
+    "id": "61d66d0d.d0e254",
+    "type": "set",
+    "name": "set src-ltpId dst-ltpId",
+    "xml": "<set>\n<parameter name='src-ltpId' value=\"`'nodeId-' + $oof.vpn.access-node-id + '-ltpId-' + $oof.vpn.src-access-ltp-id`\" />\n<parameter name='dst-ltpId' value=\"`'nodeId-' + $oof.vpn.access-node-id + '-ltpId-' + $oof.vpn.dst-access-ltp-id`\" />",
+    "comments": "",
+    "x": 2595.5001220703125,
+    "y": 2430.545135498047,
+    "z": "5fc7c3fb.48a444",
+    "wires": []
+  },
+  {
+    "id": "d454df86.50acb",
+    "type": "save",
+    "name": "save srcLTP relationship in AAI",
+    "xml": "<save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='vpn-binding:relationship-list' \n      key='vpn-binding.vpn-id = $tmp.vpnName' \n      force=\"true\" pfx=\"tmp.AnAI-data\">\n<parameter name=\"relationship-list.relationship[0].related-to\" value=\"p-interface\" />\n<parameter name=\"relationship-list.relationship[0].related-link\" value=\"`'/network/pnfs/pnf/' + $oof.vpn.access-node-id + '/p-interfaces/p-interface/' + $src-ltpId`\" />\n<parameter name=\"relationship-list.relationship[0].relationship-data[0].relationship-key\" value=\"p-interface.interface-name\" />\n<parameter name=\"relationship-list.relationship[0].relationship-data[0].relationship-value\" value=\"`$src-ltpId`\" />\n\n\n\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 2629.0001220703125,
+    "y": 2470.545135498047,
+    "z": "5fc7c3fb.48a444",
+    "wires": [
+      []
+    ]
+  },
+  {
+    "id": "f86402c5.f4d968",
+    "type": "save",
+    "name": "save dstLTP relationship in AAI",
+    "xml": "<save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='vpn-binding:relationship-list' \n      key='vpn-binding.vpn-id = $tmp.vpnName' \n      force=\"true\" pfx=\"tmp.AnAI-data\">\n<parameter name=\"relationship-list.relationship[0].related-to\" value=\"p-interface\" />\n<parameter name=\"relationship-list.relationship[0].related-link\" value=\"`'/network/pnfs/pnf/' + $oof.vpn.access-node-id + '/p-interfaces/p-interface/' + $dst-ltpId`\" />\n<parameter name=\"relationship-list.relationship[0].relationship-data[0].relationship-key\" value=\"p-interface.interface-name\" />\n<parameter name=\"relationship-list.relationship[0].relationship-data[0].relationship-value\" value=\"`$dst-ltpId`\" />",
+    "comments": "",
+    "outputs": 1,
+    "x": 2629.0001220703125,
+    "y": 2510.545135498047,
+    "z": "5fc7c3fb.48a444",
+    "wires": [
+      []
+    ]
+  },
+  {
+    "id": "5fd30b98.524afc",
+    "type": "update",
+    "name": "save label-restriction",
+    "xml": "<update plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='label-restriction' \n      key='logical-link.link-name = $unique-linkId\n      AND label-restriction.id = $unique-lrId' >      \n<parameter name='id' value='`$unique-lrId`' />\n<parameter name='label-start' value='`$label-restriction.label-start`' />\n<parameter name='label-end' value='`$label-restriction.label-end`' />\n<parameter name='range-bitmap' value='`$label-restriction.range-bitmap`' />\n<parameter name='label-step' value='`$label-restriction.label-step`' />\n<parameter name='inclusive-exclusive' value='`$label-restriction.inclusive-exclusive`' />\n\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 1114,
+    "y": 507,
+    "z": "5fc7c3fb.48a444",
+    "wires": [
+      []
+    ]
+  },
+  {
+    "id": "443c3267.dc2134",
+    "type": "save",
+    "name": "save link relationship to label-restriction in AAI",
+    "xml": "<save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='logical-link:relationship-list' \n      key='logical-link.link-name = $unique-linkId' force=\"true\" pfx=\"tmp.AnAI-data\">\n<parameter name=\"relationship-list.relationship[$tidx].related-to\" value=\"label-restriction\" />\n<parameter name=\"relationship-list.relationship[$tidx].related-link\" value=\"`'/network/label-restrictions/label-restriction/' + $unique-lrId`\" />\n<parameter name=\"relationship-list.relationship[$tidx].relationship-data[0].relationship-key\" value=\"label-restriction.id\" />\n<parameter name=\"relationship-list.relationship[$tidx].relationship-data[0].relationship-value\" value=\"`$unique-lrId`\" />\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 770,
+    "y": 533,
+    "z": "5fc7c3fb.48a444",
+    "wires": [
+      []
+    ]
+  },
+  {
+    "id": "b1de45a9.d99468",
+    "type": "update",
+    "name": "save label-restriction",
+    "xml": "<save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='label-restriction' \n      key='logical-link.link-name = $unique-linkId\n      AND label-restriction.id = $unique-lrId' >      \n<parameter name='id' value='`$unique-lrId`' />\n<parameter name='label-start' value='`$label-restriction.label-start`' />\n<parameter name='label-end' value='`$label-restriction.label-end`' />\n<parameter name='range-bitmap' value='`$label-restriction.range-bitmap`' />\n<parameter name='label-step' value='`$label-restriction.label-step`' />\n<parameter name='inclusive-exclusive' value='`$label-restriction.inclusive-exclusive`' />\n\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 795.815185546875,
+    "y": 425.55560302734375,
+    "z": "5fc7c3fb.48a444",
+    "wires": [
+      [
+        "759b3331.b0b62c",
+        "b709b603.7fa938"
+      ]
+    ]
+  }
+]
\ No newline at end of file
index f82168b..7f98062 100644 (file)
@@ -1,20 +1,20 @@
 [
   {
-    "id": "4d48ad52.66bce4",
+    "id": "e71bc70e.124d38",
     "type": "dgstart",
     "name": "DGSTART",
     "outputs": 1,
-    "x": 116,
-    "y": 72,
-    "z": "972d7ac.f66db88",
+    "x": 142,
+    "y": 49,
+    "z": "a2160ede.50a7f8",
     "wires": [
       [
-        "66f854f4.bc80cc"
+        "f849e1fd.7b8e28"
       ]
     ]
   },
   {
-    "id": "66f854f4.bc80cc",
+    "id": "f849e1fd.7b8e28",
     "type": "service-logic",
     "name": "DataChange ${project.version}",
     "module": "DataChange",
     "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='DataChange' version='${project.version}'>",
     "outputs": 1,
-    "x": 205.00003051757812,
-    "y": 162.88891220092773,
-    "z": "972d7ac.f66db88",
+    "x": 231.00003051757812,
+    "y": 139.88891220092773,
+    "z": "a2160ede.50a7f8",
     "wires": [
       [
-        "7eee0fcc.e1d78"
+        "7adf111d.766db8"
       ]
     ]
   },
   {
-    "id": "7eee0fcc.e1d78",
+    "id": "7adf111d.766db8",
     "type": "method",
     "name": "method update-network-to-aai",
     "xml": "<method rpc='update-network-to-aai' mode='sync'>\n",
     "comments": "",
     "outputs": 1,
-    "x": 241.1112518310547,
-    "y": 233.22223663330078,
-    "z": "972d7ac.f66db88",
+    "x": 267.1112518310547,
+    "y": 210.22223663330078,
+    "z": "a2160ede.50a7f8",
     "wires": [
       [
-        "dd17da81.f85678"
+        "802b5752.247908"
       ]
     ]
   },
   {
-    "id": "dd17da81.f85678",
+    "id": "802b5752.247908",
     "type": "block",
     "name": "block : atomic",
     "xml": "<block atomic=\"true\">\n",
     "atomic": "false",
     "comments": "",
     "outputs": 1,
-    "x": 466.33343505859375,
-    "y": 232.77792358398438,
-    "z": "972d7ac.f66db88",
+    "x": 492.33343505859375,
+    "y": 209.77792358398438,
+    "z": "a2160ede.50a7f8",
     "wires": [
       [
-        "c70a984d.cc2a48",
-        "5cf53006.e1ea9",
-        "a9f8a08c.a159f"
+        "32d96ea8.386a82",
+        "7667af77.0df1e8",
+        "6f623dd3.9a7c44",
+        "ffd24e55.e4afa"
       ]
     ]
   },
   {
-    "id": "5cf53006.e1ea9",
+    "id": "7667af77.0df1e8",
     "type": "update",
     "name": "save network-resource",
-    "xml": "<save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='network-resource'  \n     key='network-resource.network-id = $tmp.network-id' >\n<parameter name='network-id' value='`$tmp.network-id`' />\n<parameter name='client-id' value='`$network.client-id`' />\n<parameter name='te-topo-id' value='`$network.te-topology-id`' />\n<parameter name='provider-id' value='`$network.provider-id`' />\n\n\n",
+    "xml": "<save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='network-resource'  \n     key='network-resource.network-id = $tmp.network-id' >\n<parameter name='network-id' value='`$tmp.network-id`' />\n<parameter name='client-id' value='`$network.client-id`' />\n<parameter name='te-topo-id' value='`$network.te-topology-id`' />\n<parameter name='provider-id' value='`$network.provider-id`' />\n\n<parameter name='network-type' value='`$network.network-types`' />\n\n\n",
     "comments": "",
     "outputs": 1,
-    "x": 696.333251953125,
-    "y": 138.00001525878906,
-    "z": "972d7ac.f66db88",
+    "x": 722.333251953125,
+    "y": 115.00001525878906,
+    "z": "a2160ede.50a7f8",
     "wires": [
       []
     ]
   },
   {
-    "id": "bc0b4672.53b908",
+    "id": "ab67cffd.8b31",
     "type": "update",
     "name": "save pnf",
-    "xml": "<save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='pnf' \n      key='pnf.pnf-name = $node.node-id' >\n<parameter name='pnf-name' value='`$node.node-id`' />\n<parameter name='pnf-id' value='`$node.node-id`' />\n<parameter name='operational-status' value='`$node.te.oper-status`' />\n<parameter name='admin-status' value='`$node.te.te-node-attributes.admin-status`' />\n<parameter name='in-maint' value='true' />\n\n\n\n\n\n",
+    "xml": "<save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='pnf' \n      key='pnf.pnf-name = $unique-nodeId' >\n<parameter name='pnf-name' value='`$unique-nodeId`' />\n<parameter name='pnf-id' value='`$node.node-id`' />\n<parameter name='operational-status' value='`$node.te.oper-status`' />\n<parameter name='admin-status' value='`$node.te.te-node-attributes.admin-status`' />\n<parameter name='in-maint' value='true' />\n\n\n\n\n\n",
     "comments": "",
     "outputs": 1,
-    "x": 879.111141204834,
-    "y": 191.111102104187,
-    "z": "972d7ac.f66db88",
+    "x": 934.1111450195312,
+    "y": 205.111083984375,
+    "z": "a2160ede.50a7f8",
     "wires": [
       []
     ]
   },
   {
-    "id": "a9f8a08c.a159f",
+    "id": "6f623dd3.9a7c44",
     "type": "for",
     "name": "for each node",
     "xml": "<for index='pidx' start='0' end='`$network.node_length`' >\n",
     "comments": "",
     "outputs": 1,
-    "x": 679.8888549804688,
-    "y": 208.33331298828125,
-    "z": "972d7ac.f66db88",
+    "x": 705.8888549804688,
+    "y": 185.33331298828125,
+    "z": "a2160ede.50a7f8",
     "wires": [
       [
-        "bc0b4672.53b908",
-        "6b3704fc.0bd35c",
-        "24e04af5.ddea66",
-        "9b1ff78d.8b3c08",
-        "8e9342c1.220f"
+        "ab67cffd.8b31",
+        "c4083363.2a3b2",
+        "ba78539e.d2e248",
+        "c02a5c85.3b448",
+        "499b8cbc.ebafac",
+        "7a876b8.f89b114",
+        "46013f8c.54849"
       ]
     ]
   },
   {
-    "id": "6b3704fc.0bd35c",
+    "id": "c4083363.2a3b2",
     "type": "set",
     "name": "set network",
-    "xml": "<set>\n<parameter name='node.' value='`$network.node[$pidx].`' />\n",
+    "xml": "<set>\n<parameter name='node.' value='`$network.node[$pidx].`' />\n\n<parameter name='unique-networkId' value='`$tmp.network-id`' />\n<parameter name='unique-nodeId' value=\"`'networkId-' + $unique-networkId + '-nodeId-' + $node.node-id`\" />\n<parameter name='src-tpId' value=\"`'networkId-' + $unique-networkId + '-nodeId-' + $link.source.source-node + '-ltpId-' + $link.source.source-tp`\" />\n",
     "comments": "",
-    "x": 893.111083984375,
-    "y": 156.2222137451172,
-    "z": "972d7ac.f66db88",
+    "x": 950.111083984375,
+    "y": 133.2222137451172,
+    "z": "a2160ede.50a7f8",
     "wires": []
   },
   {
-    "id": "9b1ff78d.8b3c08",
+    "id": "c02a5c85.3b448",
     "type": "save",
     "name": "save pnf relationship to network-resource in AAI",
-    "xml": "<save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='pnf:relationship-list' \n      key='pnf.pnf-name = $node.node-id' force=\"true\" pfx=\"tmp.AnAI-data\">\n<parameter name=\"relationship-list.relationship[0].related-to\" value=\"network-resource\" />\n<parameter name=\"relationship-list.relationship[0].related-link\" value=\"`'/network/network-resources/network-resource/' + $tmp.network-id`\" />\n<parameter name=\"relationship-list.relationship[0].relationship-data[0].relationship-key\" value=\"network-resource.network-id\" />\n<parameter name=\"relationship-list.relationship[0].relationship-data[0].relationship-value\" value=\"`$tmp.network-id`\" />",
+    "xml": "<save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='pnf:relationship-list' \n      key='pnf.pnf-name = $unique-nodeId' force=\"true\" pfx=\"tmp.AnAI-data\">\n<parameter name=\"relationship-list.relationship[0].related-to\" value=\"network-resource\" />\n<parameter name=\"relationship-list.relationship[0].related-link\" value=\"`'/network/network-resources/network-resource/' + $tmp.network-id`\" />\n<parameter name=\"relationship-list.relationship[0].relationship-data[0].relationship-key\" value=\"network-resource.network-id\" />\n<parameter name=\"relationship-list.relationship[0].relationship-data[0].relationship-value\" value=\"`$tmp.network-id`\" />",
     "comments": "",
     "outputs": 1,
-    "x": 1004.7779541015625,
-    "y": 223.44447803497314,
-    "z": "972d7ac.f66db88",
+    "x": 1030.7779541015625,
+    "y": 380.44447803497314,
+    "z": "a2160ede.50a7f8",
     "wires": [
       []
     ]
   },
   {
-    "id": "8e9342c1.220f",
+    "id": "499b8cbc.ebafac",
     "type": "for",
     "name": "for each termination point",
     "xml": "<for index='tidx' start='0' end='`$node.termination-point_length`' >\n",
     "comments": "",
     "outputs": 1,
-    "x": 937.4444580078125,
-    "y": 339.111083984375,
-    "z": "972d7ac.f66db88",
+    "x": 963.4444580078125,
+    "y": 496.111083984375,
+    "z": "a2160ede.50a7f8",
     "wires": [
       [
-        "7c32bd23.da1e04",
-        "38ff90b0.67e0b",
-        "36dd756f.9a425a"
+        "c5951e15.43701",
+        "c670da77.075458",
+        "3831ed03.d1f9da",
+        "f6959b19.b0bc18"
       ]
     ]
   },
   {
-    "id": "7c32bd23.da1e04",
+    "id": "c5951e15.43701",
     "type": "set",
     "name": "set termination point",
     "xml": "<set>\n<parameter name='tp.' value='`$node.termination-point[$tidx].`' />\n",
     "comments": "",
-    "x": 1204.111328125,
-    "y": 300.0000457763672,
-    "z": "972d7ac.f66db88",
+    "x": 1230.111328125,
+    "y": 457.0000457763672,
+    "z": "a2160ede.50a7f8",
     "wires": []
   },
   {
-    "id": "36dd756f.9a425a",
+    "id": "3831ed03.d1f9da",
     "type": "update",
     "name": "save p-interface",
-    "xml": "<save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='p-interface' \n      key='pnf.pnf-name = $node.node-id\n      AND p-interface.interface-name = $unique-ltpId' >      \n<parameter name='interface-name' value='`$unique-ltpId`' />\n<parameter name='network-ref' value='`$tp.supporting-termination-point[0].network-ref`' />\n<parameter name='transparent' value='`$tp.svc.supported-classification.transparent`' />\n<parameter name='speed-value' value='`$tp.te.interface-switching-capability[0].max-lsp-bandwidth[0].te-bandwidth.eth-bandwidth`' />\n<parameter name='operational-status' value='`$tp.te.oper-status`' />\n<parameter name='in-maint' value=\"true\" />\n\n",
+    "xml": "<save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='p-interface' \n      key='pnf.pnf-name = $unique-nodeId\n      AND p-interface.interface-name = $unique-ltpId' >      \n<parameter name='interface-name' value='`$unique-ltpId`' />\n<parameter name='network-ref' value='`$tp.supporting-termination-point[0].network-ref`' />\n<parameter name='transparent' value='`$tp.svc.supported-classification.transparent`' />\n<parameter name='speed-value' value='`$tp.te.interface-switching-capability[0].max-lsp-bandwidth[0].te-bandwidth.eth-bandwidth`' />\n<parameter name='operational-status' value='`$tp.te.oper-status`' />\n<parameter name='in-maint' value=\"true\" />\n\n<parameter name='inter-layer-lock-id' value='`$tp.te.inter-layer-lock-id[0]`' />\n<parameter name='inter-domain-plug-id' value='`$tp.te.inter-domain-plug-id`' />\n\n",
     "comments": "",
     "outputs": 1,
-    "x": 1187.8151397705078,
-    "y": 473.5555934906006,
-    "z": "972d7ac.f66db88",
+    "x": 1213.8151397705078,
+    "y": 630.5555934906006,
+    "z": "a2160ede.50a7f8",
     "wires": [
       [
-        "310a666a.23204a",
-        "52308d76.244944"
+        "9d09dea6.d30ca8",
+        "abd50ee3.2f813"
       ]
     ]
   },
   {
-    "id": "9b33d7c5.abef78",
+    "id": "7e259f3c.438d9",
     "type": "save",
     "name": "save pnf relationship to p-interface in AAI",
-    "xml": "<save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='pnf:relationship-list' \n      key='pnf.pnf-name = $node.node-id' force=\"true\" pfx=\"tmp.AnAI-data\">\n<parameter name=\"relationship-list.relationship[0].related-to\" value=\"p-interface\" />\n<parameter name=\"relationship-list.relationship[0].related-link\" value=\"`'/network/network-resources/network-resource/' + $tmp.network-id + '/pnfs/pnf/' + $node.node-id '/p-interfaces/p-interface/' + $unique-ltpId`\" />\n<parameter name=\"relationship-list.relationship[0].relationship-data[0].relationship-key\" value=\"p-interface.interface-name\" />\n<parameter name=\"relationship-list.relationship[0].relationship-data[0].relationship-value\" value=\"`$unique-ltpId`\" />",
+    "xml": "<save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='pnf:relationship-list' \n      key='pnf.pnf-name = $unique-nodeId' force=\"true\" pfx=\"tmp.AnAI-data\">\n<parameter name=\"relationship-list.relationship[0].related-to\" value=\"p-interface\" />\n<parameter name=\"relationship-list.relationship[0].related-link\" value=\"`'/network/network-resources/network-resource/' + $tmp.network-id + '/pnfs/pnf/' + $unique-nodeId '/p-interfaces/p-interface/' + $unique-ltpId`\" />\n<parameter name=\"relationship-list.relationship[0].relationship-data[0].relationship-key\" value=\"p-interface.interface-name\" />\n<parameter name=\"relationship-list.relationship[0].relationship-data[0].relationship-value\" value=\"`$unique-ltpId`\" />",
     "comments": "",
     "outputs": 1,
-    "x": 1263.7038879394531,
-    "y": 562.333345413208,
-    "z": "972d7ac.f66db88",
+    "x": 1297.703857421875,
+    "y": 765.3333740234375,
+    "z": "a2160ede.50a7f8",
     "wires": [
       []
     ]
   },
   {
-    "id": "38ff90b0.67e0b",
+    "id": "c670da77.075458",
     "type": "set",
     "name": "set unique-ltpId",
-    "xml": "<set>\n<parameter name='unique-ltpId' value=\"`'nodeId-' + $node.node-id + '-ltpId-' + $tp.te-tp-id`\" />\n",
+    "xml": "<set>\n<parameter name='unique-ltpId' value=\"`$unique-nodeId + '-ltpId-' + $tp.te-tp-id`\" />\n",
     "comments": "",
-    "x": 1188.000244140625,
-    "y": 334.1111145019531,
-    "z": "972d7ac.f66db88",
+    "x": 1214.000244140625,
+    "y": 491.1111145019531,
+    "z": "a2160ede.50a7f8",
     "wires": []
   },
   {
-    "id": "c70a984d.cc2a48",
+    "id": "32d96ea8.386a82",
     "type": "execute",
     "name": "execute",
     "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n    <parameter name=\"source\" value=\"`$network.network-id`\"/>\n    <parameter name=\"outputPath\" value=\"tmp.network-id\"/>\n    <parameter name=\"target\" value=\"/\"/>\n    <parameter name=\"replacement\" value=\"-\"/>\n    ",
     "comments": "",
     "outputs": 1,
-    "x": 645.9935302734375,
-    "y": 98.99349212646484,
-    "z": "972d7ac.f66db88",
+    "x": 671.9935302734375,
+    "y": 75.99349212646484,
+    "z": "a2160ede.50a7f8",
     "wires": [
       []
     ]
   },
   {
-    "id": "24e04af5.ddea66",
+    "id": "ba78539e.d2e248",
     "type": "save",
     "name": "save pnf relation with esr-thirdparty-sdnc",
     "xml": "<save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='esr-thirdparty-sdnc:relationship-list' \n      key='esr-thirdparty-sdnc.thirdparty-sdnc-id = $prop.sdncRestApi.thirdpartySdnc.id' \n      force=\"true\" pfx=\"tmp.AnAI-data\">\n<parameter name=\"relationship-list.relationship[0].related-to\" value=\"pnf\" />\n<parameter name=\"relationship-list.relationship[0].related-link\" value=\"`'/network/pnfs/pnf/' + $node.node-id`\" />\n<parameter name=\"relationship-list.relationship[0].relationship-data[0].relationship-key\" value=\"pnf.pnf-name\" />\n<parameter name=\"relationship-list.relationship[0].relationship-data[0].relationship-value\" value=\"`$node.node-id`\" />\n",
     "comments": "",
     "outputs": 1,
-    "x": 986,
-    "y": 259.9934997558594,
-    "z": "972d7ac.f66db88",
+    "x": 1012,
+    "y": 416.9934997558594,
+    "z": "a2160ede.50a7f8",
     "wires": [
       []
     ]
   },
   {
-    "id": "310a666a.23204a",
+    "id": "9d09dea6.d30ca8",
     "type": "success",
     "name": "success",
     "xml": "<outcome value='success'>\n",
     "comments": "",
     "outputs": 1,
-    "x": 1359.4998397827148,
-    "y": 460.7460689544678,
-    "z": "972d7ac.f66db88",
+    "x": 1385.4998397827148,
+    "y": 617.7460689544678,
+    "z": "a2160ede.50a7f8",
     "wires": [
       [
-        "fcc0153a.edfd18"
+        "3d744c93.2eb20c"
       ]
     ]
   },
   {
-    "id": "52308d76.244944",
+    "id": "abd50ee3.2f813",
     "type": "failure",
     "name": "failure",
     "xml": "<outcome value='failure'>\n",
     "comments": "",
     "outputs": 1,
-    "x": 1353.1784286499023,
-    "y": 512.9603805541992,
-    "z": "972d7ac.f66db88",
+    "x": 1379.1784286499023,
+    "y": 669.9603805541992,
+    "z": "a2160ede.50a7f8",
     "wires": [
       [
-        "1c6a1f1f.8e0f61"
+        "a0fb6003.0efd8"
       ]
     ]
   },
   {
-    "id": "fcc0153a.edfd18",
+    "id": "3d744c93.2eb20c",
     "type": "block",
     "name": "block",
     "xml": "<block>\n",
     "atomic": "false",
     "comments": "",
     "outputs": 1,
-    "x": 1510,
-    "y": 460,
-    "z": "972d7ac.f66db88",
+    "x": 1536,
+    "y": 617,
+    "z": "a2160ede.50a7f8",
     "wires": [
       []
     ]
   },
   {
-    "id": "1c6a1f1f.8e0f61",
+    "id": "a0fb6003.0efd8",
     "type": "update",
-    "name": "save p-interface",
-    "xml": "<update plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='p-interface' \n      key='pnf.pnf-name = $node.node-id\n      AND p-interface.interface-name = $unique-ltpId' >      \n<parameter name='interface-name' value='`$unique-ltpId`' />\n<parameter name='network-ref' value='`$tp.supporting-termination-point[0].network-ref`' />\n<parameter name='transparent' value='`$tp.svc.supported-classification.transparent`' />\n<parameter name='speed-value' value='`$tp.te.interface-switching-capability[0].max-lsp-bandwidth[0].te-bandwidth.eth-bandwidth`' />\n<parameter name='operational-status' value='`$tp.te.oper-status`' />\n<parameter name='in-maint' value=\"true\" />\n\n",
+    "name": "update p-interface",
+    "xml": "<update plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='p-interface' \n      key='pnf.pnf-name = $node.node-id\n      AND p-interface.interface-name = $unique-ltpId' >      \n<parameter name='interface-name' value='`$unique-ltpId`' />\n<parameter name='network-ref' value='`$tp.supporting-termination-point[0].network-ref`' />\n<parameter name='transparent' value='`$tp.svc.supported-classification.transparent`' />\n<parameter name='speed-value' value='`$tp.te.interface-switching-capability[0].max-lsp-bandwidth[0].te-bandwidth.eth-bandwidth`' />\n<parameter name='operational-status' value='`$tp.te.oper-status`' />\n<parameter name='in-maint' value=\"true\" />\n\n<parameter name='inter-layer-lock-id' value='`$tp.te.inter-layer-lock-id[0]`' />\n<parameter name='inter-domain-plug-id' value='`$tp.te.inter-domain-plug-id`' />\n\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 1556,
+    "y": 667,
+    "z": "a2160ede.50a7f8",
+    "wires": [
+      []
+    ]
+  },
+  {
+    "id": "aa9ed7c5.9f2be8",
+    "type": "update",
+    "name": "save tunnel-termination-point",
+    "xml": "<save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='tunnel-termination-point' \n      key='pnf.pnf-name = $unique-nodeId\n      AND tunnel-termination-point.ttp-id = $unique-ttpId' >\n\n<parameter name='ttp-id' value='`$unique-ttpId`' />\n<parameter name='tunnel-tp-id' value='`$ttp.tunnel-tp-id`' />\n<parameter name='name' value='`$ttp.name`' />\n<parameter name='admin-status' value='`$ttp.admin-status`' />\n<parameter name='oper-status' value='`$ttp.oper-status`' />\n<parameter name='inter-layer-lock-id' value='`$ttp.inter-layer-lock-id`' />\n<parameter name='switching-capability' value='`$ttp.switching-capability`' />\n<parameter name='protection-type' value='`$ttp.protection-type`' />\n<parameter name='encoding' value='`$ttp.encoding`' />\n\n\n\n\n\n\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 1423,
+    "y": 205,
+    "z": "a2160ede.50a7f8",
+    "wires": [
+      [
+        "54fe71d8.edb1c",
+        "6cd48f92.21a288"
+      ]
+    ]
+  },
+  {
+    "id": "7a876b8.f89b114",
+    "type": "for",
+    "name": "for each tunnel termination point",
+    "xml": "<for index='ttidx' start='0' end='`$node.te.tunnel-termination-point_length`' >\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 1038,
+    "y": 281,
+    "z": "a2160ede.50a7f8",
+    "wires": [
+      [
+        "79913f13.5b1fa",
+        "4552b8b5.e9ba2",
+        "aa9ed7c5.9f2be8",
+        "e23bdb7f.fdc9c"
+      ]
+    ]
+  },
+  {
+    "id": "79913f13.5b1fa",
+    "type": "set",
+    "name": "set tunnel termination point",
+    "xml": "<set>\n<parameter name='ttp.' value='`$node.te.tunnel-termination-point[$ttidx].`' />\n",
+    "comments": "",
+    "x": 1393,
+    "y": 114,
+    "z": "a2160ede.50a7f8",
+    "wires": []
+  },
+  {
+    "id": "4552b8b5.e9ba2",
+    "type": "set",
+    "name": "set unique-ttpId",
+    "xml": "<set>\n<parameter name='unique-ttpId' value=\"`$unique-nodeId + '-ttpId-' + $ttp.tunnel-tp-id`\" />\n",
+    "comments": "",
+    "x": 1370.888916015625,
+    "y": 151.111083984375,
+    "z": "a2160ede.50a7f8",
+    "wires": []
+  },
+  {
+    "id": "54fe71d8.edb1c",
+    "type": "success",
+    "name": "success",
+    "xml": "<outcome value='success'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 1680,
+    "y": 191,
+    "z": "a2160ede.50a7f8",
+    "wires": [
+      [
+        "42f8b4e.c7b524c"
+      ]
+    ]
+  },
+  {
+    "id": "6cd48f92.21a288",
+    "type": "failure",
+    "name": "failure",
+    "xml": "<outcome value='failure'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 1673.6785888671875,
+    "y": 243.21431159973145,
+    "z": "a2160ede.50a7f8",
+    "wires": [
+      [
+        "5f719388.c96efc"
+      ]
+    ]
+  },
+  {
+    "id": "42f8b4e.c7b524c",
+    "type": "block",
+    "name": "block",
+    "xml": "<block>\n",
+    "atomic": "false",
+    "comments": "",
+    "outputs": 1,
+    "x": 1830.5001602172852,
+    "y": 190.25393104553223,
+    "z": "a2160ede.50a7f8",
+    "wires": [
+      []
+    ]
+  },
+  {
+    "id": "5f719388.c96efc",
+    "type": "update",
+    "name": "update tunnel-termination-point",
+    "xml": "<update plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='tunnel-termination-point' \n      key='pnf.pnf-name = $node.node-id\n      AND tunnel-termination-point.ttp-id = $unique-ttpId' >\n\n<parameter name='tunnel-tp-id' value='`$ttp.tunnel-tp-id`' />\n<parameter name='name' value='`$ttp.name`' />\n<parameter name='admin-status' value='`$ttp.admin-status`' />\n<parameter name='oper-status' value='`$ttp.oper-status`' />\n<parameter name='inter-layer-lock-id' value='`$ttp.inter-layer-lock-id`' />\n<parameter name='switching-capability' value='`$ttp.switching-capability`' />\n<parameter name='protection-type' value='`$ttp.protection-type`' />\n<parameter name='encoding' value='`$ttp.encoding`' />\n\n\n\n\n\n\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 1911,
+    "y": 245,
+    "z": "a2160ede.50a7f8",
+    "wires": [
+      []
+    ]
+  },
+  {
+    "id": "46013f8c.54849",
+    "type": "set",
+    "name": "set local variables",
+    "xml": "<set>\n<parameter name='unique-networkId' value='`$tmp.network-id`' />\n<parameter name='unique-nodeId' value=\"`'networkId-' + $unique-networkId + '-nodeId-' + $node.node-id`\" />\n",
+    "comments": "",
+    "x": 969,
+    "y": 167,
+    "z": "a2160ede.50a7f8",
+    "wires": []
+  },
+  {
+    "id": "ffd24e55.e4afa",
+    "type": "call",
+    "name": "call update-network-links-to-aai",
+    "xml": "<call module='DataChange' rpc='update-network-links-to-aai' mode='sync' >\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 648,
+    "y": 311,
+    "z": "a2160ede.50a7f8",
+    "wires": [
+      []
+    ]
+  },
+  {
+    "id": "f6959b19.b0bc18",
+    "type": "save",
+    "name": "save pnf-interface relationship to pnf in AAI",
+    "xml": "<save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='p-interface:relationship-list' \n      key='pnf.pnf-name = $unique-nodeId\n      AND p-interface.interface-name = $unique-ltpId' force=\"true\" pfx=\"tmp.AnAI-data\">\n<parameter name=\"relationship-list.relationship[0].related-to\" value=\"pnf\" />\n<parameter name=\"relationship-list.relationship[0].related-link\" value=\"`'/network/pnfs/pnf/' + $unique-nodeId`\" />\n<parameter name=\"relationship-list.relationship[0].relationship-data[0].relationship-key\" value=\"pnf.pnf-name\" />\n<parameter name=\"relationship-list.relationship[0].relationship-data[0].relationship-value\" value=\"`$unique-nodeId`\" />\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 1300,
+    "y": 724,
+    "z": "a2160ede.50a7f8",
+    "wires": [
+      []
+    ]
+  },
+  {
+    "id": "e23bdb7f.fdc9c",
+    "type": "save",
+    "name": "save pnf relationship to tunnel termination point in AAI",
+    "xml": "<save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='pnf:relationship-list' \n      key='pnf.pnf-name = $unique-nodeId' force=\"true\" pfx=\"tmp.AnAI-data\">\n<parameter name=\"relationship-list.relationship[$ttidx].related-to\" value=\"tunnel-termination-point\" />\n<parameter name=\"relationship-list.relationship[$ttidx].related-link\" value=\"`'/network/network-resources/network-resource/' + $tmp.network-id + '/pnfs/pnf/' + $node.node-id '/tunnel-termination-points/tunnel-termination-point/' + $unique-ttpId`\" />\n<parameter name=\"relationship-list.relationship[$ttidx].relationship-data[0].relationship-key\" value=\"tunnel-termination-point.ttp-id\" />\n<parameter name=\"relationship-list.relationship[$ttidx].relationship-data[0].relationship-value\" value=\"`$unique-ttpId`\" />",
     "comments": "",
     "outputs": 1,
-    "x": 1530,
-    "y": 510,
-    "z": "972d7ac.f66db88",
+    "x": 1485,
+    "y": 297,
+    "z": "a2160ede.50a7f8",
     "wires": [
       []
     ]
   }
-]
+]
\ No newline at end of file
diff --git a/platform-logic/datachange/src/main/json/DataChange_update-open-ended-links.json b/platform-logic/datachange/src/main/json/DataChange_update-open-ended-links.json
new file mode 100644 (file)
index 0000000..4e938f9
--- /dev/null
@@ -0,0 +1,581 @@
+[
+  {
+    "id": "a4730fa5.b2b538",
+    "type": "dgstart",
+    "name": "DGSTART",
+    "outputs": 1,
+    "x": 133,
+    "y": 60,
+    "z": "2d51e841.8826c",
+    "wires": [
+      [
+        "963c0a3f.e2aab8"
+      ]
+    ]
+  },
+  {
+    "id": "963c0a3f.e2aab8",
+    "type": "service-logic",
+    "name": "DataChange ${project.version}",
+    "module": "DataChange",
+    "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='DataChange' version='${project.version}'>",
+    "outputs": 1,
+    "x": 175,
+    "y": 139.888916015625,
+    "z": "2d51e841.8826c",
+    "wires": [
+      [
+        "f069c04b.7272a8"
+      ]
+    ]
+  },
+  {
+    "id": "f069c04b.7272a8",
+    "type": "method",
+    "name": "method update-open-ended-links",
+    "xml": "<method rpc='update-open-ended-links' mode='sync'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 304,
+    "y": 216.22222900390625,
+    "z": "2d51e841.8826c",
+    "wires": [
+      [
+        "5fe0240b.9f5e84"
+      ]
+    ]
+  },
+  {
+    "id": "600f4f1f.93dc48",
+    "type": "set",
+    "name": "set src-ltpId dst-ltpId",
+    "xml": "<set>\n<parameter name='src-ltpId' value=\"`'nodeId-' + $oof.vpn.access-node-id + '-ltpId-' + $oof.vpn.src-access-ltp-id`\" />\n<parameter name='dst-ltpId' value=\"`'nodeId-' + $oof.vpn.access-node-id + '-ltpId-' + $oof.vpn.dst-access-ltp-id`\" />",
+    "comments": "",
+    "x": 2588.5001220703125,
+    "y": 2407.545135498047,
+    "z": "2d51e841.8826c",
+    "wires": []
+  },
+  {
+    "id": "b48d925b.b73e18",
+    "type": "save",
+    "name": "save srcLTP relationship in AAI",
+    "xml": "<save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='vpn-binding:relationship-list' \n      key='vpn-binding.vpn-id = $tmp.vpnName' \n      force=\"true\" pfx=\"tmp.AnAI-data\">\n<parameter name=\"relationship-list.relationship[0].related-to\" value=\"p-interface\" />\n<parameter name=\"relationship-list.relationship[0].related-link\" value=\"`'/network/pnfs/pnf/' + $oof.vpn.access-node-id + '/p-interfaces/p-interface/' + $src-ltpId`\" />\n<parameter name=\"relationship-list.relationship[0].relationship-data[0].relationship-key\" value=\"p-interface.interface-name\" />\n<parameter name=\"relationship-list.relationship[0].relationship-data[0].relationship-value\" value=\"`$src-ltpId`\" />\n\n\n\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 2622.0001220703125,
+    "y": 2447.545135498047,
+    "z": "2d51e841.8826c",
+    "wires": [
+      []
+    ]
+  },
+  {
+    "id": "e4fffbf8.efdc1",
+    "type": "save",
+    "name": "save dstLTP relationship in AAI",
+    "xml": "<save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='vpn-binding:relationship-list' \n      key='vpn-binding.vpn-id = $tmp.vpnName' \n      force=\"true\" pfx=\"tmp.AnAI-data\">\n<parameter name=\"relationship-list.relationship[0].related-to\" value=\"p-interface\" />\n<parameter name=\"relationship-list.relationship[0].related-link\" value=\"`'/network/pnfs/pnf/' + $oof.vpn.access-node-id + '/p-interfaces/p-interface/' + $dst-ltpId`\" />\n<parameter name=\"relationship-list.relationship[0].relationship-data[0].relationship-key\" value=\"p-interface.interface-name\" />\n<parameter name=\"relationship-list.relationship[0].relationship-data[0].relationship-value\" value=\"`$dst-ltpId`\" />",
+    "comments": "",
+    "outputs": 1,
+    "x": 2622.0001220703125,
+    "y": 2487.545135498047,
+    "z": "2d51e841.8826c",
+    "wires": [
+      []
+    ]
+  },
+  {
+    "id": "5fe0240b.9f5e84",
+    "type": "block",
+    "name": "block : atomic",
+    "xml": "<block atomic=\"true\">\n",
+    "atomic": "false",
+    "comments": "",
+    "outputs": 1,
+    "x": 352,
+    "y": 292,
+    "z": "2d51e841.8826c",
+    "wires": [
+      [
+        "ad07d50.754baa8"
+      ]
+    ]
+  },
+  {
+    "id": "2e1c8992.8f12ae",
+    "type": "block",
+    "name": "block : atomic",
+    "xml": "<block atomic=\"true\">\n",
+    "atomic": "false",
+    "comments": "",
+    "outputs": 1,
+    "x": 1049,
+    "y": 308,
+    "z": "2d51e841.8826c",
+    "wires": [
+      [
+        "9f715b7e.78a038",
+        "c6421633.502c1",
+        "a2711f41.99aed"
+      ]
+    ]
+  },
+  {
+    "id": "ad07d50.754baa8",
+    "type": "get-resource",
+    "name": "get-resource logical-links",
+    "xml": "<get-resource plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\t\tresource=\"logical-links\" \n        pfx='tmp.aai.logical-links' local-only='false' >\n\n\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 404,
+    "y": 406,
+    "z": "2d51e841.8826c",
+    "wires": [
+      [
+        "b44d8d9a.662e8",
+        "54bde795.2840f",
+        "7cb9aff6.3d28f"
+      ]
+    ]
+  },
+  {
+    "id": "24989c8d.a37c5c",
+    "type": "for",
+    "name": "for llidx..logical-links",
+    "xml": "<for index='llidx' start='0' end='`$tmp.aai.logical-links.logical-link_length`' >",
+    "comments": "",
+    "outputs": 1,
+    "x": 848,
+    "y": 314,
+    "z": "2d51e841.8826c",
+    "wires": [
+      [
+        "2e1c8992.8f12ae"
+      ]
+    ]
+  },
+  {
+    "id": "b44d8d9a.662e8",
+    "type": "success",
+    "name": "success",
+    "xml": "<outcome value='success'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 647,
+    "y": 331,
+    "z": "2d51e841.8826c",
+    "wires": [
+      [
+        "24989c8d.a37c5c"
+      ]
+    ]
+  },
+  {
+    "id": "54bde795.2840f",
+    "type": "not-found",
+    "name": "not-found",
+    "xml": "<outcome value='not-found'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 650.490966796875,
+    "y": 378.57403564453125,
+    "z": "2d51e841.8826c",
+    "wires": [
+      [
+        "761d79e2.4ce53"
+      ]
+    ]
+  },
+  {
+    "id": "7cb9aff6.3d28f",
+    "type": "other",
+    "name": "other",
+    "xml": "<outcome value='Other'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 645.823974609375,
+    "y": 419.9073486328125,
+    "z": "2d51e841.8826c",
+    "wires": [
+      [
+        "5c958fe.694997"
+      ]
+    ]
+  },
+  {
+    "id": "761d79e2.4ce53",
+    "type": "returnFailure",
+    "name": "return failure",
+    "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n    <parameter name=\"error-message\" value=\"`'An error occurred while querying pnf from AnAI with pnf-name = ' + $prop.l3vpn.pe1_id`\" />\n\n",
+    "comments": "",
+    "x": 827.0623779296875,
+    "y": 366.8597717285156,
+    "z": "2d51e841.8826c",
+    "wires": []
+  },
+  {
+    "id": "5c958fe.694997",
+    "type": "returnFailure",
+    "name": "return failure",
+    "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n    <parameter name=\"error-message\" value=\"`'Unexpected error occurred while querying pnf from AnAI with pnf-name = ' + $prop.l3vpn.pe1_id`\" />\n\n",
+    "comments": "",
+    "x": 833.5965309143066,
+    "y": 415.3465414047241,
+    "z": "2d51e841.8826c",
+    "wires": []
+  },
+  {
+    "id": "9f715b7e.78a038",
+    "type": "set",
+    "name": "set src-tpId and dst-tpId",
+    "xml": "<set>\n<parameter name='src-tpId' value='`$tmp.aai.logical-links.logical-link[$llidx].relationship-list.relationship[0].relationship-data[0].relationship-value`' />\n<parameter name='dst-tpId' value='`$tmp.aai.logical-links.logical-link[$llidx].relationship-list.relationship[1].relationship-data[0].relationship-value`' />\n<parameter name='ll-to-be-updated.' value='`$tmp.aai.logical-links.logical-link[$llidx].`' />\n",
+    "comments": "",
+    "x": 1267,
+    "y": 275,
+    "z": "2d51e841.8826c",
+    "wires": []
+  },
+  {
+    "id": "c6421633.502c1",
+    "type": "switchNode",
+    "name": "switch dst-tpId",
+    "xml": "<switch test='$dst-tpId'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 1252,
+    "y": 331,
+    "z": "2d51e841.8826c",
+    "wires": [
+      [
+        "b47ff6eb.a4d9f"
+      ]
+    ]
+  },
+  {
+    "id": "b47ff6eb.a4d9f",
+    "type": "outcome",
+    "name": "Null",
+    "xml": "<outcome value=''>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 1410,
+    "y": 329,
+    "z": "2d51e841.8826c",
+    "wires": [
+      [
+        "16724920.b5473f"
+      ]
+    ]
+  },
+  {
+    "id": "16724920.b5473f",
+    "type": "get-resource",
+    "name": "get-resource src-tp",
+    "xml": "<get-resource plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\t\tresource=\"p-interface\" \n\t\tkey=\"p-interface.interface-name = $src-ltpId \n\t\tAND depth = '0'\"\n        pfx='tmp.aai.src-tp' local-only='false' >\n\n\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 1651,
+    "y": 323,
+    "z": "2d51e841.8826c",
+    "wires": [
+      [
+        "ddb47bdc.dd3e1",
+        "75823244.f30b6c",
+        "a5faba9c.6ae828"
+      ]
+    ]
+  },
+  {
+    "id": "ddb47bdc.dd3e1",
+    "type": "success",
+    "name": "success",
+    "xml": "<outcome value='success'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 1837,
+    "y": 275,
+    "z": "2d51e841.8826c",
+    "wires": [
+      [
+        "7fbf5312.2bd97c"
+      ]
+    ]
+  },
+  {
+    "id": "75823244.f30b6c",
+    "type": "not-found",
+    "name": "not-found",
+    "xml": "<outcome value='not-found'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 1840.490966796875,
+    "y": 322.57403564453125,
+    "z": "2d51e841.8826c",
+    "wires": [
+      [
+        "5bc2c58e.453e6c"
+      ]
+    ]
+  },
+  {
+    "id": "a5faba9c.6ae828",
+    "type": "other",
+    "name": "other",
+    "xml": "<outcome value='Other'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 1835.823974609375,
+    "y": 363.9073486328125,
+    "z": "2d51e841.8826c",
+    "wires": [
+      [
+        "24a60b72.e80d8c"
+      ]
+    ]
+  },
+  {
+    "id": "5bc2c58e.453e6c",
+    "type": "returnFailure",
+    "name": "return failure",
+    "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n    <parameter name=\"error-message\" value=\"`'An error occurred while querying pnf from AnAI with pnf-name = ' + $prop.l3vpn.pe1_id`\" />\n\n",
+    "comments": "",
+    "x": 2017.0623779296875,
+    "y": 310.8597717285156,
+    "z": "2d51e841.8826c",
+    "wires": []
+  },
+  {
+    "id": "24a60b72.e80d8c",
+    "type": "returnFailure",
+    "name": "return failure",
+    "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n    <parameter name=\"error-message\" value=\"`'Unexpected error occurred while querying pnf from AnAI with pnf-name = ' + $prop.l3vpn.pe1_id`\" />\n\n",
+    "comments": "",
+    "x": 2023.5965309143066,
+    "y": 359.3465414047241,
+    "z": "2d51e841.8826c",
+    "wires": []
+  },
+  {
+    "id": "7fbf5312.2bd97c",
+    "type": "set",
+    "name": "set src-plug-id",
+    "xml": "<set>\n<parameter name='src-plug-id' value='`$tmp.aai.src-tp.inter-domain-plug-id`' />\n",
+    "comments": "",
+    "x": 1993,
+    "y": 253,
+    "z": "2d51e841.8826c",
+    "wires": []
+  },
+  {
+    "id": "a2711f41.99aed",
+    "type": "get-resource",
+    "name": "get-resource all p-interfaces",
+    "xml": "<get-resource plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\t\tresource=\"p-interfaces\" \n        pfx='tmp.aai.p-interfaces' local-only='false' >\n\n\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 1266,
+    "y": 410,
+    "z": "2d51e841.8826c",
+    "wires": [
+      [
+        "a9ec6ed8.02a288",
+        "e66f15d8.7cc2a8"
+      ]
+    ]
+  },
+  {
+    "id": "a9ec6ed8.02a288",
+    "type": "success",
+    "name": "success",
+    "xml": "<outcome value='success'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 1467,
+    "y": 462,
+    "z": "2d51e841.8826c",
+    "wires": [
+      [
+        "87b285e9.edf858"
+      ]
+    ]
+  },
+  {
+    "id": "e66f15d8.7cc2a8",
+    "type": "not-found",
+    "name": "not-found",
+    "xml": "<outcome value='not-found'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 1470.490966796875,
+    "y": 509.57403564453125,
+    "z": "2d51e841.8826c",
+    "wires": [
+      [
+        "ab0ecfce.ced48"
+      ]
+    ]
+  },
+  {
+    "id": "7daaa9de.7015e",
+    "type": "other",
+    "name": "other",
+    "xml": "<outcome value='Other'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 1465.823974609375,
+    "y": 550.9073486328125,
+    "z": "2d51e841.8826c",
+    "wires": [
+      [
+        "5ce824c0.079a3c"
+      ]
+    ]
+  },
+  {
+    "id": "ab0ecfce.ced48",
+    "type": "returnFailure",
+    "name": "return failure",
+    "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n    <parameter name=\"error-message\" value=\"`'An error occurred while querying pnf from AnAI with pnf-name = ' + $prop.l3vpn.pe1_id`\" />\n\n",
+    "comments": "",
+    "x": 1691.0623779296875,
+    "y": 509.8597717285156,
+    "z": "2d51e841.8826c",
+    "wires": []
+  },
+  {
+    "id": "5ce824c0.079a3c",
+    "type": "returnFailure",
+    "name": "return failure",
+    "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n    <parameter name=\"error-message\" value=\"`'Unexpected error occurred while querying pnf from AnAI with pnf-name = ' + $prop.l3vpn.pe1_id`\" />\n\n",
+    "comments": "",
+    "x": 1689.5965576171875,
+    "y": 558.3465270996094,
+    "z": "2d51e841.8826c",
+    "wires": []
+  },
+  {
+    "id": "87b285e9.edf858",
+    "type": "for",
+    "name": "for tpidx..p-interfaces",
+    "xml": "<for index='tpidx' start='0' end='`$tmp.aai.p-interfaces.p-interface_length`' >\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 1717,
+    "y": 455,
+    "z": "2d51e841.8826c",
+    "wires": [
+      [
+        "caee7f5b.2e999"
+      ]
+    ]
+  },
+  {
+    "id": "caee7f5b.2e999",
+    "type": "switchNode",
+    "name": "switch p-interface plug-id",
+    "xml": "<switch test='`$tmp.aai.p-interfaces.p-interface[$tpidx].inter-domain-plug-id`'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 1970,
+    "y": 454,
+    "z": "2d51e841.8826c",
+    "wires": [
+      [
+        "36abe849.5c4c28"
+      ]
+    ]
+  },
+  {
+    "id": "36abe849.5c4c28",
+    "type": "outcome",
+    "name": "src-plug-id",
+    "xml": "<outcome value='`$src-plug-id`'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 2190,
+    "y": 455,
+    "z": "2d51e841.8826c",
+    "wires": [
+      [
+        "3f76c8e3.c93db"
+      ]
+    ]
+  },
+  {
+    "id": "3f76c8e3.c93db",
+    "type": "switchNode",
+    "name": "switch p-interface id != src-tp-id",
+    "xml": "<switch test='`$tmp.aai.p-interfaces.p-interface[$tpidx].interface-name != $src-tp-id `'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 2278,
+    "y": 560,
+    "z": "2d51e841.8826c",
+    "wires": [
+      [
+        "5880ad72.3e02cc"
+      ]
+    ]
+  },
+  {
+    "id": "5880ad72.3e02cc",
+    "type": "outcomeTrue",
+    "name": "true",
+    "xml": "<outcome value='true'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 2496,
+    "y": 561,
+    "z": "2d51e841.8826c",
+    "wires": [
+      [
+        "5ec22f81.96987"
+      ]
+    ]
+  },
+  {
+    "id": "a4250947.c5b9c8",
+    "type": "save",
+    "name": "update dest TP",
+    "xml": "<update plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='logical-link:relationship-list' \n      key='logical-link.link-name = $ll-to-be-updated.link-name' force=\"true\" pfx=\"tmp.AnAI-data\">\n\n<parameter name=\"relationship-list.relationship[1].related-to\" value=\"p-interface\" />\n<parameter name=\"relationship-list.relationship[1].related-link\" value=\"`'/p-interfaces/p-interface/' + $dst-tp-new`\" />\n<parameter name=\"relationship-list.relationship[1].relationship-data[0].relationship-key\" value=\"p-interface.interface-name\" />\n<parameter name=\"relationship-list.relationship[1].relationship-data[0].relationship-value\" value=\"`$dst-tp-new`\" />",
+    "comments": "",
+    "outputs": 1,
+    "x": 2846,
+    "y": 596,
+    "z": "2d51e841.8826c",
+    "wires": [
+      []
+    ]
+  },
+  {
+    "id": "5ec22f81.96987",
+    "type": "block",
+    "name": "block : atomic",
+    "xml": "<block atomic='true'>",
+    "atomic": "true",
+    "comments": "",
+    "outputs": 1,
+    "x": 2651,
+    "y": 561,
+    "z": "2d51e841.8826c",
+    "wires": [
+      [
+        "4ca48c5e.f576ec",
+        "a4250947.c5b9c8"
+      ]
+    ]
+  },
+  {
+    "id": "4ca48c5e.f576ec",
+    "type": "set",
+    "name": "set dst-tp-new",
+    "xml": "<set>\n<parameter name='dst-tp-new' value='`$tmp.aai.p-interfaces.p-interface[$tpidx].interface-name`' />\n",
+    "comments": "",
+    "x": 2820,
+    "y": 525,
+    "z": "2d51e841.8826c",
+    "wires": []
+  }
+]
\ No newline at end of file
diff --git a/platform-logic/datachange/src/main/json/DataChange_update-tp-ttp-relationship.json b/platform-logic/datachange/src/main/json/DataChange_update-tp-ttp-relationship.json
new file mode 100644 (file)
index 0000000..bf63e73
--- /dev/null
@@ -0,0 +1,327 @@
+[
+  {
+    "id": "c069a9f3.34d638",
+    "type": "dgstart",
+    "name": "DGSTART",
+    "outputs": 1,
+    "x": 168,
+    "y": 75,
+    "z": "d37ca473.74b47",
+    "wires": [
+      [
+        "2f4d91cf.36cc46"
+      ]
+    ]
+  },
+  {
+    "id": "2f4d91cf.36cc46",
+    "type": "service-logic",
+    "name": "DataChange ${project.version}",
+    "module": "DataChange",
+    "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='DataChange' version='${project.version}'>",
+    "outputs": 1,
+    "x": 257.0000305175781,
+    "y": 165.88891220092773,
+    "z": "d37ca473.74b47",
+    "wires": [
+      [
+        "550913a5.d552a4"
+      ]
+    ]
+  },
+  {
+    "id": "550913a5.d552a4",
+    "type": "method",
+    "name": "method update-tp-ttp-relationship",
+    "xml": "<method rpc='update-tp-ttp-relationship' mode='sync'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 293.1112518310547,
+    "y": 236.22223663330078,
+    "z": "d37ca473.74b47",
+    "wires": [
+      [
+        "1261384d.98d348"
+      ]
+    ]
+  },
+  {
+    "id": "1261384d.98d348",
+    "type": "block",
+    "name": "block : atomic",
+    "xml": "<block atomic=\"true\">\n",
+    "atomic": "false",
+    "comments": "",
+    "outputs": 1,
+    "x": 518.3334350585938,
+    "y": 235.77792358398438,
+    "z": "d37ca473.74b47",
+    "wires": [
+      [
+        "f631c21f.80e608",
+        "d6f41ba6.e863f8",
+        "9c740eae.9ff66"
+      ]
+    ]
+  },
+  {
+    "id": "d6f41ba6.e863f8",
+    "type": "for",
+    "name": "for each node in network-eth",
+    "xml": "<for index='pethidx' start='0' end='`$network-eth.node_length`' >\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 750.8888549804688,
+    "y": 190.33331298828125,
+    "z": "d37ca473.74b47",
+    "wires": [
+      [
+        "9889f298.ed1fc8",
+        "5c75717d.de39a",
+        "f952b49d.52fa6"
+      ]
+    ]
+  },
+  {
+    "id": "9889f298.ed1fc8",
+    "type": "set",
+    "name": "set node-eth",
+    "xml": "<set>\n<parameter name='node-eth.' value='`$network-eth.node[$pethidx].`' />",
+    "comments": "",
+    "x": 1034.111083984375,
+    "y": 97.22221374511719,
+    "z": "d37ca473.74b47",
+    "wires": []
+  },
+  {
+    "id": "5c75717d.de39a",
+    "type": "for",
+    "name": "for each termination point",
+    "xml": "<for index='tidx' start='0' end='`$node-eth.termination-point_length`' >\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 983.4444580078125,
+    "y": 353.111083984375,
+    "z": "d37ca473.74b47",
+    "wires": [
+      [
+        "c60cccd6.642dd",
+        "4b686a78.0dbfdc",
+        "634edb60.ca9b44",
+        "d61d1f77.90dba"
+      ]
+    ]
+  },
+  {
+    "id": "c60cccd6.642dd",
+    "type": "set",
+    "name": "set termination point tp-eth",
+    "xml": "<set>\n<parameter name='tp-eth.' value='`$node-eth.termination-point[$tidx].`' />\n",
+    "comments": "",
+    "x": 1255.111328125,
+    "y": 224.00006103515625,
+    "z": "d37ca473.74b47",
+    "wires": []
+  },
+  {
+    "id": "4b686a78.0dbfdc",
+    "type": "set",
+    "name": "set unique-ltpethId",
+    "xml": "<set>\n<parameter name='unique-ltpethId' value=\"`$unique-node-ethId + '-ltpId-' + $tp-eth.te-tp-id`\" />\n",
+    "comments": "",
+    "x": 1233.000244140625,
+    "y": 261.111083984375,
+    "z": "d37ca473.74b47",
+    "wires": []
+  },
+  {
+    "id": "f631c21f.80e608",
+    "type": "execute",
+    "name": "execute set tmp.network-eth.network-id",
+    "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n    <parameter name=\"source\" value=\"`$network-eth.network-id`\"/>\n    <parameter name=\"outputPath\" value=\"tmp.network-eth.network-id\"/>\n    <parameter name=\"target\" value=\"/\"/>\n    <parameter name=\"replacement\" value=\"-\"/>\n    ",
+    "comments": "",
+    "outputs": 1,
+    "x": 708.9935302734375,
+    "y": 54.993499755859375,
+    "z": "d37ca473.74b47",
+    "wires": [
+      []
+    ]
+  },
+  {
+    "id": "f952b49d.52fa6",
+    "type": "set",
+    "name": "set local variables",
+    "xml": "<set>\n<parameter name='unique-network-ethId' value='`$tmp.network-eth.network-id`' />\n<parameter name='unique-node-ethId' value=\"`'networkId-' + $unique-network-ethId + '-nodeId-' + $node-eth.node-id`\" />\n",
+    "comments": "",
+    "x": 1033,
+    "y": 145,
+    "z": "d37ca473.74b47",
+    "wires": []
+  },
+  {
+    "id": "9c740eae.9ff66",
+    "type": "execute",
+    "name": "execute set tmp.network-otn.network-id",
+    "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n    <parameter name=\"source\" value=\"`$network-otn.network-id`\"/>\n    <parameter name=\"outputPath\" value=\"tmp.network-otn.network-id\"/>\n    <parameter name=\"target\" value=\"/\"/>\n    <parameter name=\"replacement\" value=\"-\"/>\n    ",
+    "comments": "",
+    "outputs": 1,
+    "x": 706,
+    "y": 94,
+    "z": "d37ca473.74b47",
+    "wires": [
+      []
+    ]
+  },
+  {
+    "id": "75e07276.34af4c",
+    "type": "for",
+    "name": "for each tunnel termination point in otn",
+    "xml": "<for index='ttidx' start='0' end='`$node.te.tunnel-termination-point_length`' >\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 1609,
+    "y": 408,
+    "z": "d37ca473.74b47",
+    "wires": [
+      [
+        "74200ec3.9b2e88",
+        "b86a8b99.9fa22",
+        "f5f85bac.6cdcb",
+        "45e7bcc7.d12924"
+      ]
+    ]
+  },
+  {
+    "id": "74200ec3.9b2e88",
+    "type": "set",
+    "name": "set tunnel termination point",
+    "xml": "<set>\n<parameter name='ttp.' value='`$node-otn.te.tunnel-termination-point[$ttidx].`' />\n",
+    "comments": "",
+    "x": 1985,
+    "y": 333,
+    "z": "d37ca473.74b47",
+    "wires": []
+  },
+  {
+    "id": "b86a8b99.9fa22",
+    "type": "set",
+    "name": "set unique-ttpId",
+    "xml": "<set>\n<parameter name='unique-ttpId' value=\"`$unique-node-otnId + '-ttpId-' + $ttp.tunnel-tp-id`\" />\n",
+    "comments": "",
+    "x": 1962.888916015625,
+    "y": 400.111083984375,
+    "z": "d37ca473.74b47",
+    "wires": []
+  },
+  {
+    "id": "634edb60.ca9b44",
+    "type": "set",
+    "name": "set tp-inter-layer-lock-id",
+    "xml": "<set>\n<parameter name='tp-inter-layer-lock-id' value='`$node-eth.termination-point[$tidx].te.inter-layer-lock-id[0]`' />\n",
+    "comments": "",
+    "x": 1273,
+    "y": 301,
+    "z": "d37ca473.74b47",
+    "wires": []
+  },
+  {
+    "id": "d61d1f77.90dba",
+    "type": "for",
+    "name": "for each node in network-otn",
+    "xml": "<for index='potnidx' start='0' end='`$network-otn.node_length`' >\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 1291,
+    "y": 350,
+    "z": "d37ca473.74b47",
+    "wires": [
+      [
+        "75e07276.34af4c",
+        "81ad0d1b.593018",
+        "65d2d272.734f34"
+      ]
+    ]
+  },
+  {
+    "id": "81ad0d1b.593018",
+    "type": "set",
+    "name": "set node-otn",
+    "xml": "<set>\n<parameter name='node-otn.' value='`$network-otn.node[$potnidx].`' />",
+    "comments": "",
+    "x": 1585,
+    "y": 320,
+    "z": "d37ca473.74b47",
+    "wires": []
+  },
+  {
+    "id": "65d2d272.734f34",
+    "type": "set",
+    "name": "set local variables",
+    "xml": "<set>\n<parameter name='unique-network-otnId' value='`$tmp.network-otn.network-id`' />\n<parameter name='unique-node-otnId' value=\"`'networkId-' + $unique-network-otnId + '-nodeId-' + $node-otn.node-id`\" />\n",
+    "comments": "",
+    "x": 1583.888916015625,
+    "y": 367.7777862548828,
+    "z": "d37ca473.74b47",
+    "wires": []
+  },
+  {
+    "id": "f5f85bac.6cdcb",
+    "type": "set",
+    "name": "set ttp-inter-layer-lock-id",
+    "xml": "<set>\n<parameter name='ttp-inter-layer-lock-id' value='`$node-otn.te.tunnel-termination-point[$ttidx].inter-layer-lock-id`' />\n",
+    "comments": "",
+    "x": 1984,
+    "y": 451,
+    "z": "d37ca473.74b47",
+    "wires": []
+  },
+  {
+    "id": "45e7bcc7.d12924",
+    "type": "switchNode",
+    "name": "switch tp-inter-layer-lock-id",
+    "xml": "<switch test='tp-inter-layer-lock-id'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 1927,
+    "y": 506,
+    "z": "d37ca473.74b47",
+    "wires": [
+      [
+        "7b1ad64c.6662d"
+      ]
+    ]
+  },
+  {
+    "id": "7b1ad64c.6662d",
+    "type": "outcome",
+    "name": "ttp-inter-layer-lock-id",
+    "xml": "<outcome value='ttp-inter-layer-lock-id'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 2036,
+    "y": 603,
+    "z": "d37ca473.74b47",
+    "wires": [
+      [
+        "d7c8dbff.d22ff"
+      ]
+    ]
+  },
+  {
+    "id": "d7c8dbff.d22ff",
+    "type": "save",
+    "name": "save p-interface relationship to ttp in AAI",
+    "xml": "<save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='p-interface:relationship-list' \n      key='p-interface.interface-name = $unique-ltpethId' force=\"true\" pfx=\"tmp.AnAI-data\">\n<parameter name=\"relationship-list.relationship[1].related-to\" value=\"tunnel-termination-point\" />\n<parameter name=\"relationship-list.relationship[1].related-link\" value=\"/network/tunnel-termination-points/tunnel-termination-point/ + `$unique-ttpId`\" />\n<parameter name=\"relationship-list.relationship[1].relationship-data[0].relationship-key\" value=\"tunnel-termination-point.tunnel-tp-id\" />\n<parameter name=\"relationship-list.relationship[1].relationship-data[0].relationship-value\" value=\"`$unique-ttpId`\" />\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 2354,
+    "y": 603,
+    "z": "d37ca473.74b47",
+    "wires": [
+      []
+    ]
+  }
+]
\ No newline at end of file
index 21ae946..a2b6b3e 100644 (file)
@@ -7,4 +7,7 @@ DataChange esr-thirdparty-sdnc-discovery-of-zte ${project.version} sync
 DataChange update-network-to-aai ${project.version} sync
 DataChange msa-update-network-to-aai ${project.version} sync
 DataChange tapi-update-network-to-aai ${project.version} sync
+DataChange update-network-links-to-aai ${project.version} sync
+DataChange update-tp-ttp-relationship ${project.version} sync
+DataChange update-open-ended-links ${project.version} sync
 
index c90a5cb..a80f871 100644 (file)
@@ -1,6 +1,6 @@
 <service-logic\r
-    xmlns='http://www.onap.org/sdnc/svclogic'\r
-    xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='DataChange' version='${project.version}'>\r
+        xmlns='http://www.onap.org/sdnc/svclogic'\r
+        xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='DataChange' version='${project.version}'>\r
     <method rpc='esr-thirdparty-sdnc-discovery' mode='sync'>\r
         <block atomic="true">\r
             <switch test="`$prop.sdncRestApi.vendor == 'ZTE'`">\r
                                                                         <call module='DataChange' rpc='update-network-to-aai' mode='sync' ></call>\r
                                                                     </block>\r
                                                                 </for>\r
+                                                                <switch test='`$topology.networks.network_length`'>\r
+                                                                    <outcome value='2'>\r
+                                                                        <switch test='`$topology.networks.network[0].network-types`'>\r
+                                                                            <outcome value='ethernet-topology'>\r
+                                                                                <switch test='`$topology.networks.network[1].network-types`'>\r
+                                                                                    <outcome value='otn-topology'>\r
+                                                                                        <block>\r
+                                                                                            <set>\r
+                                                                                                <parameter name='network-eth.' value='`$topology.networks.network[0].`' />\r
+                                                                                                <parameter name='network-otn.' value='`$topology.networks.network[1].`' />\r
+                                                                                            </set>\r
+                                                                                            <call module='DataChange' rpc='update-tp-ttp-relationship' mode='sync' ></call>\r
+                                                                                        </block>\r
+                                                                                    </outcome>\r
+                                                                                    <outcome value='Other'>\r
+                                                                                        <return status='failure'>\r
+                                                                                            <parameter name='error-code' value='' />\r
+                                                                                            <parameter name='error-message' value='' />\r
+                                                                                        </return>\r
+                                                                                    </outcome>\r
+                                                                                </switch>\r
+                                                                            </outcome>\r
+                                                                            <outcome value='otn-topology'>\r
+                                                                                <switch test='`$topology.networks.network[1].network-types`'>\r
+                                                                                    <outcome value='ethernet-topology'>\r
+                                                                                        <block>\r
+                                                                                            <set>\r
+                                                                                                <parameter name='network.eth' value='`$topology.networks.network[1].`' />\r
+                                                                                                <parameter name='network.otn' value='`$topology.networks.network[0].`' />\r
+                                                                                            </set>\r
+                                                                                            <call module='DataChange' rpc='update-tp-ttp-relationship' mode='sync' ></call>\r
+                                                                                        </block>\r
+                                                                                    </outcome>\r
+                                                                                    <outcome value='Other'>\r
+                                                                                        <return status='failure'>\r
+                                                                                            <parameter name='error-code' value='' />\r
+                                                                                            <parameter name='error-message' value='' />\r
+                                                                                        </return>\r
+                                                                                    </outcome>\r
+                                                                                </switch>\r
+                                                                            </outcome>\r
+                                                                        </switch>\r
+                                                                    </outcome>\r
+                                                                </switch>\r
+                                                                <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+                                                                              resource="network-resources"\r
+                                                                              pfx='tmp.aai.network-resources' local-only='false' >\r
+                                                                    <outcome value='success'>\r
+                                                                        <switch test='tmp.aai.network-resources_length'>\r
+                                                                            <outcome value='4'>\r
+                                                                                <block atomic='true'>\r
+                                                                                    <for index='nridx' start='0' end='`$tmp.aai.network-resources.network-resource_length`' >\r
+                                                                                        <block>\r
+                                                                                            <set>\r
+                                                                                                <parameter name='otnidx' value='0' />\r
+                                                                                            </set>\r
+                                                                                            <switch test='`$tmp.aai.network-resources.network-resource[$nridx].network-type`'>\r
+                                                                                                <outcome value='otn-topology'>\r
+                                                                                                    <block>\r
+                                                                                                        <set>\r
+                                                                                                            <parameter name='network-resource-otn[$otnidx].' value='`$tmp.aai.network-resources.network-resource[$nridx].`' />\r
+                                                                                                        </set>\r
+                                                                                                        <set>\r
+                                                                                                            <parameter name='otnidx' value='`$otnidx + 1`' />\r
+                                                                                                        </set>\r
+                                                                                                    </block>\r
+                                                                                                </outcome>\r
+                                                                                            </switch>\r
+                                                                                        </block>\r
+                                                                                    </for>\r
+                                                                                    <call module='DataChange' rpc='update-open-ended-links' mode='sync' ></call>\r
+                                                                                </block>\r
+                                                                            </outcome>\r
+                                                                        </switch>\r
+                                                                    </outcome>\r
+                                                                    <outcome value='not-found'>\r
+                                                                        <return status='failure'>\r
+                                                                            <parameter name='error-code' value='' />\r
+                                                                            <parameter name='error-message' value='' />\r
+                                                                        </return>\r
+                                                                    </outcome>\r
+                                                                    <outcome value='Other'>\r
+                                                                        <return status='failure'>\r
+                                                                            <parameter name='error-code' value='' />\r
+                                                                            <parameter name='error-message' value='' />\r
+                                                                        </return>\r
+                                                                    </outcome>\r
+                                                                </get-resource>\r
                                                             </block>\r
                                                         </outcome>\r
                                                     </execute>\r
                                                                         <call module='DataChange' rpc='update-network-to-aai' mode='sync' ></call>\r
                                                                     </block>\r
                                                                 </for>\r
+                                                                <switch test='`$topology.networks.network_length`'>\r
+                                                                    <outcome value='2'>\r
+                                                                        <switch test='`$topology.networks.network[0].network-types`'>\r
+                                                                            <outcome value='ethernet-topology'>\r
+                                                                                <switch test='`$topology.networks.network[1].network-types`'>\r
+                                                                                    <outcome value='otn-topology'>\r
+                                                                                        <block>\r
+                                                                                            <set>\r
+                                                                                                <parameter name='network-eth.' value='`$topology.networks.network[0].`' />\r
+                                                                                                <parameter name='network-otn.' value='`$topology.networks.network[1].`' />\r
+                                                                                            </set>\r
+                                                                                            <call module='DataChange' rpc='update-tp-ttp-relationship' mode='sync' ></call>\r
+                                                                                        </block>\r
+                                                                                    </outcome>\r
+                                                                                    <outcome value='Other'>\r
+                                                                                        <return status='failure'>\r
+                                                                                            <parameter name='error-code' value='' />\r
+                                                                                            <parameter name='error-message' value='' />\r
+                                                                                        </return>\r
+                                                                                    </outcome>\r
+                                                                                </switch>\r
+                                                                            </outcome>\r
+                                                                            <outcome value='otn-topology'>\r
+                                                                                <switch test='`$topology.networks.network[1].network-types`'>\r
+                                                                                    <outcome value='ethernet-topology'>\r
+                                                                                        <block>\r
+                                                                                            <set>\r
+                                                                                                <parameter name='network.eth' value='`$topology.networks.network[1].`' />\r
+                                                                                                <parameter name='network.otn' value='`$topology.networks.network[0].`' />\r
+                                                                                            </set>\r
+                                                                                            <call module='DataChange' rpc='update-tp-ttp-relationship' mode='sync' ></call>\r
+                                                                                        </block>\r
+                                                                                    </outcome>\r
+                                                                                    <outcome value='Other'>\r
+                                                                                        <return status='failure'>\r
+                                                                                            <parameter name='error-code' value='' />\r
+                                                                                            <parameter name='error-message' value='' />\r
+                                                                                        </return>\r
+                                                                                    </outcome>\r
+                                                                                </switch>\r
+                                                                            </outcome>\r
+                                                                        </switch>\r
+                                                                    </outcome>\r
+                                                                </switch>\r
+                                                                <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+                                                                              resource="network-resources"\r
+                                                                              pfx='tmp.aai.network-resources' local-only='false' >\r
+                                                                    <outcome value='success'>\r
+                                                                        <switch test='tmp.aai.network-resources_length'>\r
+                                                                            <outcome value='4'>\r
+                                                                                <block atomic='true'>\r
+                                                                                    <for index='nridx' start='0' end='`$tmp.aai.network-resources.network-resource_length`' >\r
+                                                                                        <block>\r
+                                                                                            <set>\r
+                                                                                                <parameter name='otnidx' value='0' />\r
+                                                                                            </set>\r
+                                                                                            <switch test='`$tmp.aai.network-resources.network-resource[$nridx].network-type`'>\r
+                                                                                                <outcome value='otn-topology'>\r
+                                                                                                    <block>\r
+                                                                                                        <set>\r
+                                                                                                            <parameter name='network-resource-otn[$otnidx].' value='`$tmp.aai.network-resources.network-resource[$nridx].`' />\r
+                                                                                                        </set>\r
+                                                                                                        <set>\r
+                                                                                                            <parameter name='otnidx' value='`$otnidx + 1`' />\r
+                                                                                                        </set>\r
+                                                                                                    </block>\r
+                                                                                                </outcome>\r
+                                                                                            </switch>\r
+                                                                                        </block>\r
+                                                                                    </for>\r
+                                                                                    <call module='DataChange' rpc='update-open-ended-links' mode='sync' ></call>\r
+                                                                                </block>\r
+                                                                            </outcome>\r
+                                                                        </switch>\r
+                                                                    </outcome>\r
+                                                                    <outcome value='not-found'>\r
+                                                                        <return status='failure'>\r
+                                                                            <parameter name='error-code' value='' />\r
+                                                                            <parameter name='error-message' value='' />\r
+                                                                        </return>\r
+                                                                    </outcome>\r
+                                                                    <outcome value='Other'>\r
+                                                                        <return status='failure'>\r
+                                                                            <parameter name='error-code' value='' />\r
+                                                                            <parameter name='error-message' value='' />\r
+                                                                        </return>\r
+                                                                    </outcome>\r
+                                                                </get-resource>\r
                                                             </block>\r
                                                         </outcome>\r
                                                     </execute>\r
diff --git a/platform-logic/datachange/src/main/xml/DataChange_update-network-links-to-aai.xml b/platform-logic/datachange/src/main/xml/DataChange_update-network-links-to-aai.xml
new file mode 100644 (file)
index 0000000..3495214
--- /dev/null
@@ -0,0 +1,71 @@
+<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='DataChange' version='${project.version}'>
+    <method rpc='update-network-links-to-aai' mode='sync'>
+        <block atomic="true">
+            <for index='pidx' start='0' end='`$network.link_length`' >
+                <set>
+                    <parameter name='link.' value='`$network.link[$pidx].`' />
+                    <parameter name='unique-networkId' value='`$tmp.network-id`' />
+                    <parameter name='unique-linkId' value="`'networkId-' + $unique-networkId + '-linkId-' + $link.link-id`" />
+                    <parameter name='src-tpId' value="`'networkId-' + $unique-networkId + '-nodeId-' + $link.source.source-node + '-ltpId-' + $link.source.source-tp`" />
+                    <parameter name='dst-tpId' value="`'networkId-' + $unique-networkId + '-nodeId-' + $link.destination.dest-node + '-ltpId-' + $link.destination.dest-tp`" />
+                </set>
+                <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='logical-link'
+                      key='logical-link.link-name = $unique-linkId' >
+                    <parameter name='link-name' value='`$unique-linkId`' />
+                    <parameter name='link-id' value='`$link.link-id`' />
+                </save>
+                <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='logical-link:relationship-list'
+                      key='logical-link.link-name = $unique-linkId' force="true" pfx="tmp.AnAI-data">
+                    <parameter name="relationship-list.relationship[0].related-to" value="p-interface" />
+                    <parameter name="relationship-list.relationship[0].related-link" value="`'/p-interfaces/p-interface/' + $src-tpId`" />
+                    <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="p-interface.interface-name" />
+                    <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$src-tpId`" />
+                    <parameter name="relationship-list.relationship[1].related-to" value="p-interface" />
+                    <parameter name="relationship-list.relationship[1].related-link" value="`'/p-interfaces/p-interface/' + $dst-tpId`" />
+                    <parameter name="relationship-list.relationship[1].relationship-data[0].relationship-key" value="p-interface.interface-name" />
+                    <parameter name="relationship-list.relationship[1].relationship-data[0].relationship-value" value="`$dst-tpId`" />
+                </save>
+                <for index='tidx' start='0' end='`$link.te.te-link-attributes.label-restriction_length`' >
+                    <set>
+                        <parameter name='label-restriction.' value='`$link.te.te-link-attributes.label-restriction[$tidx].`' />
+                        <parameter name='unique-lrId' value="`$unique-linkId + '-lrId-' + $label-restriction.index`" />
+                    </set>
+                    <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='label-restriction'
+                          key='logical-link.link-name = $unique-linkId
+      AND label-restriction.id = $unique-lrId' >
+                        <parameter name='id' value='`$unique-lrId`' />
+                        <parameter name='label-start' value='`$label-restriction.label-start`' />
+                        <parameter name='label-end' value='`$label-restriction.label-end`' />
+                        <parameter name='range-bitmap' value='`$label-restriction.range-bitmap`' />
+                        <parameter name='label-step' value='`$label-restriction.label-step`' />
+                        <parameter name='inclusive-exclusive' value='`$label-restriction.inclusive-exclusive`' />
+                        <outcome value='success'>
+                            <block></block>
+                        </outcome>
+                        <outcome value='failure'>
+                            <update plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='label-restriction'
+                                    key='logical-link.link-name = $unique-linkId
+      AND label-restriction.id = $unique-lrId' >
+                                <parameter name='id' value='`$unique-lrId`' />
+                                <parameter name='label-start' value='`$label-restriction.label-start`' />
+                                <parameter name='label-end' value='`$label-restriction.label-end`' />
+                                <parameter name='range-bitmap' value='`$label-restriction.range-bitmap`' />
+                                <parameter name='label-step' value='`$label-restriction.label-step`' />
+                                <parameter name='inclusive-exclusive' value='`$label-restriction.inclusive-exclusive`' />
+                            </update>
+                        </outcome>
+                    </save>
+                    <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='logical-link:relationship-list'
+                          key='logical-link.link-name = $unique-linkId' force="true" pfx="tmp.AnAI-data">
+                        <parameter name="relationship-list.relationship[$tidx].related-to" value="label-restriction" />
+                        <parameter name="relationship-list.relationship[$tidx].related-link" value="`'/network/label-restrictions/label-restriction/' + $unique-lrId`" />
+                        <parameter name="relationship-list.relationship[$tidx].relationship-data[0].relationship-key" value="label-restriction.id" />
+                        <parameter name="relationship-list.relationship[$tidx].relationship-data[0].relationship-value" value="`$unique-lrId`" />
+                    </save>
+                </for>
+            </for>
+        </block>
+    </method>
+</service-logic>
\ No newline at end of file
index 666d337..9c17eac 100644 (file)
@@ -1,6 +1,6 @@
 <service-logic\r
-    xmlns='http://www.onap.org/sdnc/svclogic'\r
-    xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='DataChange' version='${project.version}'>\r
+        xmlns='http://www.onap.org/sdnc/svclogic'\r
+        xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='DataChange' version='${project.version}'>\r
     <method rpc='update-network-to-aai' mode='sync'>\r
         <block atomic="true">\r
             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\r
@@ -9,35 +9,88 @@
                 <parameter name="target" value="/"/>\r
                 <parameter name="replacement" value="-"/>\r
             </execute>\r
-            <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='network-resource'  \r
-     key='network-resource.network-id = $tmp.network-id' >\r
+            <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='network-resource'\r
+                  key='network-resource.network-id = $tmp.network-id' >\r
                 <parameter name='network-id' value='`$tmp.network-id`' />\r
                 <parameter name='client-id' value='`$network.client-id`' />\r
                 <parameter name='te-topo-id' value='`$network.te-topology-id`' />\r
                 <parameter name='provider-id' value='`$network.provider-id`' />\r
+                <parameter name='network-type' value='`$network.network-types`' />\r
             </save>\r
             <for index='pidx' start='0' end='`$network.node_length`' >\r
                 <set>\r
                     <parameter name='node.' value='`$network.node[$pidx].`' />\r
+                    <parameter name='unique-networkId' value='`$tmp.network-id`' />\r
+                    <parameter name='unique-nodeId' value="`'networkId-' + $unique-networkId + '-nodeId-' + $node.node-id`" />\r
+                    <parameter name='src-tpId' value="`'networkId-' + $unique-networkId + '-nodeId-' + $link.source.source-node + '-ltpId-' + $link.source.source-tp`" />\r
                 </set>\r
-                <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='pnf' \r
-      key='pnf.pnf-name = $node.node-id' >\r
-                    <parameter name='pnf-name' value='`$node.node-id`' />\r
+                <set>\r
+                    <parameter name='unique-networkId' value='`$tmp.network-id`' />\r
+                    <parameter name='unique-nodeId' value="`'networkId-' + $unique-networkId + '-nodeId-' + $node.node-id`" />\r
+                </set>\r
+                <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='pnf'\r
+                      key='pnf.pnf-name = $unique-nodeId' >\r
+                    <parameter name='pnf-name' value='`$unique-nodeId`' />\r
                     <parameter name='pnf-id' value='`$node.node-id`' />\r
                     <parameter name='operational-status' value='`$node.te.oper-status`' />\r
                     <parameter name='admin-status' value='`$node.te.te-node-attributes.admin-status`' />\r
                     <parameter name='in-maint' value='true' />\r
                 </save>\r
-                <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='pnf:relationship-list' \r
-      key='pnf.pnf-name = $node.node-id' force="true" pfx="tmp.AnAI-data">\r
+                <for index='ttidx' start='0' end='`$node.te.tunnel-termination-point_length`' >\r
+                    <set>\r
+                        <parameter name='ttp.' value='`$node.te.tunnel-termination-point[$ttidx].`' />\r
+                    </set>\r
+                    <set>\r
+                        <parameter name='unique-ttpId' value="`$unique-nodeId + '-ttpId-' + $ttp.tunnel-tp-id`" />\r
+                    </set>\r
+                    <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='tunnel-termination-point'\r
+                          key='pnf.pnf-name = $unique-nodeId\r
+      AND tunnel-termination-point.ttp-id = $unique-ttpId' >\r
+                        <parameter name='ttp-id' value='`$unique-ttpId`' />\r
+                        <parameter name='tunnel-tp-id' value='`$ttp.tunnel-tp-id`' />\r
+                        <parameter name='name' value='`$ttp.name`' />\r
+                        <parameter name='admin-status' value='`$ttp.admin-status`' />\r
+                        <parameter name='oper-status' value='`$ttp.oper-status`' />\r
+                        <parameter name='inter-layer-lock-id' value='`$ttp.inter-layer-lock-id`' />\r
+                        <parameter name='switching-capability' value='`$ttp.switching-capability`' />\r
+                        <parameter name='protection-type' value='`$ttp.protection-type`' />\r
+                        <parameter name='encoding' value='`$ttp.encoding`' />\r
+                        <outcome value='success'>\r
+                            <block></block>\r
+                        </outcome>\r
+                        <outcome value='failure'>\r
+                            <update plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='tunnel-termination-point'\r
+                                    key='pnf.pnf-name = $node.node-id\r
+      AND tunnel-termination-point.ttp-id = $unique-ttpId' >\r
+                                <parameter name='tunnel-tp-id' value='`$ttp.tunnel-tp-id`' />\r
+                                <parameter name='name' value='`$ttp.name`' />\r
+                                <parameter name='admin-status' value='`$ttp.admin-status`' />\r
+                                <parameter name='oper-status' value='`$ttp.oper-status`' />\r
+                                <parameter name='inter-layer-lock-id' value='`$ttp.inter-layer-lock-id`' />\r
+                                <parameter name='switching-capability' value='`$ttp.switching-capability`' />\r
+                                <parameter name='protection-type' value='`$ttp.protection-type`' />\r
+                                <parameter name='encoding' value='`$ttp.encoding`' />\r
+                            </update>\r
+                        </outcome>\r
+                    </save>\r
+                    <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='pnf:relationship-list'\r
+                          key='pnf.pnf-name = $unique-nodeId' force="true" pfx="tmp.AnAI-data">\r
+                        <parameter name="relationship-list.relationship[$ttidx].related-to" value="tunnel-termination-point" />\r
+                        <parameter name="relationship-list.relationship[$ttidx].related-link" value="`'/network/network-resources/network-resource/' + $tmp.network-id + '/pnfs/pnf/' + $node.node-id '/tunnel-termination-points/tunnel-termination-point/' + $unique-ttpId`" />\r
+                        <parameter name="relationship-list.relationship[$ttidx].relationship-data[0].relationship-key" value="tunnel-termination-point.ttp-id" />\r
+                        <parameter name="relationship-list.relationship[$ttidx].relationship-data[0].relationship-value" value="`$unique-ttpId`" />\r
+                    </save>\r
+                </for>\r
+                <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='pnf:relationship-list'\r
+                      key='pnf.pnf-name = $unique-nodeId' force="true" pfx="tmp.AnAI-data">\r
                     <parameter name="relationship-list.relationship[0].related-to" value="network-resource" />\r
                     <parameter name="relationship-list.relationship[0].related-link" value="`'/network/network-resources/network-resource/' + $tmp.network-id`" />\r
                     <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="network-resource.network-id" />\r
                     <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$tmp.network-id`" />\r
                 </save>\r
-                <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='esr-thirdparty-sdnc:relationship-list' \r
-      key='esr-thirdparty-sdnc.thirdparty-sdnc-id = $prop.sdncRestApi.thirdpartySdnc.id' \r
-      force="true" pfx="tmp.AnAI-data">\r
+                <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='esr-thirdparty-sdnc:relationship-list'\r
+                      key='esr-thirdparty-sdnc.thirdparty-sdnc-id = $prop.sdncRestApi.thirdpartySdnc.id'\r
+                      force="true" pfx="tmp.AnAI-data">\r
                     <parameter name="relationship-list.relationship[0].related-to" value="pnf" />\r
                     <parameter name="relationship-list.relationship[0].related-link" value="`'/network/pnfs/pnf/' + $node.node-id`" />\r
                     <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="pnf.pnf-name" />\r
                         <parameter name='tp.' value='`$node.termination-point[$tidx].`' />\r
                     </set>\r
                     <set>\r
-                        <parameter name='unique-ltpId' value="`'nodeId-' + $node.node-id + '-ltpId-' + $tp.te-tp-id`" />\r
+                        <parameter name='unique-ltpId' value="`$unique-nodeId + '-ltpId-' + $tp.te-tp-id`" />\r
                     </set>\r
-                    <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='p-interface' \r
-      key='pnf.pnf-name = $node.node-id\r
+                    <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='p-interface'\r
+                          key='pnf.pnf-name = $unique-nodeId\r
       AND p-interface.interface-name = $unique-ltpId' >\r
                         <parameter name='interface-name' value='`$unique-ltpId`' />\r
                         <parameter name='network-ref' value='`$tp.supporting-termination-point[0].network-ref`' />\r
                         <parameter name='speed-value' value='`$tp.te.interface-switching-capability[0].max-lsp-bandwidth[0].te-bandwidth.eth-bandwidth`' />\r
                         <parameter name='operational-status' value='`$tp.te.oper-status`' />\r
                         <parameter name='in-maint' value="true" />\r
+                        <parameter name='inter-layer-lock-id' value='`$tp.te.inter-layer-lock-id[0]`' />\r
+                        <parameter name='inter-domain-plug-id' value='`$tp.te.inter-domain-plug-id`' />\r
                         <outcome value='success'>\r
                             <block></block>\r
                         </outcome>\r
                         <outcome value='failure'>\r
-                            <update plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='p-interface' \r
-      key='pnf.pnf-name = $node.node-id\r
+                            <update plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='p-interface'\r
+                                    key='pnf.pnf-name = $node.node-id\r
       AND p-interface.interface-name = $unique-ltpId' >\r
                                 <parameter name='interface-name' value='`$unique-ltpId`' />\r
                                 <parameter name='network-ref' value='`$tp.supporting-termination-point[0].network-ref`' />\r
                                 <parameter name='speed-value' value='`$tp.te.interface-switching-capability[0].max-lsp-bandwidth[0].te-bandwidth.eth-bandwidth`' />\r
                                 <parameter name='operational-status' value='`$tp.te.oper-status`' />\r
                                 <parameter name='in-maint' value="true" />\r
+                                <parameter name='inter-layer-lock-id' value='`$tp.te.inter-layer-lock-id[0]`' />\r
+                                <parameter name='inter-domain-plug-id' value='`$tp.te.inter-domain-plug-id`' />\r
                             </update>\r
                         </outcome>\r
                     </save>\r
+                    <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='p-interface:relationship-list'\r
+                          key='pnf.pnf-name = $unique-nodeId\r
+      AND p-interface.interface-name = $unique-ltpId' force="true" pfx="tmp.AnAI-data">\r
+                        <parameter name="relationship-list.relationship[0].related-to" value="pnf" />\r
+                        <parameter name="relationship-list.relationship[0].related-link" value="`'/network/pnfs/pnf/' + $unique-nodeId`" />\r
+                        <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="pnf.pnf-name" />\r
+                        <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$unique-nodeId`" />\r
+                    </save>\r
                 </for>\r
             </for>\r
+            <call module='DataChange' rpc='update-network-links-to-aai' mode='sync' ></call>\r
         </block>\r
     </method>\r
-</service-logic>\r
+</service-logic>
\ No newline at end of file
diff --git a/platform-logic/datachange/src/main/xml/DataChange_update-open-ended-links.xml b/platform-logic/datachange/src/main/xml/DataChange_update-open-ended-links.xml
new file mode 100644 (file)
index 0000000..1919ec0
--- /dev/null
@@ -0,0 +1,101 @@
+<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='DataChange' version='${project.version}'>
+    <method rpc='update-open-ended-links' mode='sync'>
+        <block atomic="true">
+            <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+                          resource="logical-links"
+                          pfx='tmp.aai.logical-links' local-only='false' >
+                <outcome value='success'>
+                    <for index='llidx' start='0' end='`$tmp.aai.logical-links.logical-link_length`' >
+                        <block atomic="true">
+                            <set>
+                                <parameter name='src-tpId' value='`$tmp.aai.logical-links.logical-link[$llidx].relationship-list.relationship[0].relationship-data[0].relationship-value`' />
+                                <parameter name='dst-tpId' value='`$tmp.aai.logical-links.logical-link[$llidx].relationship-list.relationship[1].relationship-data[0].relationship-value`' />
+                                <parameter name='ll-to-be-updated.' value='`$tmp.aai.logical-links.logical-link[$llidx].`' />
+                            </set>
+                            <switch test='$dst-tpId'>
+                                <outcome value=''>
+                                    <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+                                                  resource="p-interface"
+                                                  key="p-interface.interface-name = $src-ltpId
+               AND depth = '0'"
+                                                  pfx='tmp.aai.src-tp' local-only='false' >
+                                        <outcome value='success'>
+                                            <set>
+                                                <parameter name='src-plug-id' value='`$tmp.aai.src-tp.inter-domain-plug-id`' />
+                                            </set>
+                                        </outcome>
+                                        <outcome value='not-found'>
+                                            <return status='failure'>
+                                                <parameter name='ack-final' value='Y'/>
+                                                <parameter name="error-code" value="500" />
+                                                <parameter name="error-message" value="`'An error occurred while querying pnf from AnAI with pnf-name = ' + $prop.l3vpn.pe1_id`" />
+                                            </return>
+                                        </outcome>
+                                        <outcome value='Other'>
+                                            <return status='failure'>
+                                                <parameter name='ack-final' value='Y'/>
+                                                <parameter name="error-code" value="500" />
+                                                <parameter name="error-message" value="`'Unexpected error occurred while querying pnf from AnAI with pnf-name = ' + $prop.l3vpn.pe1_id`" />
+                                            </return>
+                                        </outcome>
+                                    </get-resource>
+                                </outcome>
+                            </switch>
+                            <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+                                          resource="p-interfaces"
+                                          pfx='tmp.aai.p-interfaces' local-only='false' >
+                                <outcome value='success'>
+                                    <for index='tpidx' start='0' end='`$tmp.aai.p-interfaces.p-interface_length`' >
+                                        <switch test='`$tmp.aai.p-interfaces.p-interface[$tpidx].inter-domain-plug-id`'>
+                                            <outcome value='`$src-plug-id`'>
+                                                <switch test='`$tmp.aai.p-interfaces.p-interface[$tpidx].interface-name != $src-tp-id `'>
+                                                    <outcome value='true'>
+                                                        <block atomic='true'>
+                                                            <set>
+                                                                <parameter name='dst-tp-new' value='`$tmp.aai.p-interfaces.p-interface[$tpidx].interface-name`' />
+                                                            </set>
+                                                            <update plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='logical-link:relationship-list'
+                                                                    key='logical-link.link-name = $ll-to-be-updated.link-name' force="true" pfx="tmp.AnAI-data">
+                                                                <parameter name="relationship-list.relationship[1].related-to" value="p-interface" />
+                                                                <parameter name="relationship-list.relationship[1].related-link" value="`'/p-interfaces/p-interface/' + $dst-tp-new`" />
+                                                                <parameter name="relationship-list.relationship[1].relationship-data[0].relationship-key" value="p-interface.interface-name" />
+                                                                <parameter name="relationship-list.relationship[1].relationship-data[0].relationship-value" value="`$dst-tp-new`" />
+                                                            </update>
+                                                        </block>
+                                                    </outcome>
+                                                </switch>
+                                            </outcome>
+                                        </switch>
+                                    </for>
+                                </outcome>
+                                <outcome value='not-found'>
+                                    <return status='failure'>
+                                        <parameter name='ack-final' value='Y'/>
+                                        <parameter name="error-code" value="500" />
+                                        <parameter name="error-message" value="`'An error occurred while querying pnf from AnAI with pnf-name = ' + $prop.l3vpn.pe1_id`" />
+                                    </return>
+                                </outcome>
+                            </get-resource>
+                        </block>
+                    </for>
+                </outcome>
+                <outcome value='not-found'>
+                    <return status='failure'>
+                        <parameter name='ack-final' value='Y'/>
+                        <parameter name="error-code" value="500" />
+                        <parameter name="error-message" value="`'An error occurred while querying pnf from AnAI with pnf-name = ' + $prop.l3vpn.pe1_id`" />
+                    </return>
+                </outcome>
+                <outcome value='Other'>
+                    <return status='failure'>
+                        <parameter name='ack-final' value='Y'/>
+                        <parameter name="error-code" value="500" />
+                        <parameter name="error-message" value="`'Unexpected error occurred while querying pnf from AnAI with pnf-name = ' + $prop.l3vpn.pe1_id`" />
+                    </return>
+                </outcome>
+            </get-resource>
+        </block>
+    </method>
+</service-logic>
\ No newline at end of file
diff --git a/platform-logic/datachange/src/main/xml/DataChange_update-tp-ttp-relationship.xml b/platform-logic/datachange/src/main/xml/DataChange_update-tp-ttp-relationship.xml
new file mode 100644 (file)
index 0000000..786265b
--- /dev/null
@@ -0,0 +1,71 @@
+<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='DataChange' version='${project.version}'>
+    <method rpc='update-tp-ttp-relationship' mode='sync'>
+        <block atomic="true">
+            <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
+                <parameter name="source" value="`$network-eth.network-id`"/>
+                <parameter name="outputPath" value="tmp.network-eth.network-id"/>
+                <parameter name="target" value="/"/>
+                <parameter name="replacement" value="-"/>
+            </execute>
+            <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
+                <parameter name="source" value="`$network-otn.network-id`"/>
+                <parameter name="outputPath" value="tmp.network-otn.network-id"/>
+                <parameter name="target" value="/"/>
+                <parameter name="replacement" value="-"/>
+            </execute>
+            <for index='pethidx' start='0' end='`$network-eth.node_length`' >
+                <set>
+                    <parameter name='node-eth.' value='`$network-eth.node[$pethidx].`' />
+                </set>
+                <set>
+                    <parameter name='unique-network-ethId' value='`$tmp.network-eth.network-id`' />
+                    <parameter name='unique-node-ethId' value="`'networkId-' + $unique-network-ethId + '-nodeId-' + $node-eth.node-id`" />
+                </set>
+                <for index='tidx' start='0' end='`$node-eth.termination-point_length`' >
+                    <set>
+                        <parameter name='tp-eth.' value='`$node-eth.termination-point[$tidx].`' />
+                    </set>
+                    <set>
+                        <parameter name='unique-ltpethId' value="`$unique-node-ethId + '-ltpId-' + $tp-eth.te-tp-id`" />
+                    </set>
+                    <set>
+                        <parameter name='tp-inter-layer-lock-id' value='`$node-eth.termination-point[$tidx].te.inter-layer-lock-id[0]`' />
+                    </set>
+                    <for index='potnidx' start='0' end='`$network-otn.node_length`' >
+                        <set>
+                            <parameter name='node-otn.' value='`$network-otn.node[$potnidx].`' />
+                        </set>
+                        <set>
+                            <parameter name='unique-network-otnId' value='`$tmp.network-otn.network-id`' />
+                            <parameter name='unique-node-otnId' value="`'networkId-' + $unique-network-otnId + '-nodeId-' + $node-otn.node-id`" />
+                        </set>
+                        <for index='ttidx' start='0' end='`$node.te.tunnel-termination-point_length`' >
+                            <set>
+                                <parameter name='ttp.' value='`$node-otn.te.tunnel-termination-point[$ttidx].`' />
+                            </set>
+                            <set>
+                                <parameter name='unique-ttpId' value="`$unique-node-otnId + '-ttpId-' + $ttp.tunnel-tp-id`" />
+                            </set>
+                            <set>
+                                <parameter name='ttp-inter-layer-lock-id' value='`$node-otn.te.tunnel-termination-point[$ttidx].inter-layer-lock-id`' />
+                            </set>
+                            <switch test='tp-inter-layer-lock-id'>
+                                <outcome value='ttp-inter-layer-lock-id'>
+                                    <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='p-interface:relationship-list'
+                                          key='p-interface.interface-name = $unique-ltpethId' force="true" pfx="tmp.AnAI-data">
+                                        <parameter name="relationship-list.relationship[1].related-to" value="tunnel-termination-point" />
+                                        <parameter name="relationship-list.relationship[1].related-link" value="/network/tunnel-termination-points/tunnel-termination-point/ + `$unique-ttpId`" />
+                                        <parameter name="relationship-list.relationship[1].relationship-data[0].relationship-key" value="tunnel-termination-point.tunnel-tp-id" />
+                                        <parameter name="relationship-list.relationship[1].relationship-data[0].relationship-value" value="`$unique-ttpId`" />
+                                    </save>
+                                </outcome>
+                            </switch>
+                        </for>
+                    </for>
+                </for>
+            </for>
+        </block>
+    </method>
+</service-logic>
\ No newline at end of file