<service-logic
    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='ran-slice-api' version='${project.version}'>
    <method rpc='instantiateRANSliceReconfigure-cps' mode='sync'>
        <block atomic='true'>
            <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
                <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSlice.log" />
                <parameter name="level" value="info" />
                <parameter name="field1" value="Reached instantiateRANSliceReconfigure "/>
            </record>
            <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='contains' emitsOutcome='true' >
                <parameter name='source' value='`$instantiate-r-a-n-slice-input.payload`' />
                <parameter name='target' value='dLThptPerSlice' />
                <outcome value='true'>
                    <block atomic="true">
                        <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
                            <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" />
                            <parameter name="level" value="info" />
                            <parameter name="field1" value="PAYLOAD contains dLThptPerSlice...Closed loop "/>
                        </record>
                        <block atomic="true">
                            <set>
                                <parameter name='tmp.payload.numberUpdates' value='`$payloadJson.input.additionalproperties.resourceConfig.data_length`'/>
                                <parameter name="tmp.sliceProfileId" value="`$payloadJson.input.sliceProfile.sliceProfileId`"/>
                                <parameter name='tmp.payload.sNSSAI' value='`$payloadJson.input.sliceProfile.sNSSAI`'/>
                            </set>
                            <for index='id1' start='0' end="`$tmp.payload.numberUpdates`" >
                                <set>
                                    <parameter name="tmp.dLThptPerSlice" value="`$payloadJson.input.additionalproperties.resourceConfig.data[$id1].dLThptPerSlice`"/>
                                    <parameter name="tmp.uLThptPerSlice" value="`$payloadJson.input.additionalproperties.resourceConfig.data[$id1].uLThptPerSlice`"/>
                                    <parameter name="tmp.nearRTRICId" value="`$payloadJson.input.additionalproperties.resourceConfig.data[$id1].nearRTRICId`"/>
                                </set>
                                <switch test='`$tmp.nearRTRICId == 11 `'>
                                    <outcome value='true'>
                                        <set>
                                            <parameter name='tmp.policytype.url' value='`$prop.a1.policytype.url.nearrtric11`'/>
                                            <parameter name="tmp.policyinstance.url" value="`$prop.a1.policyinstance.url.nearrtric11`"/>
                                        </set>
                                    </outcome>
                                    <outcome value='false'>
                                        <set>
                                            <parameter name='tmp.policytype.url' value='`$prop.a1.policytype.url.nearrtric22`'/>
                                            <parameter name="tmp.policyinstance.url" value="`$prop.a1.policyinstance.url.nearrtric22`"/>
                                        </set>
                                    </outcome>
                                </switch>
                                <block atomic='true'>
                                    <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
                                        <parameter name="restapiUrl" value="`$tmp.policytype.url`"/>
                                        <parameter name='format' value='json' />
                                        <parameter name='httpMethod' value='GET' />
                                        <parameter name='contentType' value='application/json' />
                                        <parameter name='responsePrefix' value='get-policytypes-responsse' />
                                        <outcome value='success'>
                                            <block atomic='true'>
                                                <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>
                                                    <parameter name='outputPath' value='tmp.policytypelength' />
                                                    <parameter name='source' value="`'get-policytypes-responsse._length'`" />
                                                </execute>
                                                <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
                                                    <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" />
                                                    <parameter name="level" value="info" />
                                                    <parameter name="field1" value="policy types length "/>
                                                    <parameter name="field2" value="`$tmp.policytypelength`"/>
                                                </record>
                                                <switch test='`$tmp.policytypelength > 0`'>
                                                    <outcome value='true'>
                                                        <block atomic='true'>
                                                            <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
                                                                <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" />
                                                                <parameter name="level" value="info" />
                                                                <parameter name="field1" value="policy type already exists "/>
                                                                <parameter name="field2" value="SUCCESSFULL"/>
                                                            </record>
                                                        </block>
                                                    </outcome>
                                                    <outcome value='false'>
                                                        <block atomic='true'>
                                                            <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
                                                                <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" />
                                                                <parameter name="level" value="info" />
                                                                <parameter name="field1" value="creating new policy "/>
                                                                <parameter name="field2" value="SUCCESSFULL"/>
                                                            </record>
                                                            <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
                                                                <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/A1policytype.json'`" />
                                                                <parameter name="restapiUrl" value="https://10.31.4.11:30226/events/A1-P"/>
                                                                <parameter name='format' value='json' />
                                                                <parameter name='httpMethod' value='POST' />
                                                                <parameter name='contentType' value='application/json' />
                                                                <parameter name='responsePrefix' value='dmaap' />
                                                                <outcome value='success'>
                                                                    <block atomic='true'>
                                                                        <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
                                                                            <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" />
                                                                            <parameter name="level" value="info" />
                                                                            <parameter name="field1" value="Create policytype "/>
                                                                            <parameter name="field2" value="Succesfull"/>
                                                                        </record>
                                                                    </block>
                                                                </outcome>
                                                            </execute>
                                                        </block>
                                                    </outcome>
                                                </switch>
                                                <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
                                                    <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/A1policyinstance.json'`" />
                                                    <parameter name="restapiUrl" value="https://10.31.4.11:30226/events/A1-P"/>
                                                    <parameter name='format' value='json' />
                                                    <parameter name='httpMethod' value='POST' />
                                                    <parameter name='contentType' value='application/json' />
                                                    <parameter name='responsePrefix' value='dmaap-res' />
                                                    <outcome value='success'>
                                                        <block atomic='true'>
                                                            <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
                                                                <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" />
                                                                <parameter name="level" value="info" />
                                                                <parameter name="field1" value="Create policyinstance "/>
                                                                <parameter name="field2" value="Succesfull"/>
                                                            </record>
                                                        </block>
                                                    </outcome>
                                                </execute>
                                            </block>
                                        </outcome>
                                        <outcome value='failure'>
                                            <block atomic='true'>
                                                <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
                                                    <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" />
                                                    <parameter name="level" value="info" />
                                                    <parameter name="field1" value="req error "/>
                                                    <parameter name="field2" value="Failure"/>
                                                </record>
                                            </block>
                                        </outcome>
                                    </execute>
                                </block>
                                <block atomic='true'>
                                    <switch test='`$prop.ransim-mounted`'>
                                        <outcome value='false'>
                                            <block atomic='true'>
                                                <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
                                                    <parameter name="source" value="`$prop.restapi.addSliceProfile.ToNearRTRIC`"/>
                                                    <parameter name="outputPath" value="tmp.restapi.addSliceProfile.ToNearRTRIC.url"/>
                                                    <parameter name="target" value="{idNearRTRIC}"/>
                                                    <parameter name="replacement" value="`$tmp.nearRTRICId`"/>
                                                </execute>
                                                <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
                                                    <parameter name="source" value="`$tmp.restapi.addSliceProfile.ToNearRTRIC.url`"/>
                                                    <parameter name="outputPath" value="tmp.restapi.addSliceProfile.ToNearRTRIC.url"/>
                                                    <parameter name="target" value="{sliceProfileId}"/>
                                                    <parameter name="replacement" value="`$tmp.sliceProfileId`"/>
                                                </execute>
                                            </block>
                                        </outcome>
                                        <outcome value='true'>
                                            <block atomic='true'>
                                                <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
                                                    <parameter name="source" value="`$prop.restapi.addSliceProfile.ToNearRTRIC.ransim-mounted`"/>
                                                    <parameter name="outputPath" value="tmp.restapi.addSliceProfile.ToNearRTRIC.url"/>
                                                    <parameter name="target" value="{idNearRTRIC}"/>
                                                    <parameter name="replacement" value="`$tmp.nearRTRICId`"/>
                                                </execute>
                                                <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
                                                    <parameter name="source" value="`$tmp.restapi.addSliceProfile.ToNearRTRIC.url`"/>
                                                    <parameter name="outputPath" value="tmp.restapi.addSliceProfile.ToNearRTRIC.url"/>
                                                    <parameter name="target" value="{sliceProfileId}"/>
                                                    <parameter name="replacement" value="`$tmp.sliceProfileId`"/>
                                                </execute>
                                                <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
                                                    <parameter name="source" value="`$tmp.restapi.addSliceProfile.ToNearRTRIC.url`"/>
                                                    <parameter name="outputPath" value="tmp.restapi.addSliceProfile.ToNearRTRIC.url"/>
                                                    <parameter name="target" value="{mountName}"/>
                                                    <parameter name="replacement" value="`$tmp.nearRTRICId`"/>
                                                </execute>
                                            </block>
                                        </outcome>
                                    </switch>
                                    <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
                                        <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" />
                                        <parameter name="level" value="info" />
                                        <parameter name="field1" value="Patch SliceProfile ToNearRTRIC url for closed loop:"/>
                                        <parameter name="field2" value="`$tmp.restapi.addSliceProfile.ToNearRTRIC.url`"/>
                                    </record>
                                    <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
                                        <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" />
                                        <parameter name="level" value="info" />
                                        <parameter name="field1" value="Setting variables for PATCH SliceProfile ToNearRTRIC - closed loop"/>
                                        <parameter name="field2" value="`$prop.controller.url + $tmp.restapi.addSliceProfile.ToNearRTRIC.url`"/>
                                        <parameter name="field3" value="`$tmp.dLThptPerSlice`"/>
                                        <parameter name="field4" value="`$tmp.uLThptPerSlice`"/>
                                        <parameter name="field5" value="`$tmp.nearRTRICId`"/>
                                        <parameter name="field6" value="`$tmp.sliceProfileId`"/>
                                    </record>
                                    <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
                                        <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-closed-loop-nearRTRIC-patch.json'`" />
                                        <parameter name="restapiUrl" value="`$prop.controller.url + $tmp.restapi.addSliceProfile.ToNearRTRIC.url`"/>
                                        <parameter name="restapiUser" value="`$prop.controller.user`" />
                                        <parameter name="restapiPassword" value="`$prop.controller.pwd`"/>
                                        <parameter name="httpMethod" value="PATCH"/>
                                        <parameter name="responsePrefix" value="nearRTRIC-slice-patch-response"/>
                                        <parameter name='contentType' value='application/yang.patch+json' />
                                        <parameter name='format' value='json' />
                                        <parameter name='accept' value='application/yang.patch-status+json' />
                                        <outcome value='failure'>
                                            <block>
                                                <set>
                                                    <parameter name='error-code' value='500'/>
                                                    <parameter name='error-message' value='Error Patching slice profile parms for close loop. Exiting close loop operation'/>
                                                </set>
                                                <return status='failure'>
                                                    <parameter name='ack-final' value='Y'/>
                                                    <parameter name='error-code' value='500'/>
                                                    <parameter name='error-message' value='Error Patching slice profile parms for close loop. Exiting close loop operation'/>
                                                </return>
                                                <block atomic='true'>
                                                    <set>
                                                        <parameter name="tmp.so.callbackURL" value="`$payloadJson.input.callbackURL`"/>
                                                        <parameter name="tmp.status" value="`$error-code`"/>
                                                        <parameter name="tmp.reason" value="`$error-message`"/>
                                                        <parameter name="tmp.requestID" value="`$instantiateRANSlice-input.common-header.request-id`"/>
                                                        <parameter name="tmp.action" value="`$instantiateRANSlice-input.action`"/>
                                                    </set>
                                                    <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
                                                        <parameter name="file" value="/opt/opendaylight/current/data/log/so-callback-response.log" />
                                                        <parameter name="level" value="info" />
                                                        <parameter name="field1" value="URL for SO Callback Response"/>
                                                        <parameter name='field2' value="`$tmp.so.callbackURL`" />
                                                        <parameter name='field3' value="`$tmp.status`" />
                                                        <parameter name='field4' value="`$tmp.reason`" />
                                                        <parameter name='field5' value="`$tmp.requestID`" />
                                                        <parameter name='field6' value="`$tmp.action`" />
                                                        <parameter name='field7' value="`$tmp.CUCPList`" />
                                                        <parameter name='field8' value="`$tmp.CUUPList`" />
                                                        <parameter name='field9' value="`$tmp.DUList`" />
                                                    </record>
                                                    <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
                                                        <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-so-response.json'`" />
                                                        <parameter name="restapiUrl" value="`$tmp.so.callbackURL`"/>
                                                        <parameter name="httpMethod" value="POST"/>
                                                        <parameter name="responsePrefix" value="so-callback-response"/>
                                                        <parameter name='contentType' value='application/json' />
                                                        <parameter name='format' value='json' />
                                                        <parameter name='accept' value='*/*' />
                                                        <outcome value='failure'>
                                                            <block>
                                                                <return status='failure'>
                                                                    <parameter name='ack-final' value='Y'/>
                                                                    <parameter name="error-code" value="500" />
                                                                    <parameter name="error-message" value="Error sending SO Response" />
                                                                </return>
                                                            </block>
                                                        </outcome>
                                                        <outcome value='success'>
                                                            <block>
                                                                <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
                                                                    <parameter name="file" value="/opt/opendaylight/current/data/log/so-callback-response.log" />
                                                                    <parameter name="level" value="info" />
                                                                    <parameter name="field1" value="SO Response Sent "/>
                                                                </record>
                                                            </block>
                                                        </outcome>
                                                    </execute>
                                                </block>
                                            </block>
                                        </outcome>
                                        <outcome value='success'>
                                            <block>
                                                <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
                                                    <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" />
                                                    <parameter name="level" value="info" />
                                                    <parameter name="field1" value="Successfully PATCHED NearRTRIC for close loop operation"/>
                                                </record>
                                                <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
                                                    <parameter name='filename' value='/opt/opendaylight/current/data/log/ranSlice-closedloop-nearRTRIC-context.log' />
                                                </execute>
                                            </block>
                                        </outcome>
                                    </execute>
                                </block>
                                <block atomic='true'>
                                    <set>
                                        <parameter name='tmp.getAnchors.URL' value="`$prop.restapi.cps.anchors.endpoint`"/>
                                    </set>
                                    <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
                                        <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" />
                                        <parameter name="level" value="info" />
                                        <parameter name="field1" value="URL to fetch the anchors"/>
                                        <parameter name="field2" value="`$tmp.getAnchors.URL`"/>
                                    </record>
                                    <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
                                        <parameter name="restapiUrl" value="`$tmp.getAnchors.URL`"/>
                                        <parameter name="httpMethod" value="GET"/>
                                        <parameter name="restapiUser" value="cpsuser" />
                                        <parameter name="restapiPassword" value="cpsr0cks!"/>
                                        <parameter name="responsePrefix" value="get-anchors-cps-response"/>
                                        <parameter name='contentType' value='application/json' />
                                        <parameter name='format' value='json' />
                                        <parameter name='accept' value='application/json' />
                                        <parameter name="convertResponse" value="true"/>
                                        <outcome value='failure'>
                                            <block>
                                                <set>
                                                    <parameter name='error-code' value='500'/>
                                                    <parameter name='error-message' value='Error Getting Info from CPS. Aborting RPC executiopn'/>
                                                </set>
                                                <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
                                                    <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" />
                                                    <parameter name="level" value="info" />
                                                    <parameter name="field1" value="Failed to fetch anchors from CPS"/>
                                                </record>
                                            </block>
                                        </outcome>
                                        <outcome value='success'>
                                            <block atomic='true'>
                                                <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
                                                    <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" />
                                                    <parameter name="level" value="info" />
                                                    <parameter name="field1" value="Successfully Obtained anchors from CPS"/>
                                                    <parameter name="field2" value="`$get-anchors-cps-response._length`"/>
                                                </record>
                                                <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
                                                    <parameter name='filename' value='/opt/opendaylight/current/data/log/ranSlice-closedLoop-context.log' />
                                                </execute>
                                            </block>
                                        </outcome>
                                    </execute>
                                    <set>
                                        <parameter name='tmp.anchors.length' value="`$get-anchors-cps-response._length`"/>
                                    </set>
                                    <set>
                                        <parameter name='tmp.RIC.length' value="0"/>
                                    </set>
                                    <for index='anc' start='0' end='`$tmp.anchors.length`'>
                                        <block atomic='true'>
                                            <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>
                                                <parameter name='outputPath' value='tmp.schemaset.name' />
                                                <parameter name='source' value="`'get-anchors-cps-response.['+$anc+'].schemaSetName'`" />
                                            </execute>
                                            <switch test='`$tmp.schemaset.name`'>
                                                <outcome value='ran-inventory'>
                                                    <block atomic='true'>
                                                        <set>
                                                            <parameter name='tmp.RIC.length' value="`$tmp.RIC.length+1`"/>
                                                        </set>
                                                        <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
                                                            <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" />
                                                            <parameter name="level" value="info" />
                                                            <parameter name="field1" value="Applicable RIC length"/>
                                                            <parameter name="field2" value="`$tmp.RIC.length`"/>
                                                        </record>
                                                    </block>
                                                </outcome>
                                            </switch>
                                        </block>
                                    </for>
                                    <for index='anc' start='0' end='`$tmp.anchors.length`'>
                                        <block atomic='true'>
                                            <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>
                                                <parameter name='outputPath' value='tmp.schemaset.name' />
                                                <parameter name='source' value="`'get-anchors-cps-response.['+$anc+'].schemaSetName'`" />
                                            </execute>
                                            <switch test='`$tmp.schemaset.name`'>
                                                <outcome value='ran-inventory'>
                                                    <block atomic='true'>
                                                        <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>
                                                            <parameter name='outputPath' value='tmp.anchor.name' />
                                                            <parameter name='source' value="`'get-anchors-cps-response.['+$anc+'].name'`" />
                                                        </execute>
                                                        <block atomic='true'>
                                                            <set>
                                                                <parameter name='tmp.sliceprofileid' value="`$payloadJson.input.sliceProfile.sliceProfileId`" />
                                                            </set>
                                                            <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
                                                                <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" />
                                                                <parameter name="level" value="info" />
                                                                <parameter name="field1" value="sliceprofileid from input"/>
                                                                <parameter name="field2" value="`$tmp.sliceprofileid`"/>
                                                            </record>
                                                            <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
                                                                <parameter name="source" value="`$prop.restapi.cps.tbdmt.execute.endpoint`"/>
                                                                <parameter name="outputPath" value="tmp.cps.getPLMNID.url"/>
                                                                <parameter name="target" value="{schemaSet}"/>
                                                                <parameter name="replacement" value="`$tmp.schemaset.name`"/>
                                                            </execute>
                                                            <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
                                                                <parameter name="source" value="`$tmp.cps.getPLMNID.url`"/>
                                                                <parameter name="outputPath" value="tmp.cps.getPLMNID.url"/>
                                                                <parameter name="target" value="{templateId}"/>
                                                                <parameter name="replacement" value="`$prop.tbdmt.template.get-plmnid-mcc`"/>
                                                            </execute>
                                                            <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
                                                                <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" />
                                                                <parameter name="level" value="info" />
                                                                <parameter name="field1" value="URL for CPS TDBMT to Get plmnid from sliceprofile"/>
                                                                <parameter name='field2' value="`$tmp.cps.getPLMNID.url`" />
                                                            </record>
                                                            <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
                                                                <parameter name="restapiUrl" value="`$tmp.cps.getPLMNID.url`"/>
                                                                <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/cps-templates/cps-get-plmnid.json'`" />
                                                                <parameter name="httpMethod" value="POST"/>
                                                                <parameter name="responsePrefix" value="getplmnmccid-cps-response"/>
                                                                <parameter name='contentType' value='application/json' />
                                                                <parameter name='format' value='json' />
                                                                <parameter name='accept' value='application/json' />
                                                                <parameter name="convertResponse" value="true"/>
                                                                <outcome value='failure'>
                                                                    <block>
                                                                        <set>
                                                                            <parameter name='error-code' value='500'/>
                                                                            <parameter name='error-message' value='Error Getting Info from CPS. Aborting RPC executiopn'/>
                                                                        </set>
                                                                        <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
                                                                            <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" />
                                                                            <parameter name="level" value="info" />
                                                                            <parameter name="field1" value="UNSuccessfully Obtained MCC info from CPS"/>
                                                                            <parameter name="field2" value="`$cps-get-plmnid.json`"/>
                                                                        </record>
                                                                        <return status='failure'>
                                                                            <parameter name='ack-final' value='Y'/>
                                                                            <parameter name='error-code' value='500'/>
                                                                            <parameter name='error-message' value='Error Getting Info from ConfigDB. Aborting RPC executiopn'/>
                                                                        </return>
                                                                        <block atomic='true'>
                                                                            <set>
                                                                                <parameter name="tmp.so.callbackURL" value="`$payloadJson.input.callbackURL`"/>
                                                                                <parameter name="tmp.status" value="`$error-code`"/>
                                                                                <parameter name="tmp.reason" value="`$error-message`"/>
                                                                                <parameter name="tmp.requestID" value="`$instantiateRANSlice-input.common-header.request-id`"/>
                                                                                <parameter name="tmp.action" value="`$instantiateRANSlice-input.action`"/>
                                                                            </set>
                                                                            <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
                                                                                <parameter name="file" value="/opt/opendaylight/current/data/log/so-callback-response.log" />
                                                                                <parameter name="level" value="info" />
                                                                                <parameter name="field1" value="URL for SO Callback Response"/>
                                                                                <parameter name='field2' value="`$tmp.so.callbackURL`" />
                                                                                <parameter name='field3' value="`$tmp.status`" />
                                                                                <parameter name='field4' value="`$tmp.reason`" />
                                                                                <parameter name='field5' value="`$tmp.requestID`" />
                                                                                <parameter name='field6' value="`$tmp.action`" />
                                                                                <parameter name='field7' value="`$tmp.CUCPList`" />
                                                                                <parameter name='field8' value="`$tmp.CUUPList`" />
                                                                                <parameter name='field9' value="`$tmp.DUList`" />
                                                                            </record>
                                                                            <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
                                                                                <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-so-response.json'`" />
                                                                                <parameter name="restapiUrl" value="`$tmp.so.callbackURL`"/>
                                                                                <parameter name="httpMethod" value="POST"/>
                                                                                <parameter name="responsePrefix" value="so-callback-response"/>
                                                                                <parameter name='contentType' value='application/json' />
                                                                                <parameter name='format' value='json' />
                                                                                <parameter name='accept' value='*/*' />
                                                                                <outcome value='failure'>
                                                                                    <block>
                                                                                        <return status='failure'>
                                                                                            <parameter name='ack-final' value='Y'/>
                                                                                            <parameter name="error-code" value="500" />
                                                                                            <parameter name="error-message" value="Error sending SO Response" />
                                                                                        </return>
                                                                                    </block>
                                                                                </outcome>
                                                                                <outcome value='success'>
                                                                                    <block>
                                                                                        <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
                                                                                            <parameter name="file" value="/opt/opendaylight/current/data/log/so-callback-response.log" />
                                                                                            <parameter name="level" value="info" />
                                                                                            <parameter name="field1" value="SO Response Sent "/>
                                                                                        </record>
                                                                                    </block>
                                                                                </outcome>
                                                                            </execute>
                                                                        </block>
                                                                    </block>
                                                                </outcome>
                                                                <outcome value='success'>
                                                                    <block atomic='true'>
                                                                        <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>
                                                                            <parameter name='outputPath' value='tmp.plmn.mcc' />
                                                                            <parameter name='source' value="`'getplmnmccid-cps-response.[0]'`" />
                                                                        </execute>
                                                                        <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
                                                                            <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" />
                                                                            <parameter name="level" value="info" />
                                                                            <parameter name="field1" value="Successfully Obtained MCC info from CPS"/>
                                                                            <parameter name="field2" value="`$getplmnmccid-cps-response.httpResponse`"/>
                                                                        </record>
                                                                    </block>
                                                                </outcome>
                                                            </execute>
                                                            <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
                                                                <parameter name="source" value="`$prop.restapi.cps.tbdmt.execute.endpoint`"/>
                                                                <parameter name="outputPath" value="tmp.cps.getPLMNMNCID.url"/>
                                                                <parameter name="target" value="{schemaSet}"/>
                                                                <parameter name="replacement" value="`$tmp.schemaset.name`"/>
                                                            </execute>
                                                            <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
                                                                <parameter name="source" value="`$tmp.cps.getPLMNMNCID.url`"/>
                                                                <parameter name="outputPath" value="tmp.cps.getPLMNMNCID.url"/>
                                                                <parameter name="target" value="{templateId}"/>
                                                                <parameter name="replacement" value="`$prop.tbdmt.template.get-plmnid-mnc`"/>
                                                            </execute>
                                                            <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
                                                                <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" />
                                                                <parameter name="level" value="info" />
                                                                <parameter name="field1" value="URL for CPS TDBMT to Get plmnid from sliceprofile"/>
                                                                <parameter name='field2' value="`$tmp.cps.getPLMNMNCID.url`" />
                                                            </record>
                                                            <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
                                                                <parameter name="restapiUrl" value="`$tmp.cps.getPLMNMNCID.url`"/>
                                                                <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/cps-templates/cps-get-plmnid.json'`" />
                                                                <parameter name="httpMethod" value="POST"/>
                                                                <parameter name="responsePrefix" value="getplmnmncid-cps-response"/>
                                                                <parameter name='contentType' value='application/json' />
                                                                <parameter name='format' value='json' />
                                                                <parameter name='accept' value='application/json' />
                                                                <parameter name="convertResponse" value="true"/>
                                                                <outcome value='success'>
                                                                    <block atomic='true'>
                                                                        <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>
                                                                            <parameter name='outputPath' value='tmp.plmn.mnc' />
                                                                            <parameter name='source' value="`'getplmnmncid-cps-response.[0]'`" />
                                                                        </execute>
                                                                        <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
                                                                            <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" />
                                                                            <parameter name="level" value="info" />
                                                                            <parameter name="field1" value="Successfully Obtained MNC info from Cps"/>
                                                                            <parameter name="field2" value="`$getplmnmncid-cps-response.httpResponse`"/>
                                                                        </record>
                                                                    </block>
                                                                </outcome>
                                                                <outcome value='failure'>
                                                                    <block>
                                                                        <block atomic='true'>
                                                                            <set>
                                                                                <parameter name="tmp.so.callbackURL" value="`$payloadJson.input.callbackURL`"/>
                                                                                <parameter name="tmp.status" value="`$error-code`"/>
                                                                                <parameter name="tmp.reason" value="`$error-message`"/>
                                                                                <parameter name="tmp.requestID" value="`$instantiateRANSlice-input.common-header.request-id`"/>
                                                                                <parameter name="tmp.action" value="`$instantiateRANSlice-input.action`"/>
                                                                            </set>
                                                                            <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
                                                                                <parameter name="file" value="/opt/opendaylight/current/data/log/so-callback-response.log" />
                                                                                <parameter name="level" value="info" />
                                                                                <parameter name="field1" value="URL for SO Callback Response"/>
                                                                                <parameter name='field2' value="`$tmp.so.callbackURL`" />
                                                                                <parameter name='field3' value="`$tmp.status`" />
                                                                                <parameter name='field4' value="`$tmp.reason`" />
                                                                                <parameter name='field5' value="`$tmp.requestID`" />
                                                                                <parameter name='field6' value="`$tmp.action`" />
                                                                                <parameter name='field7' value="`$tmp.CUCPList`" />
                                                                                <parameter name='field8' value="`$tmp.CUUPList`" />
                                                                                <parameter name='field9' value="`$tmp.DUList`" />
                                                                            </record>
                                                                            <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
                                                                                <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-so-response.json'`" />
                                                                                <parameter name="restapiUrl" value="`$tmp.so.callbackURL`"/>
                                                                                <parameter name="httpMethod" value="POST"/>
                                                                                <parameter name="responsePrefix" value="so-callback-response"/>
                                                                                <parameter name='contentType' value='application/json' />
                                                                                <parameter name='format' value='json' />
                                                                                <parameter name='accept' value='*/*' />
                                                                                <outcome value='failure'>
                                                                                    <block>
                                                                                        <return status='failure'>
                                                                                            <parameter name='ack-final' value='Y'/>
                                                                                            <parameter name="error-code" value="500" />
                                                                                            <parameter name="error-message" value="Error sending SO Response" />
                                                                                        </return>
                                                                                    </block>
                                                                                </outcome>
                                                                                <outcome value='success'>
                                                                                    <block>
                                                                                        <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
                                                                                            <parameter name="file" value="/opt/opendaylight/current/data/log/so-callback-response.log" />
                                                                                            <parameter name="level" value="info" />
                                                                                            <parameter name="field1" value="SO Response Sent "/>
                                                                                        </record>
                                                                                    </block>
                                                                                </outcome>
                                                                            </execute>
                                                                        </block>
                                                                        <set>
                                                                            <parameter name='error-code' value='500'/>
                                                                            <parameter name='error-message' value='Error Getting Info from CPS. Aborting RPC executiopn'/>
                                                                        </set>
                                                                        <return status='failure'>
                                                                            <parameter name='ack-final' value='Y'/>
                                                                            <parameter name='error-code' value='500'/>
                                                                            <parameter name='error-message' value='Error Getting Info from ConfigDB. Aborting RPC executiopn'/>
                                                                        </return>
                                                                    </block>
                                                                </outcome>
                                                            </execute>
                                                            <set>
                                                                <parameter name='tmp.mcc' value='`$tmp.plmn.mcc`'/>
                                                                <parameter name='tmp.mnc' value='`$tmp.plmn.mnc`'/>
                                                            </set>
                                                            <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
                                                                <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" />
                                                                <parameter name="level" value="info" />
                                                                <parameter name="field1" value="mcc,mnc values..."/>
                                                                <parameter name="field2" value="`$tmp.mcc`"/>
                                                                <parameter name="field3" value="`$tmp.mnc`"/>
                                                            </record>
                                                        </block>
                                                    </block>
                                                </outcome>
                                            </switch>
                                        </block>
                                    </for>
                                </block>
                                <block atomic="true">
                                    <switch test='`$prop.ransim-mounted`'>
                                        <outcome value='false'>
                                            <block atomic='true'>
                                                <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
                                                    <parameter name="source" value="`$prop.restapi.addnSSAIEntry.ToNearRTRIC`"/>
                                                    <parameter name="outputPath" value="tmp.restapi.addnSSAIEntry.ToNearRTRIC.url"/>
                                                    <parameter name="target" value="{idNearRTRIC}"/>
                                                    <parameter name="replacement" value="`$tmp.nearRTRICId`"/>
                                                </execute>
                                            </block>
                                        </outcome>
                                        <outcome value='true'>
                                            <block atomic='true'>
                                                <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
                                                    <parameter name="source" value="`$prop.restapi.addnSSAIEntry.ToNearRTRIC.ransim-mounted`"/>
                                                    <parameter name="outputPath" value="tmp.restapi.addnSSAIEntry.ToNearRTRIC.url"/>
                                                    <parameter name="target" value="{idNearRTRIC}"/>
                                                    <parameter name="replacement" value="`$tmp.nearRTRICId`"/>
                                                </execute>
                                                <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
                                                    <parameter name="source" value="`$tmp.restapi.addnSSAIEntry.ToNearRTRIC.url`"/>
                                                    <parameter name="outputPath" value="tmp.restapi.addnSSAIEntry.ToNearRTRIC.url"/>
                                                    <parameter name="target" value="{mountName}"/>
                                                    <parameter name="replacement" value="`$tmp.nearRTRICId`"/>
                                                </execute>
                                            </block>
                                        </outcome>
                                    </switch>
                                    <set>
                                        <parameter name='tmp.getAnchors.URL' value="`$prop.restapi.cps.anchors.endpoint`"/>
                                    </set>
                                    <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
                                        <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" />
                                        <parameter name="level" value="info" />
                                        <parameter name="field1" value="URL to fetch the anchors"/>
                                        <parameter name="field2" value="`$tmp.getAnchors.URL`"/>
                                    </record>
                                    <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
                                        <parameter name="restapiUrl" value="`$tmp.getAnchors.URL`"/>
                                        <parameter name="httpMethod" value="GET"/>
                                        <parameter name="restapiUser" value="cpsuser" />
                                        <parameter name="restapiPassword" value="cpsr0cks!"/>
                                        <parameter name="responsePrefix" value="get-anchors-cps-response"/>
                                        <parameter name='contentType' value='application/json' />
                                        <parameter name='format' value='json' />
                                        <parameter name='accept' value='application/json' />
                                        <parameter name="convertResponse" value="true"/>
                                        <outcome value='failure'>
                                            <block>
                                                <set>
                                                    <parameter name='error-code' value='500'/>
                                                    <parameter name='error-message' value='Error Getting Info from CPS. Aborting RPC executiopn'/>
                                                </set>
                                                <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
                                                    <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" />
                                                    <parameter name="level" value="info" />
                                                    <parameter name="field1" value="Failed to fetch anchors from CPS"/>
                                                </record>
                                            </block>
                                        </outcome>
                                        <outcome value='success'>
                                            <block atomic='true'>
                                                <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
                                                    <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" />
                                                    <parameter name="level" value="info" />
                                                    <parameter name="field1" value="Successfully Obtained anchors from CPS"/>
                                                    <parameter name="field2" value="`$get-anchors-cps-response._length`"/>
                                                </record>
                                                <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
                                                    <parameter name='filename' value='/opt/opendaylight/current/data/log/ranSlice-closedLoop-context.log' />
                                                </execute>
                                            </block>
                                        </outcome>
                                    </execute>
                                    <set>
                                        <parameter name='tmp.anchors.length' value="`$get-anchors-cps-response._length`"/>
                                    </set>
                                    <for index='anc' start='0' end='`$tmp.anchors.length`'>
                                        <block atomic='true'>
                                            <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>
                                                <parameter name='outputPath' value='tmp.schemaset.name' />
                                                <parameter name='source' value="`'get-anchors-cps-response.['+$anc+'].schemaSetName'`" />
                                            </execute>
                                            <switch test='`$tmp.schemaset.name`'>
                                                <outcome value='ran-network'>
                                                    <block atomic='true'>
                                                        <set>
                                                            <parameter name='tmp.RIC.length' value="`$tmp.RIC.length+1`"/>
                                                        </set>
                                                        <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
                                                            <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" />
                                                            <parameter name="level" value="info" />
                                                            <parameter name="field1" value="Applicable RIC length"/>
                                                            <parameter name="field2" value="`$tmp.RIC.length`"/>
                                                        </record>
                                                    </block>
                                                </outcome>
                                            </switch>
                                        </block>
                                    </for>
                                    <for index='anc' start='0' end='`$tmp.anchors.length`'>
                                        <block atomic='true'>
                                            <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>
                                                <parameter name='outputPath' value='tmp.schemaset.name' />
                                                <parameter name='source' value="`'get-anchors-cps-response.['+$anc+'].schemaSetName'`" />
                                            </execute>
                                            <switch test='`$tmp.schemaset.name`'>
                                                <outcome value='ran-network'>
                                                    <block atomic='true'>
                                                        <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>
                                                            <parameter name='outputPath' value='tmp.anchor.name' />
                                                            <parameter name='source' value="`'get-anchors-cps-response.['+$anc+'].name'`" />
                                                        </execute>
                                                        <block atomic='true'>
                                                            <set>
                                                                <parameter name='tmp.mcc' value='`$tmp.mcc`' />
                                                                <parameter name='tmp.mnc' value='`$tmp.mnc`' />
                                                            </set>
                                                            <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
                                                                <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" />
                                                                <parameter name="level" value="info" />
                                                                <parameter name="field1" value="Inputs"/>
                                                                <parameter name="field2" value="`$tmp.nearRTRICId`"/>
                                                                <parameter name="field3" value="`$tmp.mcc`"/>
                                                                <parameter name="field4" value="`$tmp.mnc`"/>
                                                                <parameter name="field5" value="`$tmp.payload.sNSSAI`"/>
                                                                <parameter name="field6" value="`$tmp.dLThptPerSlice`"/>
                                                                <parameter name="field7" value="`$tmp.uLThptPerSlice`"/>
                                                            </record>
                                                            <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
                                                                <parameter name="source" value="`$prop.restapi.cps.tbdmt.execute.endpoint`"/>
                                                                <parameter name="outputPath" value="tmp.cps.patchdLThptPerSlice.url"/>
                                                                <parameter name="target" value="{schemaSet}"/>
                                                                <parameter name="replacement" value="`$tmp.schemaset.name`"/>
                                                            </execute>
                                                            <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
                                                                <parameter name="source" value="`$tmp.cps.patchdLThptPerSlice.url`"/>
                                                                <parameter name="outputPath" value="tmp.cps.patchdLThptPerSlice.url"/>
                                                                <parameter name="target" value="{templateId}"/>
                                                                <parameter name="replacement" value="`$prop.tbdmt.template.patch-dLThptPerSlice`"/>
                                                            </execute>
                                                            <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
                                                                <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" />
                                                                <parameter name="level" value="info" />
                                                                <parameter name="field1" value="URL for CPS TDBMT to patch dLThptPerSlice"/>
                                                                <parameter name='field2' value="`$tmp.cps.patchdLThptPerSlice.url`" />
                                                            </record>
                                                            <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
                                                                <parameter name="restapiUrl" value="`$tmp.cps.patchdLThptPerSlice.url`"/>
                                                                <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/cps-templates/cps-patch-dLThptPerSlice.json'`" />
                                                                <parameter name="httpMethod" value="POST"/>
                                                                <parameter name="responsePrefix" value="patchdLThptPerSlice-cps-response"/>
                                                                <parameter name='contentType' value='application/json' />
                                                                <parameter name='format' value='json' />
                                                                <parameter name='accept' value='application/json' />
                                                                <parameter name="convertResponse" value="true"/>
                                                                <outcome value='failure'>
                                                                    <block>
                                                                        <block atomic='true'>
                                                                            <set>
                                                                                <parameter name="tmp.so.callbackURL" value="`$payloadJson.input.callbackURL`"/>
                                                                                <parameter name="tmp.status" value="`$error-code`"/>
                                                                                <parameter name="tmp.reason" value="`$error-message`"/>
                                                                                <parameter name="tmp.requestID" value="`$instantiateRANSlice-input.common-header.request-id`"/>
                                                                                <parameter name="tmp.action" value="`$instantiateRANSlice-input.action`"/>
                                                                            </set>
                                                                            <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
                                                                                <parameter name="file" value="/opt/opendaylight/current/data/log/so-callback-response.log" />
                                                                                <parameter name="level" value="info" />
                                                                                <parameter name="field1" value="URL for SO Callback Response"/>
                                                                                <parameter name='field2' value="`$tmp.so.callbackURL`" />
                                                                                <parameter name='field3' value="`$tmp.status`" />
                                                                                <parameter name='field4' value="`$tmp.reason`" />
                                                                                <parameter name='field5' value="`$tmp.requestID`" />
                                                                                <parameter name='field6' value="`$tmp.action`" />
                                                                                <parameter name='field7' value="`$tmp.CUCPList`" />
                                                                                <parameter name='field8' value="`$tmp.CUUPList`" />
                                                                                <parameter name='field9' value="`$tmp.DUList`" />
                                                                            </record>
                                                                            <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
                                                                                <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-so-response.json'`" />
                                                                                <parameter name="restapiUrl" value="`$tmp.so.callbackURL`"/>
                                                                                <parameter name="httpMethod" value="POST"/>
                                                                                <parameter name="responsePrefix" value="so-callback-response"/>
                                                                                <parameter name='contentType' value='application/json' />
                                                                                <parameter name='format' value='json' />
                                                                                <parameter name='accept' value='*/*' />
                                                                                <outcome value='failure'>
                                                                                    <block>
                                                                                        <return status='failure'>
                                                                                            <parameter name='ack-final' value='Y'/>
                                                                                            <parameter name="error-code" value="500" />
                                                                                            <parameter name="error-message" value="Error sending SO Response" />
                                                                                        </return>
                                                                                    </block>
                                                                                </outcome>
                                                                                <outcome value='success'>
                                                                                    <block>
                                                                                        <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
                                                                                            <parameter name="file" value="/opt/opendaylight/current/data/log/so-callback-response.log" />
                                                                                            <parameter name="level" value="info" />
                                                                                            <parameter name="field1" value="SO Response Sent "/>
                                                                                        </record>
                                                                                    </block>
                                                                                </outcome>
                                                                            </execute>
                                                                        </block>
                                                                        <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
                                                                            <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" />
                                                                            <parameter name="level" value="info" />
                                                                            <parameter name="field1" value="Failed to fetch data from CPS"/>
                                                                            <parameter name="field2" value="`$cps-patch-dLThptPerSlice.json`"/>
                                                                        </record>
                                                                        <set>
                                                                            <parameter name='error-code' value='500'/>
                                                                            <parameter name='error-message' value='Error Getting Info from CPS. Aborting RPC executiopn'/>
                                                                        </set>
                                                                        <return status='failure'>
                                                                            <parameter name='ack-final' value='Y'/>
                                                                            <parameter name='error-code' value='500'/>
                                                                            <parameter name='error-message' value='Error Getting Info from ConfigDB. Aborting RPC executiopn'/>
                                                                        </return>
                                                                    </block>
                                                                </outcome>
                                                                <outcome value='success'>
                                                                    <block atomic='true'>
                                                                        <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
                                                                            <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" />
                                                                            <parameter name="level" value="info" />
                                                                            <parameter name="field1" value="Successfully patched dLThptPerSlice"/>
                                                                            <parameter name="field2" value="`$patchdLThptPerSlice-cps-response.httpResponse`"/>
                                                                        </record>
                                                                    </block>
                                                                </outcome>
                                                            </execute>
                                                            <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
                                                                <parameter name="source" value="`$prop.restapi.cps.tbdmt.execute.endpoint`"/>
                                                                <parameter name="outputPath" value="tmp.cps.patchuLThptPerSlice.url"/>
                                                                <parameter name="target" value="{schemaSet}"/>
                                                                <parameter name="replacement" value="`$tmp.schemaset.name`"/>
                                                            </execute>
                                                            <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
                                                                <parameter name="source" value="`$tmp.cps.patchuLThptPerSlice.url`"/>
                                                                <parameter name="outputPath" value="tmp.cps.patchuLThptPerSlice.url"/>
                                                                <parameter name="target" value="{templateId}"/>
                                                                <parameter name="replacement" value="`$prop.tbdmt.template.patch-uLThptPerSlice`"/>
                                                            </execute>
                                                            <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
                                                                <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" />
                                                                <parameter name="level" value="info" />
                                                                <parameter name="field1" value="URL for CPS TDBMT to patch uLThptPerSlice"/>
                                                                <parameter name='field2' value="`$tmp.cps.patchuLThptPerSlice.url`" />
                                                            </record>
                                                            <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
                                                                <parameter name="restapiUrl" value="`$tmp.cps.patchuLThptPerSlice.url`"/>
                                                                <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/cps-templates/cps-patch-uLThptPerSlice.json'`" />
                                                                <parameter name="httpMethod" value="POST"/>
                                                                <parameter name="responsePrefix" value="patchuLThptPerSlice-cps-response"/>
                                                                <parameter name='contentType' value='application/json' />
                                                                <parameter name='format' value='json' />
                                                                <parameter name='accept' value='application/json' />
                                                                <parameter name="convertResponse" value="true"/>
                                                                <outcome value='failure'>
                                                                    <block>
                                                                        <block atomic='true'>
                                                                            <set>
                                                                                <parameter name="tmp.so.callbackURL" value="`$payloadJson.input.callbackURL`"/>
                                                                                <parameter name="tmp.status" value="`$error-code`"/>
                                                                                <parameter name="tmp.reason" value="`$error-message`"/>
                                                                                <parameter name="tmp.requestID" value="`$instantiateRANSlice-input.common-header.request-id`"/>
                                                                                <parameter name="tmp.action" value="`$instantiateRANSlice-input.action`"/>
                                                                            </set>
                                                                            <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
                                                                                <parameter name="file" value="/opt/opendaylight/current/data/log/so-callback-response.log" />
                                                                                <parameter name="level" value="info" />
                                                                                <parameter name="field1" value="URL for SO Callback Response"/>
                                                                                <parameter name='field2' value="`$tmp.so.callbackURL`" />
                                                                                <parameter name='field3' value="`$tmp.status`" />
                                                                                <parameter name='field4' value="`$tmp.reason`" />
                                                                                <parameter name='field5' value="`$tmp.requestID`" />
                                                                                <parameter name='field6' value="`$tmp.action`" />
                                                                                <parameter name='field7' value="`$tmp.CUCPList`" />
                                                                                <parameter name='field8' value="`$tmp.CUUPList`" />
                                                                                <parameter name='field9' value="`$tmp.DUList`" />
                                                                            </record>
                                                                            <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
                                                                                <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-so-response.json'`" />
                                                                                <parameter name="restapiUrl" value="`$tmp.so.callbackURL`"/>
                                                                                <parameter name="httpMethod" value="POST"/>
                                                                                <parameter name="responsePrefix" value="so-callback-response"/>
                                                                                <parameter name='contentType' value='application/json' />
                                                                                <parameter name='format' value='json' />
                                                                                <parameter name='accept' value='*/*' />
                                                                                <outcome value='failure'>
                                                                                    <block>
                                                                                        <return status='failure'>
                                                                                            <parameter name='ack-final' value='Y'/>
                                                                                            <parameter name="error-code" value="500" />
                                                                                            <parameter name="error-message" value="Error sending SO Response" />
                                                                                        </return>
                                                                                    </block>
                                                                                </outcome>
                                                                                <outcome value='success'>
                                                                                    <block>
                                                                                        <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
                                                                                            <parameter name="file" value="/opt/opendaylight/current/data/log/so-callback-response.log" />
                                                                                            <parameter name="level" value="info" />
                                                                                            <parameter name="field1" value="SO Response Sent "/>
                                                                                        </record>
                                                                                    </block>
                                                                                </outcome>
                                                                            </execute>
                                                                        </block>
                                                                        <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
                                                                            <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" />
                                                                            <parameter name="level" value="info" />
                                                                            <parameter name="field1" value="UNSuccessfully Obtained MCC info from CPS"/>
                                                                            <parameter name="field2" value="`$cps-get-plmnid.json`"/>
                                                                        </record>
                                                                        <set>
                                                                            <parameter name='error-code' value='500'/>
                                                                            <parameter name='error-message' value='Error Getting Info from CPS. Aborting RPC executiopn'/>
                                                                        </set>
                                                                        <return status='failure'>
                                                                            <parameter name='ack-final' value='Y'/>
                                                                            <parameter name='error-code' value='500'/>
                                                                            <parameter name='error-message' value='Error Getting Info from ConfigDB. Aborting RPC executiopn'/>
                                                                        </return>
                                                                    </block>
                                                                </outcome>
                                                                <outcome value='success'>
                                                                    <block atomic='true'>
                                                                        <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
                                                                            <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" />
                                                                            <parameter name="level" value="info" />
                                                                            <parameter name="field1" value="Successfully patched dLThptPerSlice"/>
                                                                            <parameter name="field2" value="`$patchdLThptPerSlice-cps-response.httpResponse`"/>
                                                                        </record>
                                                                    </block>
                                                                </outcome>
                                                            </execute>
                                                        </block>
                                                    </block>
                                                </outcome>
                                            </switch>
                                        </block>
                                    </for>
                                </block>
                            </for>
                        </block>
                    </block>
                </outcome>
                <outcome value='false'>
                    <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='contains' emitsOutcome='true' >
                        <parameter name='source' value='`$instantiate-r-a-n-slice-input.payload`' />
                        <parameter name='target' value='maxNumberofConns' />
                        <outcome value='true'>
                            <block atomic="true">
                                <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
                                    <parameter name="file" value="/opt/opendaylight/current/data/log/intelligentSlicing.log" />
                                    <parameter name="level" value="info" />
                                    <parameter name="field1" value="PAYLOAD contains maxNumberofConns...Inntelligent Slicing "/>
                                </record>
                                <set>
                                    <parameter name='tmp.payload.dataPoints' value='`$payloadJson.input.additionalproperties.resourceConfig.data_length`'/>
                                    <parameter name="tmp.payload.sNSSAI" value="`$payloadJson.input.additionalproperties.resourceConfig.snssai`"/>
                                    <parameter name="tmp.sliceProfileId" value="`$payloadJson.input.sliceProfile.sliceProfileId`"/>
                                </set>
                                <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
                                    <parameter name="file" value="/opt/opendaylight/current/data/log/intelligentSlicing.log" />
                                    <parameter name="level" value="info" />
                                    <parameter name="field1" value="Data length "/>
                                    <parameter name="field2" value="`$tmp.payload.dataPoints`"/>
                                </record>
                                <block atomic="true">
                                    <block atomic='true'>
                                        <set>
                                            <parameter name='tmp.getAnchors.URL' value="`$prop.restapi.cps.anchors.endpoint`"/>
                                        </set>
                                        <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
                                            <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" />
                                            <parameter name="level" value="info" />
                                            <parameter name="field1" value="URL to fetch the anchors"/>
                                            <parameter name="field2" value="`$tmp.getAnchors.URL`"/>
                                        </record>
                                        <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
                                            <parameter name="restapiUrl" value="`$tmp.getAnchors.URL`"/>
                                            <parameter name="httpMethod" value="GET"/>
                                            <parameter name="restapiUser" value="cpsuser" />
                                            <parameter name="restapiPassword" value="cpsr0cks!"/>
                                            <parameter name="responsePrefix" value="get-anchors-cps-response"/>
                                            <parameter name='contentType' value='application/json' />
                                            <parameter name='format' value='json' />
                                            <parameter name='accept' value='application/json' />
                                            <parameter name="convertResponse" value="true"/>
                                            <outcome value='failure'>
                                                <block>
                                                    <set>
                                                        <parameter name='error-code' value='500'/>
                                                        <parameter name='error-message' value='Error Getting Info from CPS. Aborting RPC executiopn'/>
                                                    </set>
                                                    <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
                                                        <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" />
                                                        <parameter name="level" value="info" />
                                                        <parameter name="field1" value="Failed to fetch anchors from CPS"/>
                                                    </record>
                                                </block>
                                            </outcome>
                                            <outcome value='success'>
                                                <block atomic='true'>
                                                    <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
                                                        <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" />
                                                        <parameter name="level" value="info" />
                                                        <parameter name="field1" value="Successfully Obtained anchors from CPS"/>
                                                        <parameter name="field2" value="`$get-anchors-cps-response._length`"/>
                                                    </record>
                                                    <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
                                                        <parameter name='filename' value='/opt/opendaylight/current/data/log/ranSlice-closedLoop-context.log' />
                                                    </execute>
                                                </block>
                                            </outcome>
                                        </execute>
                                        <set>
                                            <parameter name='tmp.anchors.length' value="`$get-anchors-cps-response._length`"/>
                                        </set>
                                        <set>
                                            <parameter name='tmp.RIC.length' value="0"/>
                                        </set>
                                        <for index='anc' start='0' end='`$tmp.anchors.length`'>
                                            <block atomic='true'>
                                                <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>
                                                    <parameter name='outputPath' value='tmp.schemaset.name' />
                                                    <parameter name='source' value="`'get-anchors-cps-response.['+$anc+'].schemaSetName'`" />
                                                </execute>
                                                <switch test='`$tmp.schemaset.name`'>
                                                    <outcome value='ran-inventory'>
                                                        <block atomic='true'>
                                                            <set>
                                                                <parameter name='tmp.RIC.length' value="`$tmp.RIC.length+1`"/>
                                                            </set>
                                                            <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
                                                                <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" />
                                                                <parameter name="level" value="info" />
                                                                <parameter name="field1" value="Applicable RIC length"/>
                                                                <parameter name="field2" value="`$tmp.RIC.length`"/>
                                                            </record>
                                                        </block>
                                                    </outcome>
                                                </switch>
                                            </block>
                                        </for>
                                        <for index='anc' start='0' end='`$tmp.anchors.length`'>
                                            <block atomic='true'>
                                                <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>
                                                    <parameter name='outputPath' value='tmp.schemaset.name' />
                                                    <parameter name='source' value="`'get-anchors-cps-response.['+$anc+'].schemaSetName'`" />
                                                </execute>
                                                <switch test='`$tmp.schemaset.name`'>
                                                    <outcome value='ran-inventory'>
                                                        <block atomic='true'>
                                                            <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>
                                                                <parameter name='outputPath' value='tmp.anchor.name' />
                                                                <parameter name='source' value="`'get-anchors-cps-response.['+$anc+'].name'`" />
                                                            </execute>
                                                            <block atomic='true'>
                                                                <set>
                                                                    <parameter name='tmp.sliceprofileid' value="`$payloadJson.input.sliceProfile.sliceProfileId`" />
                                                                </set>
                                                                <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
                                                                    <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" />
                                                                    <parameter name="level" value="info" />
                                                                    <parameter name="field1" value="sliceprofileid from input"/>
                                                                    <parameter name="field2" value="`$tmp.sliceprofileid`"/>
                                                                </record>
                                                                <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
                                                                    <parameter name="source" value="`$prop.restapi.cps.tbdmt.execute.endpoint`"/>
                                                                    <parameter name="outputPath" value="tmp.cps.getPLMNID.url"/>
                                                                    <parameter name="target" value="{schemaSet}"/>
                                                                    <parameter name="replacement" value="`$tmp.schemaset.name`"/>
                                                                </execute>
                                                                <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
                                                                    <parameter name="source" value="`$tmp.cps.getPLMNID.url`"/>
                                                                    <parameter name="outputPath" value="tmp.cps.getPLMNID.url"/>
                                                                    <parameter name="target" value="{templateId}"/>
                                                                    <parameter name="replacement" value="`$prop.tbdmt.template.get-plmnid-mcc`"/>
                                                                </execute>
                                                                <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
                                                                    <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" />
                                                                    <parameter name="level" value="info" />
                                                                    <parameter name="field1" value="URL for CPS TDBMT to Get plmnid from sliceprofile"/>
                                                                    <parameter name='field2' value="`$tmp.cps.getPLMNID.url`" />
                                                                </record>
                                                                <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
                                                                    <parameter name="restapiUrl" value="`$tmp.cps.getPLMNID.url`"/>
                                                                    <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/cps-templates/cps-get-plmnid.json'`" />
                                                                    <parameter name="httpMethod" value="POST"/>
                                                                    <parameter name="responsePrefix" value="getplmnmccid-cps-response"/>
                                                                    <parameter name='contentType' value='application/json' />
                                                                    <parameter name='format' value='json' />
                                                                    <parameter name='accept' value='application/json' />
                                                                    <parameter name="convertResponse" value="true"/>
                                                                    <outcome value='failure'>
                                                                        <block>
                                                                            <set>
                                                                                <parameter name='error-code' value='500'/>
                                                                                <parameter name='error-message' value='Error Getting Info from CPS. Aborting RPC executiopn'/>
                                                                            </set>
                                                                            <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
                                                                                <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" />
                                                                                <parameter name="level" value="info" />
                                                                                <parameter name="field1" value="UNSuccessfully Obtained MCC info from CPS"/>
                                                                                <parameter name="field2" value="`$cps-get-plmnid.json`"/>
                                                                            </record>
                                                                            <return status='failure'>
                                                                                <parameter name='ack-final' value='Y'/>
                                                                                <parameter name='error-code' value='500'/>
                                                                                <parameter name='error-message' value='Error Getting Info from ConfigDB. Aborting RPC executiopn'/>
                                                                            </return>
                                                                            <block atomic='true'>
                                                                                <set>
                                                                                    <parameter name="tmp.so.callbackURL" value="`$payloadJson.input.callbackURL`"/>
                                                                                    <parameter name="tmp.status" value="`$error-code`"/>
                                                                                    <parameter name="tmp.reason" value="`$error-message`"/>
                                                                                    <parameter name="tmp.requestID" value="`$instantiateRANSlice-input.common-header.request-id`"/>
                                                                                    <parameter name="tmp.action" value="`$instantiateRANSlice-input.action`"/>
                                                                                </set>
                                                                                <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
                                                                                    <parameter name="file" value="/opt/opendaylight/current/data/log/so-callback-response.log" />
                                                                                    <parameter name="level" value="info" />
                                                                                    <parameter name="field1" value="URL for SO Callback Response"/>
                                                                                    <parameter name='field2' value="`$tmp.so.callbackURL`" />
                                                                                    <parameter name='field3' value="`$tmp.status`" />
                                                                                    <parameter name='field4' value="`$tmp.reason`" />
                                                                                    <parameter name='field5' value="`$tmp.requestID`" />
                                                                                    <parameter name='field6' value="`$tmp.action`" />
                                                                                    <parameter name='field7' value="`$tmp.CUCPList`" />
                                                                                    <parameter name='field8' value="`$tmp.CUUPList`" />
                                                                                    <parameter name='field9' value="`$tmp.DUList`" />
                                                                                </record>
                                                                                <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
                                                                                    <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-so-response.json'`" />
                                                                                    <parameter name="restapiUrl" value="`$tmp.so.callbackURL`"/>
                                                                                    <parameter name="httpMethod" value="POST"/>
                                                                                    <parameter name="responsePrefix" value="so-callback-response"/>
                                                                                    <parameter name='contentType' value='application/json' />
                                                                                    <parameter name='format' value='json' />
                                                                                    <parameter name='accept' value='*/*' />
                                                                                    <outcome value='failure'>
                                                                                        <block>
                                                                                            <return status='failure'>
                                                                                                <parameter name='ack-final' value='Y'/>
                                                                                                <parameter name="error-code" value="500" />
                                                                                                <parameter name="error-message" value="Error sending SO Response" />
                                                                                            </return>
                                                                                        </block>
                                                                                    </outcome>
                                                                                    <outcome value='success'>
                                                                                        <block>
                                                                                            <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
                                                                                                <parameter name="file" value="/opt/opendaylight/current/data/log/so-callback-response.log" />
                                                                                                <parameter name="level" value="info" />
                                                                                                <parameter name="field1" value="SO Response Sent "/>
                                                                                            </record>
                                                                                        </block>
                                                                                    </outcome>
                                                                                </execute>
                                                                            </block>
                                                                        </block>
                                                                    </outcome>
                                                                    <outcome value='success'>
                                                                        <block atomic='true'>
                                                                            <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>
                                                                                <parameter name='outputPath' value='tmp.plmn.mcc' />
                                                                                <parameter name='source' value="`'getplmnmccid-cps-response.[0]'`" />
                                                                            </execute>
                                                                            <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
                                                                                <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" />
                                                                                <parameter name="level" value="info" />
                                                                                <parameter name="field1" value="Successfully Obtained MCC info from CPS"/>
                                                                                <parameter name="field2" value="`$getplmnmccid-cps-response.httpResponse`"/>
                                                                            </record>
                                                                        </block>
                                                                    </outcome>
                                                                </execute>
                                                                <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
                                                                    <parameter name="source" value="`$prop.restapi.cps.tbdmt.execute.endpoint`"/>
                                                                    <parameter name="outputPath" value="tmp.cps.getPLMNMNCID.url"/>
                                                                    <parameter name="target" value="{schemaSet}"/>
                                                                    <parameter name="replacement" value="`$tmp.schemaset.name`"/>
                                                                </execute>
                                                                <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
                                                                    <parameter name="source" value="`$tmp.cps.getPLMNMNCID.url`"/>
                                                                    <parameter name="outputPath" value="tmp.cps.getPLMNMNCID.url"/>
                                                                    <parameter name="target" value="{templateId}"/>
                                                                    <parameter name="replacement" value="`$prop.tbdmt.template.get-plmnid-mnc`"/>
                                                                </execute>
                                                                <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
                                                                    <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" />
                                                                    <parameter name="level" value="info" />
                                                                    <parameter name="field1" value="URL for CPS TDBMT to Get plmnid from sliceprofile"/>
                                                                    <parameter name='field2' value="`$tmp.cps.getPLMNMNCID.url`" />
                                                                </record>
                                                                <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
                                                                    <parameter name="restapiUrl" value="`$tmp.cps.getPLMNMNCID.url`"/>
                                                                    <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/cps-templates/cps-get-plmnid.json'`" />
                                                                    <parameter name="httpMethod" value="POST"/>
                                                                    <parameter name="responsePrefix" value="getplmnmncid-cps-response"/>
                                                                    <parameter name='contentType' value='application/json' />
                                                                    <parameter name='format' value='json' />
                                                                    <parameter name='accept' value='application/json' />
                                                                    <parameter name="convertResponse" value="true"/>
                                                                    <outcome value='success'>
                                                                        <block atomic='true'>
                                                                            <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>
                                                                                <parameter name='outputPath' value='tmp.plmn.mnc' />
                                                                                <parameter name='source' value="`'getplmnmncid-cps-response.[0]'`" />
                                                                            </execute>
                                                                            <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
                                                                                <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" />
                                                                                <parameter name="level" value="info" />
                                                                                <parameter name="field1" value="Successfully Obtained MNC info from Cps"/>
                                                                                <parameter name="field2" value="`$getplmnmncid-cps-response.httpResponse`"/>
                                                                            </record>
                                                                        </block>
                                                                    </outcome>
                                                                    <outcome value='failure'>
                                                                        <block>
                                                                            <block atomic='true'>
                                                                                <set>
                                                                                    <parameter name="tmp.so.callbackURL" value="`$payloadJson.input.callbackURL`"/>
                                                                                    <parameter name="tmp.status" value="`$error-code`"/>
                                                                                    <parameter name="tmp.reason" value="`$error-message`"/>
                                                                                    <parameter name="tmp.requestID" value="`$instantiateRANSlice-input.common-header.request-id`"/>
                                                                                    <parameter name="tmp.action" value="`$instantiateRANSlice-input.action`"/>
                                                                                </set>
                                                                                <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
                                                                                    <parameter name="file" value="/opt/opendaylight/current/data/log/so-callback-response.log" />
                                                                                    <parameter name="level" value="info" />
                                                                                    <parameter name="field1" value="URL for SO Callback Response"/>
                                                                                    <parameter name='field2' value="`$tmp.so.callbackURL`" />
                                                                                    <parameter name='field3' value="`$tmp.status`" />
                                                                                    <parameter name='field4' value="`$tmp.reason`" />
                                                                                    <parameter name='field5' value="`$tmp.requestID`" />
                                                                                    <parameter name='field6' value="`$tmp.action`" />
                                                                                    <parameter name='field7' value="`$tmp.CUCPList`" />
                                                                                    <parameter name='field8' value="`$tmp.CUUPList`" />
                                                                                    <parameter name='field9' value="`$tmp.DUList`" />
                                                                                </record>
                                                                                <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
                                                                                    <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-so-response.json'`" />
                                                                                    <parameter name="restapiUrl" value="`$tmp.so.callbackURL`"/>
                                                                                    <parameter name="httpMethod" value="POST"/>
                                                                                    <parameter name="responsePrefix" value="so-callback-response"/>
                                                                                    <parameter name='contentType' value='application/json' />
                                                                                    <parameter name='format' value='json' />
                                                                                    <parameter name='accept' value='*/*' />
                                                                                    <outcome value='failure'>
                                                                                        <block>
                                                                                            <return status='failure'>
                                                                                                <parameter name='ack-final' value='Y'/>
                                                                                                <parameter name="error-code" value="500" />
                                                                                                <parameter name="error-message" value="Error sending SO Response" />
                                                                                            </return>
                                                                                        </block>
                                                                                    </outcome>
                                                                                    <outcome value='success'>
                                                                                        <block>
                                                                                            <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
                                                                                                <parameter name="file" value="/opt/opendaylight/current/data/log/so-callback-response.log" />
                                                                                                <parameter name="level" value="info" />
                                                                                                <parameter name="field1" value="SO Response Sent "/>
                                                                                            </record>
                                                                                        </block>
                                                                                    </outcome>
                                                                                </execute>
                                                                            </block>
                                                                            <set>
                                                                                <parameter name='error-code' value='500'/>
                                                                                <parameter name='error-message' value='Error Getting Info from CPS. Aborting RPC executiopn'/>
                                                                            </set>
                                                                            <return status='failure'>
                                                                                <parameter name='ack-final' value='Y'/>
                                                                                <parameter name='error-code' value='500'/>
                                                                                <parameter name='error-message' value='Error Getting Info from ConfigDB. Aborting RPC executiopn'/>
                                                                            </return>
                                                                        </block>
                                                                    </outcome>
                                                                </execute>
                                                                <set>
                                                                    <parameter name='tmp.mcc' value='`$tmp.plmn.mcc`'/>
                                                                    <parameter name='tmp.mnc' value='`$tmp.plmn.mnc`'/>
                                                                </set>
                                                                <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
                                                                    <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" />
                                                                    <parameter name="level" value="info" />
                                                                    <parameter name="field1" value="mcc,mnc values..."/>
                                                                    <parameter name="field2" value="`$tmp.mcc`"/>
                                                                    <parameter name="field3" value="`$tmp.mnc`"/>
                                                                </record>
                                                            </block>
                                                        </block>
                                                    </outcome>
                                                </switch>
                                            </block>
                                        </for>
                                    </block>
                                    <for index='id-is' start='0' end="`$tmp.payload.dataPoints`" >
                                        <block atomic="true">
                                            <set>
                                                <parameter name="tmp.nearRTRICId" value="`$payloadJson.input.additionalproperties.resourceConfig.data[$id-is].nearRTRICId`"/>
                                            </set>
                                            <switch test='`$prop.ransim-mounted`'>
                                                <outcome value='false'>
                                                    <block atomic='true'>
                                                        <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
                                                            <parameter name="source" value="`$prop.restapi.addnSSAIEntry.ToNearRTRIC`"/>
                                                            <parameter name="outputPath" value="tmp.restapi.addnSSAIEntry.ToNearRTRIC.url"/>
                                                            <parameter name="target" value="{idNearRTRIC}"/>
                                                            <parameter name="replacement" value="`$tmp.nearRTRICId`"/>
                                                        </execute>
                                                    </block>
                                                </outcome>
                                                <outcome value='true'>
                                                    <block atomic='true'>
                                                        <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
                                                            <parameter name="source" value="`$prop.restapi.addnSSAIEntry.ToNearRTRIC.ransim-mounted`"/>
                                                            <parameter name="outputPath" value="tmp.restapi.addnSSAIEntry.ToNearRTRIC.url"/>
                                                            <parameter name="target" value="{idNearRTRIC}"/>
                                                            <parameter name="replacement" value="`$tmp.nearRTRICId`"/>
                                                        </execute>
                                                        <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
                                                            <parameter name="source" value="`$tmp.restapi.addnSSAIEntry.ToNearRTRIC.url`"/>
                                                            <parameter name="outputPath" value="tmp.restapi.addnSSAIEntry.ToNearRTRIC.url"/>
                                                            <parameter name="target" value="{mountName}"/>
                                                            <parameter name="replacement" value="`$tmp.nearRTRICId`"/>
                                                        </execute>
                                                    </block>
                                                </outcome>
                                            </switch>
                                            <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
                                                <parameter name="source" value="`$tmp.restapi.addnSSAIEntry.ToNearRTRIC.url`"/>
                                                <parameter name="outputPath" value="tmp.restapi.addnSSAIEntry.ToNearRTRIC.url"/>
                                                <parameter name="target" value="{mcc}"/>
                                                <parameter name="replacement" value="`$tmp.mcc`"/>
                                            </execute>
                                            <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
                                                <parameter name="source" value="`$tmp.restapi.addnSSAIEntry.ToNearRTRIC.url`"/>
                                                <parameter name="outputPath" value="tmp.restapi.addnSSAIEntry.ToNearRTRIC.url"/>
                                                <parameter name="target" value="{mnc}"/>
                                                <parameter name="replacement" value="`$tmp.mnc`"/>
                                            </execute>
                                            <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>
                                                <parameter name='outputPath' value='tmp.CUCellListEntries' />
                                                <parameter name='source' value="`'payloadJson.input.additionalproperties.resourceConfig.data['+$id-is+'].cellCUList_length'`" />
                                            </execute>
                                            <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
                                                <parameter name="file" value="/opt/opendaylight/current/data/log/intelligentSlicing.log" />
                                                <parameter name="level" value="info" />
                                                <parameter name="field1" value="CUCEll List length "/>
                                                <parameter name="field2" value="`$tmp.CUCellListEntries`"/>
                                            </record>
                                            <for index='id2' start='0' end="`$tmp.CUCellListEntries`" >
                                                <block atomic="true">
                                                    <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>
                                                        <parameter name='outputPath' value='tmp.cellLocalId' />
                                                        <parameter name='source' value="`'payloadJson.input.additionalproperties.resourceConfig.data['+$id-is+'].cellCUList['+$id2+'].cellLocalId'`" />
                                                    </execute>
                                                    <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='concat'>
                                                        <parameter name="source" value="`$tmp.cellLocalId`" />
                                                        <parameter name="target" value="-maxNumberofConns"/>
                                                        <parameter name="outputPath" value="tmp.cellLocalId" />
                                                    </execute>
                                                    <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>
                                                        <parameter name='outputPath' value='tmp.predictedMaxNumberofConns' />
                                                        <parameter name='source' value="`'payloadJson.input.additionalproperties.resourceConfig.data['+$id-is+'].cellCUList['+$id2+'].configData.predictedMaxNumberofConns'`" />
                                                    </execute>
                                                    <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
                                                        <parameter name="file" value="/opt/opendaylight/current/data/log/intelligentSlicing.log" />
                                                        <parameter name="level" value="info" />
                                                        <parameter name="field1" value="cellLocalId"/>
                                                        <parameter name="field2" value="`$tmp.cellLocalId`"/>
                                                    </record>
                                                    <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
                                                        <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-closed-loop-nearRTRIC-config-patch.json'`" />
                                                        <parameter name="restapiUrl" value="`$prop.controller.url + $tmp.restapi.addnSSAIEntry.ToNearRTRIC.url`"/>
                                                        <parameter name="restapiUser" value="`$prop.controller.user`" />
                                                        <parameter name="restapiPassword" value="`$prop.controller.pwd`"/>
                                                        <parameter name="httpMethod" value="PATCH"/>
                                                        <parameter name="responsePrefix" value="patch-nearRTRIC-config-response"/>
                                                        <parameter name='contentType' value='application/yang.patch+json' />
                                                        <parameter name='accept' value='application/yang.patch-status+json'/>
                                                        <parameter name='format' value='json' />
                                                        <outcome value='success'>
                                                            <block atomic='true'>
                                                                <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
                                                                    <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" />
                                                                    <parameter name="level" value="info" />
                                                                    <parameter name="field1" value="Successfully patched NearRTRIC configuration"/>
                                                                </record>
                                                            </block>
                                                        </outcome>
                                                        <outcome value='failure'>
                                                            <block>
                                                                <block atomic='true'>
                                                                    <set>
                                                                        <parameter name="tmp.so.callbackURL" value="`$payloadJson.input.callbackURL`"/>
                                                                        <parameter name="tmp.status" value="`$error-code`"/>
                                                                        <parameter name="tmp.reason" value="`$error-message`"/>
                                                                        <parameter name="tmp.requestID" value="`$instantiateRANSlice-input.common-header.request-id`"/>
                                                                        <parameter name="tmp.action" value="`$instantiateRANSlice-input.action`"/>
                                                                    </set>
                                                                    <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
                                                                        <parameter name="file" value="/opt/opendaylight/current/data/log/so-callback-response.log" />
                                                                        <parameter name="level" value="info" />
                                                                        <parameter name="field1" value="URL for SO Callback Response"/>
                                                                        <parameter name='field2' value="`$tmp.so.callbackURL`" />
                                                                        <parameter name='field3' value="`$tmp.status`" />
                                                                        <parameter name='field4' value="`$tmp.reason`" />
                                                                        <parameter name='field5' value="`$tmp.requestID`" />
                                                                        <parameter name='field6' value="`$tmp.action`" />
                                                                        <parameter name='field7' value="`$tmp.CUCPList`" />
                                                                        <parameter name='field8' value="`$tmp.CUUPList`" />
                                                                        <parameter name='field9' value="`$tmp.DUList`" />
                                                                    </record>
                                                                    <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
                                                                        <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-so-response.json'`" />
                                                                        <parameter name="restapiUrl" value="`$tmp.so.callbackURL`"/>
                                                                        <parameter name="httpMethod" value="POST"/>
                                                                        <parameter name="responsePrefix" value="so-callback-response"/>
                                                                        <parameter name='contentType' value='application/json' />
                                                                        <parameter name='format' value='json' />
                                                                        <parameter name='accept' value='*/*' />
                                                                        <outcome value='failure'>
                                                                            <block>
                                                                                <return status='failure'>
                                                                                    <parameter name='ack-final' value='Y'/>
                                                                                    <parameter name="error-code" value="500" />
                                                                                    <parameter name="error-message" value="Error sending SO Response" />
                                                                                </return>
                                                                            </block>
                                                                        </outcome>
                                                                        <outcome value='success'>
                                                                            <block>
                                                                                <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
                                                                                    <parameter name="file" value="/opt/opendaylight/current/data/log/so-callback-response.log" />
                                                                                    <parameter name="level" value="info" />
                                                                                    <parameter name="field1" value="SO Response Sent "/>
                                                                                </record>
                                                                            </block>
                                                                        </outcome>
                                                                    </execute>
                                                                </block>
                                                                <set>
                                                                    <parameter name='error-code' value='500'/>
                                                                    <parameter name='error-message' value='Error Getting Info from ConfigDB. Aborting RPC executiopn'/>
                                                                </set>
                                                                <return status='failure'>
                                                                    <parameter name='ack-final' value='Y'/>
                                                                    <parameter name='error-code' value='500'/>
                                                                    <parameter name='error-message' value='Error Getting Info from ConfigDB. Aborting RPC executiopn'/>
                                                                </return>
                                                            </block>
                                                        </outcome>
                                                    </execute>
                                                </block>
                                            </for>
                                        </block>
                                    </for>
                                </block>
                            </block>
                        </outcome>
                    </execute>
                </outcome>
            </execute>
            <block atomic='true'>
                <set>
                    <parameter name="tmp.status" value="`$error-code`"/>
                    <parameter name="tmp.reason" value="`$error-message`"/>
                    <parameter name="tmp.requestID" value="`$instantiate-r-a-n-slice-input.common-header.request-id `"/>
                    <parameter name="tmp.action" value="`$instantiate-r-a-n-slice-input.action`"/>
                </set>
                <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
                    <parameter name="source" value="`$prop.restapi.so.callbackURL`"/>
                    <parameter name="outputPath" value="tmp.so.callbackURL"/>
                    <parameter name="target" value="{requestId}"/>
                    <parameter name="replacement" value="`$tmp.requestID`"/>
                </execute>
                <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
                    <parameter name="file" value="/opt/opendaylight/current/data/log/so-callback-response.log" />
                    <parameter name="level" value="info" />
                    <parameter name="field1" value="URL for SO Callback Response"/>
                    <parameter name='field2' value="`$payloadJson.input.callbackURL`" />
                    <parameter name='field3' value="`$tmp.status`" />
                    <parameter name='field4' value="`$tmp.reason`" />
                    <parameter name='field5' value="`$tmp.requestID`" />
                    <parameter name='field6' value="`$tmp.action`" />
                    <parameter name='field7' value="`$tmp.CUCPList`" />
                    <parameter name='field8' value="`$tmp.CUUPList`" />
                    <parameter name='field9' value="`$tmp.DUList`" />
                </record>
                <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
                    <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-so-response.json'`" />
                    <parameter name="restapiUrl" value="`$payloadJson.input.callbackURL`"/>
                    <parameter name="httpMethod" value="POST"/>
                    <parameter name="responsePrefix" value="so-callback-response"/>
                    <parameter name='contentType' value='application/json' />
                    <parameter name='format' value='json' />
                    <parameter name='accept' value='*/*' />
                    <parameter name="restapiUser" value="`$prop.restapi.so.user`" />
                    <parameter name="restapiPassword" value="`$prop.restapi.so.password`"/>
                    <outcome value='failure'>
                        <block>
                            <set>
                                <parameter name='error-code' value='500'/>
                                <parameter name='error-message' value='Error sending SO response. Aborting RPC executiopn'/>
                            </set>
                            <return status='failure'>
                                <parameter name='ack-final' value='Y'/>
                                <parameter name="error-code" value="500" />
                                <parameter name="error-message" value="Error sending SO Response" />
                            </return>
                        </block>
                    </outcome>
                    <outcome value='success'>
                        <block>
                            <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
                                <parameter name="file" value="/opt/opendaylight/current/data/log/so-callback-response.log" />
                                <parameter name="level" value="info" />
                                <parameter name="field1" value="SO Response Sent "/>
                            </record>
                        </block>
                    </outcome>
                </execute>
            </block>
            <return status='success'>
                <parameter name="ack-final" value="N" />
                <parameter name="error-code" value="200" />
                <parameter name="error-message" value="SUCCESSFUL Execution" />
            </return>
        </block>
    </method>
</service-logic>