<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='GENERIC-RESOURCE-API' version='${project.version}'>
    <method rpc='getpathsegment-populate-from-vnfapi' mode='sync'>
        <block atomic='true'>
            <set>
                <parameter name="serv-inst.api" value= ""/>
            </set>
            <execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >
                <parameter name='fileName' value='%SDNC_CONFIG_DIR%/generic-resource-api-dg.properties' />
                <parameter name='contextPrefix' value='prop' />
                <outcome value='success'>
                    <block>
                        <record  plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
                            <parameter name="logger" value="message-log"/>
                            <parameter name="field1" value="__TIMESTAMP__"/>
                            <parameter name="field2" value="LAINA: getpathsegment-populate-from-vnfapi: read properties file."/>
                        </record>
                    </block>
                </outcome>
                <outcome value='failure'>
                    <block>
                        <record  plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
                            <parameter name="logger" value="message-log"/>
                            <parameter name="field1" value="__TIMESTAMP__"/>
                            <parameter name="field2" value="LAINA: getpathsegment-populate-from-vnfapi: Could not read properties file."/>
                            <parameter name="field3" value='`$prop.restapi.pm.getpolicy.templatefile`'/>
                        </record>
                        <set>
                            <parameter name="serv-inst.api" value= ""/>
                            <parameter name="error-message" value="Could not read properties file" />
                        </set>
                    </block>
                </outcome>
            </execute>
            <switch test='`$serv-inst.service-instance-id`'>
                <outcome value=''>
                    <block>
                        <record  plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
                            <parameter name="logger" value="message-log"/>
                            <parameter name="field1" value="__TIMESTAMP__"/>
                            <parameter name="field2" value="LAINA: getpathsegment-populate-from-vnfapi: input service-instance-id is not set"/>
                        </record>
                        <set>
                            <parameter name="serv-inst.api" value= ""/>
                            <parameter name="error-message" value="serv-inst.service-instance-id is not set" />
                        </set>
                    </block>
                </outcome>
            </switch>
            <switch test='`$match-type`'>
                <outcome value=''>
                    <block>
                        <record  plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
                            <parameter name="logger" value="message-log"/>
                            <parameter name="field1" value="__TIMESTAMP__"/>
                            <parameter name="field2" value="LAINA: getpathsegment-populate-from-vnfapi: input match-type is not set"/>
                        </record>
                        <set>
                            <parameter name="serv-inst.api" value= ""/>
                            <parameter name="error-message" value="input match-type is not set" />
                        </set>
                    </block>
                </outcome>
            </switch>
            <switch test='`$vnf-ids_length`'>
                <outcome value=''>
                    <block>
                        <set>
                            <parameter name="path-type" value= "COMPOSITE"/>
                        </set>
                        <record  plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
                            <parameter name="logger" value="message-log"/>
                            <parameter name="field1" value="__TIMESTAMP__"/>
                            <parameter name="field2" value="LAINA: getpathsegment-populate-from-vnfapi: input vnf-ids_length is blank, this is a COMPOSITE path"/>
                        </record>
                    </block>
                </outcome>
                <outcome value='Other'>
                    <block>
                        <set>
                            <parameter name="path-type" value= "SIMPLE"/>
                        </set>
                        <record  plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
                            <parameter name="logger" value="message-log"/>
                            <parameter name="field1" value="__TIMESTAMP__"/>
                            <parameter name="field2" value="LAINA: getpathsegment-populate-from-vnfapi: input vnf-ids_length is NOT blank, this is a SIMPLE path"/>
                        </record>
                    </block>
                </outcome>
            </switch>
            <set>
                <parameter name="vnfListIndex" value= "0"/>
            </set>
            <switch test='`$path-type`'>
                <outcome value='SIMPLE'>
                    <block>
                        <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
                            <parameter name="logger" value="message-log"/>
                            <parameter name="field1" value="__TIMESTAMP__"/>
                            <parameter name="field2" value="LAINA: getpathsegment-populate-from-vnfapi: Call AAI custom query vfModule-fromServiceInstance to get vf-module-ids"/>
                        </record>
                        <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
      resource="custom-query"
      key="format = 'resource'"
      force="true"
      local-only="false"
      pfx="tmp.AnAI-data.vf-module-ids">
                            <parameter name="start[0]" value="`'/nodes/service-instances/service-instance?service-instance-id=' + $serv-inst.service-instance-id `" />
                            <!--<parameter name="start[0]" value="`'/business/customers/customer/bgb-customer/service-subscriptions/service-subscription/bgb-service-type/service-instances' `" />-->
                            <!--<parameter name="start[0]" value="`'/business/customers/customer/la-customer/service-subscriptions/service-subscription/la-service-type/service-instances' `" />-->
                            <parameter name="start_length" value="1" />
                            <parameter name="query" value="/query/vfModule-fromServiceInstance" />
                            <!--<parameter name="query" value="/query/vnfs-fromServiceInstance" /> -->
                            <outcome value='failure'>
                                <block>
                                    <set>
                                        <parameter name="error-message" value="Failed call to AAI custom query: vfModule-fromServiceInstance" />
                                        <parameter name="serv-inst.api" value= ""/>
                                        <parameter name='tmp.vf-module-ids_length' value='0' />
                                        <parameter name='tmp.vnf-instances_length' value='0' />
                                    </set>
                                </block>
                            </outcome>
                            <outcome value='not-found'>
                                <block>
                                    <set>
                                        <parameter name="error-message" value="No vfModules returned from AAI: vfModule-fromService-instance" />
                                        <parameter name="serv-inst.api" value= ""/>
                                    </set>
                                </block>
                            </outcome>
                            <outcome value='success'>
                                <block>
                                    <for index='vfModuleResultIndex' start='0' end='`$tmp.AnAI-data.vf-module-ids.results_length`' >
                                        <set>
                                            <parameter name="`'tmp.vf-module-ids[' + $vfModuleResultIndex + ']'`" value='`$tmp.AnAI-data.vf-module-ids.results[$vfModuleResultIndex].vf-module.vf-module-id`' />
                                        </set>
                                    </for>
                                    <set>
                                        <parameter name='tmp.vf-module-ids_length' value='`$tmp.AnAI-data.vf-module-ids.results_length`' />
                                    </set>
                                </block>
                            </outcome>
                        </save>
                        <set>
                            <parameter name="tmp.triplet-list_length" value= "0" />
                            <parameter name="tmp.tripletListIndex" value= "0" />
                            <parameter name="tmp.vnf-instances_length" value= "0" />
                            <parameter name="tmp.vnfInstancesIndex" value= "0" />
                            <parameter name="tmp.mdsal-error-encountered" value= "false"/>
                        </set>
                        <for index='vfModuleIndex' start='0' end='`$tmp.vf-module-ids_length`' >
                            <block>
                                <set>
                                    <parameter name="tmp.vnf-url" value="`'/restconf/config/VNF-API:vnfs/vnf-list/' + $tmp.vf-module-ids[$vfModuleIndex]`" />
                                </set>
                                <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
                                    <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.vnf-url`' />
                                    <parameter name='restapiUser' value='`$prop.controller.user`' />
                                    <parameter name='restapiPassword' value='`$prop.controller.pwd`' />
                                    <parameter name='format' value='json' />
                                    <parameter name='httpMethod' value='GET' />
                                    <parameter name="responsePrefix" value="vnf-mdsal" />
                                    <outcome value='failure'>
                                        <block>
                                            <set>
                                                <parameter name="error-message" value="Failed to read vnf info from MD-SAL" />
                                                <parameter name="serv-inst.api" value= ""/>
                                                <parameter name="tmp.mdsal-error-encountered" value= "true"/>
                                            </set>
                                        </block>
                                    </outcome>
                                    <outcome value='not-found'>
                                        <block>
                                            <set>
                                                <parameter name="error-message" value="Cannot find vnf info in MD-SAL" />
                                                <parameter name="serv-inst.api" value= ""/>
                                                <parameter name="tmp.mdsal-error-encountered" value= "true"/>
                                            </set>
                                        </block>
                                    </outcome>
                                    <outcome value='success'>
                                        <block>
                                            <set>
                                                <parameter name="`'tmp.vnf-instances[' + $tmp.vnfInstancesIndex + ']'`." value= '`$vnf-mdsal.vnf-list[0].`' />
                                                <parameter name="genericVnfIdFound" value= 'false' />
                                            </set>
                                            <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
                                                <parameter name="logger" value="message-log"/>
                                                <parameter name="field1" value="__TIMESTAMP__"/>
                                                <parameter name="field2" value="LAINA: getpathsegment-populate-from-vnfapi: MDSAL vnf-instances vnf-id|generic-vnf-id: "/>
                                                <parameter name="field3" value='`$tmp.vnf-instances[$tmp.vnfInstancesIndex].service-data.vnf-request-information.vnf-id`' />
                                                <parameter name="field4" value='`$tmp.vnf-instances[$tmp.vnfInstancesIndex].service-data.vnf-request-information.generic-vnf-id`' />
                                            </record>
                                            <for index='tmp.tripletListIndex2' start='0' end='`$tmp.triplet-list_length`' >
                                                <switch test='`$tmp.triplet-list[$tmp.tripletListIndex2].generic-vnf-id == $tmp.vnf-instances[$tmp.vnfInstancesIndex].service-data.vnf-request-information.generic-vnf-id`'>
                                                    <outcome value='false'></outcome>
                                                    <outcome value='true'>
                                                        <set>
                                                            <parameter name="genericVnfIdFound" value= 'true' />
                                                        </set>
                                                    </outcome>
                                                </switch>
                                            </for>
                                            <switch test='`$genericVnfIdFound`'>
                                                <outcome value='false'>
                                                    <block>
                                                        <set>
                                                            <parameter name="`'tmp.triplet-list[' + $tmp.tripletListIndex + '].generic-vnf-id'`" value= '`$vnf-mdsal.vnf-list[0].service-data.vnf-request-information.generic-vnf-id`' />
                                                            <parameter name="`'tmp.triplet-list[' + $tmp.tripletListIndex + '].vf-module-id'`" value= '`$tmp.vf-module-ids[$vfModuleIndex]`' />
                                                            <parameter name="tmp.triplet-list_length" value= '`$tmp.triplet-list_length + 1`'/>
                                                            <parameter name="tmp.tripletListIndex" value= '`$tmp.tripletListIndex + 1`'/>
                                                        </set>
                                                        <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
                                                            <parameter name="logger" value="message-log"/>
                                                            <parameter name="field1" value="__TIMESTAMP__"/>
                                                            <parameter name="field2" value="LAINA: getpathsegment-populate-from-vnfapi: generic-vnf-id in NOT found in triplet-list, add it"/>
                                                        </record>
                                                    </block>
                                                </outcome>
                                                <outcome value='true'>
                                                    <block>
                                                        <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
                                                            <parameter name="logger" value="message-log"/>
                                                            <parameter name="field1" value="__TIMESTAMP__"/>
                                                            <parameter name="field2" value="LAINA: getpathsegment-populate-from-vnfapi: generic-vnf-id is already in triplet-list, don't add it"/>
                                                        </record>
                                                    </block>
                                                </outcome>
                                            </switch>
                                            <set>
                                                <parameter name="tmp.vnfInstancesIndex" value= '`$tmp.vnfInstancesIndex + 1`'/>
                                                <parameter name="tmp.vnf-instances_length" value= '`$tmp.vnf-instances_length + 1`'/>
                                            </set>
                                        </block>
                                    </outcome>
                                </execute>
                            </block>
                        </for>
                        <switch test='`$tmp.mdsal-error-encountered`'>
                            <outcome value='false'>
                                <block>
                                    <for index='tmp.tripletListIndex' start='0' end='`$tmp.triplet-list_length`' >
                                        <block>
                                            <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" 
		resource="generic-vnf"
        key="generic-vnf.vnf-id = $tmp.triplet-list[$tmp.tripletListIndex].generic-vnf-id"
        pfx='aai.generic-vnf' local-only='false' >
                                                <outcome value='success'>
                                                    <switch test='`$aai.generic-vnf.model-customization-id`'>
                                                        <outcome value=''>
                                                            <block>
                                                                <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
                                                                    <parameter name="logger" value="message-log"/>
                                                                    <parameter name="field1" value="__TIMESTAMP__"/>
                                                                    <parameter name="field2" value="LAINA: getpathsegment-populate-from-vnfapi: model-customization-id is BLANK for vf-module-id|generic-vnf-id: "/>
                                                                    <parameter name="field3" value='`$tmp.triplet-list[$tmp.tripletListIndex].vf-module-id`'/>
                                                                    <parameter name="field4" value='`$tmp.triplet-list[$tmp.tripletListIndex].generic-vnf-id`'/>
                                                                </record>
                                                            </block>
                                                        </outcome>
                                                        <outcome value='Other'>
                                                            <block>
                                                                <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
                                                                    <parameter name="logger" value="message-log"/>
                                                                    <parameter name="field1" value="__TIMESTAMP__"/>
                                                                    <parameter name="field2" value="LAINA: getpathsegment-populate-from-vnfapi: Set model-customization-id for vf-module-id|generic-vnf-id: "/>
                                                                    <parameter name="field3" value='`$tmp.triplet-list[$tmp.tripletListIndex].vf-module-id`'/>
                                                                    <parameter name="field4" value='`$tmp.triplet-list[$tmp.tripletListIndex].generic-vnf-id`'/>
                                                                    <parameter name="field5" value='`$aai.generic-vnf.model-customization-id`'/>
                                                                </record>
                                                                <set>
                                                                    <parameter name="`'tmp.triplet-list[' + $tmp.tripletListIndex + '].model-customization-id'`" value= '`$aai.generic-vnf.model-customization-id`' />
                                                                </set>
                                                            </block>
                                                        </outcome>
                                                    </switch>
                                                </outcome>
                                                <outcome value='not-found'>
                                                    <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
                                                        <parameter name="logger" value="message-log"/>
                                                        <parameter name="field1" value="__TIMESTAMP__"/>
                                                        <parameter name="field2" value="LAINA: getpathsegment-populate-from-vnfapi: generic-vnf not found in AAI for generic-vnf-id: "/>
                                                        <parameter name="field4" value='`$tmp.triplet-list[$tmp.tripletListIndex].generic-vnf-id`'/>
                                                    </record>
                                                </outcome>
                                                <outcome value='Other'>
                                                    <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
                                                        <parameter name="logger" value="message-log"/>
                                                        <parameter name="field1" value="__TIMESTAMP__"/>
                                                        <parameter name="field2" value="LAINA: getpathsegment-populate-from-vnfapi: unable to access AAI for generic-vnf-id: "/>
                                                        <parameter name="field4" value='`$tmp.triplet-list[$tmp.tripletListIndex].generic-vnf-id`'/>
                                                    </record>
                                                </outcome>
                                            </get-resource>
                                        </block>
                                    </for>
                                </block>
                            </outcome>
                            <outcome value='true'>
                                <block></block>
                            </outcome>
                        </switch>
                        <block>
                            <for index='tmp.tripletListIndex' start='0' end='`$tmp.triplet-list_length`' >
                                <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
                                    <parameter name="logger" value="message-log"/>
                                    <parameter name="field1" value="__TIMESTAMP__"/>
                                    <parameter name="field2" value="LAINA: getpathsegment-populate-from-vnfapi: PRINT triplet-list | vf-module-id:generic-vnf-id:model-customization-id | "/>
                                    <parameter name="field3" value='`$tmp.tripletListIndex`'/>
                                    <parameter name="field4" value='`$tmp.triplet-list[$tmp.tripletListIndex].vf-module-id`'/>
                                    <parameter name="field5" value='`$tmp.triplet-list[$tmp.tripletListIndex].generic-vnf-id`'/>
                                    <parameter name="field6" value='`$tmp.triplet-list[$tmp.tripletListIndex].model-customization-id`'/>
                                </record>
                            </for>
                        </block>
                        <for index='vnfIdIndex' start='0' end='`$vnf-ids_length`' >
                            <block>
                                <for index='tmp.tripletListIndex' start='0' end='`$tmp.triplet-list_length`' >
                                    <block>
                                        <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
                                            <parameter name="logger" value="message-log"/>
                                            <parameter name="field1" value="__TIMESTAMP__"/>
                                            <parameter name="field2" value="LAINA: getpathsegment-populate-from-vnfapi: vnfIdIndex:id | tripletListIndex:model-customization-id | : "/>
                                            <parameter name="field3" value='`$vnfIdIndex`'/>
                                            <parameter name="field4" value='`$vnf-ids[$vnfIdIndex]`'/>
                                            <parameter name="field5" value='`$tmp.tripletListIndex`'/>
                                            <parameter name="field6" value='`$tmp.triplet-list[$tmp.tripletListIndex].model-customization-id`'/>
                                        </record>
                                        <switch test='`$vnf-ids[$vnfIdIndex] == $tmp.triplet-list[$tmp.tripletListIndex].model-customization-id`'>
                                            <outcome value='true'>
                                                <block>
                                                    <for index='vnfInstanceIndex' start='0' end='`$tmp.vnf-instances_length`' >
                                                        <block>
                                                            <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
                                                                <parameter name="logger" value="message-log"/>
                                                                <parameter name="field1" value="__TIMESTAMP__"/>
                                                                <parameter name="field2" value="LAINA: getpathsegment-populate-from-vnfapi: vnfIdIndex:id | vnfInstanceIndex:id | : "/>
                                                                <parameter name="field3" value='`$vnfIdIndex`'/>
                                                                <parameter name="field4" value='`$vnf-ids[$vnfIdIndex]`'/>
                                                                <parameter name="field5" value='`$vnfInstanceIndex`'/>
                                                                <parameter name="field6" value='`$tmp.vnf-instances[$vnfInstanceIndex].service-data.vnf-request-information.vnf-id`'/>
                                                            </record>
                                                            <switch test='`$tmp.vnf-instances[$vnfInstanceIndex].service-data.vnf-request-information.vnf-id == $tmp.triplet-list[$tmp.tripletListIndex].vf-module-id`'>
                                                                <outcome value='true'>
                                                                    <block>
                                                                        <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
                                                                            <parameter name="logger" value="message-log"/>
                                                                            <parameter name="field1" value="__TIMESTAMP__"/>
                                                                            <parameter name="field2" value="LAINA: getpathsegment-populate-from-vnfapi: MATCH for vnf-instances.vnf-id and triplet-list.vf-module-id: "/>
                                                                            <parameter name="field3" value='`$tmp.triplet-list[$tmp.tripletListIndex].vf-module-id`'/>
                                                                        </record>
                                                                        <switch test='`$tmp.vnf-instances[$vnfInstanceIndex].service-data.vnf-topology-information.vnf-assignments.vnf-networks_length > 0`'>
                                                                            <outcome value='true'>
                                                                                <for index='vnfNetworksIndex' start='0' end='`$tmp.vnf-instances[$vnfInstanceIndex].service-data.vnf-topology-information.vnf-assignments.vnf-networks_length`' >
                                                                                    <block>
                                                                                        <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
                                                                                            <parameter name="logger" value="message-log"/>
                                                                                            <parameter name="field1" value="__TIMESTAMP__"/>
                                                                                            <parameter name="field2" value="LAINA: getpathsegment-populate-from-vnfapi: MATCH for vnf-id and vnf-instances for vnf-id: "/>
                                                                                            <parameter name="field3" value='`$vnf-ids[$vnfIdIndex]`'/>
                                                                                            <parameter name="field4" value='`$tmp.vnf-instances[$vnfInstanceIndex].service-data.vnf-topology-information.vnf-assignments.vnf-networks[$vnfnetworksIndex].`'/>
                                                                                        </record>
                                                                                        <set>
                                                                                            <parameter name="serv-inst.vnf-list[$vnfListIndex].vnf-network-list[$vnfNetworksIndex].network-name" value= "`$tmp.vnf-instances[$vnfInstanceIndex].service-data.vnf-topology-information.vnf-assignments.vnf-networks[$vnfNetworksIndex].network-name`"/>
                                                                                            <parameter name="serv-inst.vnf-list[$vnfListIndex].vnf-network-list[$vnfNetworksIndex].network-role" value= "`$tmp.vnf-instances[$vnfInstanceIndex].service-data.vnf-topology-information.vnf-assignments.vnf-networks[$vnfNetworksIndex].network-role`"/>
                                                                                            <parameter name="serv-inst.vnf-list[$vnfListIndex].vnf-network-list[$vnfNetworksIndex].vf-module-id" value= "`$tmp.vnf-instances[$vnfInstanceIndex].service-data.vnf-request-information.vnf-id`"/>
                                                                                            <parameter name="serv-inst.vnf-list[$vnfListIndex].vnf-network-list_length" value= '`$vnfNetworksIndex + 1`'/>
                                                                                        </set>
                                                                                    </block>
                                                                                </for>
                                                                            </outcome>
                                                                            <outcome value='false'>
                                                                                <block>
                                                                                    <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
                                                                                        <parameter name="logger" value="message-log"/>
                                                                                        <parameter name="field1" value="__TIMESTAMP__"/>
                                                                                        <parameter name="field2" value="LAINA: getpathsegment-populate-from-vnfapi: No vnf-networks found for vnf-id: "/>
                                                                                        <parameter name="field3" value='`$tmp.vnf-instances[$vnfInstanceIndex].service-data.vnf-request-information.vnf-id`' />
                                                                                    </record>
                                                                                    <set>
                                                                                        <parameter name='`tmp.vnf-instances[$vnfInstanceIndex].service-data.vnf-topology-information.vnf-assignments.vnf-networks_length' value="0" />
                                                                                    </set>
                                                                                </block>
                                                                            </outcome>
                                                                        </switch>
                                                                        <set>
                                                                            <parameter name="serv-inst.vnf-list[$vnfListIndex].vnf-id" value= "`$tmp.triplet-list[$tmp.tripletListIndex].generic-vnf-id`"/>
                                                                        </set>
                                                                        <set>
                                                                            <parameter name="vnfListIndex" value= '`$vnfListIndex + 1`'/>
                                                                        </set>
                                                                    </block>
                                                                </outcome>
                                                                <outcome value='false'></outcome>
                                                            </switch>
                                                        </block>
                                                    </for>
                                                    <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
                                                        <parameter name="logger" value="message-log"/>
                                                        <parameter name="field1" value="__TIMESTAMP__"/>
                                                        <parameter name="field2" value="LAINA: getpathsegment-populate-from-vnfapi: MATCH for input vnf-id and triplet-list.model-customizaiton-id: "/>
                                                        <parameter name="field3" value='`$vnf-ids[$vnfIdIndex]`'/>
                                                    </record>
                                                </block>
                                            </outcome>
                                            <outcome value='false'></outcome>
                                        </switch>
                                    </block>
                                </for>
                            </block>
                        </for>
                    </block>
                </outcome>
                <outcome value='COMPOSITE'>
                    <block>
                        <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
                            <parameter name="logger" value="message-log"/>
                            <parameter name="field1" value="__TIMESTAMP__"/>
                            <parameter name="field2" value="LAINA: getpathsegment-populate-from-vnfapi: Call AAI custom query vfModule-fromServiceInstance to get vf-module-ids"/>
                        </record>
                        <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
      resource="custom-query"
      key="format = 'resource'"
      force="true"
      local-only="false"
      pfx="tmp.AnAI-data.vf-module-ids">
                            <parameter name="start[0]" value="`'/nodes/service-instances/service-instance?service-instance-id=' + $serv-inst.service-instance-id `" />
                            <!--<parameter name="start[0]" value="`'/business/customers/customer/bgb-customer/service-subscriptions/service-subscription/bgb-service-type/service-instances' `" />-->
                            <!--<parameter name="start[0]" value="`'/business/customers/customer/la-customer/service-subscriptions/service-subscription/la-service-type/service-instances' `" />-->
                            <parameter name="start_length" value="1" />
                            <parameter name="query" value="/query/vfModule-fromServiceInstance" />
                            <!--<parameter name="query" value="/query/vnfs-fromServiceInstance" /> -->
                            <outcome value='failure'>
                                <block>
                                    <set>
                                        <parameter name="error-message" value="Failed call to AAI custom query: vfModule-fromServiceInstance" />
                                        <parameter name="serv-inst.api" value= ""/>
                                        <parameter name='tmp.vf-module-ids_length' value='0' />
                                        <parameter name='tmp.vnf-instances_length' value='0' />
                                    </set>
                                </block>
                            </outcome>
                            <outcome value='not-found'>
                                <block>
                                    <set>
                                        <parameter name="error-message" value="No vfModules returned from AAI: vfModule-fromService-instance" />
                                        <parameter name="serv-inst.api" value= ""/>
                                    </set>
                                </block>
                            </outcome>
                            <outcome value='success'>
                                <block>
                                    <for index='vfModuleResultIndex' start='0' end='`$tmp.AnAI-data.vf-module-ids.results_length`' >
                                        <set>
                                            <parameter name="`'tmp.vf-module-ids[' + $vfModuleResultIndex + ']'`" value='`$tmp.AnAI-data.vf-module-ids.results[$vfModuleResultIndex].vf-module.vf-module-id`' />
                                        </set>
                                    </for>
                                    <set>
                                        <parameter name='tmp.vf-module-ids_length' value='`$tmp.AnAI-data.vf-module-ids.results_length`' />
                                    </set>
                                </block>
                            </outcome>
                        </save>
                        <for index='vfModuleIndex' start='0' end='`$tmp.vf-module-ids_length`' >
                            <block>
                                <set>
                                    <parameter name="tmp.vnf-url" value="`'/restconf/config/VNF-API:vnfs/vnf-list/' + $tmp.vf-module-ids[$vfModuleIndex]`" />
                                </set>
                                <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
                                    <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.vnf-url`' />
                                    <parameter name='restapiUser' value='`$prop.controller.user`' />
                                    <parameter name='restapiPassword' value='`$prop.controller.pwd`' />
                                    <parameter name='format' value='json' />
                                    <parameter name='httpMethod' value='GET' />
                                    <parameter name="responsePrefix" value="vnf-mdsal" />
                                    <outcome value='failure'>
                                        <block atomic="true">
                                            <set>
                                                <parameter name="error-message" value="Failed to read vnf info from MD-SAL" />
                                                <parameter name="serv-inst.api" value= ""/>
                                            </set>
                                        </block>
                                    </outcome>
                                    <outcome value='not-found'>
                                        <block atomic="true">
                                            <set>
                                                <parameter name="error-message" value="Cannot find vnf info in MD-SAL" />
                                                <parameter name="serv-inst.api" value= ""/>
                                            </set>
                                        </block>
                                    </outcome>
                                    <outcome value='success'>
                                        <block>
                                            <set>
                                                <parameter name="`'tmp.vnf-instances[0]'`." value= '`$vnf-mdsal.vnf-list[0].`' />
                                            </set>
                                            <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
                                                <parameter name="logger" value="message-log"/>
                                                <parameter name="field1" value="__TIMESTAMP__"/>
                                                <parameter name="field2" value="LAINA: getpathsegment-populate-from-vnfapi: MDSAL vnf-instances vnf-id: "/>
                                                <parameter name="field3" value='`$tmp.vnf-instances[0].service-data.vnf-request-information.vnf-id`' />
                                            </record>
                                        </block>
                                    </outcome>
                                </execute>
                                <switch test='`$tmp.vnf-instances[0].service-data.vnf-topology-information.vnf-assignments.vnf-networks_length > 0`'>
                                    <outcome value='true'>
                                        <for index='vnfNetworksIndex' start='0' end='`$tmp.vnf-instances[0].service-data.vnf-topology-information.vnf-assignments.vnf-networks_length`' >
                                            <block>
                                                <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
                                                    <parameter name="logger" value="message-log"/>
                                                    <parameter name="field1" value="__TIMESTAMP__"/>
                                                    <parameter name="field2" value="LAINA: getpathsegment-populate-from-vnfapi: copy vnf-instance data to output: "/>
                                                    <parameter name="field3" value='`$tmp.vnf-instances[0].service-data.vnf-topology-information.vnf-assignments.vnf-networks[$vnfnetworksIndex].`'/>
                                                </record>
                                                <set>
                                                    <parameter name="serv-inst.vnf-list[$vnfListIndex].vnf-network-list[$vnfNetworksIndex].network-name" value= "`$tmp.vnf-instances[0].service-data.vnf-topology-information.vnf-assignments.vnf-networks[$vnfNetworksIndex].network-name`"/>
                                                    <parameter name="serv-inst.vnf-list[$vnfListIndex].vnf-network-list[$vnfNetworksIndex].network-role" value= "`$tmp.vnf-instances[0].service-data.vnf-topology-information.vnf-assignments.vnf-networks[$vnfNetworksIndex].network-role`"/>
                                                    <parameter name="serv-inst.vnf-list[$vnfListIndex].vnf-network-list[$vnfNetworksIndex].vf-module-id" value= "`$tmp.vnf-instances[0].service-data.vnf-request-information.vnf-id`"/>
                                                    <parameter name="serv-inst.vnf-list[$vnfListIndex].vnf-network-list_length" value= '`$vnfNetworksIndex + 1`'/>
                                                </set>
                                            </block>
                                        </for>
                                    </outcome>
                                    <outcome value='false'>
                                        <block>
                                            <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
                                                <parameter name="logger" value="message-log"/>
                                                <parameter name="field1" value="__TIMESTAMP__"/>
                                                <parameter name="field2" value="LAINA: getpathsegment-populate-from-vnfapi: No vnf-networks found for vnf-id: "/>
                                                <parameter name="field3" value='`$tmp.vnf-instances[0].service-data.vnf-request-information.vnf-id`' />
                                            </record>
                                            <set>
                                                <parameter name='`tmp.vnf-instances[0].service-data.vnf-topology-information.vnf-assignments.vnf-networks_length' value="0" />
                                            </set>
                                        </block>
                                    </outcome>
                                </switch>
                                <set>
                                    <parameter name="serv-inst.vnf-list[$vnfListIndex].vnf-id" value= "`$vnf-mdsal.vnf-list[0].service-data.vnf-request-information.generic-vnf-id`"/>
                                </set>
                                <set>
                                    <parameter name="vnfListIndex" value= '`$vnfListIndex + 1`'/>
                                </set>
                            </block>
                        </for>
                    </block>
                </outcome>
            </switch>
            <set>
                <parameter name="serv-inst.service-instance-id" value= "`$serv-inst.service-instance-id`"/>
                <parameter name="serv-inst.vnf-list_length" value= "`$vnfListIndex`"/>
            </set>
            <switch test='`$serv-inst.vnf-list_length > 0`'>
                <outcome value='true'>
                    <set>
                        <parameter name="serv-inst.api" value= "VNF"/>
                    </set>
                </outcome>
            </switch>
            <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
                <parameter name='filename' value='/var/tmp/getpathsegment-populate-from-vnfapi-output.log' />
            </execute>
            <return status='success'></return>
        </block>
    </method>
</service-logic>