self-serve dg patch
[sdnc/oam.git] / platform-logic / generic-resource-api / src / main / xml / GENERIC-RESOURCE-API_self-serve-vnf-changeassign.xml
index dc7b160..4e04946 100644 (file)
@@ -2,7 +2,7 @@
     xmlns='http://www.onap.org/sdnc/svclogic'
     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}'>
     <method rpc='self-serve-vnf-changeassign' mode='sync'>
-        <block atomic="true">
+        <block atomic='true'>
             <switch test='`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param_length`'>
                 <outcome value=''>
                     <return status='failure'>
                 </outcome>
             </switch>
             <for index='i' start='0' end='`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param_length`' >
-                <block atomic='true'>
-                    <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param_length`'>
-                        <outcome value='Other'>
+                <switch test="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param_length == ''`">
+                    <outcome value='false'>
+                        <block atomic='true'>
+                            <set>
+                                <parameter name='ss.input.param.found.in.service.param' value='false' />
+                            </set>
                             <for index='j' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param_length`' >
                                 <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$j].name == $vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$i].name`'>
-                                    <outcome value='false'>
-                                        <return status='failure'>
-                                            <parameter name='ack-final' value='Y'/>
-                                            <parameter name="error-code" value="500" />
-                                            <parameter name="error-message" value="`'No param with param[].name = ' +  $vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$i].name + ' found in service-data.'`" />
-                                        </return>
-                                    </outcome>
                                     <outcome value='true'>
                                         <block atomic='true'>
                                             <set>
                                                 <parameter name='`service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$j].resource-resolution-data.status`' value='PENDING'/>
                                                 <parameter name='ss.input.param.index' value='`$i`' />
                                                 <parameter name='ss.service-data.param.index' value='`$j`' />
+                                                <parameter name='ss.input.param.found.in.service.param' value='true' />
+                                                <parameter name='ss.capability-type' value='vnf' />
+                                                <parameter name='ss.capability-action' value='changeassign' />
                                             </set>
                                             <call module='GENERIC-RESOURCE-API' rpc='self-serve-generate-name-changeassign' mode='sync' >
                                                 <outcome value='failure'>
                                                     </return>
                                                 </outcome>
                                             </call>
+                                            <return status='success'></return>
                                         </block>
                                     </outcome>
                                 </switch>
                             </for>
-                        </outcome>
-                    </switch>
-                </block>
+                            <switch test='`$ss.input.param.found.in.service.param`'>
+                                <outcome value='false'>
+                                    <return status='failure'>
+                                        <parameter name='ack-final' value='Y'/>
+                                        <parameter name="error-code" value="500" />
+                                        <parameter name="error-message" value="`'No param with param[].name = ' +  $vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$i].name + ' found in service-data.'`" />
+                                    </return>
+                                </outcome>
+                            </switch>
+                        </block>
+                    </outcome>
+                </switch>
             </for>
         </block>
     </method>