DG'S added for MDONS use case
[sdnc/oam.git] / platform-logic / optical-service / src / main / xml / optical-service_delete-bandwidth-update-odu1.xml
1 <service-logic\r
2     xmlns='http://www.onap.org/sdnc/svclogic'\r
3     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
4     <method rpc='delete-bandwidth-update-odu1' mode='sync'>\r
5         <block atomic="true">\r
6             <switch test='`$optical-service-create-input.payload.service-rate`'>\r
7                 <outcome value='ODU0'>\r
8                     <for index='idx' start='0' end='pin.bandwidth-attributes.bandwidth-attribute[0].available-bandwidth-map.available-bandwidth_length' >\r
9                         <set>\r
10                             <parameter name='new-rate' value='' />\r
11                         </set>\r
12                         <set>\r
13                             <parameter name='odu-name' value='`pin.bandwidth-attributes.bandwidth-attribute[0].available-bandwidth-map.available-bandwidth[$idx].odu-type`' />\r
14                             <parameter name='odu-number' value='`pin.bandwidth-attributes.bandwidth-attribute[0].available-bandwidth-map.available-bandwidth[$idx].number`' />\r
15                         </set>\r
16                         <switch test='`$odu-name`'>\r
17                             <outcome value='ODU0'>\r
18                                 <block>\r
19                                     <set>\r
20                                         <parameter name='mul' value='`$odu-number * 1.25`' />\r
21                                         <parameter name='add' value='`$new-rate + $mul + 1.25`' />\r
22                                         <parameter name='new-odu-number' value='`$add / 1.25`' />\r
23                                     </set>\r
24                                     <update plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' \r
25 force='true'\r
26 resource='available-bandwidth'\r
27      key='pnf.pnf-name = $pnf-name AND\r
28      p-interface.interface-name = $pinterface-name AND\r
29      bandwidth-attribute.id = $pin.bandwidth-attributes.bandwidth-attribute[0].id AND\r
30      available-bandwidth.id = $pin.bandwidth-attributes.bandwidth-attribute[0].available-bandwidth-map.available-bandwidth[0].id' \r
31       local-only='false'>\r
32                                         <parameter name='number' value='`$new-odu-number`' />\r
33                                     </update>\r
34                                 </block>\r
35                             </outcome>\r
36                             <outcome value='ODU1'>\r
37                                 <block>\r
38                                     <set>\r
39                                         <parameter name='new-odu-number' value='`$new-rate / 2.5`' />\r
40                                     </set>\r
41                                     <update plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' \r
42 force='true'\r
43 resource='available-bandwidth'\r
44      key='pnf.pnf-name = $pnf-name AND\r
45      p-interface.interface-name = $pinterface-name AND\r
46      bandwidth-attribute.id = $pin.bandwidth-attributes.bandwidth-attribute[0].id AND\r
47      available-bandwidth.id = $pin.bandwidth-attributes.bandwidth-attribute[0].available-bandwidth-map.available-bandwidth[0].id' \r
48       local-only='false'>\r
49                                         <parameter name='number' value='`$new-odu-number`' />\r
50                                     </update>\r
51                                 </block>\r
52                             </outcome>\r
53                         </switch>\r
54                     </for>\r
55                 </outcome>\r
56                 <outcome value='ODU1'>\r
57                     <for index='idx' start='0' end='pin.bandwidth-attributes.bandwidth-attribute[0].available-bandwidth-map.available-bandwidth_length' >\r
58                         <set>\r
59                             <parameter name='odu-name' value='`pin.bandwidth-attributes.bandwidth-attribute[0].available-bandwidth-map.available-bandwidth[$idx].odu-type`' />\r
60                             <parameter name='odu-number' value='`pin.bandwidth-attributes.bandwidth-attribute[0].available-bandwidth-map.available-bandwidth[$idx].number`' />\r
61                         </set>\r
62                         <switch test='`$odu-name`'>\r
63                             <outcome value='ODU0'>\r
64                                 <block>\r
65                                     <set>\r
66                                         <parameter name='new-odu-number' value='0' />\r
67                                     </set>\r
68                                     <update plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' \r
69 force='true'\r
70 resource='available-bandwidth'\r
71      key='pnf.pnf-name = $pnf-name AND\r
72      p-interface.interface-name = $pinterface-name AND\r
73      bandwidth-attribute.id = $pin.bandwidth-attributes.bandwidth-attribute[0].id AND\r
74      available-bandwidth.id = $pin.bandwidth-attributes.bandwidth-attribute[0].available-bandwidth-map.available-bandwidth[0].id' \r
75       local-only='false'>\r
76                                         <parameter name='number' value='`$new-odu-number`' />\r
77                                     </update>\r
78                                 </block>\r
79                             </outcome>\r
80                             <outcome value='ODU1'>\r
81                                 <block>\r
82                                     <set>\r
83                                         <parameter name='new-odu-number' value='1' />\r
84                                     </set>\r
85                                     <update plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' \r
86 force='true'\r
87 resource='available-bandwidth'\r
88      key='pnf.pnf-name = $pnf-name AND\r
89      p-interface.interface-name = $pinterface-name AND\r
90      bandwidth-attribute.id = $pin.bandwidth-attributes.bandwidth-attribute[0].id AND\r
91      available-bandwidth.id = $pin.bandwidth-attributes.bandwidth-attribute[0].available-bandwidth-map.available-bandwidth[0].id' \r
92       local-only='false'>\r
93                                         <parameter name='number' value='`$new-odu-number`' />\r
94                                     </update>\r
95                                 </block>\r
96                             </outcome>\r
97                         </switch>\r
98                     </for>\r
99                 </outcome>\r
100             </switch>\r
101         </block>\r
102     </method>\r
103 </service-logic>