Generic resource API DG catch up
[sdnc/oam.git] / platform-logic / generic-resource-api / src / main / xml / GENERIC-RESOURCE-API_aai-get-network-instance-group.xml
diff --git a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_aai-get-network-instance-group.xml b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_aai-get-network-instance-group.xml
new file mode 100755 (executable)
index 0000000..7383c3f
--- /dev/null
@@ -0,0 +1,95 @@
+<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='GENERIC-RESOURCE-API' version='${project.version}'>\r
+    <method rpc='aai-get-network-instance-group' mode='sync'>\r
+        <block atomic="true">\r
+            <set>\r
+                <parameter name='aaiapi.output.collection-customization-uuid' value='' />\r
+                <parameter name='aaiapi.output.collection-name' value='' />\r
+                <parameter name='aaiapi.output.collection-function' value='' />\r
+                <parameter name='aaiapi.output.collection.collection-id' value='' />\r
+            </set>\r
+            <switch test='`$aaiapi.input.network-instance-group-id`'>\r
+                <outcome value=''>\r
+                    <return status='failure'>\r
+                        <parameter name="error-code" value="500" />\r
+                        <parameter name="error-message" value="Error aaiapi.input.network-instance-group-id is NULL" />\r
+                    </return>\r
+                </outcome>\r
+                <outcome value='Other'>\r
+                    <block atomic="true">\r
+                        <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
+       resource="instance-group" \r
+               key="instance-group.id = $aaiapi.input.network-instance-group-id" \r
+               local-only="false" \r
+               pfx="tmp.AnAI.networkInstanceGroup">\r
+                            <outcome value='failure'>\r
+                                <return status='failure'>\r
+                                    <parameter name="error-code" value="500" />\r
+                                    <parameter name="error-message" value="`'Error retrieving network instance group with id=' + $aaiapi.input.network-instance-group-id + ' from AnAI'`" />\r
+                                </return>\r
+                            </outcome>\r
+                            <outcome value='not-found'>\r
+                                <return status='failure'>\r
+                                    <parameter name="error-code" value="404" />\r
+                                    <parameter name="error-message" value="`'network instance group id: ' + $aaiapi.input.network-instance-group-id + 'not found in AnAI'`" />\r
+                                </return>\r
+                            </outcome>\r
+                        </get-resource>\r
+                        <for silentFailure='true' index='ridx' start='0' end="`$tmp.AnAI.networkInstanceGroup.relationship-list.relationship_length`" >\r
+                            <for silentFailure='true' index='rdidx' start='0' end="`$tmp.AnAI.networkInstanceGroup.relationship-list.relationship[$ridx].relationship-data_length`" >\r
+                                <switch test='`$tmp.AnAI.networkInstanceGroup.relationship-list.relationship[$ridx].relationship-data[$rdidx].relationship-key`'>\r
+                                    <outcome value='collection.collection-id'>\r
+                                        <block atomic="true">\r
+                                            <set>\r
+                                                <parameter name='aaiapi.output.collection.collection-id' value='`$tmp.AnAI.networkInstanceGroup.relationship-list.relationship[$ridx].relationship-data[$rdidx].relationship-value`' />\r
+                                            </set>\r
+                                        </block>\r
+                                    </outcome>\r
+                                </switch>\r
+                            </for>\r
+                        </for>\r
+                        <switch test='`$aaiapi.output.collection.collection-id`'>\r
+                            <outcome value=''>\r
+                                <return status='failure'>\r
+                                    <parameter name="error-code" value="404" />\r
+                                    <parameter name="error-message" value="`'network instance group id: ' + $aaiapi.input.network-instance-group-id + ' collection not found in AnAI'`" />\r
+                                </return>\r
+                            </outcome>\r
+                        </switch>\r
+                        <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
+       resource="collection" \r
+               key="collection.collection-id = $aaiapi.output.collection.collection-id" \r
+               local-only="false" \r
+               pfx="tmp.AnAI.collection">\r
+                            <outcome value='failure'>\r
+                                <return status='failure'>\r
+                                    <parameter name="error-code" value="500" />\r
+                                    <parameter name="error-message" value="`'Error retrieving collection with id=' + $aaiapi.output.collection.collection-id + ' from AnAI'`" />\r
+                                </return>\r
+                            </outcome>\r
+                            <outcome value='not-found'>\r
+                                <return status='failure'>\r
+                                    <parameter name="error-code" value="404" />\r
+                                    <parameter name="error-message" value="`'collection: ' + $aaiapi.output.collection.collection-id + 'not found in AnAI'`" />\r
+                                </return>\r
+                            </outcome>\r
+                            <outcome value='success'>\r
+                                <block atomic="true">\r
+                                    <set>\r
+                                        <parameter name='aaiapi.output.collection-customization-uuid' value='`$tmp.AnAI.collection.collection-customization-id`' />\r
+                                        <parameter name='aaiapi.output.collection-name' value='`$tmp.AnAI.collection.collection-name`' />\r
+                                        <parameter name='aaiapi.output.collection-function' value='`$tmp.AnAI.collection.collection-function`' />\r
+                                    </set>\r
+                                    <return status='success'>\r
+                                        <parameter name='' value='' />\r
+                                    </return>\r
+                                </block>\r
+                            </outcome>\r
+                        </get-resource>\r
+                    </block>\r
+                </outcome>\r
+            </switch>\r
+        </block>\r
+    </method>\r
+</service-logic>
\ No newline at end of file