DG'S added for MDONS use case
[sdnc/oam.git] / platform-logic / optical-service / src / main / xml / optical-service_delete-bandwidth-update-odu2.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-odu2' 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                     <block>\r
9                         <set>\r
10                             <parameter name='new-rate' value='' />\r
11                         </set>\r
12                         <for index='idx' start='0' end='pin.bandwidth-attributes.bandwidth-attribute[0].available-bandwidth-map.available-bandwidth_length' >\r
13                             <set>\r
14                                 <parameter name='odu-name' value='`$pin.bandwidth-attributes.bandwidth-attribute[0].available-bandwidth-map.available-bandwidth[$idx].odu-type`' />\r
15                                 <parameter name='odu-number' value='`$pin.bandwidth-attributes.bandwidth-attribute[0].available-bandwidth-map.available-bandwidth[$idx].number`' />\r
16                             </set>\r
17                             <switch test='`$odu-name`'>\r
18                                 <outcome value='ODU0'>\r
19                                     <block>\r
20                                         <set>\r
21                                             <parameter name='new-rate' value='`$new-rate + $odu-number * 1.25 + 1.25 `' />\r
22                                             <parameter name='new-odu-number' value='`$new-rate / 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                                 <outcome value='ODU2'>\r
54                                     <block>\r
55                                         <set>\r
56                                             <parameter name='new-odu-number' value='0' />\r
57                                         </set>\r
58                                         <update plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' \r
59 force='true'\r
60 resource='available-bandwidth'\r
61      key='pnf.pnf-name = $pnf-name AND\r
62      p-interface.interface-name = $pinterface-name AND\r
63      bandwidth-attribute.id = $pin.bandwidth-attributes.bandwidth-attribute[0].id AND\r
64      available-bandwidth.id = $pin.bandwidth-attributes.bandwidth-attribute[0].available-bandwidth-map.available-bandwidth[0].id' \r
65       local-only='false'>\r
66                                             <parameter name='number' value='`$new-odu-number`' />\r
67                                         </update>\r
68                                     </block>\r
69                                 </outcome>\r
70                             </switch>\r
71                         </for>\r
72                     </block>\r
73                 </outcome>\r
74                 <outcome value='ODU1'>\r
75                     <block>\r
76                         <set>\r
77                             <parameter name='new-rate' value='' />\r
78                         </set>\r
79                         <for index='idx' start='0' end='pin.bandwidth-attributes.bandwidth-attribute[0].available-bandwidth-map.available-bandwidth_length' >\r
80                             <set>\r
81                                 <parameter name='odu-name' value='`$pin.bandwidth-attributes.bandwidth-attribute[0].available-bandwidth-map.available-bandwidth[$idx].odu-type`' />\r
82                                 <parameter name='odu-number' value='`$pin.bandwidth-attributes.bandwidth-attribute[0].available-bandwidth-map.available-bandwidth[$idx].number`' />\r
83                             </set>\r
84                             <switch test='`$odu-name`'>\r
85                                 <outcome value='ODU0'>\r
86                                     <block>\r
87                                         <set>\r
88                                             <parameter name='new-rate' value='`$new-rate + $odu-number * 1.5 + 2.5`' />\r
89                                             <parameter name='new-odu-number' value='`$new-rate / 1.25`' />\r
90                                         </set>\r
91                                         <update plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' \r
92 force='true'\r
93 resource='available-bandwidth'\r
94      key='pnf.pnf-name = $pnf-name AND\r
95      p-interface.interface-name = $pinterface-name AND\r
96      bandwidth-attribute.id = $pin.bandwidth-attributes.bandwidth-attribute[0].id AND\r
97      available-bandwidth.id = $pin.bandwidth-attributes.bandwidth-attribute[0].available-bandwidth-map.available-bandwidth[0].id' \r
98       local-only='false'>\r
99                                             <parameter name='number' value='`$new-odu-number`' />\r
100                                         </update>\r
101                                     </block>\r
102                                 </outcome>\r
103                                 <outcome value='ODU1'>\r
104                                     <block>\r
105                                         <set>\r
106                                             <parameter name='new-odu-number' value='`$new-rate / 2.5`' />\r
107                                         </set>\r
108                                         <update plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' \r
109 force='true'\r
110 resource='available-bandwidth'\r
111      key='pnf.pnf-name = $pnf-name AND\r
112      p-interface.interface-name = $pinterface-name AND\r
113      bandwidth-attribute.id = $pin.bandwidth-attributes.bandwidth-attribute[0].id AND\r
114      available-bandwidth.id = $pin.bandwidth-attributes.bandwidth-attribute[0].available-bandwidth-map.available-bandwidth[0].id' \r
115       local-only='false'>\r
116                                             <parameter name='number' value='`$new-odu-number`' />\r
117                                         </update>\r
118                                     </block>\r
119                                 </outcome>\r
120                                 <outcome value='ODU2'>\r
121                                     <block>\r
122                                         <set>\r
123                                             <parameter name='new-odu-number' value='`$new-rate / 10`' />\r
124                                         </set>\r
125                                         <update plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' \r
126 force='true'\r
127 resource='available-bandwidth'\r
128      key='pnf.pnf-name = $pnf-name AND\r
129      p-interface.interface-name = $pinterface-name AND\r
130      bandwidth-attribute.id = $pin.bandwidth-attributes.bandwidth-attribute[0].id AND\r
131      available-bandwidth.id = $pin.bandwidth-attributes.bandwidth-attribute[0].available-bandwidth-map.available-bandwidth[0].id' \r
132       local-only='false'>\r
133                                             <parameter name='number' value='`$new-odu-number`' />\r
134                                         </update>\r
135                                     </block>\r
136                                 </outcome>\r
137                             </switch>\r
138                         </for>\r
139                     </block>\r
140                 </outcome>\r
141                 <outcome value='ODU2'>\r
142                     <for index='idx' start='0' end='pin.bandwidth-attributes.bandwidth-attribute[0].available-bandwidth-map.available-bandwidth_length' >\r
143                         <set>\r
144                             <parameter name='odu-name' value='`$pin.bandwidth-attributes.bandwidth-attribute[0].available-bandwidth-map.available-bandwidth[$idx].odu-type`' />\r
145                             <parameter name='odu-number' value='`$pin.bandwidth-attributes.bandwidth-attribute[0].available-bandwidth-map.available-bandwidth[$idx].number`' />\r
146                         </set>\r
147                         <switch test='`$odu-name`'>\r
148                             <outcome value='ODU0'>\r
149                                 <block>\r
150                                     <set>\r
151                                         <parameter name='new-odu-number' value='0' />\r
152                                     </set>\r
153                                     <update plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' \r
154 force='true'\r
155 resource='available-bandwidth'\r
156      key='pnf.pnf-name = $pnf-name AND\r
157      p-interface.interface-name = $pinterface-name AND\r
158      bandwidth-attribute.id = $pin.bandwidth-attributes.bandwidth-attribute[0].id AND\r
159      available-bandwidth.id = $pin.bandwidth-attributes.bandwidth-attribute[0].available-bandwidth-map.available-bandwidth[0].id' \r
160       local-only='false'>\r
161                                         <parameter name='number' value='`$new-odu-number`' />\r
162                                     </update>\r
163                                 </block>\r
164                             </outcome>\r
165                             <outcome value='ODU1'>\r
166                                 <block>\r
167                                     <set>\r
168                                         <parameter name='new-odu-number' value='0' />\r
169                                     </set>\r
170                                     <update plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' \r
171 force='true'\r
172 resource='available-bandwidth'\r
173      key='pnf.pnf-name = $pnf-name AND\r
174      p-interface.interface-name = $pinterface-name AND\r
175      bandwidth-attribute.id = $pin.bandwidth-attributes.bandwidth-attribute[0].id AND\r
176      available-bandwidth.id = $pin.bandwidth-attributes.bandwidth-attribute[0].available-bandwidth-map.available-bandwidth[0].id' \r
177       local-only='false'>\r
178                                         <parameter name='number' value='`$new-odu-number`' />\r
179                                     </update>\r
180                                 </block>\r
181                             </outcome>\r
182                             <outcome value='ODU2'>\r
183                                 <block>\r
184                                     <set>\r
185                                         <parameter name='new-odu-number' value='1' />\r
186                                     </set>\r
187                                     <update plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' \r
188 force='true'\r
189 resource='available-bandwidth'\r
190      key='pnf.pnf-name = $pnf-name AND\r
191      p-interface.interface-name = $pinterface-name AND\r
192      bandwidth-attribute.id = $pin.bandwidth-attributes.bandwidth-attribute[0].id AND\r
193      available-bandwidth.id = $pin.bandwidth-attributes.bandwidth-attribute[0].available-bandwidth-map.available-bandwidth[0].id' \r
194       local-only='false'>\r
195                                         <parameter name='number' value='`$new-odu-number`' />\r
196                                     </update>\r
197                                 </block>\r
198                             </outcome>\r
199                         </switch>\r
200                     </for>\r
201                 </outcome>\r
202             </switch>\r
203         </block>\r
204     </method>\r
205 </service-logic>