Supporting 3 or more network domains for Transport Slicing use case.
[sdnc/oam.git] / platform-logic / datachange / src / main / xml / DataChange_esr-thirdparty-sdnc-discovery.xml
index c90a5cb..05c011b 100644 (file)
@@ -1,6 +1,6 @@
 <service-logic\r
-    xmlns='http://www.onap.org/sdnc/svclogic'\r
-    xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='DataChange' version='${project.version}'>\r
+        xmlns='http://www.onap.org/sdnc/svclogic'\r
+        xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='DataChange' version='${project.version}'>\r
     <method rpc='esr-thirdparty-sdnc-discovery' mode='sync'>\r
         <block atomic="true">\r
             <switch test="`$prop.sdncRestApi.vendor == 'ZTE'`">\r
                                                             <block atomic="true">\r
                                                                 <for index='nidx' start='0' end='`$topology.networks.network_length`' >\r
                                                                     <block>\r
+                                                                        <set>\r
+                                                                            <parameter name='network.' value='' />\r
+                                                                        </set>\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
+                                                                <switch test='`$topology.networks.network_length >= 2`'>\r
+                                                                    <outcome value='true'>\r
+                                                                        <block atomic='true'>\r
+                                                                            <for index='netidx' start='0' end='`$topology.networks.network_length`' >\r
+                                                                                <block>\r
+                                                                                    <set>\r
+                                                                                        <parameter name='network.' value='' />\r
+                                                                                    </set>\r
+                                                                                    <set>\r
+                                                                                        <parameter name='network.' value='`$topology.networks.network[$netidx].`' />\r
+                                                                                    </set>\r
+                                                                                    <switch test='`$network.te-topology-id`'>\r
+                                                                                        <outcome value='1'>\r
+                                                                                            <block>\r
+                                                                                                <set>\r
+                                                                                                    <parameter name='network-otn.' value='`$topology.networks.network[$netidx].`' />\r
+                                                                                                </set>\r
+                                                                                            </block>\r
+                                                                                        </outcome>\r
+                                                                                        <outcome value='2'>\r
+                                                                                            <block>\r
+                                                                                                <set>\r
+                                                                                                    <parameter name='network-eth.' value='`$topology.networks.network[$netidx].`' />\r
+                                                                                                </set>\r
+                                                                                            </block>\r
+                                                                                        </outcome>\r
+                                                                                    </switch>\r
+                                                                                </block>\r
+                                                                            </for>\r
+                                                                            <call module='DataChange' rpc='update-tp-ttp-relationship' mode='sync' ></call>\r
+                                                                        </block>\r
+                                                                    </outcome>\r
+                                                                </switch>\r
                                                             </block>\r
                                                         </outcome>\r
                                                     </execute>\r
                                                             <block atomic="true">\r
                                                                 <for index='nidx' start='0' end='`$topology.networks.network_length`' >\r
                                                                     <block>\r
+                                                                        <set>\r
+                                                                            <parameter name='network.' value='' />\r
+                                                                        </set>\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
+                                                                <switch test='`$topology.networks.network_length >= 2`'>\r
+                                                                    <outcome value='true'>\r
+                                                                        <block atomic='true'>\r
+                                                                            <for index='netidx' start='0' end='`$topology.networks.network_length`' >\r
+                                                                                <block>\r
+                                                                                    <set>\r
+                                                                                        <parameter name='network.' value='' />\r
+                                                                                    </set>\r
+                                                                                    <set>\r
+                                                                                        <parameter name='network.' value='`$topology.networks.network[$netidx].`' />\r
+                                                                                    </set>\r
+                                                                                    <switch test='`$network.te-topology-id`'>\r
+                                                                                        <outcome value='1'>\r
+                                                                                            <block>\r
+                                                                                                <set>\r
+                                                                                                    <parameter name='network-otn.' value='`$topology.networks.network[$netidx].`' />\r
+                                                                                                </set>\r
+                                                                                            </block>\r
+                                                                                        </outcome>\r
+                                                                                        <outcome value='2'>\r
+                                                                                            <block>\r
+                                                                                                <set>\r
+                                                                                                    <parameter name='network-eth.' value='`$topology.networks.network[$netidx].`' />\r
+                                                                                                </set>\r
+                                                                                            </block>\r
+                                                                                        </outcome>\r
+                                                                                    </switch>\r
+                                                                                </block>\r
+                                                                            </for>\r
+                                                                            <call module='DataChange' rpc='update-tp-ttp-relationship' mode='sync' ></call>\r
+                                                                        </block>\r
+                                                                    </outcome>\r
+                                                                </switch>\r
                                                             </block>\r
                                                         </outcome>\r
                                                     </execute>\r
                                 </switch>\r
                             </block>\r
                         </outcome>\r
-                        <outcome value='delete'>\r
-                            <block atomic="true"></block>\r
+                        <outcome value='Delete'>\r
+                            <block atomic="true">\r
+                                <switch test="`$prop.sdncRestApi.type`">\r
+                                    <outcome value='MSA'>\r
+                                        <block atomic='true'>\r
+                                            <set>\r
+                                                <parameter name='controllerid' value="`$prop.sdncRestApi.type + '_' + $prop.sdncRestApi.thirdpartySdnc.url + '_' + $prop.sdncRestApi.thirdpartySdnc.id`" />\r
+                                            </set>\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 controller_id = $controllerid'\r
+                                                          pfx='dbcontrollerid'>\r
+                                                <outcome value='success'>\r
+                                                    <delete plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource'\r
+                                                            resource="SQL"\r
+                                                            key="DELETE FROM TOPOLOGY_LOGICAL_RELATION_TO_PINTERFACE WHERE controller_id = $controllerid"></delete>\r
+                                                </outcome>\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="Failure in getting controller-id from DB" />\r
+                                                    </return>\r
+                                                </outcome>\r
+                                                <outcome value='not-found'>\r
+                                                    <return status='failure'>\r
+                                                        <parameter name='ack-final' value='Y'/>\r
+                                                        <parameter name="error-code" value="500" />\r
+                                                        <parameter name="error-message" value="controller-id could not be found in DB" />\r
+                                                    </return>\r
+                                                </outcome>\r
+                                            </get-resource>\r
+                                        </block>\r
+                                    </outcome>\r
+                                    <outcome value='TAPI'>\r
+                                        <block>\r
+                                            <set>\r
+                                                <parameter name='controllerid' value="`$prop.sdncRestApi.type + '_' + $prop.sdncRestApi.thirdpartySdnc.url + '_' + $prop.sdncRestApi.thirdpartySdnc.id`" />\r
+                                            </set>\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 controller_id = $controllerid'\r
+                                                          pfx='dbcontrollerid'>\r
+                                                <outcome value='success'>\r
+                                                    <delete plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource'\r
+                                                            resource="SQL"\r
+                                                            key="DELETE FROM TOPOLOGY_LOGICAL_RELATION_TO_PINTERFACE WHERE controller_id = $controllerid"></delete>\r
+                                                </outcome>\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="Failure in getting controller-id from DB" />\r
+                                                    </return>\r
+                                                </outcome>\r
+                                                <outcome value='not-found'>\r
+                                                    <return status='failure'>\r
+                                                        <parameter name='ack-final' value='Y'/>\r
+                                                        <parameter name="error-code" value="500" />\r
+                                                        <parameter name="error-message" value="controller-id could not be found in DB" />\r
+                                                    </return>\r
+                                                </outcome>\r
+                                            </get-resource>\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
                     </switch>\r
                 </outcome>\r