Bug fixing in DGs related to network and links storing in AAI.
[sdnc/oam.git] / platform-logic / datachange / src / main / xml / DataChange_update-network-to-aai.xml
index 740ace0..17be19e 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}'>
-    <method rpc='update-network-to-aai' mode='sync'>
-        <block atomic="true">
-            <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
-                <parameter name="source" value="`$network.network-id`"/>
-                <parameter name="outputPath" value="tmp.network-id"/>
-                <parameter name="target" value="/"/>
-                <parameter name="replacement" value="-"/>
-            </execute>
-            <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='network-resource'  
-     key='network-resource.network-id = $tmp.network-id' >
-                <parameter name='network-id' value='`$tmp.network-id`' />
-                <parameter name='client-id' value='`$network.client-id`' />
-                <parameter name='te-topo-id' value='`$network.te-topology-id`' />
-                <parameter name='provider-id' value='`$network.provider-id`' />
-            </save>
-            <for index='pidx' start='0' end='`$network.node_length`' >
-                <set>
-                    <parameter name='node.' value='`$network.node[$pidx].`' />
-                </set>
-                <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='pnf' 
-      key='network-resource.network-id = $tmp.network-id
-      AND pnf.pnf-name = $node.node-id' >
-                    <parameter name='pnf-name' value='`$node.node-id`' />
-                    <parameter name='pnf-id' value='`$node.node-id`' />
-                    <parameter name='operational-status' value='`$node.te.oper-status`' />
-                    <parameter name='admin-status' value='`$node.te.te-node-attributes.admin-status`' />
-                    <parameter name='in-maint' value='true' />
-                </save>
-                <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='pnf:relationship-list' 
-      key='pnf.pnf-name = $node.node-id' force="true" pfx="tmp.AnAI-data">
-                    <parameter name="relationship-list.relationship[0].related-to" value="network-resource" />
-                    <parameter name="relationship-list.relationship[0].related-link" value="`'/network/network-resources/network-resource/' + $tmp.network-id`" />
-                    <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="network-resource.network-id" />
-                    <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$tmp.network-id`" />
-                </save>
-                <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='esr-thirdparty-sdnc:relationship-list' 
-      key='esr-thirdparty-sdnc.thirdparty-sdnc-id = $prop.sdncRestApi.thirdpartySdnc.id' 
-      force="true" pfx="tmp.AnAI-data">
-                    <parameter name="relationship-list.relationship[0].related-to" value="pnf" />
-                    <parameter name="relationship-list.relationship[0].related-link" value="`'/network/network-resources/network-resource/' + $tmp.network-id + '/pnfs/pnf/' + $node.node-id`" />
-                    <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="pnf.pnf-name" />
-                    <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$node.node-id`" />
-                </save>
-                <for index='tidx' start='0' end='`$node.termination-point_length`' >
-                    <set>
-                        <parameter name='tp.' value='`$node.termination-point[$tidx].`' />
-                    </set>
-                    <set>
-                        <parameter name='unique-ltpId' value="`'nodeId-' + $node.node-id + '-ltpId-' + $tp.te-tp-id`" />
-                    </set>
-                    <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='p-interface' 
-      key='network-resource.network-id = $tmp.network-id
-      AND pnf.pnf-name = $node.node-id
-      AND p-interface.interface-name = $unique-ltpId' >
-                        <parameter name='network-ref' value='`$tp.supporting-termination-point[0].network-ref`' />
-                        <parameter name='transparent' value='`$tp.svc.supported-classification.transparent`' />
-                        <parameter name='speed-value' value='`$tp.te.interface-switching-capability[0].max-lsp-bandwidth[0].te-bandwidth.eth-bandwidth`' />
-                        <parameter name='operational-status' value='`$tp.te.oper-status`' />
-                        <parameter name='in-maint' value="true" />
-                    </save>
-                    <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='pnf:relationship-list' 
-      key='pnf.pnf-name = $node.node-id' force="true" pfx="tmp.AnAI-data">
-                        <parameter name="relationship-list.relationship[0].related-to" value="p-interface" />
-                        <parameter name="relationship-list.relationship[0].related-link" value="`'/network/network-resources/network-resource/' + $tmp.network-id + '/pnfs/pnf/' + $node.node-id '/p-interfaces/p-interface/' + $unique-ltpId`" />
-                        <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="p-interface.interface-name" />
-                        <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$unique-ltpId`" />
-                    </save>
-                </for>
-            </for>
-        </block>
-    </method>
+<service-logic xsi:schemaLocation="http://www.onap.org/sdnc/svclogic ./svclogic.xsd" module="DataChange" version="${project.version}">\r
+    <method rpc="update-network-to-aai" mode="sync">\r
+        <block atomic="true">\r
+            <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils" method="replace">\r
+                <parameter name="source" value="`$network.network-id`"/>\r
+                <parameter name="outputPath" value="tmp.network-id"/>\r
+                <parameter name="target" value="/"/>\r
+                <parameter name="replacement" value="-"/>\r
+            </execute>\r
+            <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="network-resource" key="network-resource.network-id = $tmp.network-id">\r
+                <parameter name="network-id" value="`$tmp.network-id`"/>\r
+                <parameter name="client-id" value="`$network.client-id`"/>\r
+                <parameter name="te-topo-id" value="`$network.te-topology-id`"/>\r
+                <parameter name="provider-id" value="`$network.provider-id`"/>\r
+                <parameter name="network-type" value="`$network.network-types`"/>\r
+            </save>\r
+            <for index="pidx" start="0" end="`$network.node_length`">\r
+                <set>\r
+                    <parameter name="node." value="`$network.node[$pidx].`"/>\r
+                    <parameter name="unique-networkId" value="`$tmp.network-id`"/>\r
+                </set>\r
+                <set>\r
+                    <parameter name="unique-nodeId" value="`'networkId-' + $unique-networkId + '-nodeId-' + $node.node-id`"/>\r
+                </set>\r
+                <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="pnf" key="pnf.pnf-name = $unique-nodeId">\r
+                    <parameter name="pnf-name" value="`$unique-nodeId`"/>\r
+                    <parameter name="pnf-id" value="`$node.node-id`"/>\r
+                    <parameter name="operational-status" value="`$node.te.oper-status`"/>\r
+                    <parameter name="admin-status" value="`$node.te.te-node-attributes.admin-status`"/>\r
+                    <parameter name="in-maint" value="true"/>\r
+                </save>\r
+                <switch test="`$node.te.tunnel-termination-point_length`">\r
+                    <outcome value="">\r
+                        <block/>\r
+                    </outcome>\r
+                    <outcome value="0">\r
+                        <block/>\r
+                    </outcome>\r
+                    <outcome value="Other">\r
+                        <for index="ttidx" start="0" end="`$node.te.tunnel-termination-point_length`">\r
+                            <set>\r
+                                <parameter name="ttp." value="`$node.te.tunnel-termination-point[$ttidx].`"/>\r
+                            </set>\r
+                            <set>\r
+                                <parameter name="unique-ttpId" value="`$unique-nodeId + '-ttpId-' + $ttp.tunnel-tp-id`"/>\r
+                            </set>\r
+                            <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="tunnel-termination-point" key="pnf.pnf-name = $unique-nodeId AND tunnel-termination-point.ttp-id = $unique-ttpId">\r
+                                <parameter name="ttp-id" value="`$unique-ttpId`"/>\r
+                                <parameter name="tunnel-tp-id" value="`$ttp.tunnel-tp-id`"/>\r
+                                <parameter name="name" value="`$ttp.name`"/>\r
+                                <parameter name="admin-status" value="`$ttp.admin-status`"/>\r
+                                <parameter name="oper-status" value="`$ttp.oper-status`"/>\r
+                                <parameter name="inter-layer-lock-id" value="`$ttp.inter-layer-lock-id`"/>\r
+                                <parameter name="switching-capability" value="`$ttp.switching-capability`"/>\r
+                                <parameter name="protection-type" value="`$ttp.protection-type`"/>\r
+                                <parameter name="encoding" value="`$ttp.encoding`"/>\r
+                                <outcome value="success">\r
+                                    <block/>\r
+                                </outcome>\r
+                                <outcome value="failure">\r
+                                    <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="tunnel-termination-point" key="pnf.pnf-name = $unique-nodeId AND tunnel-termination-point.ttp-id = $unique-ttpId">\r
+                                        <parameter name="ttp-id" value="`$unique-ttpId`"/>\r
+                                        <parameter name="tunnel-tp-id" value="`$ttp.tunnel-tp-id`"/>\r
+                                        <parameter name="name" value="`$ttp.name`"/>\r
+                                        <parameter name="admin-status" value="`$ttp.admin-status`"/>\r
+                                        <parameter name="oper-status" value="`$ttp.oper-status`"/>\r
+                                        <parameter name="inter-layer-lock-id" value="`$ttp.inter-layer-lock-id`"/>\r
+                                        <parameter name="switching-capability" value="`$ttp.switching-capability`"/>\r
+                                        <parameter name="protection-type" value="`$ttp.protection-type`"/>\r
+                                        <parameter name="encoding" value="`$ttp.encoding`"/>\r
+                                    </update>\r
+                                </outcome>\r
+                            </save>\r
+                            <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="pnf:relationship-list" key="pnf.pnf-name = $unique-nodeId" force="true" pfx="tmp.AnAI-data">\r
+                                <parameter name="relationship-list.relationship[$ttidx].related-to" value="tunnel-termination-point"/>\r
+                                <parameter name="relationship-list.relationship[$ttidx].related-link" value="`'/network/network-resources/network-resource/' + $tmp.network-id + '/pnfs/pnf/' + $node.node-id '/tunnel-termination-points/tunnel-termination-point/' + $unique-ttpId`"/>\r
+                                <parameter name="relationship-list.relationship[$ttidx].relationship-data[0].relationship-key" value="tunnel-termination-point.ttp-id"/>\r
+                                <parameter name="relationship-list.relationship[$ttidx].relationship-data[0].relationship-value" value="`$unique-ttpId`"/>\r
+                            </save>\r
+                        </for>\r
+                    </outcome>\r
+                </switch>\r
+                <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">\r
+                    <parameter name="file" value="/opt/onap/hesamlogx.txt"/>\r
+                    <parameter name="field1" value="__TIMESTAMP__"/>\r
+                    <parameter name="field2" value="sucess executing Hesam hesam log file"/>\r
+                    <parameter name="field3" value="`$node.te.tunnel-termination-point_length`"/>\r
+                    <parameter name="field4" value="`$node.termination-point_length`"/>\r
+                </record>\r
+                <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="pnf:relationship-list" key="pnf.pnf-name = $unique-nodeId" force="true" pfx="tmp.AnAI-data">\r
+                    <parameter name="relationship-list.relationship[0].related-to" value="network-resource"/>\r
+                    <parameter name="relationship-list.relationship[0].related-link" value="`'/network/network-resources/network-resource/' + $tmp.network-id`"/>\r
+                    <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="network-resource.network-id"/>\r
+                    <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$tmp.network-id`"/>\r
+                </save>\r
+                <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="esr-thirdparty-sdnc:relationship-list" key="esr-thirdparty-sdnc.thirdparty-sdnc-id = $prop.sdncRestApi.thirdpartySdnc.id" force="true" pfx="tmp.AnAI-data">\r
+                    <parameter name="relationship-list.relationship[0].related-to" value="pnf"/>\r
+                    <parameter name="relationship-list.relationship[0].related-link" value="`'/network/pnfs/pnf/' + $node.node-id`"/>\r
+                    <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="pnf.pnf-name"/>\r
+                    <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$node.node-id`"/>\r
+                </save>\r
+                <switch test="`$node.termination-point_length`">\r
+                    <outcome value="">\r
+                        <block/>\r
+                    </outcome>\r
+                    <outcome value="0">\r
+                        <block/>\r
+                    </outcome>\r
+                    <outcome value="Other">\r
+                        <for index="tidx" start="0" end="`$node.termination-point_length`">\r
+                            <set>\r
+                                <parameter name="tp." value="`$node.termination-point[$tidx].`"/>\r
+                            </set>\r
+                            <set>\r
+                                <parameter name="unique-ltpId" value="`$unique-nodeId + '-ltpId-' + $tp.te-tp-id`"/>\r
+                            </set>\r
+                            <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="p-interface" key="pnf.pnf-name = $unique-nodeId AND p-interface.interface-name = $unique-ltpId">\r
+                                <parameter name="interface-name" value="`$unique-ltpId`"/>\r
+                                <parameter name="network-ref" value="`$tp.supporting-termination-point[0].network-ref`"/>\r
+                                <parameter name="transparent" value="`$tp.svc.supported-classification.transparent`"/>\r
+                                <parameter name="speed-value" value="`$tp.te.interface-switching-capability[0].max-lsp-bandwidth[0].te-bandwidth.eth-bandwidth`"/>\r
+                                <parameter name="operational-status" value="`$tp.te.oper-status`"/>\r
+                                <parameter name="in-maint" value="true"/>\r
+                                <parameter name="inter-layer-lock-id" value="`$tp.te.inter-layer-lock-id[0]`"/>\r
+                                <parameter name="inter-domain-plug-id" value="`$tp.te.inter-domain-plug-id`"/>\r
+                                <outcome value="success">\r
+                                    <block/>\r
+                                </outcome>\r
+                                <outcome value="failure">\r
+                                    <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="p-interface" key="pnf.pnf-name = $unique-nodeId AND p-interface.interface-name = $unique-ltpId">\r
+                                        <parameter name="interface-name" value="`$unique-ltpId`"/>\r
+                                        <parameter name="network-ref" value="`$tp.supporting-termination-point[0].network-ref`"/>\r
+                                        <parameter name="transparent" value="`$tp.svc.supported-classification.transparent`"/>\r
+                                        <parameter name="speed-value" value="`$tp.te.interface-switching-capability[0].max-lsp-bandwidth[0].te-bandwidth.eth-bandwidth`"/>\r
+                                        <parameter name="operational-status" value="`$tp.te.oper-status`"/>\r
+                                        <parameter name="in-maint" value="true"/>\r
+                                        <parameter name="inter-layer-lock-id" value="`$tp.te.inter-layer-lock-id[0]`"/>\r
+                                        <parameter name="inter-domain-plug-id" value="`$tp.te.inter-domain-plug-id`"/>\r
+                                    </update>\r
+                                </outcome>\r
+                            </save>\r
+                        </for>\r
+                    </outcome>\r
+                </switch>\r
+            </for>\r
+            <call module="DataChange" rpc="update-network-links-to-aai" mode="sync"/>\r
+        </block>\r
+    </method>\r
 </service-logic>
\ No newline at end of file