+ </block>
+ </outcome>
+ </execute>
+ </block>
+ </block>
+ </outcome>
+ </execute>
+ <set>
+ <parameter name='tmp.pLMNId' value='`$getPLMN-CL-configdb-response.plmnId`'/>
+ </set>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='substring'>
+ <parameter name="string" value="`$tmp.pLMNId`" />
+ <parameter name="result" value="tmp.mcc"/>
+ <parameter name="begin-index" value="0" />
+ <parameter name="end-index" value="3" />
+ </execute>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='substring'>
+ <parameter name="string" value="`$tmp.pLMNId`" />
+ <parameter name="result" value="tmp.mnc"/>
+ <parameter name="begin-index" value="4" />
+ </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="`$tmp.pLMNId`"/>
+ <parameter name="field2" value="`$tmp.mcc`"/>
+ <parameter name="field3" value="`$tmp.mnc`"/>
+ </record>
+ </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>
+ <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>
+ <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="Closed loop API params"/>
+ <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.uLThptPerSlice`"/>
+ <parameter name="field7" value="`$tmp.dLThptPerSlice`"/>
+ </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='application/json' />
+ <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>