Topology Discovery and optical-service DGs 38/102038/1
authorFranklin Dsilva <franklin.dsilva@us.fujitsu.com>
Thu, 20 Feb 2020 05:14:28 +0000 (05:14 +0000)
committerFranklin Dsilva <franklin.dsilva@us.fujitsu.com>
Thu, 20 Feb 2020 05:14:40 +0000 (05:14 +0000)
to support MDONS usecase

Change-Id: I1c28e799cc83325e8913d17ee8b718b0a4160cb2
Issue-ID: SDNC-928
Signed-off-by: Franklin Dsilva <franklin.dsilva@us.fujitsu.com>
Former-commit-id: 6a42d5eee5d71870527c8a302308f3e49829a496

24 files changed:
installation/sdnc/pom.xml
installation/sdnc/src/main/resources/sdnctl.dump
installation/src/main/properties/optical-service-dg.properties [new file with mode: 0644]
installation/src/main/properties/rpc-message-sliapi-execute-async.vt [new file with mode: 0644]
platform-logic/datachange/src/main/json/DataChange_esr-thirdparty-sdnc-discovery.json
platform-logic/datachange/src/main/json/DataChange_msa-update-network-to-aai.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_msa-update-network-to-aai.xml [new file with mode: 0644]
platform-logic/optical-service/pom.xml [new file with mode: 0644]
platform-logic/optical-service/src/main/json/optical-service_optical-service-create-sync-success.json [new file with mode: 0644]
platform-logic/optical-service/src/main/json/optical-service_optical-service-create.json [new file with mode: 0644]
platform-logic/optical-service/src/main/json/optical-service_optical-service-delete.json [new file with mode: 0644]
platform-logic/optical-service/src/main/json/optical-service_optical-validate-input-params.json [new file with mode: 0644]
platform-logic/optical-service/src/main/json/optical-service_service-create-msa.json [new file with mode: 0644]
platform-logic/optical-service/src/main/resources/graph.versions [new file with mode: 0644]
platform-logic/optical-service/src/main/xml/optical-service_optical-service-create-sync-success.xml [new file with mode: 0644]
platform-logic/optical-service/src/main/xml/optical-service_optical-service-create.xml [new file with mode: 0644]
platform-logic/optical-service/src/main/xml/optical-service_optical-service-delete.xml [new file with mode: 0644]
platform-logic/optical-service/src/main/xml/optical-service_optical-validate-input-params.xml [new file with mode: 0644]
platform-logic/optical-service/src/main/xml/optical-service_service-create-msa.xml [new file with mode: 0644]
platform-logic/pom.xml
platform-logic/restapi-templates/src/main/json/optical-service-create-msa.json [new file with mode: 0644]
platform-logic/restapi-templates/src/main/json/optical-service-delete-msa.json [new file with mode: 0644]

index 3d8d14e..0128aba 100644 (file)
             <version>${sdnc.northbound.version}</version>
             <classifier>repo</classifier>
             <type>zip</type>
+       </dependency>
+       <dependency>
+            <groupId>org.onap.sdnc.northbound</groupId>
+            <artifactId>optical-service-installer</artifactId>
+            <version>${sdnc.northbound.version}</version>
+            <classifier>repo</classifier>
+            <type>zip</type>
         </dependency>
-        <dependency>
+       <dependency>
             <groupId>org.onap.sdnc.northbound</groupId>
             <artifactId>vnftools-installer</artifactId>
             <version>${sdnc.northbound.version}</version>
index 4776666..2fc7bcf 100644 (file)
@@ -1890,6 +1890,26 @@ CREATE TABLE `RANGE_RULE` (
 ) ENGINE=InnoDB AUTO_INCREMENT=15 DEFAULT CHARSET=latin1;
 /*!40101 SET character_set_client = @saved_cs_client */;
 
+--
+-- Table structure for table `REQUEST_DETAILS`
+--
+
+DROP TABLE IF EXISTS `REQUEST_DETAILS`;
+/*!40101 SET @saved_cs_client     = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `REQUEST_DETAILS` (
+  `request_id` varchar(255) NOT NULL,
+  `controller_id` varchar(255) DEFAULT NULL,
+  `status` varchar(255) DEFAULT NULL,
+  `service_rate` varchar(255) DEFAULT NULL,
+  `service_instance_id` varchar(255) DEFAULT NULL,
+  `service_type` varchar(255) DEFAULT NULL,
+  `global_customer_id` varchar(255) DEFAULT NULL,
+  `notification_url` varchar(255) DEFAULT NULL,
+  PRIMARY KEY (`request_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
 --
 -- Table structure for table `REQUEST_PROGRESS`
 --
@@ -2420,6 +2440,26 @@ CREATE TABLE `TOPOLOGY_PARAMETER_TO_ENTRIES` (
 ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
 /*!40101 SET character_set_client = @saved_cs_client */;
 
