DG'S added for MDONS use case
[sdnc/oam.git] / platform-logic / optical-service / src / main / xml / optical-service_bandwidth-update-odu2.xml
diff --git a/platform-logic/optical-service/src/main/xml/optical-service_bandwidth-update-odu2.xml b/platform-logic/optical-service/src/main/xml/optical-service_bandwidth-update-odu2.xml
new file mode 100644 (file)
index 0000000..60ed0a4
--- /dev/null
@@ -0,0 +1,205 @@
+<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='optical-service' version='${project.version}'>\r
+    <method rpc='bandwidth-update-odu2' mode='sync'>\r
+        <block atomic="true">\r
+            <switch test='`$optical-service-create-input.payload.service-rate`'>\r
+                <outcome value='ODU0'>\r
+                    <block>\r
+                        <set>\r
+                            <parameter name='new-rate' value='' />\r
+                        </set>\r
+                        <for index='idx' start='0' end='pin.bandwidth-attributes.bandwidth-attribute[0].available-bandwidth-map.available-bandwidth_length' >\r
+                            <set>\r
+                                <parameter name='odu-name' value='`$pin.bandwidth-attributes.bandwidth-attribute[0].available-bandwidth-map.available-bandwidth[$idx].odu-type`' />\r
+                                <parameter name='odu-number' value='`$pin.bandwidth-attributes.bandwidth-attribute[0].available-bandwidth-map.available-bandwidth[$idx].number`' />\r
+                            </set>\r
+                            <switch test='`$odu-name`'>\r
+                                <outcome value='ODU0'>\r
+                                    <block>\r
+                                        <set>\r
+                                            <parameter name='new-rate' value='`$new-rate + $odu-number * 1.25 - 1.25 `' />\r
+                                            <parameter name='new-odu-number' value='`$new-rate / 1.25`' />\r
+                                        </set>\r
+                                        <update plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' \r
+force='true'\r
+resource='available-bandwidth'\r
+     key='pnf.pnf-name = $pnf-name AND\r
+     p-interface.interface-name = $pinterface-name AND\r
+     bandwidth-attribute.id = $pin.bandwidth-attributes.bandwidth-attribute[0].id AND\r
+     available-bandwidth.id = $pin.bandwidth-attributes.bandwidth-attribute[0].available-bandwidth-map.available-bandwidth[0].id' \r
+      local-only='false'>\r
+                                            <parameter name='number' value='`$new-odu-number`' />\r
+                                        </update>\r
+                                    </block>\r
+                                </outcome>\r
+                                <outcome value='ODU1'>\r
+                                    <block>\r
+                                        <set>\r
+                                            <parameter name='new-odu-number' value='`$new-rate / 2.5`' />\r
+                                        </set>\r
+                                        <update plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' \r
+force='true'\r
+resource='available-bandwidth'\r
+     key='pnf.pnf-name = $pnf-name AND\r
+     p-interface.interface-name = $pinterface-name AND\r
+     bandwidth-attribute.id = $pin.bandwidth-attributes.bandwidth-attribute[0].id AND\r
+     available-bandwidth.id = $pin.bandwidth-attributes.bandwidth-attribute[0].available-bandwidth-map.available-bandwidth[0].id' \r
+      local-only='false'>\r
+                                            <parameter name='number' value='`$new-odu-number`' />\r
+                                        </update>\r
+                                    </block>\r
+                                </outcome>\r
+                                <outcome value='ODU2'>\r
+                                    <block>\r
+                                        <set>\r
+                                            <parameter name='new-odu-number' value='0' />\r
+                                        </set>\r
+                                        <update plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' \r
+force='true'\r
+resource='available-bandwidth'\r
+     key='pnf.pnf-name = $pnf-name AND\r
+     p-interface.interface-name = $pinterface-name AND\r
+     bandwidth-attribute.id = $pin.bandwidth-attributes.bandwidth-attribute[0].id AND\r
+     available-bandwidth.id = $pin.bandwidth-attributes.bandwidth-attribute[0].available-bandwidth-map.available-bandwidth[0].id' \r
+      local-only='false'>\r
+                                            <parameter name='number' value='`$new-odu-number`' />\r
+                                        </update>\r
+                                    </block>\r
+                                </outcome>\r
+                            </switch>\r
+                        </for>\r
+                    </block>\r
+                </outcome>\r
+                <outcome value='ODU1'>\r
+                    <block>\r
+                        <set>\r
+                            <parameter name='new-rate' value='' />\r
+                        </set>\r
+                        <for index='idx' start='0' end='pin.bandwidth-attributes.bandwidth-attribute[0].available-bandwidth-map.available-bandwidth_length' >\r
+                            <set>\r
+                                <parameter name='odu-name' value='`$pin.bandwidth-attributes.bandwidth-attribute[0].available-bandwidth-map.available-bandwidth[$idx].odu-type`' />\r
+                                <parameter name='odu-number' value='`$pin.bandwidth-attributes.bandwidth-attribute[0].available-bandwidth-map.available-bandwidth[$idx].number`' />\r
+                            </set>\r
+                            <switch test='`$odu-name`'>\r
+                                <outcome value='ODU0'>\r
+                                    <block>\r
+                                        <set>\r
+                                            <parameter name='new-rate' value='`$new-rate + $odu-number * 1.5 - 2.5`' />\r
+                                            <parameter name='new-odu-number' value='`$new-rate / 1.25`' />\r
+                                        </set>\r
+                                        <update plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' \r
+force='true'\r
+resource='available-bandwidth'\r
+     key='pnf.pnf-name = $pnf-name AND\r
+     p-interface.interface-name = $pinterface-name AND\r
+     bandwidth-attribute.id = $pin.bandwidth-attributes.bandwidth-attribute[0].id AND\r
+     available-bandwidth.id = $pin.bandwidth-attributes.bandwidth-attribute[0].available-bandwidth-map.available-bandwidth[0].id' \r
+      local-only='false'>\r
+                                            <parameter name='number' value='`$new-odu-number`' />\r
+                                        </update>\r
+                                    </block>\r
+                                </outcome>\r
+                                <outcome value='ODU1'>\r
+                                    <block>\r
+                                        <set>\r
+                                            <parameter name='new-odu-number' value='`$new-rate / 2.5`' />\r
+                                        </set>\r
+                                        <update plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' \r
+force='true'\r
+resource='available-bandwidth'\r
+     key='pnf.pnf-name = $pnf-name AND\r
+     p-interface.interface-name = $pinterface-name AND\r
+     bandwidth-attribute.id = $pin.bandwidth-attributes.bandwidth-attribute[0].id AND\r
+     available-bandwidth.id = $pin.bandwidth-attributes.bandwidth-attribute[0].available-bandwidth-map.available-bandwidth[0].id' \r
+      local-only='false'>\r
+                                            <parameter name='number' value='`$new-odu-number`' />\r
+                                        </update>\r
+                                    </block>\r
+                                </outcome>\r
+                                <outcome value='ODU2'>\r
+                                    <block>\r
+                                        <set>\r
+                                            <parameter name='new-odu-number' value='0' />\r
+                                        </set>\r
+                                        <update plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' \r
+force='true'\r
+resource='available-bandwidth'\r
+     key='pnf.pnf-name = $pnf-name AND\r
+     p-interface.interface-name = $pinterface-name AND\r
+     bandwidth-attribute.id = $pin.bandwidth-attributes.bandwidth-attribute[0].id AND\r
+     available-bandwidth.id = $pin.bandwidth-attributes.bandwidth-attribute[0].available-bandwidth-map.available-bandwidth[0].id' \r
+      local-only='false'>\r
+                                            <parameter name='number' value='`$new-odu-number`' />\r
+                                        </update>\r
+                                    </block>\r
+                                </outcome>\r
+                            </switch>\r
+                        </for>\r
+                    </block>\r
+                </outcome>\r
+                <outcome value='ODU2'>\r
+                    <for index='idx' start='0' end='pin.bandwidth-attributes.bandwidth-attribute[0].available-bandwidth-map.available-bandwidth_length' >\r
+                        <set>\r
+                            <parameter name='odu-name' value='`$pin.bandwidth-attributes.bandwidth-attribute[0].available-bandwidth-map.available-bandwidth[$idx].odu-type`' />\r
+                            <parameter name='odu-number' value='`$pin.bandwidth-attributes.bandwidth-attribute[0].available-bandwidth-map.available-bandwidth[$idx].number`' />\r
+                        </set>\r
+                        <switch test='`$odu-name`'>\r
+                            <outcome value='ODU0'>\r
+                                <block>\r
+                                    <set>\r
+                                        <parameter name='new-odu-number' value='0' />\r
+                                    </set>\r
+                                    <update plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' \r
+force='true'\r
+resource='available-bandwidth'\r
+     key='pnf.pnf-name = $pnf-name AND\r
+     p-interface.interface-name = $pinterface-name AND\r
+     bandwidth-attribute.id = $pin.bandwidth-attributes.bandwidth-attribute[0].id AND\r
+     available-bandwidth.id = $pin.bandwidth-attributes.bandwidth-attribute[0].available-bandwidth-map.available-bandwidth[0].id' \r
+      local-only='false'>\r
+                                        <parameter name='number' value='`$new-odu-number`' />\r
+                                    </update>\r
+                                </block>\r
+                            </outcome>\r
+                            <outcome value='ODU1'>\r
+                                <block>\r
+                                    <set>\r
+                                        <parameter name='new-odu-number' value='0' />\r
+                                    </set>\r
+                                    <update plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' \r
+force='true'\r
+resource='available-bandwidth'\r
+     key='pnf.pnf-name = $pnf-name AND\r
+     p-interface.interface-name = $pinterface-name AND\r
+     bandwidth-attribute.id = $pin.bandwidth-attributes.bandwidth-attribute[0].id AND\r
+     available-bandwidth.id = $pin.bandwidth-attributes.bandwidth-attribute[0].available-bandwidth-map.available-bandwidth[0].id' \r
+      local-only='false'>\r
+                                        <parameter name='number' value='`$new-odu-number`' />\r
+                                    </update>\r
+                                </block>\r
+                            </outcome>\r
+                            <outcome value='ODU2'>\r
+                                <block>\r
+                                    <set>\r
+                                        <parameter name='new-odu-number' value='0' />\r
+                                    </set>\r
+                                    <update plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' \r
+force='true'\r
+resource='available-bandwidth'\r
+     key='pnf.pnf-name = $pnf-name AND\r
+     p-interface.interface-name = $pinterface-name AND\r
+     bandwidth-attribute.id = $pin.bandwidth-attributes.bandwidth-attribute[0].id AND\r
+     available-bandwidth.id = $pin.bandwidth-attributes.bandwidth-attribute[0].available-bandwidth-map.available-bandwidth[0].id' \r
+      local-only='false'>\r
+                                        <parameter name='number' value='`$new-odu-number`' />\r
+                                    </update>\r
+                                </block>\r
+                            </outcome>\r
+                        </switch>\r
+                    </for>\r
+                </outcome>\r
+            </switch>\r
+        </block>\r
+    </method>\r
+</service-logic>
\ No newline at end of file