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
1 <service-logic xsi:schemaLocation="http://www.onap.org/sdnc/svclogic ./svclogic.xsd" module="DataChange" version="${project.version}">\r
2     <method rpc="update-network-to-aai" mode="sync">\r
3         <block atomic="true">\r
4             <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils" method="replace">\r
5                 <parameter name="source" value="`$network.network-id`"/>\r
6                 <parameter name="outputPath" value="tmp.network-id"/>\r
7                 <parameter name="target" value="/"/>\r
8                 <parameter name="replacement" value="-"/>\r
9             </execute>\r
10             <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="network-resource" key="network-resource.network-id = $tmp.network-id">\r
11                 <parameter name="network-id" value="`$tmp.network-id`"/>\r
12                 <parameter name="client-id" value="`$network.client-id`"/>\r
13                 <parameter name="te-topo-id" value="`$network.te-topology-id`"/>\r
14                 <parameter name="provider-id" value="`$network.provider-id`"/>\r
15                 <parameter name="network-type" value="`$network.network-types`"/>\r
16             </save>\r
17             <for index="pidx" start="0" end="`$network.node_length`">\r
18                 <set>\r
19                     <parameter name="node." value="`$network.node[$pidx].`"/>\r
20                     <parameter name="unique-networkId" value="`$tmp.network-id`"/>\r
21                 </set>\r
22                 <set>\r
23                     <parameter name="unique-nodeId" value="`'networkId-' + $unique-networkId + '-nodeId-' + $node.node-id`"/>\r
24                 </set>\r
25                 <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="pnf" key="pnf.pnf-name = $unique-nodeId">\r
26                     <parameter name="pnf-name" value="`$unique-nodeId`"/>\r
27                     <parameter name="pnf-id" value="`$node.node-id`"/>\r
28                     <parameter name="operational-status" value="`$node.te.oper-status`"/>\r
29                     <parameter name="admin-status" value="`$node.te.te-node-attributes.admin-status`"/>\r
30                     <parameter name="in-maint" value="true"/>\r
31                 </save>\r
32                 <switch test="`$node.te.tunnel-termination-point_length`">\r
33                     <outcome value="">\r
34                         <block/>\r
35                     </outcome>\r
36                     <outcome value="0">\r
37                         <block/>\r
38                     </outcome>\r
39                     <outcome value="Other">\r
40                         <for index="ttidx" start="0" end="`$node.te.tunnel-termination-point_length`">\r
41                             <set>\r
42                                 <parameter name="ttp." value="`$node.te.tunnel-termination-point[$ttidx].`"/>\r
43                             </set>\r
44                             <set>\r
45                                 <parameter name="unique-ttpId" value="`$unique-nodeId + '-ttpId-' + $ttp.tunnel-tp-id`"/>\r
46                             </set>\r
47                             <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
48                                 <parameter name="ttp-id" value="`$unique-ttpId`"/>\r
49                                 <parameter name="tunnel-tp-id" value="`$ttp.tunnel-tp-id`"/>\r
50                                 <parameter name="name" value="`$ttp.name`"/>\r
51                                 <parameter name="admin-status" value="`$ttp.admin-status`"/>\r
52                                 <parameter name="oper-status" value="`$ttp.oper-status`"/>\r
53                                 <parameter name="inter-layer-lock-id" value="`$ttp.inter-layer-lock-id`"/>\r
54                                 <parameter name="switching-capability" value="`$ttp.switching-capability`"/>\r
55                                 <parameter name="protection-type" value="`$ttp.protection-type`"/>\r
56                                 <parameter name="encoding" value="`$ttp.encoding`"/>\r
57                                 <outcome value="success">\r
58                                     <block/>\r
59                                 </outcome>\r
60                                 <outcome value="failure">\r
61                                     <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
62                                         <parameter name="ttp-id" value="`$unique-ttpId`"/>\r
63                                         <parameter name="tunnel-tp-id" value="`$ttp.tunnel-tp-id`"/>\r
64                                         <parameter name="name" value="`$ttp.name`"/>\r
65                                         <parameter name="admin-status" value="`$ttp.admin-status`"/>\r
66                                         <parameter name="oper-status" value="`$ttp.oper-status`"/>\r
67                                         <parameter name="inter-layer-lock-id" value="`$ttp.inter-layer-lock-id`"/>\r
68                                         <parameter name="switching-capability" value="`$ttp.switching-capability`"/>\r
69                                         <parameter name="protection-type" value="`$ttp.protection-type`"/>\r
70                                         <parameter name="encoding" value="`$ttp.encoding`"/>\r
71                                     </update>\r
72                                 </outcome>\r
73                             </save>\r
74                             <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
75                                 <parameter name="relationship-list.relationship[$ttidx].related-to" value="tunnel-termination-point"/>\r
76                                 <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
77                                 <parameter name="relationship-list.relationship[$ttidx].relationship-data[0].relationship-key" value="tunnel-termination-point.ttp-id"/>\r
78                                 <parameter name="relationship-list.relationship[$ttidx].relationship-data[0].relationship-value" value="`$unique-ttpId`"/>\r
79                             </save>\r
80                         </for>\r
81                     </outcome>\r
82                 </switch>\r
83                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">\r
84                     <parameter name="file" value="/opt/onap/hesamlogx.txt"/>\r
85                     <parameter name="field1" value="__TIMESTAMP__"/>\r
86                     <parameter name="field2" value="sucess executing Hesam hesam log file"/>\r
87                     <parameter name="field3" value="`$node.te.tunnel-termination-point_length`"/>\r
88                     <parameter name="field4" value="`$node.termination-point_length`"/>\r
89                 </record>\r
90                 <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
91                     <parameter name="relationship-list.relationship[0].related-to" value="network-resource"/>\r
92                     <parameter name="relationship-list.relationship[0].related-link" value="`'/network/network-resources/network-resource/' + $tmp.network-id`"/>\r
93                     <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="network-resource.network-id"/>\r
94                     <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$tmp.network-id`"/>\r
95                 </save>\r
96                 <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
97                     <parameter name="relationship-list.relationship[0].related-to" value="pnf"/>\r
98                     <parameter name="relationship-list.relationship[0].related-link" value="`'/network/pnfs/pnf/' + $node.node-id`"/>\r
99                     <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="pnf.pnf-name"/>\r
100                     <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$node.node-id`"/>\r
101                 </save>\r
102                 <switch test="`$node.termination-point_length`">\r
103                     <outcome value="">\r
104                         <block/>\r
105                     </outcome>\r
106                     <outcome value="0">\r
107                         <block/>\r
108                     </outcome>\r
109                     <outcome value="Other">\r
110                         <for index="tidx" start="0" end="`$node.termination-point_length`">\r
111                             <set>\r
112                                 <parameter name="tp." value="`$node.termination-point[$tidx].`"/>\r
113                             </set>\r
114                             <set>\r
115                                 <parameter name="unique-ltpId" value="`$unique-nodeId + '-ltpId-' + $tp.te-tp-id`"/>\r
116                             </set>\r
117                             <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
118                                 <parameter name="interface-name" value="`$unique-ltpId`"/>\r
119                                 <parameter name="network-ref" value="`$tp.supporting-termination-point[0].network-ref`"/>\r
120                                 <parameter name="transparent" value="`$tp.svc.supported-classification.transparent`"/>\r
121                                 <parameter name="speed-value" value="`$tp.te.interface-switching-capability[0].max-lsp-bandwidth[0].te-bandwidth.eth-bandwidth`"/>\r
122                                 <parameter name="operational-status" value="`$tp.te.oper-status`"/>\r
123                                 <parameter name="in-maint" value="true"/>\r
124                                 <parameter name="inter-layer-lock-id" value="`$tp.te.inter-layer-lock-id[0]`"/>\r
125                                 <parameter name="inter-domain-plug-id" value="`$tp.te.inter-domain-plug-id`"/>\r
126                                 <outcome value="success">\r
127                                     <block/>\r
128                                 </outcome>\r
129                                 <outcome value="failure">\r
130                                     <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
131                                         <parameter name="interface-name" value="`$unique-ltpId`"/>\r
132                                         <parameter name="network-ref" value="`$tp.supporting-termination-point[0].network-ref`"/>\r
133                                         <parameter name="transparent" value="`$tp.svc.supported-classification.transparent`"/>\r
134                                         <parameter name="speed-value" value="`$tp.te.interface-switching-capability[0].max-lsp-bandwidth[0].te-bandwidth.eth-bandwidth`"/>\r
135                                         <parameter name="operational-status" value="`$tp.te.oper-status`"/>\r
136                                         <parameter name="in-maint" value="true"/>\r
137                                         <parameter name="inter-layer-lock-id" value="`$tp.te.inter-layer-lock-id[0]`"/>\r
138                                         <parameter name="inter-domain-plug-id" value="`$tp.te.inter-domain-plug-id`"/>\r
139                                     </update>\r
140                                 </outcome>\r
141                             </save>\r
142                         </for>\r
143                     </outcome>\r
144                 </switch>\r
145             </for>\r
146             <call module="DataChange" rpc="update-network-links-to-aai" mode="sync"/>\r
147         </block>\r
148     </method>\r
149 </service-logic>