+--
+-- Table structure for table `TOPOLOGY_LOGICAL_RELATION_TO_PINTERFACE`
+--
+
+DROP TABLE IF EXISTS `TOPOLOGY_LOGICAL_RELATION_TO_PINTERFACE`;
+/*!40101 SET @saved_cs_client     = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `TOPOLOGY_LOGICAL_RELATION_TO_PINTERFACE` (
+  `interface_name` varchar(255) NOT NULL,
+  `interface_id` varchar(255) NOT NULL,
+  `pnf_name` varchar(255) NOT NULL,
+  `pnf_id` varchar(255) NOT NULL,
+  `controller_id` varchar(255) DEFAULT NULL,
+  `rate` varchar(255) DEFAULT NULL,
+  `clli` varchar(255) DEFAULT NULL,
+  `connection_point` varchar(255) DEFAULT NULL,
+  PRIMARY KEY (`interface_name`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
 --
 -- Table structure for table `TRANSACTION_LOG`
 --
diff --git a/installation/src/main/properties/optical-service-dg.properties b/installation/src/main/properties/optical-service-dg.properties
new file mode 100644 (file)
index 0000000..c4a5b17
--- /dev/null
@@ -0,0 +1,18 @@
+restapi.templateDir=/opt/onap/sdnc/restapi/templates
+controller.url=http://sdnc.onap:8282
+controller.user=admin
+controller.pwd=Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U
+
+
+#Templates
+restapi.template.optical.service.create.filename=optical-service-create-msa.json
+restapi.template.optical.service.delete.filename=optical-service-delete-msa.json
+restapi.template.so.response.filename=async-response-so.json
+
+#URLS
+
+sdnc.async.url=/asyncNotification
+so.username=sdncaBpmn
+so.password=password1$
+tapi.cep.details.url=/cxf/tapi/v2/connectivities/service-interface-points?topology-id-or-name=otn&sip-id-or-name=
+tapi.delete.service.url=/cxf/tapi/v2/connectivities/tapi-services?topology-id-or-name=otn&service-id-or-name=
diff --git a/installation/src/main/properties/rpc-message-sliapi-execute-async.vt b/installation/src/main/properties/rpc-message-sliapi-execute-async.vt
new file mode 100644 (file)
index 0000000..b47a673
--- /dev/null
@@ -0,0 +1,10 @@
+{
+        "input": {
+                "module-name": "optical-service",
+                "rpc-name": $rpc_name,
+                "mode": "sync",
+                "sli-parameter": $sli_parameters
+        }
+}
+
+
index 7c2cc10..9b95dc5 100644 (file)
 [\r
     {\r
-        "id": "41629315.bd4abc",\r
+        "id": "36e96ed4.41d832",\r
         "type": "other",\r
         "name": "update",\r
         "xml": "<outcome value='Update'>\n",\r
         "comments": "",\r
         "outputs": 1,\r
-        "x": 724.9999961853027,\r
-        "y": 349.9999942779541,\r
-        "z": "43e1d1ad.d6a8e",\r
+        "x": 665.5,\r
+        "y": 329,\r
+        "z": "35b097d7.5fa018",\r
         "wires": [\r
             [\r
-                "9970355a.979a58"\r
+                "8acc6f21.be6fc8"\r
             ]\r
         ]\r
     },\r
     {\r
-        "id": "bb11b779.ca75f8",\r
+        "id": "6f06aa61.f248ec",\r
         "type": "other",\r
         "name": "delete",\r
         "xml": "<outcome value='delete'>\n",\r
         "comments": "",\r
         "outputs": 1,\r
-        "x": 724.9999961853027,\r
-        "y": 429.9999942779541,\r
-        "z": "43e1d1ad.d6a8e",\r
+        "x": 665.5,\r
+        "y": 409,\r
+        "z": "35b097d7.5fa018",\r
         "wires": [\r
             [\r
-                "7e0497f8.ddad68"\r
+                "a603632c.68bff"\r
             ]\r
         ]\r
     },\r
     {\r
-        "id": "7e0497f8.ddad68",\r
+        "id": "a603632c.68bff",\r
         "type": "block",\r
         "name": "block : atomic",\r
         "xml": "<block atomic=\"true\">",\r
         "atomic": "true",\r
         "outputs": 1,\r
-        "x": 866.4999961853027,\r
-        "y": 429.9999942779541,\r
-        "z": "43e1d1ad.d6a8e",\r
+        "x": 807,\r
+        "y": 409,\r
+        "z": "35b097d7.5fa018",\r
         "wires": [\r
             []\r
         ]\r
     },\r
     {\r
-        "id": "c60c87fa.e5d1a8",\r
+        "id": "68bed413.930adc",\r
         "type": "comment",\r
         "name": "TODO: Delete topology from AAI",\r
         "info": "",\r
         "comments": "",\r
-        "x": 799.3335151672363,\r
-        "y": 397.96898913383484,\r
-        "z": "43e1d1ad.d6a8e",\r
+        "x": 739.8335189819336,\r
+        "y": 376.96899485588074,\r
+        "z": "35b097d7.5fa018",\r
         "wires": []\r
     },\r
     {\r
-        "id": "cb414b17.62b928",\r
+        "id": "50de7689.c1ed4",\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": 555.4999961853027,\r
-        "y": 389.9999942779541,\r
-        "z": "43e1d1ad.d6a8e",\r
+        "x": 496,\r
+        "y": 369,\r
+        "z": "35b097d7.5fa018",\r
         "wires": [\r
             [\r
-                "41629315.bd4abc",\r
-                "bb11b779.ca75f8"\r
+                "36e96ed4.41d832",\r
+                "6f06aa61.f248ec"\r
             ]\r
         ]\r
     },\r
     {\r
-        "id": "5f482ccf.0ae764",\r
+        "id": "e12b7948.8a8be",\r
         "type": "block",\r
         "name": "block : atomic",\r
         "xml": "<block atomic=\"true\">",\r
         "atomic": "true",\r
         "outputs": 1,\r
-        "x": 1252.4999961853027,\r
-        "y": 260.9999942779541,\r
-        "z": "43e1d1ad.d6a8e",\r
+        "x": 1193,\r
+        "y": 240,\r
+        "z": "35b097d7.5fa018",\r
         "wires": [\r
             [\r
-                "d220c063.b8e9a",\r
-                "9a482a6d.6b7268",\r
-                "97f2ea03.107968",\r
-                "f06d5e7a.dcdff",\r
-                "1b8d7ae8.41c4c5"\r
+                "484845a5.2238e4",\r
+                "4e058d3f.ebbc8c",\r
+                "19259d76.96fc3b",\r
+                "ac66ccfd.381a88",\r
+                "da47859b.4ec77"\r
             ]\r
         ]\r
     },\r
     {\r
-        "id": "9a482a6d.6b7268",\r
+        "id": "4e058d3f.ebbc8c",\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": 1525.5001945495605,\r
-        "y": 182.00000381469727,\r
-        "z": "43e1d1ad.d6a8e",\r
+        "x": 1466.0001983642578,\r
+        "y": 161.00000953674316,\r
+        "z": "35b097d7.5fa018",\r
         "wires": [\r
             [\r
-                "6b4e87a7.382818",\r
-                "8968e872.1395d8"\r
+                "916502a3.877388",\r
+                "e44e3e68.a49fd8"\r
             ]\r
         ]\r
     },\r
     {\r
-        "id": "6b4e87a7.382818",\r
+        "id": "916502a3.877388",\r
         "type": "success",\r
         "name": "success",\r
         "xml": "<outcome value='success'>\n",\r
         "comments": "",\r
         "outputs": 1,\r
-        "x": 1815.0002403259277,\r
-        "y": 173.9999942779541,\r
-        "z": "43e1d1ad.d6a8e",\r
+        "x": 1755.500244140625,\r
+        "y": 153,\r
+        "z": "35b097d7.5fa018",\r
         "wires": [\r
             [\r
-                "abb4b716.9e6c48"\r
+                "a8c3cc1.f5d4bb"\r
             ]\r
         ]\r
     },\r
     {\r
-        "id": "8968e872.1395d8",\r
+        "id": "e44e3e68.a49fd8",\r
         "type": "failure",\r
         "name": "failure",\r
         "xml": "<outcome value='failure'>\n",\r
         "comments": "",\r
         "outputs": 1,\r
-        "x": 1811.0002403259277,\r
-        "y": 213.9999942779541,\r
-        "z": "43e1d1ad.d6a8e",\r
+        "x": 1751.500244140625,\r
+        "y": 193,\r
+        "z": "35b097d7.5fa018",\r
         "wires": [\r
             [\r
-                "570488eb.f03fc8"\r
+                "e40e8527.2ee67"\r
             ]\r
         ]\r
     },\r
     {\r
-        "id": "abb4b716.9e6c48",\r
+        "id": "a8c3cc1.f5d4bb",\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": 1965.5002403259277,\r
-        "y": 173.9999942779541,\r
-        "z": "43e1d1ad.d6a8e",\r
+        "x": 1906.000244140625,\r
+        "y": 153,\r
+        "z": "35b097d7.5fa018",\r
         "wires": []\r
     },\r
     {\r
-        "id": "157313d5.db8b4c",\r
+        "id": "f1eb21a4.8d1378",\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": 2032.5002403259277,\r
-        "y": 293.9999942779541,\r
-        "z": "43e1d1ad.d6a8e",\r
+        "x": 1973.000244140625,\r
+        "y": 273,\r
+        "z": "35b097d7.5fa018",\r
         "wires": [\r
             [\r
-                "33873b8b.c155b4",\r
-                "ce710140.b905e"\r
+                "8660dd2a.bc5478",\r
+                "f7ff1324.a58c28"\r
             ]\r
         ]\r
     },\r
     {\r
-        "id": "33873b8b.c155b4",\r
+        "id": "8660dd2a.bc5478",\r
         "type": "success",\r
         "name": "success",\r
         "xml": "<outcome value='success'>\n",\r
         "comments": "",\r
         "outputs": 1,\r
-        "x": 2275.0002403259277,\r
-        "y": 313.9999942779541,\r
-        "z": "43e1d1ad.d6a8e",\r
+        "x": 2215.500244140625,\r
+        "y": 293,\r
+        "z": "35b097d7.5fa018",\r
         "wires": [\r
             [\r
-                "e5513b6e.ef8ac8"\r
+                "73cb768c.3647e"\r
             ]\r
         ]\r
     },\r
     {\r
-        "id": "e5513b6e.ef8ac8",\r
+        "id": "73cb768c.3647e",\r
         "type": "block",\r
         "name": "block : atomic",\r
         "xml": "<block atomic=\"true\">",\r
         "atomic": "true",\r
         "comments": "",\r
         "outputs": 1,\r
-        "x": 2432.5002403259277,\r
-        "y": 313.9999942779541,\r
-        "z": "43e1d1ad.d6a8e",\r
+        "x": 2373.000244140625,\r
+        "y": 293,\r
+        "z": "35b097d7.5fa018",\r
         "wires": [\r
             [\r
-                "5d082e27.1f397"\r
+                "92b164bb.975a38"\r
             ]\r
         ]\r
     },\r
     {\r
-        "id": "528cf13c.0c237",\r
+        "id": "33371bb9.421c84",\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": 2409.0002403259277,\r
-        "y": 213.9999942779541,\r
-        "z": "43e1d1ad.d6a8e",\r
+        "x": 2349.500244140625,\r
+        "y": 193,\r
+        "z": "35b097d7.5fa018",\r
         "wires": []\r
     },\r
     {\r
-        "id": "ce710140.b905e",\r
+        "id": "f7ff1324.a58c28",\r
         "type": "failure",\r
         "name": "failure",\r
         "xml": "<outcome value='failure'>\n",\r
         "comments": "",\r
         "outputs": 1,\r
-        "x": 2271.0002403259277,\r
-        "y": 213.9999942779541,\r
-        "z": "43e1d1ad.d6a8e",\r
+        "x": 2211.500244140625,\r
+        "y": 193,\r
+        "z": "35b097d7.5fa018",\r
         "wires": [\r
             [\r
-                "528cf13c.0c237"\r
+                "33371bb9.421c84"\r
             ]\r
         ]\r
     },\r
     {\r
-        "id": "e8420532.df1058",\r
+        "id": "ea734627.c2c7d8",\r
         "type": "dgstart",\r
         "name": "DGSTART",\r
         "outputs": 1,\r
-        "x": 124.99999618530273,\r
-        "y": 124.9999942779541,\r
-        "z": "43e1d1ad.d6a8e",\r
+        "x": 118.5,\r
+        "y": 104,\r
+        "z": "35b097d7.5fa018",\r
         "wires": [\r
             [\r
-                "8ccfff99.445d6"\r
+                "89ca9d8b.bbc328"\r
             ]\r
         ]\r
     },\r
     {\r
-        "id": "8ccfff99.445d6",\r
+        "id": "89ca9d8b.bbc328",\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": 190.99999618530273,\r
-        "y": 184.9999942779541,\r
-        "z": "43e1d1ad.d6a8e",\r
+        "x": 131.5,\r
+        "y": 164,\r
+        "z": "35b097d7.5fa018",\r
         "wires": [\r
             [\r
-                "9ae5c632.b6f538"\r
+                "789b0d9d.02f75c"\r
             ]\r
         ]\r
     },\r
     {\r
-        "id": "9ae5c632.b6f538",\r
+        "id": "789b0d9d.02f75c",\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": 210.99999618530273,\r
-        "y": 264.9999942779541,\r
-        "z": "43e1d1ad.d6a8e",\r
+        "x": 151.5,\r
+        "y": 244,\r
+        "z": "35b097d7.5fa018",\r
         "wires": [\r
             [\r
-                "12028600.fb215a"\r
+                "19dd5973.ca5fbf"\r
             ]\r
         ]\r
     },\r
     {\r
-        "id": "12028600.fb215a",\r
+        "id": "19dd5973.ca5fbf",\r
         "type": "block",\r
         "name": "block : atomic",\r
         "xml": "<block atomic=\"true\">\n",\r
         "atomic": "false",\r
         "comments": "",\r
         "outputs": 1,\r
-        "x": 458.49999618530273,\r
-        "y": 264.9999942779541,\r
-        "z": "43e1d1ad.d6a8e",\r
+        "x": 399,\r
+        "y": 244,\r
+        "z": "35b097d7.5fa018",\r
         "wires": [\r
             [\r
-                "807f3d.fff210c"\r
+                "72476c1.b3cb514"\r
             ]\r
         ]\r
     },\r
     {\r
-        "id": "5d082e27.1f397",\r
+        "id": "92b164bb.975a38",\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": 1858.5002555847168,\r
-        "y": 413.00000953674316,\r
-        "z": "43e1d1ad.d6a8e",\r
+        "x": 1799.000259399414,\r
+        "y": 392.00001525878906,\r
+        "z": "35b097d7.5fa018",\r
         "wires": [\r
             [\r
-                "e62b44ce.a0e368"\r
+                "a33c6916.e2063"\r
             ]\r
         ]\r
     },\r
     {\r
-        "id": "e62b44ce.a0e368",\r
+        "id": "a33c6916.e2063",\r
         "type": "block",\r
         "name": "block",\r
         "xml": "<block>\n",\r
         "atomic": "false",\r
         "comments": "",\r
         "outputs": 1,\r
-        "x": 2007.0002555847168,\r
-        "y": 413.00000953674316,\r
-        "z": "43e1d1ad.d6a8e",\r
+        "x": 1947.500259399414,\r
+        "y": 392.00001525878906,\r
+        "z": "35b097d7.5fa018",\r
         "wires": [\r
             [\r
-                "69d3f3bb.60d83c",\r
-                "4e20c7e0.4989a8"\r
+                "70a92c18.3741ec",\r
+                "6196a44a.543cec"\r
             ]\r
         ]\r
     },\r
     {\r
-        "id": "69d3f3bb.60d83c",\r
+        "id": "70a92c18.3741ec",\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": 2186.000255584717,\r
-        "y": 433.00000953674316,\r
-        "z": "43e1d1ad.d6a8e",\r
+        "x": 2126.500259399414,\r
+        "y": 412.00001525878906,\r
+        "z": "35b097d7.5fa018",\r
         "wires": [\r
             []\r
         ]\r
     },\r
     {\r
-        "id": "4e20c7e0.4989a8",\r
+        "id": "6196a44a.543cec",\r
         "type": "set",\r
         "name": "set network",\r
         "xml": "<set>\n<parameter name='network.' value='`$topology.networks.network[$nidx].`' />\n",\r
         "comments": "",\r
-        "x": 2141.000255584717,\r
-        "y": 393.00000953674316,\r
-        "z": "43e1d1ad.d6a8e",\r
+        "x": 2081.500259399414,\r
+        "y": 372.00001525878906,\r
+        "z": "35b097d7.5fa018",\r
         "wires": []\r
     },\r
     {\r
-        "id": "570488eb.f03fc8",\r
+        "id": "e40e8527.2ee67",\r
         "type": "block",\r
         "name": "block",\r
         "xml": "<block>\n",\r
         "atomic": "false",\r
         "comments": "",\r
         "outputs": 1,\r
-        "x": 1931.0002403259277,\r
-        "y": 213.9999942779541,\r
-        "z": "43e1d1ad.d6a8e",\r
+        "x": 1871.500244140625,\r
+        "y": 193,\r
+        "z": "35b097d7.5fa018",\r
         "wires": [\r
             []\r
         ]\r
     },\r
     {\r
-        "id": "8485b334.0774f",\r
+        "id": "984ef742.f7de98",\r
         "type": "comment",\r
         "name": "Do Nothing",\r
         "info": "",\r
         "comments": "",\r
-        "x": 2101.0002403259277,\r
-        "y": 253.9999942779541,\r
-        "z": "43e1d1ad.d6a8e",\r
+        "x": 2041.500244140625,\r
+        "y": 233,\r
+        "z": "35b097d7.5fa018",\r
         "wires": []\r
     },\r
     {\r
-        "id": "4662cdd1.b4f8a4",\r
+        "id": "4308651d.5eb474",\r
         "type": "switchNode",\r
         "name": "switch type",\r
         "xml": "<switch test=\"`$prop.sdncRestApi.type`\">\n",\r
         "comments": "",\r
         "outputs": 1,\r
-        "x": 977.9999961853027,\r
-        "y": 349.9999942779541,\r
-        "z": "43e1d1ad.d6a8e",\r
+        "x": 918.5,\r
+        "y": 329,\r
+        "z": "35b097d7.5fa018",\r
         "wires": [\r
             [\r
-                "c4659524.ddaee8",\r
-                "b8841114.e40fb"\r
+                "98c19260.813238",\r
+                "3ccd2719.ec5e88",\r
+                "c0dd9c59.c4eff8",\r
+                "4451a4e9.723244"\r
             ]\r
         ]\r
     },\r
     {\r
-        "id": "9970355a.979a58",\r
+        "id": "8acc6f21.be6fc8",\r
         "type": "block",\r
         "name": "block",\r
         "xml": "<block>\n",\r
         "atomic": "false",\r
         "comments": "",\r
         "outputs": 1,\r
-        "x": 844.9999961853027,\r
-        "y": 349.9999942779541,\r
-        "z": "43e1d1ad.d6a8e",\r
+        "x": 785.5,\r
+        "y": 329,\r
+        "z": "35b097d7.5fa018",\r
         "wires": [\r
             [\r
-                "4662cdd1.b4f8a4"\r
+                "4308651d.5eb474"\r
             ]\r
         ]\r
     },\r
     {\r
-        "id": "c4659524.ddaee8",\r
+        "id": "98c19260.813238",\r
         "type": "other",\r
         "name": "SOTN",\r
         "xml": "<outcome value='SOTN'>\n",\r
         "comments": "",\r
         "outputs": 1,\r
-        "x": 1090.9999961853027,\r
-        "y": 260.9999942779541,\r
-        "z": "43e1d1ad.d6a8e",\r
+        "x": 1031.5,\r
+        "y": 240,\r
+        "z": "35b097d7.5fa018",\r
         "wires": [\r
             [\r
-                "5f482ccf.0ae764"\r
+                "e12b7948.8a8be"\r
             ]\r
         ]\r
     },\r
     {\r
-        "id": "b8841114.e40fb",\r
+        "id": "3ccd2719.ec5e88",\r
         "type": "other",\r
         "name": "other",\r
         "xml": "<outcome value='Other'>\n",\r
         "comments": "",\r
         "outputs": 1,\r
-        "x": 1106.0000038146973,\r
-        "y": 500.00002670288086,\r
-        "z": "43e1d1ad.d6a8e",\r
+        "x": 1033.500087738037,\r
+        "y": 789.0001106262207,\r
+        "z": "35b097d7.5fa018",\r
         "wires": [\r
             [\r
-                "3b070a5d.7f8e96"\r
+                "f4c76776.724b28"\r
             ]\r
         ]\r
     },\r
     {\r
-        "id": "3b070a5d.7f8e96",\r
+        "id": "f4c76776.724b28",\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": 1284.0000038146973,\r
-        "y": 500.00002670288086,\r
-        "z": "43e1d1ad.d6a8e",\r
+        "x": 1183.5000610351562,\r
+        "y": 785.0000972747803,\r
+        "z": "35b097d7.5fa018",\r
         "wires": []\r
     },\r
     {\r
-        "id": "d220c063.b8e9a",\r
+        "id": "484845a5.2238e4",\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": 1472.0001945495605,\r
-        "y": 142.00000381469727,\r
-        "z": "43e1d1ad.d6a8e",\r
+        "x": 1412.5001983642578,\r
+        "y": 121.00000953674316,\r
+        "z": "35b097d7.5fa018",\r
         "wires": [\r
             []\r
         ]\r
     },\r
     {\r
-        "id": "97f2ea03.107968",\r
+        "id": "19259d76.96fc3b",\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": 1518.5001945495605,\r
-        "y": 262.00000381469727,\r
-        "z": "43e1d1ad.d6a8e",\r
+        "x": 1459.0001983642578,\r
+        "y": 241.00000953674316,\r
+        "z": "35b097d7.5fa018",\r
         "wires": [\r
             [\r
-                "a5358ccb.9e8dd",\r
-                "7f5cb122.be2df"\r
+                "2313a899.da913",\r
+                "531d5829.4a09a8"\r
             ]\r
         ]\r
     },\r
     {\r
-        "id": "a5358ccb.9e8dd",\r
+        "id": "2313a899.da913",\r
         "type": "other",\r
         "name": "Null",\r
         "xml": "<outcome value=''>\n",\r
         "comments": "",\r
         "outputs": 1,\r
-        "x": 1811.0002403259277,\r
-        "y": 253.9999942779541,\r
-        "z": "43e1d1ad.d6a8e",\r
+        "x": 1751.500244140625,\r
+        "y": 233,\r
+        "z": "35b097d7.5fa018",\r
         "wires": [\r
             [\r
-                "ef0365d3.97ff38"\r
+                "c60b8cf4.53a21"\r
             ]\r
         ]\r
     },\r
     {\r
-        "id": "7f5cb122.be2df",\r
+        "id": "531d5829.4a09a8",\r
         "type": "other",\r
         "name": "other",\r
         "xml": "<outcome value='Other'>\n",\r
         "comments": "",\r
         "outputs": 1,\r
-        "x": 1811.0002403259277,\r
-        "y": 293.9999942779541,\r
-        "z": "43e1d1ad.d6a8e",\r
+        "x": 1751.500244140625,\r
+        "y": 273,\r
+        "z": "35b097d7.5fa018",\r
         "wires": [\r
             [\r
-                "157313d5.db8b4c"\r
+                "f1eb21a4.8d1378"\r
             ]\r
         ]\r
     },\r
     {\r
-        "id": "ef0365d3.97ff38",\r
+        "id": "c60b8cf4.53a21",\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": 2032.5002403259277,\r
-        "y": 253.9999942779541,\r
-        "z": "43e1d1ad.d6a8e",\r
+        "x": 1973.000244140625,\r
+        "y": 233,\r
+        "z": "35b097d7.5fa018",\r
         "wires": [\r
             [\r
-                "ce710140.b905e",\r
-                "33873b8b.c155b4"\r
+                "f7ff1324.a58c28",\r
+                "8660dd2a.bc5478"\r
             ]\r
         ]\r
     },\r
     {\r
-        "id": "1b8d7ae8.41c4c5",\r
+        "id": "da47859b.4ec77",\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": 1517.0001525878906,\r
-        "y": 400.9999828338623,\r
-        "z": "43e1d1ad.d6a8e",\r
+        "x": 1455.5001983642578,\r
+        "y": 381.00000953674316,\r
+        "z": "35b097d7.5fa018",\r
         "wires": [\r
             []\r
         ]\r
     },\r
     {\r
-        "id": "f06d5e7a.dcdff",\r
+        "id": "ac66ccfd.381a88",\r
         "type": "set",\r
         "name": "set encoding-format",\r
-        "xml": "<set>\n<parameter name='ietf-subscribed-notifications_establish-subscription.input.encoding' value=\"encode-json\" />",\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": 1475.0001945495605,\r
-        "y": 362.00000381469727,\r
-        "z": "43e1d1ad.d6a8e",\r
+        "x": 1415.5001983642578,\r
+        "y": 341.00000953674316,\r
+        "z": "35b097d7.5fa018",\r
         "wires": []\r
     },\r
     {\r
-        "id": "971a117b.a06b9",\r
+        "id": "fa1a511.33260b",\r
         "type": "comment",\r
         "name": "Notification subscription",\r
         "info": "",\r
         "comments": "",\r
-        "x": 1480.0003395080566,\r
-        "y": 319.00000286102295,\r
-        "z": "43e1d1ad.d6a8e",\r
+        "x": 1420.500343322754,\r
+        "y": 298.00000858306885,\r
+        "z": "35b097d7.5fa018",\r
         "wires": []\r
     },\r
     {\r
-        "id": "807f3d.fff210c",\r
+        "id": "72476c1.b3cb514",\r
         "type": "switchNode",\r
         "name": "switch",\r
         "xml": "<switch test=\"`$prop.sdncRestApi.vendor == 'ZTE'`\">\n",\r
         "comments": "",\r
         "outputs": 1,\r
-        "x": 164.99999618530273,\r
-        "y": 389.9999942779541,\r
-        "z": "43e1d1ad.d6a8e",\r
+        "x": 105.5,\r
+        "y": 369,\r
+        "z": "35b097d7.5fa018",\r
         "wires": [\r
             [\r
-                "1b70ca9c.7c9985",\r
-                "c9877e2e.2d6a5"\r
+                "7ff38366.3f2f34",\r
+                "18555fe6.542308"\r
             ]\r
         ]\r
     },\r
     {\r
-        "id": "1b70ca9c.7c9985",\r
+        "id": "7ff38366.3f2f34",\r
         "type": "outcomeFalse",\r
         "name": "false",\r
         "xml": "<outcome value='false'>\n",\r
         "comments": "",\r
         "outputs": 1,\r
-        "x": 351.99999618530273,\r
-        "y": 389.9999942779541,\r
-        "z": "43e1d1ad.d6a8e",\r
+        "x": 292.5,\r
+        "y": 369,\r
+        "z": "35b097d7.5fa018",\r
         "wires": [\r
             [\r
-                "cb414b17.62b928"\r
+                "50de7689.c1ed4"\r
             ]\r
         ]\r
     },\r
     {\r
-        "id": "c9877e2e.2d6a5",\r
+        "id": "18555fe6.542308",\r
         "type": "outcomeTrue",\r
         "name": "true",\r
         "xml": "<outcome value='true'>\n",\r
         "comments": "",\r
         "outputs": 1,\r
-        "x": 352.99999618530273,\r
-        "y": 514.9999942779541,\r
-        "z": "43e1d1ad.d6a8e",\r
+        "x": 293.5,\r
+        "y": 494,\r
+        "z": "35b097d7.5fa018",\r
         "wires": [\r
             [\r
-                "66b25f6e.ea9c2"\r
+                "46364a8c.43d47c"\r
             ]\r
         ]\r
     },\r
     {\r
-        "id": "66b25f6e.ea9c2",\r
+        "id": "46364a8c.43d47c",\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": 575.9999961853027,\r
-        "y": 514.9999942779541,\r
-        "z": "43e1d1ad.d6a8e",\r
+        "x": 516.5,\r
+        "y": 494,\r
+        "z": "35b097d7.5fa018",\r
+        "wires": [\r
+            []\r
+        ]\r
+    },\r
+    {\r
+        "id": "c0dd9c59.c4eff8",\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
+        "wires": [\r
+            [\r
+                "b4761a0a.e9187"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "b4761a0a.e9187",\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
+        "wires": [\r
+            [\r
+                "5f4972dc.a8c76c"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "5f4972dc.a8c76c",\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
+        "wires": [\r
+            [\r
+                "cef3a525.157f48",\r
+                "aa2154d5.57633"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "aa2154d5.57633",\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
+        "wires": [\r
+            [\r
+                "80d535c0.0a3eb"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "cef3a525.157f48",\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
+        "wires": [\r
+            [\r
+                "9d726edf.4a00d"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "9d726edf.4a00d",\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
+        "wires": []\r
+    },\r
+    {\r
+        "id": "80d535c0.0a3eb",\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
+        "wires": [\r
+            [\r
+                "73db98e4.daca9"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "73db98e4.daca9",\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
+        "wires": [\r
+            [\r
+                "d273e3f9.ce07"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "d273e3f9.ce07",\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
+        "wires": [\r
+            [\r
+                "e1c04d4.8fe4cb",\r
+                "3d2b44f0.5e96ec"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "e1c04d4.8fe4cb",\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
+        "wires": []\r
+    },\r
+    {\r
+        "id": "3d2b44f0.5e96ec",\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
+        "wires": [\r
+            []\r
+        ]\r
+    },\r
+    {\r
+        "id": "4451a4e9.723244",\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
+        "wires": [\r
+            [\r
+                "fe364eaa.3f7b08"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "fe364eaa.3f7b08",\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
+        "wires": [\r
+            [\r
+                "3e697d7a.72d032"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "3e697d7a.72d032",\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
+        "wires": [\r
+            [\r
+                "65bb501c.2cef98",\r
+                "d2559ee1.0d8548"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "65bb501c.2cef98",\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
+        "wires": [\r
+            [\r
+                "6d2f6447.367f94"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "6d2f6447.367f94",\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
+        "wires": []\r
+    },\r
+    {\r
+        "id": "d2559ee1.0d8548",\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
+        "wires": [\r
+            [\r
+                "81b6558e.8743c"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "81b6558e.8743c",\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
+        "wires": [\r
+            [\r
+                "4139e8ab.39b6d8"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "4139e8ab.39b6d8",\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
         "wires": [\r
             []\r
         ]\r
diff --git a/platform-logic/datachange/src/main/json/DataChange_msa-update-network-to-aai.json b/platform-logic/datachange/src/main/json/DataChange_msa-update-network-to-aai.json
new file mode 100644 (file)
index 0000000..1dd336e
--- /dev/null
@@ -0,0 +1,904 @@
+[\r
+    {\r
+        "id": "8b4dcfe.e866f3",\r
+        "type": "service-logic",\r
+        "name": "DataChange ${project.version}",\r
+        "module": "DataChange",\r
+        "version": "${project.version}",\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": 401,\r
+        "y": 62,\r
+        "z": "d8656b08.07aab8",\r
+        "wires": [\r
+            [\r
+                "adc1d56c.b72ff"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "adc1d56c.b72ff",\r
+        "type": "method",\r
+        "name": "method msa-update-network-to-aai",\r
+        "xml": "<method rpc='msa-update-network-to-aai' mode='sync'>\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 144,\r
+        "y": 136,\r
+        "z": "d8656b08.07aab8",\r
+        "wires": [\r
+            [\r
+                "106658a8.d884c7"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "106658a8.d884c7",\r
+        "type": "block",\r
+        "name": "block : atomic",\r
+        "xml": "<block atomic='true'>",\r
+        "atomic": "true",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 382.00003814697266,\r
+        "y": 136.00001335144043,\r
+        "z": "d8656b08.07aab8",\r
+        "wires": [\r
+            [\r
+                "4b7c5962.7cf4f8"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "8e1c9818.33b57",\r
+        "type": "dgstart",\r
+        "name": "DGSTART",\r
+        "outputs": 1,\r
+        "x": 123,\r
+        "y": 64,\r
+        "z": "d8656b08.07aab8",\r
+        "wires": [\r
+            [\r
+                "8b4dcfe.e866f3"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "4b7c5962.7cf4f8",\r
+        "type": "switchNode",\r
+        "name": "switch network-id",\r
+        "xml": "<switch test=\"`$networks.network-id`\">\n\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 178.5104522705078,\r
+        "y": 247.0000114440918,\r
+        "z": "d8656b08.07aab8",\r
+        "wires": [\r
+            [\r
+                "b84da364.adfac",\r
+                "3a113c69.68266c"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "b84da364.adfac",\r
+        "type": "other",\r
+        "name": "other: Do Nothing",\r
+        "xml": "<outcome value='Other'>\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 443.5104064941406,\r
+        "y": 469.99993896484375,\r
+        "z": "d8656b08.07aab8",\r
+        "wires": [\r
+            []\r
+        ]\r
+    },\r
+    {\r
+        "id": "3a113c69.68266c",\r
+        "type": "outcome",\r
+        "name": "otn-topology",\r
+        "xml": "<outcome value='otn-topology'>\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 410,\r
+        "y": 247,\r
+        "z": "d8656b08.07aab8",\r
+        "wires": [\r
+            [\r
+                "5112d334.33a61c"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "5112d334.33a61c",\r
+        "type": "block",\r
+        "name": "block : atomic",\r
+        "xml": "<block atomic='true'>",\r
+        "atomic": "true",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 605,\r
+        "y": 247,\r
+        "z": "d8656b08.07aab8",\r
+        "wires": [\r
+            [\r
+                "4a7e5696.0715b",\r
+                "d2e8624a.31b89",\r
+                "22d90846.8bc5b8",\r
+                "6c4d9e05.4fa72",\r
+                "1587342a.1379dc"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "4a7e5696.0715b",\r
+        "type": "save",\r
+        "name": "save network-resource",\r
+        "xml": "<save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='network-resource'  \n     key='network-resource.network-id = $networks.network-id' >\n<parameter name='network-id' value='`$networks.network-id`' />\n<parameter name='network-type' value='`$networks.network-types`' />\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 897,\r
+        "y": 100,\r
+        "z": "d8656b08.07aab8",\r
+        "wires": [\r
+            []\r
+        ]\r
+    },\r
+    {\r
+        "id": "d2e8624a.31b89",\r
+        "type": "save",\r
+        "name": "save network-resource relation with esr-thirdparty-sdnc",\r
+        "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=\"network-resource\" />\n<parameter name=\"relationship-list.relationship[0].related-link\" value=\"`'/network/network-resources/network-resource/' + $networks.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=\"`$networks.network-id`\" />",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 987,\r
+        "y": 159,\r
+        "z": "d8656b08.07aab8",\r
+        "wires": [\r
+            []\r
+        ]\r
+    },\r
+    {\r
+        "id": "22d90846.8bc5b8",\r
+        "type": "for",\r
+        "name": "for each node",\r
+        "xml": "<for index='nidx' start='0' end='`$networks.node_length`' >\n\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 831,\r
+        "y": 301,\r
+        "z": "d8656b08.07aab8",\r
+        "wires": [\r
+            [\r
+                "f56585e4.72bcc",\r
+                "b3dc81c8.6f70f8"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "f56585e4.72bcc",\r
+        "type": "set",\r
+        "name": "set node",\r
+        "xml": "<set>\n<parameter name='node.' value='`$networks.node[$nidx].`' />\n",\r
+        "comments": "",\r
+        "x": 1013,\r
+        "y": 300,\r
+        "z": "d8656b08.07aab8",\r
+        "wires": []\r
+    },\r
+    {\r
+        "id": "b3dc81c8.6f70f8",\r
+        "type": "switchNode",\r
+        "name": "switch node-type",\r
+        "xml": "<switch test=\"`$node.node-type`\">\n\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 1034,\r
+        "y": 400,\r
+        "z": "d8656b08.07aab8",\r
+        "wires": [\r
+            [\r
+                "ac532b61.57fca8",\r
+                "a021c2b4.589bc"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "ac532b61.57fca8",\r
+        "type": "outcome",\r
+        "name": "SWITCH",\r
+        "xml": "<outcome value='SWITCH'>\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 1219,\r
+        "y": 401,\r
+        "z": "d8656b08.07aab8",\r
+        "wires": [\r
+            [\r
+                "8591e2ec.94b2d8"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "a021c2b4.589bc",\r
+        "type": "other",\r
+        "name": "other : Do Nothing",\r
+        "xml": "<outcome value='Other'>\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 1262,\r
+        "y": 524,\r
+        "z": "d8656b08.07aab8",\r
+        "wires": [\r
+            []\r
+        ]\r
+    },\r
+    {\r
+        "id": "8591e2ec.94b2d8",\r
+        "type": "block",\r
+        "name": "block : atomic",\r
+        "xml": "<block atomic='true'>",\r
+        "atomic": "true",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 1390,\r
+        "y": 402,\r
+        "z": "d8656b08.07aab8",\r
+        "wires": [\r
+            [\r
+                "8d6438ce.9a465",\r
+                "7c327396.cf8004",\r
+                "92a0366b.9648d8",\r
+                "506cbe9f.0da148",\r
+                "9a96883c.2c0c6",\r
+                "76be62e9.bf594c"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "8d6438ce.9a465",\r
+        "type": "execute",\r
+        "name": "execute",\r
+        "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='generateUUID' >\n<parameter name=\"ctx-destination\" value=\"pnfname\"/>\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 1569,\r
+        "y": 194,\r
+        "z": "d8656b08.07aab8",\r
+        "wires": [\r
+            []\r
+        ]\r
+    },\r
+    {\r
+        "id": "7c327396.cf8004",\r
+        "type": "save",\r
+        "name": "save pnf details to AAI",\r
+        "xml": "<save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='pnf'\nkey='pnf.pnf-name = $pnfname' >\n    <parameter name='pnf-name' value='`$pnfname`' />\n    <parameter name='pnf-id' value='`$node.node-id`' />\n    <parameter name='operational-status' value='`$node.node-status`' />\n    <parameter name='in-maint' value='true' />\n    <parameter name='equip-type' value='`$node.node-type`' />\n    \n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 1624,\r
+        "y": 250,\r
+        "z": "d8656b08.07aab8",\r
+        "wires": [\r
+            []\r
+        ]\r
+    },\r
+    {\r
+        "id": "92a0366b.9648d8",\r
+        "type": "save",\r
+        "name": "save pnf relationship to network-resource in AAI",\r
+        "xml": "\n<save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='pnf:relationship-list' \n      key='pnf.pnf-name = $pnfname' 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/' + $networks.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=\"`$networks.network-id`\" />\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 1727,\r
+        "y": 314,\r
+        "z": "d8656b08.07aab8",\r
+        "wires": [\r
+            []\r
+        ]\r
+    },\r
+    {\r
+        "id": "506cbe9f.0da148",\r
+        "type": "for",\r
+        "name": "for each termination point",\r
+        "xml": "<for index='tpidx' start='0' end='`$node.termination-point_length`' >\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 1595,\r
+        "y": 575,\r
+        "z": "d8656b08.07aab8",\r
+        "wires": [\r
+            [\r
+                "a9a91cea.c7d998",\r
+                "3e218bee.5222ec",\r
+                "763d8580.7328c4",\r
+                "a8ff331a.025d",\r
+                "8e2b2ac1.d11b2",\r
+                "6bb4981.68f2ee8",\r
+                "9bf5664b.07737"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "a9a91cea.c7d998",\r
+        "type": "set",\r
+        "name": "set termination point",\r
+        "xml": "<set>\n<parameter name='tp.' value='`$node.termination-point[$tpidx].`' />\n",\r
+        "comments": "",\r
+        "x": 1865,\r
+        "y": 606,\r
+        "z": "d8656b08.07aab8",\r
+        "wires": []\r
+    },\r
+    {\r
+        "id": "a8ff331a.025d",\r
+        "type": "save",\r
+        "name": "save p-interface to AAI",\r
+        "xml": "<save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='p-interface' \n      key='pnf.pnf-name = $pnfname\n      AND p-interface.interface-name = $interfaceName' >      \n<parameter name='interface-name' value='`$interfaceName`' />\n<parameter name='port-description' value='`$tp.tp-id`' />\n<parameter name='network-ref' value='`$tp.network-ref`' />\n<parameter name='interface-type' value='`$tp.tp-type`' />\n<parameter name='in-maint' value=\"true\" />\n<parameter name='network-interface-type' value='`$network-interface-type`' />\n<parameter name='speed-units' value=\"Gbps\" />\n<parameter name='speed-value' value='100' />\n<parameter name='available-capacity' value='100' />\n\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 1862,\r
+        "y": 814,\r
+        "z": "d8656b08.07aab8",\r
+        "wires": [\r
+            []\r
+        ]\r
+    },\r
+    {\r
+        "id": "763d8580.7328c4",\r
+        "type": "execute",\r
+        "name": "execute",\r
+        "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='generateUUID' >\n<parameter name=\"ctx-destination\" value=\"interfaceName\"/>\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 1839,\r
+        "y": 752,\r
+        "z": "d8656b08.07aab8",\r
+        "wires": [\r
+            []\r
+        ]\r
+    },\r
+    {\r
+        "id": "3e218bee.5222ec",\r
+        "type": "switchNode",\r
+        "name": "switch tp-type",\r
+        "xml": "<switch test=\"`$tp.tp-type`\">\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 1852,\r
+        "y": 674,\r
+        "z": "d8656b08.07aab8",\r
+        "wires": [\r
+            [\r
+                "88cb4971.2e8588",\r
+                "43b07fb6.69d3f",\r
+                "818ba69d.e74cf8"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "88cb4971.2e8588",\r
+        "type": "outcome",\r
+        "name": "XPONDER-NETWORK",\r
+        "xml": "<outcome value='XPONDER-NETWORK'>\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 2090,\r
+        "y": 630,\r
+        "z": "d8656b08.07aab8",\r
+        "wires": [\r
+            [\r
+                "4bf140e7.df7828"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "43b07fb6.69d3f",\r
+        "type": "outcome",\r
+        "name": "XPONDER-CLIENT",\r
+        "xml": "<outcome value='XPONDER-CLIENT'>\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 2080,\r
+        "y": 707,\r
+        "z": "d8656b08.07aab8",\r
+        "wires": [\r
+            [\r
+                "d2a50717.2a1d9"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "818ba69d.e74cf8",\r
+        "type": "other",\r
+        "name": "other  : Do Nothing",\r
+        "xml": "<outcome value='Other'>\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 2090,\r
+        "y": 780,\r
+        "z": "d8656b08.07aab8",\r
+        "wires": [\r
+            []\r
+        ]\r
+    },\r
+    {\r
+        "id": "6c4d9e05.4fa72",\r
+        "type": "for",\r
+        "name": "for each link",\r
+        "xml": "<for index='lidx' start='0' end='`$networks.link_length`' >\n\n\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 792,\r
+        "y": 575,\r
+        "z": "d8656b08.07aab8",\r
+        "wires": [\r
+            [\r
+                "575b0050.f3102",\r
+                "f4b57e4d.f91c18"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "575b0050.f3102",\r
+        "type": "set",\r
+        "name": "set link",\r
+        "xml": "<set>\n<parameter name='link.' value='`$networks.link[$lidx].`' />\n",\r
+        "comments": "",\r
+        "x": 987,\r
+        "y": 521,\r
+        "z": "d8656b08.07aab8",\r
+        "wires": []\r
+    },\r
+    {\r
+        "id": "f4b57e4d.f91c18",\r
+        "type": "switchNode",\r
+        "name": "switch link-type",\r
+        "xml": "<switch test=\"`$link.link-type`\">\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 954,\r
+        "y": 661,\r
+        "z": "d8656b08.07aab8",\r
+        "wires": [\r
+            [\r
+                "c7be7986.f3d7",\r
+                "b81cc555.59f47"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "c7be7986.f3d7",\r
+        "type": "outcome",\r
+        "name": "OTN-LINK",\r
+        "xml": "<outcome value='OTN-LINK'>\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 1167,\r
+        "y": 657,\r
+        "z": "d8656b08.07aab8",\r
+        "wires": [\r
+            [\r
+                "b99bdbf4.fe7ab8"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "b81cc555.59f47",\r
+        "type": "other",\r
+        "name": "other : Do Nothing",\r
+        "xml": "<outcome value='Other'>\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 1119,\r
+        "y": 761,\r
+        "z": "d8656b08.07aab8",\r
+        "wires": [\r
+            []\r
+        ]\r
+    },\r
+    {\r
+        "id": "b99bdbf4.fe7ab8",\r
+        "type": "block",\r
+        "name": "block : atomic",\r
+        "xml": "<block atomic='true'>",\r
+        "atomic": "true",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 1168,\r
+        "y": 1158,\r
+        "z": "d8656b08.07aab8",\r
+        "wires": [\r
+            [\r
+                "eb78e1a4.f6c888",\r
+                "9c6cd27.ce7a0b",\r
+                "8d15fb9d.87f2c8",\r
+                "df343460.1e46a",\r
+                "d885100b.8f343",\r
+                "3c142cb3.61690c",\r
+                "14cce7fe.30486",\r
+                "4284a26f.1ce334"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "eb78e1a4.f6c888",\r
+        "type": "execute",\r
+        "name": "execute",\r
+        "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n    <parameter name=\"source\" value=\"`$link.link-id`\"/>\n    <parameter name=\"outputPath\" value=\"tmp.link-id\"/>\n    <parameter name=\"target\" value=\"#\"/>\n    <parameter name=\"replacement\" value=\"_\"/>\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 1428,\r
+        "y": 1017,\r
+        "z": "d8656b08.07aab8",\r
+        "wires": [\r
+            []\r
+        ]\r
+    },\r
+    {\r
+        "id": "9c6cd27.ce7a0b",\r
+        "type": "save",\r
+        "name": "save logical-link details to AAI",\r
+        "xml": "<save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='logical-link'\nkey='logical-link.link-name = $tmp.link-id' >\n    <parameter name='link-name' value='`$tmp.link-id`' />\n    <parameter name='link-type' value='`$link.link-type`' />\n    <parameter name='in-maint' value='true' />\n    <parameter name='speed-value' value='100' />\n    <parameter name='speed-units' value='Gbps' />\n    <parameter name='operational-status' value='`$link.administrative-state`' />\n    <parameter name='available-capacity' value='100' />\n\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 1517,\r
+        "y": 1157,\r
+        "z": "d8656b08.07aab8",\r
+        "wires": [\r
+            []\r
+        ]\r
+    },\r
+    {\r
+        "id": "4bf140e7.df7828",\r
+        "type": "block",\r
+        "name": "block : atomic",\r
+        "xml": "<block atomic='true'>",\r
+        "atomic": "true",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 2304,\r
+        "y": 631,\r
+        "z": "d8656b08.07aab8",\r
+        "wires": [\r
+            [\r
+                "dd7793ee.4f994"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "d2a50717.2a1d9",\r
+        "type": "block",\r
+        "name": "block : atomic",\r
+        "xml": "<block atomic='true'>",\r
+        "atomic": "true",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 2291,\r
+        "y": 710,\r
+        "z": "d8656b08.07aab8",\r
+        "wires": [\r
+            [\r
+                "765312cb.e91374"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "dd7793ee.4f994",\r
+        "type": "set",\r
+        "name": "set network-interface-type as NNI",\r
+        "xml": "<set>\n<parameter name='network-interface-type' value='NNI' />\n",\r
+        "comments": "",\r
+        "x": 2545,\r
+        "y": 630,\r
+        "z": "d8656b08.07aab8",\r
+        "wires": []\r
+    },\r
+    {\r
+        "id": "765312cb.e91374",\r
+        "type": "set",\r
+        "name": "set network-interface-type as UNI",\r
+        "xml": "<set>\n<parameter name='network-interface-type' value='UNI' />\n",\r
+        "comments": "",\r
+        "x": 2548,\r
+        "y": 708,\r
+        "z": "d8656b08.07aab8",\r
+        "wires": []\r
+    },\r
+    {\r
+        "id": "8e2b2ac1.d11b2",\r
+        "type": "set",\r
+        "name": "set speed-value as null",\r
+        "xml": "<set>\n<parameter name='speed-value' value='' />\n<parameter name='available-capacity' value='' />\n<parameter name='network-interface-type' value='' />\n",\r
+        "comments": "",\r
+        "x": 1874,\r
+        "y": 523,\r
+        "z": "d8656b08.07aab8",\r
+        "wires": []\r
+    },\r
+    {\r
+        "id": "8d15fb9d.87f2c8",\r
+        "type": "set",\r
+        "name": "set link-parameters",\r
+        "xml": "<set>\n<parameter name='interface1' value=\"`$link.source.source-tp`\" />\n<parameter name='interface2' value=\"`$link.destination.dest-tp`\" />\n<parameter name='pnf1' value=\"`$link.source.source-node`\" />\n<parameter name='pnf2' value=\"`$link.destination.dest-node`\" />\n",\r
+        "comments": "",\r
+        "x": 1489,\r
+        "y": 1066,\r
+        "z": "d8656b08.07aab8",\r
+        "wires": []\r
+    },\r
+    {\r
+        "id": "df343460.1e46a",\r
+        "type": "save",\r
+        "name": "save logical-link relationship to p-interface",\r
+        "xml": "<save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='logical-link:relationship-list' \n      key='logical-link.link-name = $tmp.link-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/pnfs/pnf/' + $pnfname1 + '/p-interfaces/p-interface/' + $pinterface1 `\" />\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=\"`$pnfname1`\" /> \n<parameter name=\"relationship-list.relationship[1].related-to\" value=\"p-interface\" />\n<parameter name=\"relationship-list.relationship[1].related-link\" value=\"`'/network/pnfs/pnf/' + $pnfname2 + '/p-interfaces/p-interface/' + $pinterface2 `\" />\n<parameter name=\"relationship-list.relationship[1].relationship-data[0].relationship-key\" value=\"pnf.pnf-name\" />\n<parameter name=\"relationship-list.relationship[1].relationship-data[0].relationship-value\" value=\"`$pnfname2`\" /> ",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 1500,\r
+        "y": 1528,\r
+        "z": "d8656b08.07aab8",\r
+        "wires": [\r
+            []\r
+        ]\r
+    },\r
+    {\r
+        "id": "6bb4981.68f2ee8",\r
+        "type": "save",\r
+        "name": "save pnf & p-interface in DB",\r
+        "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource\" resource=\"SQL\" key=\"INSERT INTO TOPOLOGY_LOGICAL_RELATION_TO_PINTERFACE VALUES ( $interfaceName , $tp.tp-id , $pnfname , $node.node-id , '100' , $clli , null );\">\n\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 1788,\r
+        "y": 998,\r
+        "z": "d8656b08.07aab8",\r
+        "wires": [\r
+            []\r
+        ]\r
+    },\r
+    {\r
+        "id": "d885100b.8f343",\r
+        "type": "get-resource",\r
+        "name": "get source pnf-name and interface-name UUID from DB",\r
+        "xml": "<get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL' \nkey='SELECT pnf_name, interface_name \nfrom TOPOLOGY_LOGICAL_RELATION_TO_PINTERFACE \nWHERE pnf_id = $link.source.source-node\nAND interface_id = $link.source.source-tp' \npfx='db.source'>\n    \n    \n    \n    \n    \n    \n    \n    \n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 1613,\r
+        "y": 1308,\r
+        "z": "d8656b08.07aab8",\r
+        "wires": [\r
+            [\r
+                "4c55d475.77aecc"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "3c142cb3.61690c",\r
+        "type": "record",\r
+        "name": "record",\r
+        "xml": "<record plugin=\"org.onap.ccsdk.sli.core.sli.recording.FileRecorder\">\n<parameter name=\"file\" value=\"/opt/opendaylight/current/data/log/svclogic.log\" />\n<parameter name=\"level\" value=\"info\" />\n<parameter name=\"field1\" value=\"print direct name\"/>\n<parameter name=\"field2\" value=\"`$pnfname1`\"/>\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 1468,\r
+        "y": 1366,\r
+        "z": "d8656b08.07aab8",\r
+        "wires": [\r
+            []\r
+        ]\r
+    },\r
+    {\r
+        "id": "4c55d475.77aecc",\r
+        "type": "success",\r
+        "name": "success",\r
+        "xml": "<outcome value='success'>\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 1931,\r
+        "y": 1312,\r
+        "z": "d8656b08.07aab8",\r
+        "wires": [\r
+            [\r
+                "2acd3a80.9f5afe"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "2acd3a80.9f5afe",\r
+        "type": "set",\r
+        "name": "set",\r
+        "xml": "<set>\n<parameter name='pnfname1' value='`$db.source.pnf-name`' />\n<parameter name='pinterface1' value='`$db.source.interface-name`' />\n\n\n\n\n\n",\r
+        "comments": "",\r
+        "x": 2085,\r
+        "y": 1304,\r
+        "z": "d8656b08.07aab8",\r
+        "wires": []\r
+    },\r
+    {\r
+        "id": "14cce7fe.30486",\r
+        "type": "get-resource",\r
+        "name": "get destination pnf-name and interface-name UUID from DB",\r
+        "xml": "<get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL' \nkey='SELECT pnf_name, interface_name \nfrom TOPOLOGY_LOGICAL_RELATION_TO_PINTERFACE \nWHERE pnf_id = $link.destination.dest-node\nAND interface_id = $link.destination.dest-tp' \npfx='db1.destination'>\n    \n    \n    \n    \n    \n    \n    \n    \n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 1584,\r
+        "y": 1443,\r
+        "z": "d8656b08.07aab8",\r
+        "wires": [\r
+            [\r
+                "2b2056ba.68c06a"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "2b2056ba.68c06a",\r
+        "type": "success",\r
+        "name": "success",\r
+        "xml": "<outcome value='success'>\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 1917,\r
+        "y": 1436,\r
+        "z": "d8656b08.07aab8",\r
+        "wires": [\r
+            [\r
+                "190b0926.27e49f"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "190b0926.27e49f",\r
+        "type": "set",\r
+        "name": "set",\r
+        "xml": "<set>\n<parameter name='pnfname2' value='`$db1.destination.pnf-name`' />\n<parameter name='pinterface2' value='`$db1.destination.interface-name`' />\n\n\n\n\n\n",\r
+        "comments": "",\r
+        "x": 2077,\r
+        "y": 1438,\r
+        "z": "d8656b08.07aab8",\r
+        "wires": []\r
+    },\r
+    {\r
+        "id": "4284a26f.1ce334",\r
+        "type": "record",\r
+        "name": "record",\r
+        "xml": "<record plugin=\"org.onap.ccsdk.sli.core.sli.recording.FileRecorder\">\n<parameter name=\"file\" value=\"/opt/opendaylight/current/data/log/optical-service-create.log\" />\n<parameter name=\"level\" value=\"info\" />\n\n<parameter name=\"field1\" value=\"`$pnf1`\"/>\n<parameter name=\"field2\" value=\"`$interface1`\"/>\n<parameter name=\"field3\" value=\"`$pnf2`\"/>\n<parameter name=\"field4\" value=\"`$interface2`\"/>\n\n\n\n\n\n\n\n\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 1459,\r
+        "y": 1109,\r
+        "z": "d8656b08.07aab8",\r
+        "wires": [\r
+            []\r
+        ]\r
+    },\r
+    {\r
+        "id": "9a96883c.2c0c6",\r
+        "type": "execute",\r
+        "name": "split node-id",\r
+        "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split' >\n<parameter name=\"original_string\" value='`$node.node-id`'/>\n<parameter name=\"regex\" value=\"-\"/>\n<parameter name=\"ctx_memory_result_key\" value=\"param-prefix1\"/>\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 1627,\r
+        "y": 370,\r
+        "z": "d8656b08.07aab8",\r
+        "wires": [\r
+            []\r
+        ]\r
+    },\r
+    {\r
+        "id": "76be62e9.bf594c",\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/openroadm-network/nodes/' + $param-prefix1[0]`\"/>  \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=\"cllires\"/>\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    \n    \n    \n    \n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 1626,\r
+        "y": 429,\r
+        "z": "d8656b08.07aab8",\r
+        "wires": [\r
+            [\r
+                "c6fee13e.a22228",\r
+                "4241c0e7.e68e5"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "b707b093.cd8c68",\r
+        "type": "block",\r
+        "name": "block : atomic",\r
+        "xml": "<block atomic='true'>",\r
+        "atomic": "true",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 1941,\r
+        "y": 444,\r
+        "z": "d8656b08.07aab8",\r
+        "wires": [\r
+            [\r
+                "bfdcc473.e8754"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "bfdcc473.e8754",\r
+        "type": "set",\r
+        "name": "set",\r
+        "xml": "<set>\n<parameter name='clli' value='`$cllires.supporting-node[0].node-ref`' />\n",\r
+        "comments": "",\r
+        "x": 2123,\r
+        "y": 439,\r
+        "z": "d8656b08.07aab8",\r
+        "wires": []\r
+    },\r
+    {\r
+        "id": "4241c0e7.e68e5",\r
+        "type": "failure",\r
+        "name": "failure",\r
+        "xml": "<outcome value='failure'>\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 1804,\r
+        "y": 376,\r
+        "z": "d8656b08.07aab8",\r
+        "wires": [\r
+            [\r
+                "8f6ab8.a5f3cd48"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "c6fee13e.a22228",\r
+        "type": "success",\r
+        "name": "success",\r
+        "xml": "<outcome value='success'>\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 1770,\r
+        "y": 445,\r
+        "z": "d8656b08.07aab8",\r
+        "wires": [\r
+            [\r
+                "b707b093.cd8c68"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "8f6ab8.a5f3cd48",\r
+        "type": "record",\r
+        "name": "record",\r
+        "xml": "<record plugin=\"org.onap.ccsdk.sli.core.sli.recording.FileRecorder\">\n<parameter name=\"file\" value=\"/opt/opendaylight/current/data/log/optical-service-delete.log\" />\n<parameter name=\"level\" value=\"info\" />\n<parameter name=\"field1\" value=\"Getting clli failed\"/>\n\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 1945,\r
+        "y": 370,\r
+        "z": "d8656b08.07aab8",\r
+        "wires": [\r
+            []\r
+        ]\r
+    },\r
+    {\r
+        "id": "9bf5664b.07737",\r
+        "type": "save",\r
+        "name": "save",\r
+        "xml": "<save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='custom-query' \n      key=\"format='resource'\"\n      force=\"true\"\n      local-only=\"false\"\n      pfx=\"data\">      \n<parameter name='interface-name' value='`$interfaceName`' />\n<parameter name='port-description' value='`$tp.tp-id`' />",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 1803.5,\r
+        "y": 886,\r
+        "z": "d8656b08.07aab8",\r
+        "wires": [\r
+            []\r
+        ]\r
+    },\r
+    {\r
+        "id": "1587342a.1379dc",\r
+        "type": "set",\r
+        "name": "set controller_id",\r
+        "xml": "<set>\n<parameter name='controller_id' value=\"`$prop.sdncRestApi.type + '_' + $prop.sdncRestApi.thirdpartySdnc.url`\" />\n\n\n\n",\r
+        "comments": "",\r
+        "x": 860,\r
+        "y": 218,\r
+        "z": "d8656b08.07aab8",\r
+        "wires": []\r
+    }\r
+]
\ No newline at end of file
index 1901fd0..53a1d02 100644 (file)
@@ -5,3 +5,4 @@ DataChange validate-esr-thirdparty-sdnc-input ${project.version} sync
 DataChange esr-thirdparty-sdnc-discovery ${project.version} sync
 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
index f6cd4d1..c90a5cb 100644 (file)
-<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
-  <method rpc="esr-thirdparty-sdnc-discovery" mode="sync"> \r
-    <block atomic="true"> \r
-      <switch test="`$prop.sdncRestApi.vendor == 'ZTE'`"> \r
-        <outcome value="false"> \r
-          <switch test="`$data-change-notification-input.aai-event-trigger`"> \r
-            <outcome value="Update"> \r
-              <block> \r
-                <switch test="`$prop.sdncRestApi.type`"> \r
-                  <outcome value="SOTN"> \r
-                    <block atomic="true">\r
-                      <execute plugin="org.onap.ccsdk.sli.plugins.prop.PropertiesNode" method="readProperties"> \r
-                        <parameter name="fileName" value="%SDNC_CONFIG_DIR%/generic-resource-api-dg.properties"/>  \r
-                        <parameter name="contextPrefix" value="prop"/> \r
-                      </execute>\r
-                      <execute plugin="org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode" method="sendRequest"> \r
-                        <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/actokentemplate.json'`"/>  \r
-                        <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/v2/tokens'`"/>  \r
-                        <parameter name="format" value="json"/>  \r
-                        <parameter name="httpMethod" value="post"/>  \r
-                        <parameter name="responsePrefix" value="token-result"/>  \r
-                        <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/>  \r
-                        <parameter name="trustStorePassword" value="adminadmin"/>  \r
-                        <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>  \r
-                        <parameter name="keyStorePassword" value="adminadmin"/>\r
-                        <outcome value="success"> \r
-                          <set> \r
-                            <parameter name="prop.sdncRestApi.token_id" value="`$token-result.data.token_id`"/> \r
-                          </set>\r
+<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
+    <method rpc='esr-thirdparty-sdnc-discovery' mode='sync'>\r
+        <block atomic="true">\r
+            <switch test="`$prop.sdncRestApi.vendor == 'ZTE'`">\r
+                <outcome value='false'>\r
+                    <switch test="`$data-change-notification-input.aai-event-trigger`">\r
+                        <outcome value='Update'>\r
+                            <block>\r
+                                <switch test="`$prop.sdncRestApi.type`">\r
+                                    <outcome value='SOTN'>\r
+                                        <block atomic="true">\r
+                                            <execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >\r
+                                                <parameter name='fileName' value='%SDNC_CONFIG_DIR%/generic-resource-api-dg.properties' />\r
+                                                <parameter name='contextPrefix' value='prop' />\r
+                                            </execute>\r
+                                            <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
+                                                <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/actokentemplate.json'`" />\r
+                                                <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/v2/tokens'`" />\r
+                                                <parameter name="format" value="json"/>\r
+                                                <parameter name="httpMethod" value="post"/>\r
+                                                <parameter name="responsePrefix" value="token-result"/>\r
+                                                <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/>\r
+                                                <parameter name="trustStorePassword" value="adminadmin"/>\r
+                                                <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>\r
+                                                <parameter name="keyStorePassword" value="adminadmin"/>\r
+                                                <outcome value='success'>\r
+                                                    <set>\r
+                                                        <parameter name='prop.sdncRestApi.token_id' value='`$token-result.data.token_id`' />\r
+                                                    </set>\r
+                                                </outcome>\r
+                                                <outcome value='failure'>\r
+                                                    <block></block>\r
+                                                </outcome>\r
+                                            </execute>\r
+                                            <switch test="`$prop.sdncRestApi.token_id`">\r
+                                                <outcome value=''>\r
+                                                    <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
+                                                        <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/restconf/data/ietf-network:networks'`" />\r
+                                                        <parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`" />\r
+                                                        <parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`" />\r
+                                                        <parameter name="format" value="json"/>\r
+                                                        <parameter name="httpMethod" value="get"/>\r
+                                                        <parameter name="responsePrefix" value="topology"/>\r
+                                                        <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/>\r
+                                                        <parameter name="trustStorePassword" value="adminadmin"/>\r
+                                                        <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>\r
+                                                        <parameter name="keyStorePassword" value="adminadmin"/>\r
+                                                        <outcome value='failure'>\r
+                                                            <return status='failure'>\r
+                                                                <parameter name='ack-final' value='Y'/>\r
+                                                                <parameter name="error-code" value="500" />\r
+                                                                <parameter name="error-message" value="Error executing Create vpn rest api" />\r
+                                                            </return>\r
+                                                        </outcome>\r
+                                                        <outcome value='success'>\r
+                                                            <block atomic="true">\r
+                                                                <for index='nidx' start='0' end='`$topology.networks.network_length`' >\r
+                                                                    <block>\r
+                                                                        <set>\r
+                                                                            <parameter name='network.' value='`$topology.networks.network[$nidx].`' />\r
+                                                                        </set>\r
+                                                                        <call module='DataChange' rpc='update-network-to-aai' mode='sync' ></call>\r
+                                                                    </block>\r
+                                                                </for>\r
+                                                            </block>\r
+                                                        </outcome>\r
+                                                    </execute>\r
+                                                </outcome>\r
+                                                <outcome value='Other'>\r
+                                                    <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
+                                                        <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/restconf/data/ietf-network:networks'`" />\r
+                                                        <parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`" />\r
+                                                        <parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`" />\r
+                                                        <parameter name="format" value="json"/>\r
+                                                        <parameter name="httpMethod" value="get"/>\r
+                                                        <parameter name="responsePrefix" value="topology"/>\r
+                                                        <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/>\r
+                                                        <parameter name="trustStorePassword" value="adminadmin"/>\r
+                                                        <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>\r
+                                                        <parameter name="keyStorePassword" value="adminadmin"/>\r
+                                                        <parameter name='customHttpHeaders' value="`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`" />\r
+                                                        <outcome value='failure'>\r
+                                                            <return status='failure'>\r
+                                                                <parameter name='ack-final' value='Y'/>\r
+                                                                <parameter name="error-code" value="500" />\r
+                                                                <parameter name="error-message" value="Error executing Create vpn rest api" />\r
+                                                            </return>\r
+                                                        </outcome>\r
+                                                        <outcome value='success'>\r
+                                                            <block atomic="true">\r
+                                                                <for index='nidx' start='0' end='`$topology.networks.network_length`' >\r
+                                                                    <block>\r
+                                                                        <set>\r
+                                                                            <parameter name='network.' value='`$topology.networks.network[$nidx].`' />\r
+                                                                        </set>\r
+                                                                        <call module='DataChange' rpc='update-network-to-aai' mode='sync' ></call>\r
+                                                                    </block>\r
+                                                                </for>\r
+                                                            </block>\r
+                                                        </outcome>\r
+                                                    </execute>\r
+                                                </outcome>\r
+                                            </switch>\r
+                                            <set>\r
+                                                <parameter name='input' value='ietf-subscribed-notifications:establish-subscription.input.' />\r
+                                                <parameter name="`$input + 'encoding'`" value="encode-json" />\r
+                                            </set>\r
+                                            <execute plugin='org.onap.ccsdk.sli.plugins.restconfdiscovery.RestconfDiscoveryNode' method='establishSubscription' >\r
+                                                <parameter name="subscriberId" value="sotn-controller" />\r
+                                                <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/restconf/operations/ietf-subscribed-notifications:establish-subscription'`" />\r
+                                                <parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`" />\r
+                                                <parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`" />\r
+                                                <parameter name="sseConnectURL" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/restconf/streams/yang-push-json'`" />\r
+                                                <parameter name="dirPath" value="/opt/sdnc/restconfapi/yang/notification" />\r
+                                                <parameter name="format" value="json" />\r
+                                                <parameter name="httpMethod" value="post" />\r
+                                                <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/>\r
+                                                <parameter name="trustStorePassword" value="adminadmin"/>\r
+                                                <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>\r
+                                                <parameter name="keyStorePassword" value="adminadmin"/>\r
+                                                <parameter name='customHttpHeaders' value="`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`" />\r
+                                                <parameter name="module" value="DataChange" />\r
+                                                <parameter name="rpc" value="sotn-notification-handler" />\r
+                                                <parameter name="mode" value="sync" />\r
+                                            </execute>\r
+                                        </block>\r
+                                    </outcome>\r
+                                    <outcome value='TAPI'>\r
+                                        <block atomic="true">\r
+                                            <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
+                                                <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/cxf/tapi/v2/topologies?topology-id-or-name=otn'`"/>\r
+                                                <parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`"/>\r
+                                                <parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`"/>\r
+                                                <parameter name="format" value="json"/>\r
+                                                <parameter name="httpMethod" value="get"/>\r
+                                                <parameter name="responsePrefix" value="topologies"/>\r
+                                                <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.tapi.jks"/>\r
+                                                <parameter name="trustStorePassword" value="adminadmin"/>\r
+                                                <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>\r
+                                                <parameter name="keyStorePassword" value="adminadmin"/>\r
+                                                <outcome value='failure'>\r
+                                                    <return status='failure'>\r
+                                                        <parameter name='ack-final' value='Y'/>\r
+                                                        <parameter name="error-code" value="500" />\r
+                                                        <parameter name="error-message" value="Error executing get topology TAPI rest api" />\r
+                                                    </return>\r
+                                                </outcome>\r
+                                                <outcome value='success'>\r
+                                                    <block atomic="true">\r
+                                                        <for index='tidx' start='0' end="`$topologies.topology_length`" >\r
+                                                            <block>\r
+                                                                <set>\r
+                                                                    <parameter name='topology.' value='`$topologies.topology[$tidx].`' />\r
+                                                                </set>\r
+                                                                <call module='DataChange' rpc='tapi-update-network-to-aai' mode='sync' ></call>\r
+                                                            </block>\r
+                                                        </for>\r
+                                                    </block>\r
+                                                </outcome>\r
+                                            </execute>\r
+                                        </block>\r
+                                    </outcome>\r
+                                    <outcome value='MSA'>\r
+                                        <block atomic="true">\r
+                                            <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
+                                                <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/cxf/openroadm/v2/networks/otn-topology'`"/>\r
+                                                <parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`"/>\r
+                                                <parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`"/>\r
+                                                <parameter name="format" value="json"/>\r
+                                                <parameter name="httpMethod" value="get"/>\r
+                                                <parameter name="responsePrefix" value="networks"/>\r
+                                                <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.msa.jks"/>\r
+                                                <parameter name="trustStorePassword" value="adminadmin"/>\r
+                                                <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>\r
+                                                <parameter name="keyStorePassword" value="adminadmin"/>\r
+                                                <outcome value='failure'>\r
+                                                    <return status='failure'>\r
+                                                        <parameter name='ack-final' value='Y'/>\r
+                                                        <parameter name="error-code" value="500" />\r
+                                                        <parameter name="error-message" value="Error executing get topology MSA rest api" />\r
+                                                    </return>\r
+                                                </outcome>\r
+                                                <outcome value='success'>\r
+                                                    <block atomic="true">\r
+                                                        <call module='DataChange' rpc='msa-update-network-to-aai' mode='sync' ></call>\r
+                                                    </block>\r
+                                                </outcome>\r
+                                            </execute>\r
+                                        </block>\r
+                                    </outcome>\r
+                                    <outcome value='Other'>\r
+                                        <return status='failure'>\r
+                                            <parameter name='ack-final' value='Y'/>\r
+                                            <parameter name="error-code" value="500" />\r
+                                            <parameter name="error-message" value="`'Unsupported type = ' + $prop.sdncRestApi.type`" />\r
+                                        </return>\r
+                                    </outcome>\r
+                                </switch>\r
+                            </block>\r
                         </outcome>\r
-                        <outcome value="failure"> \r
-                          <block></block>\r
+                        <outcome value='delete'>\r
+                            <block atomic="true"></block>\r
                         </outcome>\r
-                      </execute>\r
-                      <switch test="`$prop.sdncRestApi.token_id`"> \r
-                        <outcome value=""> \r
-                          <execute plugin="org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode" method="sendRequest"> \r
-                            <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/restconf/data/ietf-network:networks'`"/>  \r
-                            <parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`"/>  \r
-                            <parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`"/>  \r
-                            <parameter name="format" value="json"/>  \r
-                            <parameter name="httpMethod" value="get"/>  \r
-                            <parameter name="responsePrefix" value="topology"/>  \r
-                            <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/>  \r
-                            <parameter name="trustStorePassword" value="adminadmin"/>  \r
-                            <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>  \r
-                            <parameter name="keyStorePassword" value="adminadmin"/>  \r
-                            <outcome value="failure"> \r
-                              <return status="failure"> \r
-                                <parameter name="ack-final" value="Y"/>  \r
-                                <parameter name="error-code" value="500"/>  \r
-                                <parameter name="error-message" value="Error executing Create vpn rest api"/> \r
-                              </return>\r
-                            </outcome>\r
-                            <outcome value="success"> \r
-                              <block atomic="true">\r
-                                <for index="nidx" start="0" end="`$topology.networks.network_length`"> \r
-                                  <block> \r
-                                    <set> \r
-                                      <parameter name="network." value="`$topology.networks.network[$nidx].`"/> \r
-                                    </set>\r
-                                    <call module="DataChange" rpc="update-network-to-aai" mode="sync"></call>\r
-                                  </block>\r
-                                </for>\r
-                              </block>\r
-                            </outcome>\r
-                          </execute>\r
-                        </outcome>\r
-                        <outcome value="Other"> \r
-                          <execute plugin="org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode" method="sendRequest"> \r
-                            <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/restconf/data/ietf-network:networks'`"/>  \r
-                            <parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`"/>  \r
-                            <parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`"/>  \r
-                            <parameter name="format" value="json"/>  \r
-                            <parameter name="httpMethod" value="get"/>  \r
-                            <parameter name="responsePrefix" value="topology"/>  \r
-                            <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/>  \r
-                            <parameter name="trustStorePassword" value="adminadmin"/>  \r
-                            <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>  \r
-                            <parameter name="keyStorePassword" value="adminadmin"/>  \r
-                            <parameter name="customHttpHeaders" value="`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`"/>\r
-                            <outcome value="failure"> \r
-                              <return status="failure"> \r
-                                <parameter name="ack-final" value="Y"/>  \r
-                                <parameter name="error-code" value="500"/>  \r
-                                <parameter name="error-message" value="Error executing Create vpn rest api"/> \r
-                              </return>\r
-                            </outcome>\r
-                            <outcome value="success"> \r
-                              <block atomic="true">\r
-                                <for index="nidx" start="0" end="`$topology.networks.network_length`"> \r
-                                  <block> \r
-                                    <set> \r
-                                      <parameter name="network." value="`$topology.networks.network[$nidx].`"/> \r
-                                    </set>\r
-                                    <call module="DataChange" rpc="update-network-to-aai" mode="sync"></call>\r
-                                  </block>\r
-                                </for>\r
-                              </block>\r
-                            </outcome>\r
-                          </execute>\r
-                        </outcome>\r
-                      </switch>\r
-                      <set> \r
-                        <parameter name="ietf-subscribed-notifications_establish-subscription.input.encoding" value="encode-json"/>\r
-                      </set>\r
-                      <execute plugin="org.onap.ccsdk.sli.plugins.restconfdiscovery.RestconfDiscoveryNode" method="establishSubscription"> \r
-                        <parameter name="subscriberId" value="sotn-controller"/>  \r
-                        <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/restconf/operations/ietf-subscribed-notifications:establish-subscription'`"/>  \r
-                        <parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`"/>  \r
-                        <parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`"/>  \r
-                        <parameter name="sseConnectURL" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/restconf/streams/yang-push-json'`"/>  \r
-                        <parameter name="dirPath" value="/opt/sdnc/restconfapi/yang/notification"/>  \r
-                        <parameter name="format" value="json"/>  \r
-                        <parameter name="httpMethod" value="post"/>  \r
-                        <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/>  \r
-                        <parameter name="trustStorePassword" value="adminadmin"/>  \r
-                        <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>  \r
-                        <parameter name="keyStorePassword" value="adminadmin"/>  \r
-                        <parameter name="customHttpHeaders" value="`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`"/>  \r
-                        <parameter name="module" value="DataChange"/>  \r
-                        <parameter name="rpc" value="sotn-notification-handler"/>  \r
-                        <parameter name="mode" value="sync"/>\r
-                      </execute>\r
-                    </block>\r
-                  </outcome>\r
-                  <outcome value="Other"> \r
-                    <return status="failure"> \r
-                      <parameter name="ack-final" value="Y"/>  \r
-                      <parameter name="error-code" value="500"/>  \r
-                      <parameter name="error-message" value="`'Unsupported type = ' + $prop.sdncRestApi.type`"/> \r
-                    </return>\r
-                  </outcome>\r
-                </switch>\r
-              </block>\r
-            </outcome>\r
-            <outcome value="delete"> \r
-              <block atomic="true"/>\r
-            </outcome>\r
-          </switch>\r
-        </outcome>\r
-        <outcome value="true"> \r
-          <call module="DataChange" rpc="esr-thirdparty-sdnc-of-zte" mode="sync"></call>\r
-        </outcome>\r
-      </switch>\r
-    </block>\r
-  </method>\r
+                    </switch>\r
+                </outcome>\r
+                <outcome value='true'>\r
+                    <call module='DataChange' rpc='esr-thirdparty-sdnc-of-zte' mode='sync' ></call>\r
+                </outcome>\r
+            </switch>\r
+        </block>\r
+    </method>\r
 </service-logic>
\ No newline at end of file
diff --git a/platform-logic/datachange/src/main/xml/DataChange_msa-update-network-to-aai.xml b/platform-logic/datachange/src/main/xml/DataChange_msa-update-network-to-aai.xml
new file mode 100644 (file)
index 0000000..a370575
--- /dev/null
@@ -0,0 +1,229 @@
+<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
+    <method rpc='msa-update-network-to-aai' mode='sync'>\r
+        <block atomic='true'>\r
+            <switch test="`$networks.network-id`">\r
+                <outcome value='otn-topology'>\r
+                    <block atomic='true'>\r
+                        <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='network-resource'  \r
+     key='network-resource.network-id = $networks.network-id' >\r
+                            <parameter name='network-id' value='`$networks.network-id`' />\r
+                            <parameter name='network-type' value='`$networks.network-types`' />\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
+                            <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/' + $networks.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="`$networks.network-id`" />\r
+                        </save>\r
+                        <set>\r
+                            <parameter name='controller_id' value="`$prop.sdncRestApi.type + '_' + $prop.sdncRestApi.thirdpartySdnc.url`" />\r
+                        </set>\r
+                        <for index='nidx' start='0' end='`$networks.node_length`' >\r
+                            <set>\r
+                                <parameter name='node.' value='`$networks.node[$nidx].`' />\r
+                            </set>\r
+                            <switch test="`$node.node-type`">\r
+                                <outcome value='SWITCH'>\r
+                                    <block atomic='true'>\r
+                                        <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='generateUUID' >\r
+                                            <parameter name="ctx-destination" value="pnfname"/>\r
+                                        </execute>\r
+                                        <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='pnf'\r
+key='pnf.pnf-name = $pnfname' >\r
+                                            <parameter name='pnf-name' value='`$pnfname`' />\r
+                                            <parameter name='pnf-id' value='`$node.node-id`' />\r
+                                            <parameter name='operational-status' value='`$node.node-status`' />\r
+                                            <parameter name='in-maint' value='true' />\r
+                                            <parameter name='equip-type' value='`$node.node-type`' />\r
+                                        </save>\r
+                                        <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='pnf:relationship-list' \r
+      key='pnf.pnf-name = $pnfname' 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/' + $networks.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="`$networks.network-id`" />\r
+                                        </save>\r
+                                        <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split' >\r
+                                            <parameter name="original_string" value='`$node.node-id`'/>\r
+                                            <parameter name="regex" value="-"/>\r
+                                            <parameter name="ctx_memory_result_key" value="param-prefix1"/>\r
+                                        </execute>\r
+                                        <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
+                                            <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/cxf/openroadm/v2/networks/openroadm-network/nodes/' + $param-prefix1[0]`"/>\r
+                                            <parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`"/>\r
+                                            <parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`"/>\r
+                                            <parameter name="format" value="json"/>\r
+                                            <parameter name="httpMethod" value="get"/>\r
+                                            <parameter name="responsePrefix" value="cllires"/>\r
+                                            <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.msa.jks"/>\r
+                                            <parameter name="trustStorePassword" value="adminadmin"/>\r
+                                            <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>\r
+                                            <parameter name="keyStorePassword" value="adminadmin"/>\r
+                                            <outcome value='failure'>\r
+                                                <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">\r
+                                                    <parameter name="file" value="/opt/opendaylight/current/data/log/optical-service-delete.log" />\r
+                                                    <parameter name="level" value="info" />\r
+                                                    <parameter name="field1" value="Getting clli failed"/>\r
+                                                </record>\r
+                                            </outcome>\r
+                                            <outcome value='success'>\r
+                                                <block atomic='true'>\r
+                                                    <set>\r
+                                                        <parameter name='clli' value='`$cllires.supporting-node[0].node-ref`' />\r
+                                                    </set>\r
+                                                </block>\r
+                                            </outcome>\r
+                                        </execute>\r
+                                        <for index='tpidx' start='0' end='`$node.termination-point_length`' >\r
+                                            <set>\r
+                                                <parameter name='speed-value' value='' />\r
+                                                <parameter name='available-capacity' value='' />\r
+                                                <parameter name='network-interface-type' value='' />\r
+                                            </set>\r
+                                            <set>\r
+                                                <parameter name='tp.' value='`$node.termination-point[$tpidx].`' />\r
+                                            </set>\r
+                                            <switch test="`$tp.tp-type`">\r
+                                                <outcome value='XPONDER-NETWORK'>\r
+                                                    <block atomic='true'>\r
+                                                        <set>\r
+                                                            <parameter name='network-interface-type' value='NNI' />\r
+                                                        </set>\r
+                                                    </block>\r
+                                                </outcome>\r
+                                                <outcome value='XPONDER-CLIENT'>\r
+                                                    <block atomic='true'>\r
+                                                        <set>\r
+                                                            <parameter name='network-interface-type' value='UNI' />\r
+                                                        </set>\r
+                                                    </block>\r
+                                                </outcome>\r
+                                                <outcome value='Other'></outcome>\r
+                                            </switch>\r
+                                            <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='generateUUID' >\r
+                                                <parameter name="ctx-destination" value="interfaceName"/>\r
+                                            </execute>\r
+                                            <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='p-interface' \r
+      key='pnf.pnf-name = $pnfname\r
+      AND p-interface.interface-name = $interfaceName' >\r
+                                                <parameter name='interface-name' value='`$interfaceName`' />\r
+                                                <parameter name='port-description' value='`$tp.tp-id`' />\r
+                                                <parameter name='network-ref' value='`$tp.network-ref`' />\r
+                                                <parameter name='interface-type' value='`$tp.tp-type`' />\r
+                                                <parameter name='in-maint' value="true" />\r
+                                                <parameter name='network-interface-type' value='`$network-interface-type`' />\r
+                                                <parameter name='speed-units' value="Gbps" />\r
+                                                <parameter name='speed-value' value='100' />\r
+                                                <parameter name='available-capacity' value='100' />\r
+                                            </save>\r
+                                            <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='custom-query' \r
+      key="format='resource'"\r
+      force="true"\r
+      local-only="false"\r
+      pfx="data">\r
+                                                <parameter name='interface-name' value='`$interfaceName`' />\r
+                                                <parameter name='port-description' value='`$tp.tp-id`' />\r
+                                            </save>\r
+                                            <save plugin="org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource" resource="SQL" key="INSERT INTO TOPOLOGY_LOGICAL_RELATION_TO_PINTERFACE VALUES ( $interfaceName , $tp.tp-id , $pnfname , $node.node-id , '100' , $clli , null );"></save>\r
+                                        </for>\r
+                                    </block>\r
+                                </outcome>\r
+                                <outcome value='Other'></outcome>\r
+                            </switch>\r
+                        </for>\r
+                        <for index='lidx' start='0' end='`$networks.link_length`' >\r
+                            <set>\r
+                                <parameter name='link.' value='`$networks.link[$lidx].`' />\r
+                            </set>\r
+                            <switch test="`$link.link-type`">\r
+                                <outcome value='OTN-LINK'>\r
+                                    <block atomic='true'>\r
+                                        <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\r
+                                            <parameter name="source" value="`$link.link-id`"/>\r
+                                            <parameter name="outputPath" value="tmp.link-id"/>\r
+                                            <parameter name="target" value="#"/>\r
+                                            <parameter name="replacement" value="_"/>\r
+                                        </execute>\r
+                                        <set>\r
+                                            <parameter name='interface1' value="`$link.source.source-tp`" />\r
+                                            <parameter name='interface2' value="`$link.destination.dest-tp`" />\r
+                                            <parameter name='pnf1' value="`$link.source.source-node`" />\r
+                                            <parameter name='pnf2' value="`$link.destination.dest-node`" />\r
+                                        </set>\r
+                                        <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">\r
+                                            <parameter name="file" value="/opt/opendaylight/current/data/log/optical-service-create.log" />\r
+                                            <parameter name="level" value="info" />\r
+                                            <parameter name="field1" value="`$pnf1`"/>\r
+                                            <parameter name="field2" value="`$interface1`"/>\r
+                                            <parameter name="field3" value="`$pnf2`"/>\r
+                                            <parameter name="field4" value="`$interface2`"/>\r
+                                        </record>\r
+                                        <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='logical-link'\r
+key='logical-link.link-name = $tmp.link-id' >\r
+                                            <parameter name='link-name' value='`$tmp.link-id`' />\r
+                                            <parameter name='link-type' value='`$link.link-type`' />\r
+                                            <parameter name='in-maint' value='true' />\r
+                                            <parameter name='speed-value' value='100' />\r
+                                            <parameter name='speed-units' value='Gbps' />\r
+                                            <parameter name='operational-status' value='`$link.administrative-state`' />\r
+                                            <parameter name='available-capacity' value='100' />\r
+                                        </save>\r
+                                        <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL' \r
+key='SELECT pnf_name, interface_name \r
+from TOPOLOGY_LOGICAL_RELATION_TO_PINTERFACE \r
+WHERE pnf_id = $link.source.source-node\r
+AND interface_id = $link.source.source-tp' \r
+pfx='db.source'>\r
+                                            <outcome value='success'>\r
+                                                <set>\r
+                                                    <parameter name='pnfname1' value='`$db.source.pnf-name`' />\r
+                                                    <parameter name='pinterface1' value='`$db.source.interface-name`' />\r
+                                                </set>\r
+                                            </outcome>\r
+                                        </get-resource>\r
+                                        <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">\r
+                                            <parameter name="file" value="/opt/opendaylight/current/data/log/svclogic.log" />\r
+                                            <parameter name="level" value="info" />\r
+                                            <parameter name="field1" value="print direct name"/>\r
+                                            <parameter name="field2" value="`$pnfname1`"/>\r
+                                        </record>\r
+                                        <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL' \r
+key='SELECT pnf_name, interface_name \r
+from TOPOLOGY_LOGICAL_RELATION_TO_PINTERFACE \r
+WHERE pnf_id = $link.destination.dest-node\r
+AND interface_id = $link.destination.dest-tp' \r
+pfx='db1.destination'>\r
+                                            <outcome value='success'>\r
+                                                <set>\r
+                                                    <parameter name='pnfname2' value='`$db1.destination.pnf-name`' />\r
+                                                    <parameter name='pinterface2' value='`$db1.destination.interface-name`' />\r
+                                                </set>\r
+                                            </outcome>\r
+                                        </get-resource>\r
+                                        <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='logical-link:relationship-list' \r
+      key='logical-link.link-name = $tmp.link-id' force="true" pfx="tmp.AnAI-data">\r
+                                            <parameter name="relationship-list.relationship[0].related-to" value="p-interface" />\r
+                                            <parameter name="relationship-list.relationship[0].related-link" value="`'/network/pnfs/pnf/' + $pnfname1 + '/p-interfaces/p-interface/' + $pinterface1 `" />\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="`$pnfname1`" />\r
+                                            <parameter name="relationship-list.relationship[1].related-to" value="p-interface" />\r
+                                            <parameter name="relationship-list.relationship[1].related-link" value="`'/network/pnfs/pnf/' + $pnfname2 + '/p-interfaces/p-interface/' + $pinterface2 `" />\r
+                                            <parameter name="relationship-list.relationship[1].relationship-data[0].relationship-key" value="pnf.pnf-name" />\r
+                                            <parameter name="relationship-list.relationship[1].relationship-data[0].relationship-value" value="`$pnfname2`" />\r
+                                        </save>\r
+                                    </block>\r
+                                </outcome>\r
+                                <outcome value='Other'></outcome>\r
+                            </switch>\r
+                        </for>\r
+                    </block>\r
+                </outcome>\r
+                <outcome value='Other'></outcome>\r
+            </switch>\r
+        </block>\r
+    </method>\r
+</service-logic>
\ No newline at end of file
diff --git a/platform-logic/optical-service/pom.xml b/platform-logic/optical-service/pom.xml
new file mode 100644 (file)
index 0000000..06b5a80
--- /dev/null
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+
+    <parent>
+        <groupId>org.onap.ccsdk.parent</groupId>
+        <artifactId>odlparent-lite</artifactId>
+        <version>1.5.1</version>
+        <relativePath/>
+    </parent>
+
+    <groupId>org.onap.sdnc.oam</groupId>
+    <artifactId>platform-logic-optical-service</artifactId>
+    <version>1.8.0-SNAPSHOT</version>
+    <packaging>pom</packaging>
+
+    <name>sdnc-oam :: platform-logic :: ${project.artifactId}</name>
+    <description>Contains platform-level service logic for the optical service</description>
+
+    <build>
+        <plugins>
+            <plugin>
+                <artifactId>maven-resources-plugin</artifactId>
+                <version>2.6</version>
+                <executions>
+                    <execution>
+                        <id>copy-version</id>
+                        <goals>
+                            <goal>copy-resources</goal>
+                        </goals><!-- here the phase you need -->
+                        <phase>validate</phase>
+                        <configuration>
+                            <outputDirectory>../target/svclogic/graphs/optical-service</outputDirectory>
+                            <resources>
+                                <resource>
+                                    <directory>src/main/xml</directory>
+                                    <includes>
+                                        <include>**/*.xml</include>
+                                    </includes>
+                                    <filtering>true</filtering>
+                                </resource>
+                                <resource>
+                                    <directory>src/main/resources</directory>
+                                    <includes>
+                                        <include>graph.versions</include>
+                                    </includes>
+                                    <filtering>true</filtering>
+                                </resource>
+                            </resources>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+        </plugins>
+    </build>
+</project>
diff --git a/platform-logic/optical-service/src/main/json/optical-service_optical-service-create-sync-success.json b/platform-logic/optical-service/src/main/json/optical-service_optical-service-create-sync-success.json
new file mode 100644 (file)
index 0000000..34039b4
--- /dev/null
@@ -0,0 +1,322 @@
+[\r
+    {\r
+        "id": "27072996.28603e",\r
+        "type": "dgstart",\r
+        "name": "DGSTART",\r
+        "outputs": 1,\r
+        "x": 184,\r
+        "y": 103,\r
+        "z": "7d0d9c37.54e5a4",\r
+        "wires": [\r
+            [\r
+                "6ffe569c.fa109"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "cc951b5b.220708",\r
+        "type": "method",\r
+        "name": "method",\r
+        "xml": "<method rpc='optical-service-create-sync-success' mode='sync'>\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 378,\r
+        "y": 75,\r
+        "z": "7d0d9c37.54e5a4",\r
+        "wires": [\r
+            [\r
+                "532eb08a.251b5"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "6ffe569c.fa109",\r
+        "type": "service-logic",\r
+        "name": "optical-service ${project.version}",\r
+        "module": "optical-service",\r
+        "version": "${project.version}",\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='optical-service' version='${project.version}'>",\r
+        "outputs": 1,\r
+        "x": 219.5,\r
+        "y": 226,\r
+        "z": "7d0d9c37.54e5a4",\r
+        "wires": [\r
+            [\r
+                "cc951b5b.220708"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "532eb08a.251b5",\r
+        "type": "block",\r
+        "name": "block : atomic",\r
+        "xml": "<block atomic='true'>",\r
+        "atomic": "true",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 481,\r
+        "y": 139,\r
+        "z": "7d0d9c37.54e5a4",\r
+        "wires": [\r
+            [\r
+                "59831fea.3da9b8",\r
+                "de3d717d.5418b8",\r
+                "32dae8f5.5da2a",\r
+                "8a15eff0.fb43c8",\r
+                "2407f854.80a4a",\r
+                "4b9498a0.6b56d8",\r
+                "38b45c59.81b3bc",\r
+                "7c78c7d.3f8aeb8",\r
+                "4b5d7c6c.dfedd4"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "32dae8f5.5da2a",\r
+        "type": "save",\r
+        "name": "update rate in aend in DB",\r
+        "xml": "<save plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' \nresource='SQL' \nkey='UPDATE TOPOLOGY_LOGICAL_RELATION_TO_PINTERFACE SET rate = $available-bandwidth-aend WHERE \ninterface_name = $optical-service-create-input.payload.service-aend.port-id'\nforce='true' pfx='save-result'>\n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n\n    \n    \n    \n    \n    \n    \n    \n    \n\n\n\n\n\n\n\n\n\n\n\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 882,\r
+        "y": 183,\r
+        "z": "7d0d9c37.54e5a4",\r
+        "wires": [\r
+            []\r
+        ]\r
+    },\r
+    {\r
+        "id": "2407f854.80a4a",\r
+        "type": "update",\r
+        "name": "update p-interface a-End in AAI",\r
+        "xml": "<update plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' \nforce='true'\nresource='p-interface'\nkey = 'pnf.pnf-name = $a-end-pnf-name\n      AND p-interface.interface-name = $optical-service-create-input.payload.service-aend.port-id'\n      local-only='false'>\n<parameter name='available-capacity' value='`$available-bandwidth-aend`' />\n\n\n\n\n\n\n\n\n\n    \n    \n    \n    \n    \n    \n    \n    \n   \n    \n    \n    \n\n\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 806,\r
+        "y": 313,\r
+        "z": "7d0d9c37.54e5a4",\r
+        "wires": [\r
+            []\r
+        ]\r
+    },\r
+    {\r
+        "id": "8a15eff0.fb43c8",\r
+        "type": "save",\r
+        "name": "update rate in azend DB",\r
+        "xml": "<save plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' \nresource='SQL' \nkey='UPDATE TOPOLOGY_LOGICAL_RELATION_TO_PINTERFACE SET rate = $available-bandwidth-zend WHERE \ninterface_name = $optical-service-create-input.payload.service-zend.port-id'\nforce='true' pfx='save-result'>\n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n\n    \n    \n    \n    \n    \n    \n    \n    \n\n\n\n\n\n\n\n\n\n\n\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 820,\r
+        "y": 257,\r
+        "z": "7d0d9c37.54e5a4",\r
+        "wires": [\r
+            []\r
+        ]\r
+    },\r
+    {\r
+        "id": "4b9498a0.6b56d8",\r
+        "type": "update",\r
+        "name": "update p-interface z-End in AAI",\r
+        "xml": "<update plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' \nforce='true'\nresource='p-interface'\nkey = 'pnf.pnf-name = $z-end-pnf-name\n      AND p-interface.interface-name = $optical-service-create-input.payload.service-zend.port-id'\n      local-only='false'>\n<parameter name='available-capacity' value='`$available-bandwidth-zend`' />\n\n\n\n\n\n\n\n\n\n    \n    \n    \n    \n    \n    \n    \n    \n   \n    \n    \n    \n\n\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 802,\r
+        "y": 385,\r
+        "z": "7d0d9c37.54e5a4",\r
+        "wires": [\r
+            []\r
+        ]\r
+    },\r
+    {\r
+        "id": "59831fea.3da9b8",\r
+        "type": "record",\r
+        "name": "record",\r
+        "xml": "<record plugin=\"org.onap.ccsdk.sli.core.sli.recording.FileRecorder\">\n<parameter name=\"file\" value=\"/opt/opendaylight/current/data/log/optical-service-create.log\" />\n<parameter name=\"level\" value=\"info\" />\n<parameter name=\"field1\" value=\"Inside sync success\"/>\n\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 641,\r
+        "y": 86,\r
+        "z": "7d0d9c37.54e5a4",\r
+        "wires": [\r
+            []\r
+        ]\r
+    },\r
+    {\r
+        "id": "de3d717d.5418b8",\r
+        "type": "set",\r
+        "name": "set available rate as 0",\r
+        "xml": "<set>\n<parameter name='available-bandwidth-aend' value='0' />\n<parameter name='available-bandwidth-zend' value='0' />\n\n\n\n\n\n\n\n\n\n",\r
+        "comments": "",\r
+        "x": 753,\r
+        "y": 136,\r
+        "z": "7d0d9c37.54e5a4",\r
+        "wires": []\r
+    },\r
+    {\r
+        "id": "8efcdbce.63cc68",\r
+        "type": "save",\r
+        "name": "save Service Request Details in DB",\r
+        "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource\" resource=\"SQL\" key=\"INSERT INTO REQUEST_DETAILS (request_id, controller_id, status, service_rate, service_instance_id, service_type, global_customer_id, notification_url) VALUES ( $optical-service-create-input.request-id , $controller-id , 'CREATING' , $optical-service-create-input.payload.service-rate ,  $optical-service-create-input.service-id , $optical-service-create-input.service-type , $optical-service-create-input.global-customer-id , $optical-service-create-input.notification-url );\">\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 1245,\r
+        "y": 339,\r
+        "z": "7d0d9c37.54e5a4",\r
+        "wires": [\r
+            []\r
+        ]\r
+    },\r
+    {\r
+        "id": "efcf557d.c3a5f8",\r
+        "type": "save",\r
+        "name": "save service-instance details in AAI",\r
+        "xml": "<save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='service-instance'  \n     key='customer.global-customer-id = $optical-service-create-input.global-customer-id AND\n     service-subscription.service-type = $optical-service-create-input.service-type AND\n     service-instance.service-instance-id = $optical-service-create-input.service-id' >\n<parameter name='service-instance-id' value='`$optical-service-create-input.service-id`' />\n<parameter name='service-instance-name' value='`$optical-service-create-input.payload.service-name`' />\n<parameter name='service-type' value='Domain-Service' />\n<parameter name='orchestration-status' value='CREATING' />\n<parameter name='service-rate' value='`$optical-service-create-input.payload.service-rate`' />\n<parameter name='service-layer' value='`$optical-service-create-input.payload.service-layer`' />\n\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 1255,\r
+        "y": 431,\r
+        "z": "7d0d9c37.54e5a4",\r
+        "wires": [\r
+            []\r
+        ]\r
+    },\r
+    {\r
+        "id": "38b45c59.81b3bc",\r
+        "type": "save",\r
+        "name": "save service-instance relation with p-interface",\r
+        "xml": "<save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='service-instance:relationship-list'  \n     key='customer.global-customer-id = $optical-service-create-input.global-customer-id AND\n     service-subscription.service-type = $optical-service-create-input.service-type AND\n     service-instance.service-instance-id = $optical-service-create-input.service-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/pnfs/pnf/' + $a-end-pnf-name + '/p-interfaces/p-interface/' + $optical-service-create-input.payload.service-aend.port-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=\"`$a-end-pnf-name`\" /> \n<parameter name=\"relationship-list.relationship[1].related-to\" value=\"p-interface\" />\n<parameter name=\"relationship-list.relationship[1].related-link\" value=\"`'/network/pnfs/pnf/' + $z-end-pnf-name + '/p-interfaces/p-interface/' + $optical-service-create-input.payload.service-zend.port-id `\" />\n<parameter name=\"relationship-list.relationship[1].relationship-data[0].relationship-key\" value=\"pnf.pnf-name\" />\n<parameter name=\"relationship-list.relationship[1].relationship-data[0].relationship-value\" value=\"`$z-end-pnf-name`\" />\n   \n    ",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 700,\r
+        "y": 602,\r
+        "z": "7d0d9c37.54e5a4",\r
+        "wires": [\r
+            []\r
+        ]\r
+    },\r
+    {\r
+        "id": "7c78c7d.3f8aeb8",\r
+        "type": "returnSuccess",\r
+        "name": "return success",\r
+        "xml": "<return status='success'>\n<parameter name='error-code' value='200' />\n<parameter name='error-message' value='Service Creation in Progress' />\n<parameter name='ack-final-indicator' value='N' />\n",\r
+        "comments": "",\r
+        "x": 526,\r
+        "y": 670,\r
+        "z": "7d0d9c37.54e5a4",\r
+        "wires": []\r
+    },\r
+    {\r
+        "id": "4b5d7c6c.dfedd4",\r
+        "type": "switchNode",\r
+        "name": "switch domain-type",\r
+        "xml": "<switch test='`$optical-service-create-input.payload.domain-type`'>\n    \n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 705,\r
+        "y": 477,\r
+        "z": "7d0d9c37.54e5a4",\r
+        "wires": [\r
+            [\r
+                "d809de29.7d03f8",\r
+                "c1db711f.fdedc"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "d809de29.7d03f8",\r
+        "type": "outcome",\r
+        "name": "MSA",\r
+        "xml": "<outcome value='MSA'>\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 878,\r
+        "y": 442,\r
+        "z": "7d0d9c37.54e5a4",\r
+        "wires": [\r
+            [\r
+                "4f2bcf28.f836e8"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "c1db711f.fdedc",\r
+        "type": "outcome",\r
+        "name": "TAPI",\r
+        "xml": "<outcome value='TAPI'>\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 875,\r
+        "y": 518,\r
+        "z": "7d0d9c37.54e5a4",\r
+        "wires": [\r
+            [\r
+                "1de8f6d7.6e55d9"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "4f2bcf28.f836e8",\r
+        "type": "block",\r
+        "name": "block",\r
+        "xml": "<block>\n",\r
+        "atomic": "false",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 1001,\r
+        "y": 437,\r
+        "z": "7d0d9c37.54e5a4",\r
+        "wires": [\r
+            [\r
+                "8efcdbce.63cc68",\r
+                "efcf557d.c3a5f8"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "1de8f6d7.6e55d9",\r
+        "type": "block",\r
+        "name": "block",\r
+        "xml": "<block>\n",\r
+        "atomic": "false",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 1008,\r
+        "y": 548,\r
+        "z": "7d0d9c37.54e5a4",\r
+        "wires": [\r
+            [\r
+                "35944f6f.0c2038",\r
+                "a30d1744.eb9978"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "35944f6f.0c2038",\r
+        "type": "save",\r
+        "name": "save Service Request Details in DB",\r
+        "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource\" resource=\"SQL\" key=\"INSERT INTO REQUEST_DETAILS (request_id, controller_id, status, service_rate, service_instance_id, service_type, global_customer_id, notification_url) VALUES ( $optical-service-create-input.request-id , $controller-id , 'CREATED' , $optical-service-create-input.payload.service-rate ,  $optical-service-create-input.service-id , $optical-service-create-input.service-type , $optical-service-create-input.global-customer-id , $optical-service-create-input.notification-url );\">\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 1243,\r
+        "y": 514,\r
+        "z": "7d0d9c37.54e5a4",\r
+        "wires": [\r
+            []\r
+        ]\r
+    },\r
+    {\r
+        "id": "a30d1744.eb9978",\r
+        "type": "save",\r
+        "name": "save service-instance details in AAI",\r
+        "xml": "<save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='service-instance'  \n     key='customer.global-customer-id = $optical-service-create-input.global-customer-id AND\n     service-subscription.service-type = $optical-service-create-input.service-type AND\n     service-instance.service-instance-id = $optical-service-create-input.service-id' >\n<parameter name='service-instance-id' value='`$optical-service-create-input.service-id`' />\n<parameter name='service-instance-name' value='`$optical-service-create-input.payload.service-name`' />\n<parameter name='service-type' value='Domain-Service' />\n<parameter name='orchestration-status' value='CREATED' />\n<parameter name='service-rate' value='`$optical-service-create-input.payload.service-rate`' />\n<parameter name='service-layer' value='`$optical-service-create-input.payload.service-layer`' />\n\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 1245,\r
+        "y": 592,\r
+        "z": "7d0d9c37.54e5a4",\r
+        "wires": [\r
+            []\r
+        ]\r
+    }\r
+]
\ No newline at end of file
diff --git a/platform-logic/optical-service/src/main/json/optical-service_optical-service-create.json b/platform-logic/optical-service/src/main/json/optical-service_optical-service-create.json
new file mode 100644 (file)
index 0000000..6b76a2d
--- /dev/null
@@ -0,0 +1,367 @@
+[\r
+    {\r
+        "id": "a60c3a75.bbec5",\r
+        "type": "dgstart",\r
+        "name": "DGSTART",\r
+        "outputs": 1,\r
+        "x": 213,\r
+        "y": 182,\r
+        "z": "f1813121.5d5738",\r
+        "wires": [\r
+            [\r
+                "5b510e2a.808e9"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "c50c5fff.124b48",\r
+        "type": "method",\r
+        "name": "method",\r
+        "xml": "<method rpc='optical-service-create' mode='sync'>\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 212,\r
+        "y": 257,\r
+        "z": "f1813121.5d5738",\r
+        "wires": [\r
+            [\r
+                "95411f3f.dd7f98"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "5b510e2a.808e9",\r
+        "type": "service-logic",\r
+        "name": "optical-service ${project.version}",\r
+        "module": "optical-service",\r
+        "version": "${project.version}",\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='optical-service' version='${project.version}'>",\r
+        "outputs": 1,\r
+        "x": 430.5,\r
+        "y": 165,\r
+        "z": "f1813121.5d5738",\r
+        "wires": [\r
+            [\r
+                "c50c5fff.124b48"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "95411f3f.dd7f98",\r
+        "type": "block",\r
+        "name": "block : atomic",\r
+        "xml": "<block atomic='true'>",\r
+        "atomic": "true",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 388,\r
+        "y": 270,\r
+        "z": "f1813121.5d5738",\r
+        "wires": [\r
+            [\r
+                "3ce1c2e1.3b2f6e",\r
+                "4f2664fb.690704",\r
+                "8396ec44.a3b3f",\r
+                "98a2e7e3.d11d58",\r
+                "dbd48c3a.1af36",\r
+                "79f9f3f0.aa019c",\r
+                "a32436b4.dcfeb8",\r
+                "6cb71359.685f54"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "4f2664fb.690704",\r
+        "type": "switchNode",\r
+        "name": "switch : domain-type",\r
+        "xml": "<switch test='`$optical-service-create-input.payload.domain-type`'>\n    \n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 265.5,\r
+        "y": 583,\r
+        "z": "f1813121.5d5738",\r
+        "wires": [\r
+            [\r
+                "d95d35a6.d10db",\r
+                "6077e8a.adc5618"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "d95d35a6.d10db",\r
+        "type": "outcome",\r
+        "name": "MSA",\r
+        "xml": "<outcome value='MSA'>\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 568,\r
+        "y": 553,\r
+        "z": "f1813121.5d5738",\r
+        "wires": [\r
+            [\r
+                "7a015c66.3154ec"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "6077e8a.adc5618",\r
+        "type": "outcome",\r
+        "name": "TAPI",\r
+        "xml": "<outcome value='TAPI'>\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 564,\r
+        "y": 662,\r
+        "z": "f1813121.5d5738",\r
+        "wires": [\r
+            [\r
+                "ebb70e0a.9be68"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "3ce1c2e1.3b2f6e",\r
+        "type": "execute",\r
+        "name": "execute",\r
+        "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >\n<parameter name='fileName' value='/opt/onap/sdnc/data/properties/optical-service-dg.properties' />\n<parameter name='contextPrefix' value='prop' />\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 770,\r
+        "y": 145,\r
+        "z": "f1813121.5d5738",\r
+        "wires": [\r
+            []\r
+        ]\r
+    },\r
+    {\r
+        "id": "7a015c66.3154ec",\r
+        "type": "block",\r
+        "name": "block : atomic",\r
+        "xml": "<block atomic='true'>",\r
+        "atomic": "true",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 756,\r
+        "y": 554,\r
+        "z": "f1813121.5d5738",\r
+        "wires": [\r
+            [\r
+                "3e4acd01.4d0db2"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "ebb70e0a.9be68",\r
+        "type": "block",\r
+        "name": "block : atomic",\r
+        "xml": "<block atomic='true'>",\r
+        "atomic": "true",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 749,\r
+        "y": 667,\r
+        "z": "f1813121.5d5738",\r
+        "wires": [\r
+            [\r
+                "9e442bec.ab7e8"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "8396ec44.a3b3f",\r
+        "type": "call",\r
+        "name": "call validate-input-parameters",\r
+        "xml": "<call module='optical-service' rpc='optical-validate-input-params' mode='sync' >\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 856,\r
+        "y": 92,\r
+        "z": "f1813121.5d5738",\r
+        "wires": [\r
+            []\r
+        ]\r
+    },\r
+    {\r
+        "id": "9e442bec.ab7e8",\r
+        "type": "call",\r
+        "name": "call TAPI DG",\r
+        "xml": "<call module='optical-service' rpc='service-create-tapi' mode='sync' >\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 948,\r
+        "y": 665,\r
+        "z": "f1813121.5d5738",\r
+        "wires": [\r
+            []\r
+        ]\r
+    },\r
+    {\r
+        "id": "3e4acd01.4d0db2",\r
+        "type": "call",\r
+        "name": "call MSA DG",\r
+        "xml": "<call module='optical-service' rpc='service-create-msa' mode='sync' >\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 960,\r
+        "y": 550,\r
+        "z": "f1813121.5d5738",\r
+        "wires": [\r
+            []\r
+        ]\r
+    },\r
+    {\r
+        "id": "98a2e7e3.d11d58",\r
+        "type": "get-resource",\r
+        "name": "get resources from DB -controller_id",\r
+        "xml": "<get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\nkey='SELECT controller_id\nfrom TOPOLOGY_LOGICAL_RELATION_TO_PINTERFACE\nWHERE interface_name = $optical-service-create-input.payload.service-aend.port-id\nAND interface_id = $optical-service-create-input.payload.service-aend.port-name'\npfx='controllerid'>\n    \n    \n    \n    \n    \n    \n    \n    \n    \n\n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n\n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 746,\r
+        "y": 230,\r
+        "z": "f1813121.5d5738",\r
+        "wires": [\r
+            [\r
+                "130f8c79.83a0ec"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "dbd48c3a.1af36",\r
+        "type": "execute",\r
+        "name": "split node-id a-end retrieved from DB",\r
+        "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split' >\n<parameter name=\"original_string\" value='`$controller-id`'/>\n<parameter name=\"regex\" value=\"_\"/>\n<parameter name=\"ctx_memory_result_key\" value=\"param-prefix\"/>\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 765,\r
+        "y": 283,\r
+        "z": "f1813121.5d5738",\r
+        "wires": [\r
+            []\r
+        ]\r
+    },\r
+    {\r
+        "id": "130f8c79.83a0ec",\r
+        "type": "success",\r
+        "name": "success",\r
+        "xml": "<outcome value='success'>\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 976,\r
+        "y": 229,\r
+        "z": "f1813121.5d5738",\r
+        "wires": [\r
+            [\r
+                "526e75aa.f179f4"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "526e75aa.f179f4",\r
+        "type": "set",\r
+        "name": "set",\r
+        "xml": "<set>\n<parameter name='controller-id' value='`$controllerid.controller-id`' />\n\n\n\n\n\n\n\n\n\n\n",\r
+        "comments": "",\r
+        "x": 1129,\r
+        "y": 232,\r
+        "z": "f1813121.5d5738",\r
+        "wires": []\r
+    },\r
+    {\r
+        "id": "79f9f3f0.aa019c",\r
+        "type": "set",\r
+        "name": "set controller-ip",\r
+        "xml": "<set>\n<parameter name='controller-ip' value='`$param-prefix[1]`' />\n",\r
+        "comments": "",\r
+        "x": 705,\r
+        "y": 341,\r
+        "z": "f1813121.5d5738",\r
+        "wires": []\r
+    },\r
+    {\r
+        "id": "a32436b4.dcfeb8",\r
+        "type": "get-resource",\r
+        "name": "get-resource",\r
+        "xml": "<get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\nkey='SELECT *\nfrom TOPOLOGY_LOGICAL_RELATION_TO_PINTERFACE\nWHERE interface_name = $optical-service-create-input.payload.service-aend.port-id\nAND interface_id = $optical-service-create-input.payload.service-aend.port-name'\npfx='db-aend'>\n    \n    \n    \n    \n    \n    \n    \n    \n    \n\n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n\n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 616,\r
+        "y": 405,\r
+        "z": "f1813121.5d5738",\r
+        "wires": [\r
+            [\r
+                "73558010.2c724"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "6cb71359.685f54",\r
+        "type": "get-resource",\r
+        "name": "get-resource",\r
+        "xml": "<get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\nkey='SELECT *\nfrom TOPOLOGY_LOGICAL_RELATION_TO_PINTERFACE\nWHERE interface_name = $optical-service-create-input.payload.service-zend.port-id\nAND interface_id = $optical-service-create-input.payload.service-zend.port-name'\npfx='db-zend'>\n    \n    \n    \n    \n    \n    \n    \n    \n    \n\n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n\n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 612,\r
+        "y": 477,\r
+        "z": "f1813121.5d5738",\r
+        "wires": [\r
+            [\r
+                "c9ac9911.a76998"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "73558010.2c724",\r
+        "type": "success",\r
+        "name": "success",\r
+        "xml": "<outcome value='success'>\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 805,\r
+        "y": 402,\r
+        "z": "f1813121.5d5738",\r
+        "wires": [\r
+            [\r
+                "35f9f711.be4718"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "35f9f711.be4718",\r
+        "type": "set",\r
+        "name": "set",\r
+        "xml": "<set>\n<parameter name='aend-nodeid' value='`$db-aend.pnf-id`' />\n<parameter name='a-end-pnf-name' value='`$db-aend.pnf-name`' />\n<parameter name='aend-clli' value='`$db-aend.clli`' />\n\n\n\n\n\n\n\n\n\n\n\n",\r
+        "comments": "",\r
+        "x": 967,\r
+        "y": 401,\r
+        "z": "f1813121.5d5738",\r
+        "wires": []\r
+    },\r
+    {\r
+        "id": "c9ac9911.a76998",\r
+        "type": "success",\r
+        "name": "success",\r
+        "xml": "<outcome value='success'>\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 803,\r
+        "y": 476,\r
+        "z": "f1813121.5d5738",\r
+        "wires": [\r
+            [\r
+                "1b6fe865.a8bca8"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "1b6fe865.a8bca8",\r
+        "type": "set",\r
+        "name": "set",\r
+        "xml": "<set>\n<parameter name='zend-nodeid' value='`$db-zend.pnf-id`' />\n<parameter name='z-end-pnf-name' value='`$db-zend.pnf-name`' />\n<parameter name='zend-clli' value='`$db-zend.clli`' />\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",\r
+        "comments": "",\r
+        "x": 971,\r
+        "y": 473,\r
+        "z": "f1813121.5d5738",\r
+        "wires": []\r
+    }\r
+]
\ No newline at end of file
diff --git a/platform-logic/optical-service/src/main/json/optical-service_optical-service-delete.json b/platform-logic/optical-service/src/main/json/optical-service_optical-service-delete.json
new file mode 100644 (file)
index 0000000..270a3cf
--- /dev/null
@@ -0,0 +1,536 @@
+[\r
+    {\r
+        "id": "7d351c38.c4c6cc",\r
+        "type": "dgstart",\r
+        "name": "DGSTART",\r
+        "outputs": 1,\r
+        "x": 146,\r
+        "y": 70,\r
+        "z": "7b1b071a.92faa",\r
+        "wires": [\r
+            [\r
+                "6c3e5cdb.13fe9c"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "6c3e5cdb.13fe9c",\r
+        "type": "service-logic",\r
+        "name": "optical-service ${project.version}",\r
+        "module": "optical-service",\r
+        "version": "${project.version}",\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='optical-service' version='${project.version}'>",\r
+        "outputs": 1,\r
+        "x": 254.5,\r
+        "y": 148,\r
+        "z": "7b1b071a.92faa",\r
+        "wires": [\r
+            [\r
+                "c9af40a8.771678"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "c9af40a8.771678",\r
+        "type": "method",\r
+        "name": "method",\r
+        "xml": "<method rpc='optical-service-delete' mode='sync'>\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 123,\r
+        "y": 239,\r
+        "z": "7b1b071a.92faa",\r
+        "wires": [\r
+            [\r
+                "487722a8.b389a4"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "487722a8.b389a4",\r
+        "type": "block",\r
+        "name": "block : atomic",\r
+        "xml": "<block atomic='true'>",\r
+        "atomic": "true",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 309,\r
+        "y": 235,\r
+        "z": "7b1b071a.92faa",\r
+        "wires": [\r
+            [\r
+                "a1fed560.31e7a8",\r
+                "4b9bbd62.4750fc",\r
+                "eac944ef.f83328",\r
+                "b567b7de.be2de8",\r
+                "c0977e42.e4156"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "bfd79d0e.9f7ee8",\r
+        "type": "execute",\r
+        "name": "Call MSA Controller",\r
+        "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"templateFileName\" value=\"`$prop.restapi.templateDir + '/optical-service-delete-msa.json'`\" />\n<parameter name=\"restapiUrl\" value=\"`$controller-ip + '/cxf/openroadm/openroadm-services/' + $optical-service-delete-input.payload.service-name`\"/>\n<parameter name='restapiUser' value='admin' />\n<parameter name='restapiPassword' value='admin' />\n<parameter name=\"httpMethod\" value=\"DELETE\"/>\n<parameter name=\"responsePrefix\" value=\"service-delete-response\"/>\n<parameter name='contentType' value='application/json' />\n<parameter name='format' value='json' />\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\n\n\n\n\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 700,\r
+        "y": 326,\r
+        "z": "7b1b071a.92faa",\r
+        "wires": [\r
+            [\r
+                "582ceeba.7fcce",\r
+                "867ca716.d4515"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "a1fed560.31e7a8",\r
+        "type": "execute",\r
+        "name": "execute",\r
+        "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >\n<parameter name='fileName' value='/opt/onap/sdnc/data/properties/optical-service-dg.properties' />\n<parameter name='contextPrefix' value='prop' />\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 553,\r
+        "y": 36,\r
+        "z": "7b1b071a.92faa",\r
+        "wires": [\r
+            []\r
+        ]\r
+    },\r
+    {\r
+        "id": "582ceeba.7fcce",\r
+        "type": "failure",\r
+        "name": "failure",\r
+        "xml": "<outcome value='failure'>\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 894,\r
+        "y": 306,\r
+        "z": "7b1b071a.92faa",\r
+        "wires": [\r
+            [\r
+                "c3bd28c6.e626b"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "867ca716.d4515",\r
+        "type": "success",\r
+        "name": "success",\r
+        "xml": "<outcome value='success'>\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 869,\r
+        "y": 410,\r
+        "z": "7b1b071a.92faa",\r
+        "wires": [\r
+            [\r
+                "791a6dc2.40ab1c"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "c3bd28c6.e626b",\r
+        "type": "block",\r
+        "name": "block : atomic",\r
+        "xml": "<block atomic='true'>",\r
+        "atomic": "true",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 1053,\r
+        "y": 301,\r
+        "z": "7b1b071a.92faa",\r
+        "wires": [\r
+            [\r
+                "caa7c35f.0456c8"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "caa7c35f.0456c8",\r
+        "type": "returnFailure",\r
+        "name": "return failure",\r
+        "xml": "<return status='failure'>\n<parameter name='error-code' value='500' />\n<parameter name='error-message' value='Error deleting the Service' />\n",\r
+        "comments": "",\r
+        "x": 1285,\r
+        "y": 245,\r
+        "z": "7b1b071a.92faa",\r
+        "wires": []\r
+    },\r
+    {\r
+        "id": "2041d7aa.c3ae1",\r
+        "type": "block",\r
+        "name": "block : atomic",\r
+        "xml": "<block atomic='true'>",\r
+        "atomic": "true",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 1424,\r
+        "y": 549,\r
+        "z": "7b1b071a.92faa",\r
+        "wires": [\r
+            [\r
+                "27f66eb0.3c9aaa",\r
+                "e6dae4f7.8c52b",\r
+                "276e2c67.21f3ec",\r
+                "126b611e.fd67af",\r
+                "881b58f7.fb4a6"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "27f66eb0.3c9aaa",\r
+        "type": "record",\r
+        "name": "record",\r
+        "xml": "<record plugin=\"org.onap.ccsdk.sli.core.sli.recording.FileRecorder\">\n<parameter name=\"file\" value=\"/opt/opendaylight/current/data/log/optical-service-create.log\" />\n<parameter name=\"level\" value=\"info\" />\n<parameter name=\"field1\" value=\"Inside controller\"/>\n\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 1639,\r
+        "y": 464,\r
+        "z": "7b1b071a.92faa",\r
+        "wires": [\r
+            []\r
+        ]\r
+    },\r
+    {\r
+        "id": "e6dae4f7.8c52b",\r
+        "type": "save",\r
+        "name": "Update status in DB",\r
+        "xml": "<save plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' \nresource='SQL' \nkey='UPDATE REQUEST_DETAILS SET status = \"DELETING\" WHERE request_id = $optical-service-delete-input.request-id' \nforce='true' pfx='save-result'>\n\n\n\n\n\n\n\n\n\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 1641,\r
+        "y": 550,\r
+        "z": "7b1b071a.92faa",\r
+        "wires": [\r
+            []\r
+        ]\r
+    },\r
+    {\r
+        "id": "276e2c67.21f3ec",\r
+        "type": "get-resource",\r
+        "name": "get-resource",\r
+        "xml": "<get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL' \nkey='SELECT *\nfrom REQUEST_DETAILS \nWHERE request_id = $optical-service-delete-input.request-id'\npfx='db.request-details'>\n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n\n    \n    \n    \n    \n    \n    \n    \n    \n\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 1637,\r
+        "y": 626,\r
+        "z": "7b1b071a.92faa",\r
+        "wires": [\r
+            [\r
+                "ccbf1f5f.52d948"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "cdc717d5.1094b8",\r
+        "type": "record",\r
+        "name": "record",\r
+        "xml": "<record plugin=\"org.onap.ccsdk.sli.core.sli.recording.FileRecorder\">\n<parameter name=\"file\" value=\"/opt/opendaylight/current/data/log/optical-service-create.log\" />\n<parameter name=\"level\" value=\"info\" />\n<parameter name=\"field1\" value=\"Successfully sent the request\"/>\n\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 1238,\r
+        "y": 332,\r
+        "z": "7b1b071a.92faa",\r
+        "wires": [\r
+            []\r
+        ]\r
+    },\r
+    {\r
+        "id": "791a6dc2.40ab1c",\r
+        "type": "block",\r
+        "name": "block : atomic",\r
+        "xml": "<block atomic='true'>",\r
+        "atomic": "true",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 1036,\r
+        "y": 413,\r
+        "z": "7b1b071a.92faa",\r
+        "wires": [\r
+            [\r
+                "cdc717d5.1094b8",\r
+                "d4fa1dc0.5c15a8"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "d4fa1dc0.5c15a8",\r
+        "type": "switchNode",\r
+        "name": "switch",\r
+        "xml": "<switch test='`$service-delete-response.configuration-response-common.response-code`'>\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 1221,\r
+        "y": 410,\r
+        "z": "7b1b071a.92faa",\r
+        "wires": [\r
+            [\r
+                "bbeca38a.ba0cc",\r
+                "86f8972f.01b4c8"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "bbeca38a.ba0cc",\r
+        "type": "outcome",\r
+        "name": "200 success",\r
+        "xml": "<outcome value='200'>\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 1409,\r
+        "y": 416,\r
+        "z": "7b1b071a.92faa",\r
+        "wires": [\r
+            [\r
+                "2041d7aa.c3ae1"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "86f8972f.01b4c8",\r
+        "type": "other",\r
+        "name": "other",\r
+        "xml": "<outcome value='Other'>\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 1395,\r
+        "y": 295,\r
+        "z": "7b1b071a.92faa",\r
+        "wires": [\r
+            [\r
+                "8b978b7.90f6978"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "8b978b7.90f6978",\r
+        "type": "returnFailure",\r
+        "name": "return failure",\r
+        "xml": "<return status='failure'>\n<parameter name='error-code' value='`$service-delete-response.configuration-response-common.response-code`' />\n<parameter name='error-message' value='`$service-delete-response.configuration-response-common.response-message`' />\n",\r
+        "comments": "",\r
+        "x": 1582,\r
+        "y": 294,\r
+        "z": "7b1b071a.92faa",\r
+        "wires": []\r
+    },\r
+    {\r
+        "id": "ccbf1f5f.52d948",\r
+        "type": "success",\r
+        "name": "success",\r
+        "xml": "<outcome value='success'>\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 1847,\r
+        "y": 621,\r
+        "z": "7b1b071a.92faa",\r
+        "wires": [\r
+            [\r
+                "ae1d75fe.230f18"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "ae1d75fe.230f18",\r
+        "type": "set",\r
+        "name": "set",\r
+        "xml": "<set>\n<parameter name='instance-id' value='`$db.request-details.service-instance-id`' />\n<parameter name='customer-id' value='`$db.request-details.global-customer-id`' />\n<parameter name='service-id' value='`$db.request-details.service-type`' />\n\n\n\n\n\n\n\n\n\n\n\n\n",\r
+        "comments": "",\r
+        "x": 1986,\r
+        "y": 622,\r
+        "z": "7b1b071a.92faa",\r
+        "wires": []\r
+    },\r
+    {\r
+        "id": "126b611e.fd67af",\r
+        "type": "update",\r
+        "name": "update resource status- DELETING in AAI",\r
+        "xml": "<update plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' \nforce='true' \nresource='service-instance' \nkey = 'customer.global-customer-id = $customer-id AND\n     service-subscription.service-type = $service-id AND\n     service-instance.service-instance-id = $instance-id'\nlocal-only='false'>\n    <parameter name='orchestration-status' value='DELETING' />\n\n    \n    \n    \n\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 1730,\r
+        "y": 714,\r
+        "z": "7b1b071a.92faa",\r
+        "wires": [\r
+            []\r
+        ]\r
+    },\r
+    {\r
+        "id": "881b58f7.fb4a6",\r
+        "type": "returnSuccess",\r
+        "name": "return success",\r
+        "xml": "<return status='success'>\n<parameter name=\"error-code\" value=\"200\" />\n<parameter name=\"error-message\" value=\"Service Deletion in Progress\" />\n<parameter name='ack-final-indicator' value='N' />",\r
+        "comments": "",\r
+        "x": 1619,\r
+        "y": 810,\r
+        "z": "7b1b071a.92faa",\r
+        "wires": []\r
+    },\r
+    {\r
+        "id": "4b9bbd62.4750fc",\r
+        "type": "get-resource",\r
+        "name": "get resources from DB -controller_id",\r
+        "xml": "<get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\nkey='SELECT controller_id\nfrom REQUEST_DETAILS\nWHERE request_id = $optical-service-delete-input.request-id'\npfx='controllerid'>",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 665,\r
+        "y": 109,\r
+        "z": "7b1b071a.92faa",\r
+        "wires": [\r
+            [\r
+                "3249f019.f6152"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "eac944ef.f83328",\r
+        "type": "execute",\r
+        "name": "split node-id a-end retrieved from DB",\r
+        "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split' >\n<parameter name=\"original_string\" value='`$controller-id`'/>\n<parameter name=\"regex\" value=\"_\"/>\n<parameter name=\"ctx_memory_result_key\" value=\"param-prefix\"/>\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 646,\r
+        "y": 168,\r
+        "z": "7b1b071a.92faa",\r
+        "wires": [\r
+            []\r
+        ]\r
+    },\r
+    {\r
+        "id": "3249f019.f6152",\r
+        "type": "success",\r
+        "name": "success",\r
+        "xml": "<outcome value='success'>\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 892,\r
+        "y": 104,\r
+        "z": "7b1b071a.92faa",\r
+        "wires": [\r
+            [\r
+                "cc783b3b.8e16b"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "cc783b3b.8e16b",\r
+        "type": "set",\r
+        "name": "set",\r
+        "xml": "<set>\n<parameter name='controller-id' value='`$controllerid.controller-id`' />\n\n\n\n\n\n\n\n\n\n\n",\r
+        "comments": "",\r
+        "x": 1083,\r
+        "y": 106,\r
+        "z": "7b1b071a.92faa",\r
+        "wires": []\r
+    },\r
+    {\r
+        "id": "b567b7de.be2de8",\r
+        "type": "set",\r
+        "name": "set controller-ip",\r
+        "xml": "<set>\n<parameter name='controller-ip' value='`$param-prefix[1]`' />\n<parameter name='domain-type' value='`$param-prefix[0]`' />\n<parameter name='notification-url' value=\"`$prop.controller.url + '/' + $prop.sdnc.async.url`\" />\n",\r
+        "comments": "",\r
+        "x": 593,\r
+        "y": 223,\r
+        "z": "7b1b071a.92faa",\r
+        "wires": []\r
+    },\r
+    {\r
+        "id": "c0977e42.e4156",\r
+        "type": "switchNode",\r
+        "name": "switch domain-type",\r
+        "xml": "<switch test='`$domain-type`'>\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 188,\r
+        "y": 324,\r
+        "z": "7b1b071a.92faa",\r
+        "wires": [\r
+            [\r
+                "1f20cc0f.cf39ec",\r
+                "fe8682d2.0d3618"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "1f20cc0f.cf39ec",\r
+        "type": "outcome",\r
+        "name": "MSA",\r
+        "xml": "<outcome value='MSA'>\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 363,\r
+        "y": 325,\r
+        "z": "7b1b071a.92faa",\r
+        "wires": [\r
+            [\r
+                "d9880526.733f4"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "fe8682d2.0d3618",\r
+        "type": "outcome",\r
+        "name": "TAPI",\r
+        "xml": "<outcome value='TAPI'>\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 324,\r
+        "y": 428,\r
+        "z": "7b1b071a.92faa",\r
+        "wires": [\r
+            [\r
+                "c4af063b.a8dc38"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "d9880526.733f4",\r
+        "type": "block",\r
+        "name": "block",\r
+        "xml": "<block>\n",\r
+        "atomic": "false",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 507,\r
+        "y": 326,\r
+        "z": "7b1b071a.92faa",\r
+        "wires": [\r
+            [\r
+                "bfd79d0e.9f7ee8"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "c4af063b.a8dc38",\r
+        "type": "block",\r
+        "name": "block",\r
+        "xml": "<block>\n",\r
+        "atomic": "false",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 475,\r
+        "y": 421,\r
+        "z": "7b1b071a.92faa",\r
+        "wires": [\r
+            [\r
+                "5c1ca252.745f4c"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "5c1ca252.745f4c",\r
+        "type": "call",\r
+        "name": "call TAPI DELETE DG",\r
+        "xml": "<call module='optical-service' rpc='service-delete-tapi' mode='sync' >\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 643,\r
+        "y": 524,\r
+        "z": "7b1b071a.92faa",\r
+        "wires": [\r
+            []\r
+        ]\r
+    }\r
+]
\ No newline at end of file
diff --git a/platform-logic/optical-service/src/main/json/optical-service_optical-validate-input-params.json b/platform-logic/optical-service/src/main/json/optical-service_optical-validate-input-params.json
new file mode 100644 (file)
index 0000000..491f1ae
--- /dev/null
@@ -0,0 +1,446 @@
+[\r
+    {\r
+        "id": "45fe0f03.73594",\r
+        "type": "dgstart",\r
+        "name": "DGSTART",\r
+        "outputs": 1,\r
+        "x": 157,\r
+        "y": 128,\r
+        "z": "d427ef29.f00798",\r
+        "wires": [\r
+            [\r
+                "c0c6bb78.ab7328"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "85b96b99.939c28",\r
+        "type": "method",\r
+        "name": "method",\r
+        "xml": "<method rpc='optical-validate-input-params' mode='sync'>\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 426,\r
+        "y": 187,\r
+        "z": "d427ef29.f00798",\r
+        "wires": [\r
+            [\r
+                "f0b2b5e5.a9ccf"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "c0c6bb78.ab7328",\r
+        "type": "service-logic",\r
+        "name": "optical-service ${project.version}",\r
+        "module": "optical-service",\r
+        "version": "${project.version}",\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='optical-service' version='${project.version}'>",\r
+        "outputs": 1,\r
+        "x": 405.5,\r
+        "y": 122,\r
+        "z": "d427ef29.f00798",\r
+        "wires": [\r
+            [\r
+                "85b96b99.939c28"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "f0b2b5e5.a9ccf",\r
+        "type": "block",\r
+        "name": "block : atomic",\r
+        "xml": "<block atomic='true'>",\r
+        "atomic": "true",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 471,\r
+        "y": 256,\r
+        "z": "d427ef29.f00798",\r
+        "wires": [\r
+            [\r
+                "d38614d0.bc36",\r
+                "671058f0.99ab9",\r
+                "f4433d75.377228",\r
+                "a9973cda.a8ef68",\r
+                "bc906c4e.a81f98"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "d38614d0.bc36",\r
+        "type": "switchNode",\r
+        "name": "request-id",\r
+        "xml": "<switch test='`$optical-service-create-input.request-id`'>\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 646,\r
+        "y": 148,\r
+        "z": "d427ef29.f00798",\r
+        "wires": [\r
+            [\r
+                "23efd503.0cf412",\r
+                "1d6aa3e0.f6a834"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "f4433d75.377228",\r
+        "type": "switchNode",\r
+        "name": "global-customer-id",\r
+        "xml": "<switch test='`$optical-service-create-input.global-customer-id`'>\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 655,\r
+        "y": 361,\r
+        "z": "d427ef29.f00798",\r
+        "wires": [\r
+            [\r
+                "728c9f28.f9d0e8",\r
+                "46df5e01.d1113"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "a9973cda.a8ef68",\r
+        "type": "switchNode",\r
+        "name": "service-id",\r
+        "xml": "<switch test='`$optical-service-create-input.service-id`'>\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 633,\r
+        "y": 538,\r
+        "z": "d427ef29.f00798",\r
+        "wires": [\r
+            [\r
+                "d26d7cce.773f38",\r
+                "2c3d9568.5117a2"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "671058f0.99ab9",\r
+        "type": "switchNode",\r
+        "name": "service-type",\r
+        "xml": "<switch test='`$optical-service-create-input.service-type`'>\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 648,\r
+        "y": 241,\r
+        "z": "d427ef29.f00798",\r
+        "wires": [\r
+            [\r
+                "f2f4ba89.3681a8",\r
+                "b7e00225.a8cb18"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "23efd503.0cf412",\r
+        "type": "outcome",\r
+        "name": "NULL",\r
+        "xml": "<outcome value='``'>\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 798,\r
+        "y": 143,\r
+        "z": "d427ef29.f00798",\r
+        "wires": [\r
+            [\r
+                "34e9eaa3.5c0fee"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "34e9eaa3.5c0fee",\r
+        "type": "returnFailure",\r
+        "name": "return failure",\r
+        "xml": "<return status='failure'>\n<parameter name='error-code' value='500' />\n<parameter name='error-message' value='request-id is a mandatory field' />\n",\r
+        "comments": "",\r
+        "x": 972,\r
+        "y": 141,\r
+        "z": "d427ef29.f00798",\r
+        "wires": []\r
+    },\r
+    {\r
+        "id": "728c9f28.f9d0e8",\r
+        "type": "outcome",\r
+        "name": "NULL",\r
+        "xml": "<outcome value='``'>\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 798,\r
+        "y": 375,\r
+        "z": "d427ef29.f00798",\r
+        "wires": [\r
+            [\r
+                "a83e9b81.69057"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "d26d7cce.773f38",\r
+        "type": "outcome",\r
+        "name": "NULL",\r
+        "xml": "<outcome value='``'>\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 796,\r
+        "y": 532,\r
+        "z": "d427ef29.f00798",\r
+        "wires": [\r
+            [\r
+                "946c93a2.ec4708"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "f2f4ba89.3681a8",\r
+        "type": "outcome",\r
+        "name": "NULL",\r
+        "xml": "<outcome value='``'>\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 804,\r
+        "y": 249,\r
+        "z": "d427ef29.f00798",\r
+        "wires": [\r
+            [\r
+                "fbae657d.c4d4c8"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "a83e9b81.69057",\r
+        "type": "returnFailure",\r
+        "name": "return failure",\r
+        "xml": "<return status='failure'>\n<parameter name='error-code' value='500' />\n<parameter name='error-message' value='global-customer-id is a mandatory field' />\n",\r
+        "comments": "",\r
+        "x": 969,\r
+        "y": 378,\r
+        "z": "d427ef29.f00798",\r
+        "wires": []\r
+    },\r
+    {\r
+        "id": "fbae657d.c4d4c8",\r
+        "type": "returnFailure",\r
+        "name": "return failure",\r
+        "xml": "<return status='failure'>\n<parameter name='error-code' value='500' />\n<parameter name='error-message' value='service-type is a mandatory field' />\n",\r
+        "comments": "",\r
+        "x": 970,\r
+        "y": 241,\r
+        "z": "d427ef29.f00798",\r
+        "wires": []\r
+    },\r
+    {\r
+        "id": "946c93a2.ec4708",\r
+        "type": "returnFailure",\r
+        "name": "return failure",\r
+        "xml": "<return status='failure'>\n<parameter name='error-code' value='500' />\n<parameter name='error-message' value='service-id is a mandatory field' />\n",\r
+        "comments": "",\r
+        "x": 970,\r
+        "y": 518,\r
+        "z": "d427ef29.f00798",\r
+        "wires": []\r
+    },\r
+    {\r
+        "id": "46df5e01.d1113",\r
+        "type": "other",\r
+        "name": "other",\r
+        "xml": "<outcome value='Other'>\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 804,\r
+        "y": 436,\r
+        "z": "d427ef29.f00798",\r
+        "wires": [\r
+            [\r
+                "622cee2e.97fdc8"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "622cee2e.97fdc8",\r
+        "type": "block",\r
+        "name": "block : atomic",\r
+        "xml": "<block atomic='true'>",\r
+        "atomic": "true",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 964,\r
+        "y": 431,\r
+        "z": "d427ef29.f00798",\r
+        "wires": [\r
+            []\r
+        ]\r
+    },\r
+    {\r
+        "id": "1d6aa3e0.f6a834",\r
+        "type": "other",\r
+        "name": "other",\r
+        "xml": "<outcome value='Other'>\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 784,\r
+        "y": 190,\r
+        "z": "d427ef29.f00798",\r
+        "wires": [\r
+            [\r
+                "e5940f9b.9dd578"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "e5940f9b.9dd578",\r
+        "type": "block",\r
+        "name": "block : atomic",\r
+        "xml": "<block atomic='true'>",\r
+        "atomic": "true",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 973,\r
+        "y": 189,\r
+        "z": "d427ef29.f00798",\r
+        "wires": [\r
+            []\r
+        ]\r
+    },\r
+    {\r
+        "id": "b7e00225.a8cb18",\r
+        "type": "other",\r
+        "name": "other",\r
+        "xml": "<outcome value='Other'>\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 811,\r
+        "y": 302,\r
+        "z": "d427ef29.f00798",\r
+        "wires": [\r
+            [\r
+                "f8b5a2fb.5adfe"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "f8b5a2fb.5adfe",\r
+        "type": "block",\r
+        "name": "block : atomic",\r
+        "xml": "<block atomic='true'>",\r
+        "atomic": "true",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 954,\r
+        "y": 294,\r
+        "z": "d427ef29.f00798",\r
+        "wires": [\r
+            []\r
+        ]\r
+    },\r
+    {\r
+        "id": "2c3d9568.5117a2",\r
+        "type": "other",\r
+        "name": "other",\r
+        "xml": "<outcome value='Other'>\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 794,\r
+        "y": 577,\r
+        "z": "d427ef29.f00798",\r
+        "wires": [\r
+            [\r
+                "b2fd7e25.913c4"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "b2fd7e25.913c4",\r
+        "type": "block",\r
+        "name": "block : atomic",\r
+        "xml": "<block atomic='true'>",\r
+        "atomic": "true",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 969,\r
+        "y": 570,\r
+        "z": "d427ef29.f00798",\r
+        "wires": [\r
+            []\r
+        ]\r
+    },\r
+    {\r
+        "id": "bc906c4e.a81f98",\r
+        "type": "switchNode",\r
+        "name": "source",\r
+        "xml": "<switch test='`$optical-service-create-input.source`'>\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 607,\r
+        "y": 661,\r
+        "z": "d427ef29.f00798",\r
+        "wires": [\r
+            [\r
+                "6a791b88.4d9444",\r
+                "a73ceec7.d4e338"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "6a791b88.4d9444",\r
+        "type": "outcome",\r
+        "name": "SO",\r
+        "xml": "<outcome value='SO'>\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 788,\r
+        "y": 679,\r
+        "z": "d427ef29.f00798",\r
+        "wires": [\r
+            [\r
+                "77e76807.687ab8"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "a73ceec7.d4e338",\r
+        "type": "other",\r
+        "name": "other",\r
+        "xml": "<outcome value='Other'>\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 792,\r
+        "y": 748,\r
+        "z": "d427ef29.f00798",\r
+        "wires": [\r
+            [\r
+                "2a90f153.aeb8ae"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "77e76807.687ab8",\r
+        "type": "block",\r
+        "name": "block : atomic",\r
+        "xml": "<block atomic='true'>",\r
+        "atomic": "true",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 965,\r
+        "y": 677,\r
+        "z": "d427ef29.f00798",\r
+        "wires": [\r
+            []\r
+        ]\r
+    },\r
+    {\r
+        "id": "2a90f153.aeb8ae",\r
+        "type": "returnFailure",\r
+        "name": "return failure",\r
+        "xml": "<return status='failure'>\n<parameter name='error-code' value='500' />\n<parameter name='error-message' value='source must be SO' />\n",\r
+        "comments": "",\r
+        "x": 965,\r
+        "y": 749,\r
+        "z": "d427ef29.f00798",\r
+        "wires": []\r
+    }\r
+]
\ No newline at end of file
diff --git a/platform-logic/optical-service/src/main/json/optical-service_service-create-msa.json b/platform-logic/optical-service/src/main/json/optical-service_service-create-msa.json
new file mode 100644 (file)
index 0000000..fd25326
--- /dev/null
@@ -0,0 +1,445 @@
+[\r
+    {\r
+        "id": "3ea35ee.ad0f6a2",\r
+        "type": "dgstart",\r
+        "name": "DGSTART",\r
+        "outputs": 1,\r
+        "x": 116,\r
+        "y": 81,\r
+        "z": "c2959a97.94a74",\r
+        "wires": [\r
+            [\r
+                "11cee705.bf2a31"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "d850b04.b54af5",\r
+        "type": "method",\r
+        "name": "method",\r
+        "xml": "<method rpc='service-create-msa' mode='sync'>\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 174,\r
+        "y": 206,\r
+        "z": "c2959a97.94a74",\r
+        "wires": [\r
+            [\r
+                "488da689.489b18"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "11cee705.bf2a31",\r
+        "type": "service-logic",\r
+        "name": "optical-service ${project.version}",\r
+        "module": "optical-service",\r
+        "version": "${project.version}",\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='optical-service' version='${project.version}'>",\r
+        "outputs": 1,\r
+        "x": 360.5,\r
+        "y": 84,\r
+        "z": "c2959a97.94a74",\r
+        "wires": [\r
+            [\r
+                "d850b04.b54af5"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "8d61ef5.90ff99",\r
+        "type": "execute",\r
+        "name": "Call MSA Controller",\r
+        "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"templateFileName\" value=\"`$prop.restapi.templateDir + '/optical-service-create-msa.json'`\" />\n<parameter name=\"restapiUrl\" value=\"`$controller-ip + '/cxf/openroadm/openroadm-services'`\"/>\n<parameter name='restapiUser' value='admin' />\n<parameter name='restapiPassword' value='admin' />\n<parameter name=\"httpMethod\" value=\"POST\"/>\n<parameter name=\"responsePrefix\" value=\"service-create-response\"/>\n<parameter name='contentType' value='application/json' />\n<parameter name='format' value='json' />\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\"/> ",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 809,\r
+        "y": 533,\r
+        "z": "c2959a97.94a74",\r
+        "wires": [\r
+            [\r
+                "ccc1ac83.fb8f3",\r
+                "2f9f6425.084e84"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "ccc1ac83.fb8f3",\r
+        "type": "outcome",\r
+        "name": "Failure",\r
+        "xml": "<outcome value='failure'>\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 1038,\r
+        "y": 508,\r
+        "z": "c2959a97.94a74",\r
+        "wires": [\r
+            [\r
+                "a1397508.3503c8"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "2f9f6425.084e84",\r
+        "type": "outcome",\r
+        "name": "Success",\r
+        "xml": "<outcome value='success'>\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 1033,\r
+        "y": 609,\r
+        "z": "c2959a97.94a74",\r
+        "wires": [\r
+            [\r
+                "ef5192a4.4e4b1"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "a1e42279.d92258",\r
+        "type": "record",\r
+        "name": "record",\r
+        "xml": "<record plugin=\"org.onap.ccsdk.sli.core.sli.recording.FileRecorder\">\n<parameter name=\"file\" value=\"/opt/opendaylight/current/data/log/optical-service-create.log\" />\n<parameter name=\"level\" value=\"info\" />\n<parameter name=\"field1\" value=\"Successfully sent the request\"/>\n\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 1535,\r
+        "y": 641,\r
+        "z": "c2959a97.94a74",\r
+        "wires": [\r
+            []\r
+        ]\r
+    },\r
+    {\r
+        "id": "5e2abc18.1b66ac",\r
+        "type": "record",\r
+        "name": "record",\r
+        "xml": "<record plugin=\"org.onap.ccsdk.sli.core.sli.recording.FileRecorder\">\n<parameter name=\"file\" value=\"/opt/opendaylight/current/data/log/optical-service-create.log\" />\n<parameter name=\"level\" value=\"info\" />\n<parameter name=\"field1\" value=\"Failure\"/>\n\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 1562,\r
+        "y": 467,\r
+        "z": "c2959a97.94a74",\r
+        "wires": [\r
+            []\r
+        ]\r
+    },\r
+    {\r
+        "id": "488da689.489b18",\r
+        "type": "block",\r
+        "name": "block : atomic",\r
+        "xml": "<block atomic='true'>",\r
+        "atomic": "true",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 413,\r
+        "y": 198,\r
+        "z": "c2959a97.94a74",\r
+        "wires": [\r
+            [\r
+                "8d61ef5.90ff99",\r
+                "a3b8c6ad.cc7648",\r
+                "8ad2ed4f.9eaef8",\r
+                "35d2d9b2.cbceee",\r
+                "5929fa76.a7464c",\r
+                "b065abfd.9e90f8"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "ef5192a4.4e4b1",\r
+        "type": "block",\r
+        "name": "block : atomic",\r
+        "xml": "<block atomic='true'>",\r
+        "atomic": "true",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 1281,\r
+        "y": 611,\r
+        "z": "c2959a97.94a74",\r
+        "wires": [\r
+            [\r
+                "a1e42279.d92258",\r
+                "893ecee0.5f1a6"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "629b93c5.786c2c",\r
+        "type": "returnFailure",\r
+        "name": "return failure",\r
+        "xml": "<return status='failure'>\n<parameter name='error-code' value='500' />\n<parameter name='error-message' value='Could not connect to Controller' />\n",\r
+        "comments": "",\r
+        "x": 1548,\r
+        "y": 559,\r
+        "z": "c2959a97.94a74",\r
+        "wires": []\r
+    },\r
+    {\r
+        "id": "a1397508.3503c8",\r
+        "type": "block",\r
+        "name": "block : atomic",\r
+        "xml": "<block atomic='true'>",\r
+        "atomic": "true",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 1272,\r
+        "y": 509,\r
+        "z": "c2959a97.94a74",\r
+        "wires": [\r
+            [\r
+                "5e2abc18.1b66ac",\r
+                "629b93c5.786c2c"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "893ecee0.5f1a6",\r
+        "type": "switchNode",\r
+        "name": "switch",\r
+        "xml": "<switch test='`$service-create-response.configuration-response-common.response-code`'>\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 1530,\r
+        "y": 723,\r
+        "z": "c2959a97.94a74",\r
+        "wires": [\r
+            [\r
+                "5758035.e2b987c",\r
+                "ec22434b.def97"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "5758035.e2b987c",\r
+        "type": "outcome",\r
+        "name": "outcome",\r
+        "xml": "<outcome value='200'>\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 1698,\r
+        "y": 724,\r
+        "z": "c2959a97.94a74",\r
+        "wires": [\r
+            [\r
+                "211ff3f4.659f1c"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "ec22434b.def97",\r
+        "type": "other",\r
+        "name": "other",\r
+        "xml": "<outcome value='Other'>\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 1706,\r
+        "y": 790,\r
+        "z": "c2959a97.94a74",\r
+        "wires": [\r
+            [\r
+                "c3dd586d.2d9ff"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "c3dd586d.2d9ff",\r
+        "type": "returnFailure",\r
+        "name": "return failure",\r
+        "xml": "<return status='failure'>\n<parameter name='error-code' value='`$service-create-response.configuration-response-common.response-code`' />\n<parameter name='error-message' value='`$service-create-response.configuration-response-common.response-message`' />\n",\r
+        "comments": "",\r
+        "x": 1885,\r
+        "y": 790,\r
+        "z": "c2959a97.94a74",\r
+        "wires": []\r
+    },\r
+    {\r
+        "id": "211ff3f4.659f1c",\r
+        "type": "call",\r
+        "name": "call sync success DG",\r
+        "xml": "<call module='optical-service' rpc='optical-service-create-sync-success' mode='sync' >\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 1900,\r
+        "y": 721,\r
+        "z": "c2959a97.94a74",\r
+        "wires": [\r
+            []\r
+        ]\r
+    },\r
+    {\r
+        "id": "a3b8c6ad.cc7648",\r
+        "type": "set",\r
+        "name": "set parameters",\r
+        "xml": "<set>\n<parameter name='notification-url' value=\"`$prop.controller.url + '/' + $prop.sdnc.async.url`\" />\n<parameter name='service-aend-nodeid' value='`$param-prefix[0]`' />\n<parameter name='service-zend-nodeid' value='`$param-prefix1[0]`' />\n",\r
+        "comments": "",\r
+        "x": 831,\r
+        "y": 276,\r
+        "z": "c2959a97.94a74",\r
+        "wires": []\r
+    },\r
+    {\r
+        "id": "8ad2ed4f.9eaef8",\r
+        "type": "record",\r
+        "name": "record",\r
+        "xml": "<record plugin=\"org.onap.ccsdk.sli.core.sli.recording.FileRecorder\">\n<parameter name=\"file\" value=\"/opt/opendaylight/current/data/log/optical-service-create.log\" />\n<parameter name=\"level\" value=\"info\" />\n<parameter name=\"field1\" value=\"Logical link name\"/>\n<parameter name=\"field2\" value=\"`$logical-link-check`\"/>\n<parameter name=\"field3\" value=\"`$a-end-pnf-name`\"/>\n<parameter name=\"field4\" value=\"`$z-end-pnf-name`\"/>\n\n\n\n\n\n\n\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 817,\r
+        "y": 223,\r
+        "z": "c2959a97.94a74",\r
+        "wires": [\r
+            []\r
+        ]\r
+    },\r
+    {\r
+        "id": "35d2d9b2.cbceee",\r
+        "type": "switchNode",\r
+        "name": "switch",\r
+        "xml": "<switch test='`$optical-service-create-input.payload.service-protocol`'>\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 919,\r
+        "y": 361,\r
+        "z": "c2959a97.94a74",\r
+        "wires": [\r
+            [\r
+                "377ae9e5.0edff6",\r
+                "6ebfa6a3.e8164"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "377ae9e5.0edff6",\r
+        "type": "outcome",\r
+        "name": "Ethernet",\r
+        "xml": "<outcome value='Ethernet'>\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 1096,\r
+        "y": 355,\r
+        "z": "c2959a97.94a74",\r
+        "wires": [\r
+            [\r
+                "d04153bc.9f4338"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "18dafb4f.277ba5",\r
+        "type": "switchNode",\r
+        "name": "switch",\r
+        "xml": "<switch test='`$optical-service-create-input.payload.coding-func`'>\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 1460,\r
+        "y": 351,\r
+        "z": "c2959a97.94a74",\r
+        "wires": [\r
+            [\r
+                "bff9d743.e28a08",\r
+                "80d30a7a.cb97f"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "d04153bc.9f4338",\r
+        "type": "block",\r
+        "name": "block : atomic",\r
+        "xml": "<block atomic='true'>",\r
+        "atomic": "true",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 1286,\r
+        "y": 353,\r
+        "z": "c2959a97.94a74",\r
+        "wires": [\r
+            [\r
+                "18dafb4f.277ba5"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "6ebfa6a3.e8164",\r
+        "type": "other",\r
+        "name": "Do Nothing",\r
+        "xml": "<outcome value='Other'>\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 1101,\r
+        "y": 422,\r
+        "z": "c2959a97.94a74",\r
+        "wires": [\r
+            []\r
+        ]\r
+    },\r
+    {\r
+        "id": "bff9d743.e28a08",\r
+        "type": "outcome",\r
+        "name": "10GBASE-R",\r
+        "xml": "<outcome value='10GBASE-R'>\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 1619,\r
+        "y": 346,\r
+        "z": "c2959a97.94a74",\r
+        "wires": [\r
+            [\r
+                "1fad8a48.e66316"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "80d30a7a.cb97f",\r
+        "type": "other",\r
+        "name": "other",\r
+        "xml": "<outcome value='Other'>\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 1612,\r
+        "y": 414,\r
+        "z": "c2959a97.94a74",\r
+        "wires": [\r
+            []\r
+        ]\r
+    },\r
+    {\r
+        "id": "1fad8a48.e66316",\r
+        "type": "set",\r
+        "name": "set",\r
+        "xml": "<set>\n<parameter name='mapping-mode-aend' value='mapping-mode' />\n<parameter name='mapping-mode-zend' value='mapping-mode' />\n<parameter name='mapping-mode.value' value='GFP-F' />\n",\r
+        "comments": "",\r
+        "x": 1828,\r
+        "y": 345,\r
+        "z": "c2959a97.94a74",\r
+        "wires": []\r
+    },\r
+    {\r
+        "id": "5929fa76.a7464c",\r
+        "type": "execute",\r
+        "name": "split node-id z-end",\r
+        "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split' >\n<parameter name=\"original_string\" value='`$zend-nodeid`'/>\n<parameter name=\"regex\" value=\"-\"/>\n<parameter name=\"ctx_memory_result_key\" value=\"param-prefix1\"/>\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 834,\r
+        "y": 157,\r
+        "z": "c2959a97.94a74",\r
+        "wires": [\r
+            []\r
+        ]\r
+    },\r
+    {\r
+        "id": "b065abfd.9e90f8",\r
+        "type": "execute",\r
+        "name": "split node-id a-end",\r
+        "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split' >\n<parameter name=\"original_string\" value='`$aend-nodeid`'/>\n<parameter name=\"regex\" value=\"-\"/>\n<parameter name=\"ctx_memory_result_key\" value=\"param-prefix\"/>\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 837,\r
+        "y": 93,\r
+        "z": "c2959a97.94a74",\r
+        "wires": [\r
+            []\r
+        ]\r
+    }\r
+]
\ No newline at end of file
diff --git a/platform-logic/optical-service/src/main/resources/graph.versions b/platform-logic/optical-service/src/main/resources/graph.versions
new file mode 100644 (file)
index 0000000..026c2ea
--- /dev/null
@@ -0,0 +1,5 @@
+optical-service optical-validate-input-params ${project.version} sync
+optical-service optical-service-create ${project.version} sync
+optical-service optical-service-create-sync-success ${project.version} sync
+optical-service service-create-msa ${project.version} sync
+optical-service optical-service-delete ${project.version} sync
diff --git a/platform-logic/optical-service/src/main/xml/optical-service_optical-service-create-sync-success.xml b/platform-logic/optical-service/src/main/xml/optical-service_optical-service-create-sync-success.xml
new file mode 100644 (file)
index 0000000..43359c4
--- /dev/null
@@ -0,0 +1,95 @@
+<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='optical-service' version='${project.version}'>\r
+    <method rpc='optical-service-create-sync-success' mode='sync'>\r
+        <block atomic='true'>\r
+            <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">\r
+                <parameter name="file" value="/opt/opendaylight/current/data/log/optical-service-create.log" />\r
+                <parameter name="level" value="info" />\r
+                <parameter name="field1" value="Inside sync success"/>\r
+            </record>\r
+            <set>\r
+                <parameter name='available-bandwidth-aend' value='0' />\r
+                <parameter name='available-bandwidth-zend' value='0' />\r
+            </set>\r
+            <save plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' \r
+resource='SQL' \r
+key='UPDATE TOPOLOGY_LOGICAL_RELATION_TO_PINTERFACE SET rate = $available-bandwidth-aend WHERE \r
+interface_name = $optical-service-create-input.payload.service-aend.port-id'\r
+force='true' pfx='save-result'></save>\r
+            <save plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' \r
+resource='SQL' \r
+key='UPDATE TOPOLOGY_LOGICAL_RELATION_TO_PINTERFACE SET rate = $available-bandwidth-zend WHERE \r
+interface_name = $optical-service-create-input.payload.service-zend.port-id'\r
+force='true' pfx='save-result'></save>\r
+            <update plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' \r
+force='true'\r
+resource='p-interface'\r
+key = 'pnf.pnf-name = $a-end-pnf-name\r
+      AND p-interface.interface-name = $optical-service-create-input.payload.service-aend.port-id'\r
+      local-only='false'>\r
+                <parameter name='available-capacity' value='`$available-bandwidth-aend`' />\r
+            </update>\r
+            <update plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' \r
+force='true'\r
+resource='p-interface'\r
+key = 'pnf.pnf-name = $z-end-pnf-name\r
+      AND p-interface.interface-name = $optical-service-create-input.payload.service-zend.port-id'\r
+      local-only='false'>\r
+                <parameter name='available-capacity' value='`$available-bandwidth-zend`' />\r
+            </update>\r
+            <switch test='`$optical-service-create-input.payload.domain-type`'>\r
+                <outcome value='MSA'>\r
+                    <block>\r
+                        <save plugin="org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource" resource="SQL" key="INSERT INTO REQUEST_DETAILS (request_id, controller_id, status, service_rate, service_instance_id, service_type, global_customer_id, notification_url) VALUES ( $optical-service-create-input.request-id , $controller-id , 'CREATING' , $optical-service-create-input.payload.service-rate ,  $optical-service-create-input.service-id , $optical-service-create-input.service-type , $optical-service-create-input.global-customer-id , $optical-service-create-input.notification-url );"></save>\r
+                        <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='service-instance'  \r
+     key='customer.global-customer-id = $optical-service-create-input.global-customer-id AND\r
+     service-subscription.service-type = $optical-service-create-input.service-type AND\r
+     service-instance.service-instance-id = $optical-service-create-input.service-id' >\r
+                            <parameter name='service-instance-id' value='`$optical-service-create-input.service-id`' />\r
+                            <parameter name='service-instance-name' value='`$optical-service-create-input.payload.service-name`' />\r
+                            <parameter name='service-type' value='Domain-Service' />\r
+                            <parameter name='orchestration-status' value='CREATING' />\r
+                            <parameter name='service-rate' value='`$optical-service-create-input.payload.service-rate`' />\r
+                            <parameter name='service-layer' value='`$optical-service-create-input.payload.service-layer`' />\r
+                        </save>\r
+                    </block>\r
+                </outcome>\r
+                <outcome value='TAPI'>\r
+                    <block>\r
+                        <save plugin="org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource" resource="SQL" key="INSERT INTO REQUEST_DETAILS (request_id, controller_id, status, service_rate, service_instance_id, service_type, global_customer_id, notification_url) VALUES ( $optical-service-create-input.request-id , $controller-id , 'CREATED' , $optical-service-create-input.payload.service-rate ,  $optical-service-create-input.service-id , $optical-service-create-input.service-type , $optical-service-create-input.global-customer-id , $optical-service-create-input.notification-url );"></save>\r
+                        <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='service-instance'  \r
+     key='customer.global-customer-id = $optical-service-create-input.global-customer-id AND\r
+     service-subscription.service-type = $optical-service-create-input.service-type AND\r
+     service-instance.service-instance-id = $optical-service-create-input.service-id' >\r
+                            <parameter name='service-instance-id' value='`$optical-service-create-input.service-id`' />\r
+                            <parameter name='service-instance-name' value='`$optical-service-create-input.payload.service-name`' />\r
+                            <parameter name='service-type' value='Domain-Service' />\r
+                            <parameter name='orchestration-status' value='CREATED' />\r
+                            <parameter name='service-rate' value='`$optical-service-create-input.payload.service-rate`' />\r
+                            <parameter name='service-layer' value='`$optical-service-create-input.payload.service-layer`' />\r
+                        </save>\r
+                    </block>\r
+                </outcome>\r
+            </switch>\r
+            <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='service-instance:relationship-list'  \r
+     key='customer.global-customer-id = $optical-service-create-input.global-customer-id AND\r
+     service-subscription.service-type = $optical-service-create-input.service-type AND\r
+     service-instance.service-instance-id = $optical-service-create-input.service-id' force="true" pfx="tmp.AnAI-data">\r
+                <parameter name="relationship-list.relationship[0].related-to" value="p-interface" />\r
+                <parameter name="relationship-list.relationship[0].related-link" value="`'/network/pnfs/pnf/' + $a-end-pnf-name + '/p-interfaces/p-interface/' + $optical-service-create-input.payload.service-aend.port-id `" />\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="`$a-end-pnf-name`" />\r
+                <parameter name="relationship-list.relationship[1].related-to" value="p-interface" />\r
+                <parameter name="relationship-list.relationship[1].related-link" value="`'/network/pnfs/pnf/' + $z-end-pnf-name + '/p-interfaces/p-interface/' + $optical-service-create-input.payload.service-zend.port-id `" />\r
+                <parameter name="relationship-list.relationship[1].relationship-data[0].relationship-key" value="pnf.pnf-name" />\r
+                <parameter name="relationship-list.relationship[1].relationship-data[0].relationship-value" value="`$z-end-pnf-name`" />\r
+            </save>\r
+            <return status='success'>\r
+                <parameter name='error-code' value='200' />\r
+                <parameter name='error-message' value='Service Creation in Progress' />\r
+                <parameter name='ack-final-indicator' value='N' />\r
+            </return>\r
+        </block>\r
+    </method>\r
+</service-logic>
\ No newline at end of file
diff --git a/platform-logic/optical-service/src/main/xml/optical-service_optical-service-create.xml b/platform-logic/optical-service/src/main/xml/optical-service_optical-service-create.xml
new file mode 100644 (file)
index 0000000..240316a
--- /dev/null
@@ -0,0 +1,73 @@
+<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='optical-service' version='${project.version}'>\r
+    <method rpc='optical-service-create' mode='sync'>\r
+        <block atomic='true'>\r
+            <call module='optical-service' rpc='optical-validate-input-params' mode='sync' ></call>\r
+            <execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >\r
+                <parameter name='fileName' value='/opt/onap/sdnc/data/properties/optical-service-dg.properties' />\r
+                <parameter name='contextPrefix' value='prop' />\r
+            </execute>\r
+            <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\r
+key='SELECT controller_id\r
+from TOPOLOGY_LOGICAL_RELATION_TO_PINTERFACE\r
+WHERE interface_name = $optical-service-create-input.payload.service-aend.port-id\r
+AND interface_id = $optical-service-create-input.payload.service-aend.port-name'\r
+pfx='controllerid'>\r
+                <outcome value='success'>\r
+                    <set>\r
+                        <parameter name='controller-id' value='`$controllerid.controller-id`' />\r
+                    </set>\r
+                </outcome>\r
+            </get-resource>\r
+            <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split' >\r
+                <parameter name="original_string" value='`$controller-id`'/>\r
+                <parameter name="regex" value="_"/>\r
+                <parameter name="ctx_memory_result_key" value="param-prefix"/>\r
+            </execute>\r
+            <set>\r
+                <parameter name='controller-ip' value='`$param-prefix[1]`' />\r
+            </set>\r
+            <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\r
+key='SELECT *\r
+from TOPOLOGY_LOGICAL_RELATION_TO_PINTERFACE\r
+WHERE interface_name = $optical-service-create-input.payload.service-aend.port-id\r
+AND interface_id = $optical-service-create-input.payload.service-aend.port-name'\r
+pfx='db-aend'>\r
+                <outcome value='success'>\r
+                    <set>\r
+                        <parameter name='aend-nodeid' value='`$db-aend.pnf-id`' />\r
+                        <parameter name='a-end-pnf-name' value='`$db-aend.pnf-name`' />\r
+                        <parameter name='aend-clli' value='`$db-aend.clli`' />\r
+                    </set>\r
+                </outcome>\r
+            </get-resource>\r
+            <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\r
+key='SELECT *\r
+from TOPOLOGY_LOGICAL_RELATION_TO_PINTERFACE\r
+WHERE interface_name = $optical-service-create-input.payload.service-zend.port-id\r
+AND interface_id = $optical-service-create-input.payload.service-zend.port-name'\r
+pfx='db-zend'>\r
+                <outcome value='success'>\r
+                    <set>\r
+                        <parameter name='zend-nodeid' value='`$db-zend.pnf-id`' />\r
+                        <parameter name='z-end-pnf-name' value='`$db-zend.pnf-name`' />\r
+                        <parameter name='zend-clli' value='`$db-zend.clli`' />\r
+                    </set>\r
+                </outcome>\r
+            </get-resource>\r
+            <switch test='`$optical-service-create-input.payload.domain-type`'>\r
+                <outcome value='MSA'>\r
+                    <block atomic='true'>\r
+                        <call module='optical-service' rpc='service-create-msa' mode='sync' ></call>\r
+                    </block>\r
+                </outcome>\r
+                <outcome value='TAPI'>\r
+                    <block atomic='true'>\r
+                        <call module='optical-service' rpc='service-create-tapi' mode='sync' ></call>\r
+                    </block>\r
+                </outcome>\r
+            </switch>\r
+        </block>\r
+    </method>\r
+</service-logic>
\ No newline at end of file
diff --git a/platform-logic/optical-service/src/main/xml/optical-service_optical-service-delete.xml b/platform-logic/optical-service/src/main/xml/optical-service_optical-service-delete.xml
new file mode 100644 (file)
index 0000000..4b42278
--- /dev/null
@@ -0,0 +1,123 @@
+<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='optical-service' version='${project.version}'>\r
+    <method rpc='optical-service-delete' mode='sync'>\r
+        <block atomic='true'>\r
+            <execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >\r
+                <parameter name='fileName' value='/opt/onap/sdnc/data/properties/optical-service-dg.properties' />\r
+                <parameter name='contextPrefix' value='prop' />\r
+            </execute>\r
+            <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\r
+key='SELECT controller_id\r
+from REQUEST_DETAILS\r
+WHERE request_id = $optical-service-delete-input.request-id'\r
+pfx='controllerid'>\r
+                <outcome value='success'>\r
+                    <set>\r
+                        <parameter name='controller-id' value='`$controllerid.controller-id`' />\r
+                    </set>\r
+                </outcome>\r
+            </get-resource>\r
+            <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split' >\r
+                <parameter name="original_string" value='`$controller-id`'/>\r
+                <parameter name="regex" value="_"/>\r
+                <parameter name="ctx_memory_result_key" value="param-prefix"/>\r
+            </execute>\r
+            <set>\r
+                <parameter name='controller-ip' value='`$param-prefix[1]`' />\r
+                <parameter name='domain-type' value='`$param-prefix[0]`' />\r
+                <parameter name='notification-url' value="`$prop.controller.url + '/' + $prop.sdnc.async.url`" />\r
+            </set>\r
+            <switch test='`$domain-type`'>\r
+                <outcome value='MSA'>\r
+                    <block>\r
+                        <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
+                            <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/optical-service-delete-msa.json'`" />\r
+                            <parameter name="restapiUrl" value="`$controller-ip + '/cxf/openroadm/openroadm-services/' + $optical-service-delete-input.payload.service-name`"/>\r
+                            <parameter name='restapiUser' value='admin' />\r
+                            <parameter name='restapiPassword' value='admin' />\r
+                            <parameter name="httpMethod" value="DELETE"/>\r
+                            <parameter name="responsePrefix" value="service-delete-response"/>\r
+                            <parameter name='contentType' value='application/json' />\r
+                            <parameter name='format' value='json' />\r
+                            <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.msa.jks"/>\r
+                            <parameter name="trustStorePassword" value="adminadmin"/>\r
+                            <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>\r
+                            <parameter name="keyStorePassword" value="adminadmin"/>\r
+                            <outcome value='failure'>\r
+                                <block atomic='true'>\r
+                                    <return status='failure'>\r
+                                        <parameter name='error-code' value='500' />\r
+                                        <parameter name='error-message' value='Error deleting the Service' />\r
+                                    </return>\r
+                                </block>\r
+                            </outcome>\r
+                            <outcome value='success'>\r
+                                <block atomic='true'>\r
+                                    <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">\r
+                                        <parameter name="file" value="/opt/opendaylight/current/data/log/optical-service-create.log" />\r
+                                        <parameter name="level" value="info" />\r
+                                        <parameter name="field1" value="Successfully sent the request"/>\r
+                                    </record>\r
+                                    <switch test='`$service-delete-response.configuration-response-common.response-code`'>\r
+                                        <outcome value='Other'>\r
+                                            <return status='failure'>\r
+                                                <parameter name='error-code' value='`$service-delete-response.configuration-response-common.response-code`' />\r
+                                                <parameter name='error-message' value='`$service-delete-response.configuration-response-common.response-message`' />\r
+                                            </return>\r
+                                        </outcome>\r
+                                        <outcome value='200'>\r
+                                            <block atomic='true'>\r
+                                                <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">\r
+                                                    <parameter name="file" value="/opt/opendaylight/current/data/log/optical-service-create.log" />\r
+                                                    <parameter name="level" value="info" />\r
+                                                    <parameter name="field1" value="Inside controller"/>\r
+                                                </record>\r
+                                                <save plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' \r
+resource='SQL' \r
+key='UPDATE REQUEST_DETAILS SET status = "DELETING" WHERE request_id = $optical-service-delete-input.request-id' \r
+force='true' pfx='save-result'></save>\r
+                                                <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL' \r
+key='SELECT *\r
+from REQUEST_DETAILS \r
+WHERE request_id = $optical-service-delete-input.request-id'\r
+pfx='db.request-details'>\r
+                                                    <outcome value='success'>\r
+                                                        <set>\r
+                                                            <parameter name='instance-id' value='`$db.request-details.service-instance-id`' />\r
+                                                            <parameter name='customer-id' value='`$db.request-details.global-customer-id`' />\r
+                                                            <parameter name='service-id' value='`$db.request-details.service-type`' />\r
+                                                        </set>\r
+                                                    </outcome>\r
+                                                </get-resource>\r
+                                                <update plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' \r
+force='true' \r
+resource='service-instance' \r
+key = 'customer.global-customer-id = $customer-id AND\r
+     service-subscription.service-type = $service-id AND\r
+     service-instance.service-instance-id = $instance-id'\r
+local-only='false'>\r
+                                                    <parameter name='orchestration-status' value='DELETING' />\r
+                                                </update>\r
+                                                <return status='success'>\r
+                                                    <parameter name="error-code" value="200" />\r
+                                                    <parameter name="error-message" value="Service Deletion in Progress" />\r
+                                                    <parameter name='ack-final-indicator' value='N' />\r
+                                                </return>\r
+                                            </block>\r
+                                        </outcome>\r
+                                    </switch>\r
+                                </block>\r
+                            </outcome>\r
+                        </execute>\r
+                    </block>\r
+                </outcome>\r
+                <outcome value='TAPI'>\r
+                    <block>\r
+                        <call module='optical-service' rpc='service-delete-tapi' mode='sync' ></call>\r
+                    </block>\r
+                </outcome>\r
+            </switch>\r
+        </block>\r
+    </method>\r
+</service-logic>
\ No newline at end of file
diff --git a/platform-logic/optical-service/src/main/xml/optical-service_optical-validate-input-params.xml b/platform-logic/optical-service/src/main/xml/optical-service_optical-validate-input-params.xml
new file mode 100644 (file)
index 0000000..b6517f9
--- /dev/null
@@ -0,0 +1,63 @@
+<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='optical-service' version='${project.version}'>\r
+    <method rpc='optical-validate-input-params' mode='sync'>\r
+        <block atomic='true'>\r
+            <switch test='`$optical-service-create-input.request-id`'>\r
+                <outcome value='``'>\r
+                    <return status='failure'>\r
+                        <parameter name='error-code' value='500' />\r
+                        <parameter name='error-message' value='request-id is a mandatory field' />\r
+                    </return>\r
+                </outcome>\r
+                <outcome value='Other'>\r
+                    <block atomic='true'></block>\r
+                </outcome>\r
+            </switch>\r
+            <switch test='`$optical-service-create-input.service-type`'>\r
+                <outcome value='``'>\r
+                    <return status='failure'>\r
+                        <parameter name='error-code' value='500' />\r
+                        <parameter name='error-message' value='service-type is a mandatory field' />\r
+                    </return>\r
+                </outcome>\r
+                <outcome value='Other'>\r
+                    <block atomic='true'></block>\r
+                </outcome>\r
+            </switch>\r
+            <switch test='`$optical-service-create-input.global-customer-id`'>\r
+                <outcome value='``'>\r
+                    <return status='failure'>\r
+                        <parameter name='error-code' value='500' />\r
+                        <parameter name='error-message' value='global-customer-id is a mandatory field' />\r
+                    </return>\r
+                </outcome>\r
+                <outcome value='Other'>\r
+                    <block atomic='true'></block>\r
+                </outcome>\r
+            </switch>\r
+            <switch test='`$optical-service-create-input.service-id`'>\r
+                <outcome value='``'>\r
+                    <return status='failure'>\r
+                        <parameter name='error-code' value='500' />\r
+                        <parameter name='error-message' value='service-id is a mandatory field' />\r
+                    </return>\r
+                </outcome>\r
+                <outcome value='Other'>\r
+                    <block atomic='true'></block>\r
+                </outcome>\r
+            </switch>\r
+            <switch test='`$optical-service-create-input.source`'>\r
+                <outcome value='SO'>\r
+                    <block atomic='true'></block>\r
+                </outcome>\r
+                <outcome value='Other'>\r
+                    <return status='failure'>\r
+                        <parameter name='error-code' value='500' />\r
+                        <parameter name='error-message' value='source must be SO' />\r
+                    </return>\r
+                </outcome>\r
+            </switch>\r
+        </block>\r
+    </method>\r
+</service-logic>
\ No newline at end of file
diff --git a/platform-logic/optical-service/src/main/xml/optical-service_service-create-msa.xml b/platform-logic/optical-service/src/main/xml/optical-service_service-create-msa.xml
new file mode 100644 (file)
index 0000000..db2d29f
--- /dev/null
@@ -0,0 +1,95 @@
+<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='optical-service' version='${project.version}'>\r
+    <method rpc='service-create-msa' mode='sync'>\r
+        <block atomic='true'>\r
+            <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split' >\r
+                <parameter name="original_string" value='`$aend-nodeid`'/>\r
+                <parameter name="regex" value="-"/>\r
+                <parameter name="ctx_memory_result_key" value="param-prefix"/>\r
+            </execute>\r
+            <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split' >\r
+                <parameter name="original_string" value='`$zend-nodeid`'/>\r
+                <parameter name="regex" value="-"/>\r
+                <parameter name="ctx_memory_result_key" value="param-prefix1"/>\r
+            </execute>\r
+            <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">\r
+                <parameter name="file" value="/opt/opendaylight/current/data/log/optical-service-create.log" />\r
+                <parameter name="level" value="info" />\r
+                <parameter name="field1" value="Logical link name"/>\r
+                <parameter name="field2" value="`$logical-link-check`"/>\r
+                <parameter name="field3" value="`$a-end-pnf-name`"/>\r
+                <parameter name="field4" value="`$z-end-pnf-name`"/>\r
+            </record>\r
+            <set>\r
+                <parameter name='notification-url' value="`$prop.controller.url + '/' + $prop.sdnc.async.url`" />\r
+                <parameter name='service-aend-nodeid' value='`$param-prefix[0]`' />\r
+                <parameter name='service-zend-nodeid' value='`$param-prefix1[0]`' />\r
+            </set>\r
+            <switch test='`$optical-service-create-input.payload.service-protocol`'>\r
+                <outcome value='Ethernet'>\r
+                    <block atomic='true'>\r
+                        <switch test='`$optical-service-create-input.payload.coding-func`'>\r
+                            <outcome value='10GBASE-R'>\r
+                                <set>\r
+                                    <parameter name='mapping-mode-aend' value='mapping-mode' />\r
+                                    <parameter name='mapping-mode-zend' value='mapping-mode' />\r
+                                    <parameter name='mapping-mode.value' value='GFP-F' />\r
+                                </set>\r
+                            </outcome>\r
+                            <outcome value='Other'></outcome>\r
+                        </switch>\r
+                    </block>\r
+                </outcome>\r
+                <outcome value='Other'></outcome>\r
+            </switch>\r
+            <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
+                <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/optical-service-create-msa.json'`" />\r
+                <parameter name="restapiUrl" value="`$controller-ip + '/cxf/openroadm/openroadm-services'`"/>\r
+                <parameter name='restapiUser' value='admin' />\r
+                <parameter name='restapiPassword' value='admin' />\r
+                <parameter name="httpMethod" value="POST"/>\r
+                <parameter name="responsePrefix" value="service-create-response"/>\r
+                <parameter name='contentType' value='application/json' />\r
+                <parameter name='format' value='json' />\r
+                <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.msa.jks"/>\r
+                <parameter name="trustStorePassword" value="adminadmin"/>\r
+                <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>\r
+                <parameter name="keyStorePassword" value="adminadmin"/>\r
+                <outcome value='failure'>\r
+                    <block atomic='true'>\r
+                        <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">\r
+                            <parameter name="file" value="/opt/opendaylight/current/data/log/optical-service-create.log" />\r
+                            <parameter name="level" value="info" />\r
+                            <parameter name="field1" value="Failure"/>\r
+                        </record>\r
+                        <return status='failure'>\r
+                            <parameter name='error-code' value='500' />\r
+                            <parameter name='error-message' value='Could not connect to Controller' />\r
+                        </return>\r
+                    </block>\r
+                </outcome>\r
+                <outcome value='success'>\r
+                    <block atomic='true'>\r
+                        <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">\r
+                            <parameter name="file" value="/opt/opendaylight/current/data/log/optical-service-create.log" />\r
+                            <parameter name="level" value="info" />\r
+                            <parameter name="field1" value="Successfully sent the request"/>\r
+                        </record>\r
+                        <switch test='`$service-create-response.configuration-response-common.response-code`'>\r
+                            <outcome value='200'>\r
+                                <call module='optical-service' rpc='optical-service-create-sync-success' mode='sync' ></call>\r
+                            </outcome>\r
+                            <outcome value='Other'>\r
+                                <return status='failure'>\r
+                                    <parameter name='error-code' value='`$service-create-response.configuration-response-common.response-code`' />\r
+                                    <parameter name='error-message' value='`$service-create-response.configuration-response-common.response-message`' />\r
+                                </return>\r
+                            </outcome>\r
+                        </switch>\r
+                    </block>\r
+                </outcome>\r
+            </execute>\r
+        </block>\r
+    </method>\r
+</service-logic>
\ No newline at end of file
index de79e85..a279e0c 100644 (file)
@@ -24,7 +24,8 @@
         <module>setup</module>
         <module>generic-resource-api</module>
         <module>vnfapi</module>
-        <module>lcm</module>
+       <module>lcm</module>
+       <module>optical-service</module>
         <module>restapi-templates</module>
         <module>restconfapi-yang</module>
         <module>datachange</module>
diff --git a/platform-logic/restapi-templates/src/main/json/optical-service-create-msa.json b/platform-logic/restapi-templates/src/main/json/optical-service-create-msa.json
new file mode 100644 (file)
index 0000000..cd26b7e
--- /dev/null
@@ -0,0 +1,56 @@
+{
+   "service-name": ${optical-service-create-input.payload.service-name},
+   "common-id": ${optical-service-create-input.service-id},
+   "connection-type":"service",
+   "sdnc-request-header":{
+      "request-id": ${optical-service-create-input.request-id},
+      "rpc-action":"service-create",
+      "notification-url": ${notification-url},
+      "request-system-id":"SDN-ONAP"
+   },
+   "service-a-end":{
+      "service-rate": ${optical-service-create-input.payload.service-rate},
+      "service-format": ${optical-service-create-input.payload.service-protocol},
+      "node-id": ${service-aend-nodeid},
+      "clli": ${aend-clli},
+      "optic-type":"gray",
+      "ethernet-encoding": ${optical-service-create-input.payload.coding-func},
+      ${mapping-mode-aend}: ${mapping-mode.value},
+      "tx-direction":{
+         "port":{
+            "port-device-name": "router-1",
+            "port-name": "R1"
+         }
+      },
+      "rx-direction":{
+         "port":{
+            "port-device-name": "router-1",
+            "port-name": "R1"
+
+         }
+      }
+   },
+   "service-z-end":{
+      "service-rate": ${optical-service-create-input.payload.service-rate},
+      "service-format": ${optical-service-create-input.payload.service-protocol},
+      "node-id": ${service-zend-nodeid},
+      "clli": ${zend-clli},
+      "optic-type":"gray",
+      "ethernet-encoding": ${optical-service-create-input.payload.coding-func},
+      ${mapping-mode-zend}: ${mapping-mode.value},
+      "tx-direction":{
+         "port":{
+            "port-device-name": "router-2",
+            "port-name": "R2"
+         }
+      },
+      "rx-direction":{
+         "port":{
+            "port-device-name": "router-2",
+            "port-name": "R2"
+         }
+      }
+   },
+   "service-layer": "otn"
+}
+
diff --git a/platform-logic/restapi-templates/src/main/json/optical-service-delete-msa.json b/platform-logic/restapi-templates/src/main/json/optical-service-delete-msa.json
new file mode 100644 (file)
index 0000000..e777f99
--- /dev/null
@@ -0,0 +1,13 @@
+{
+ "sdnc-request-header":{
+   "request-id": ${optical-service-delete-input.request-id},
+   "rpc-action": "service-delete",
+   "notification-url": ${notification-url},
+   "request-system-id": "SDN-ONAP"
+  },
+  "service-delete-req-info":{
+    "tail-retention": "no",
+    "service-name": ${optical-service-delete-input.payload.service-name}
+  }
+}
+