-<service-logic xsi:schemaLocation="http://www.onap.org/sdnc/svclogic ./svclogic.xsd" module="DataChange" version="${project.version}">
- <method rpc="update-network-links-to-aai" mode="sync">
- <block atomic="true">
- <for index="pidx" start="0" end="`$network.link_length`">
- <set>
- <parameter name="link." value="`$network.link[$pidx].`"/>
- <parameter name="unique-networkId" value="`$tmp.network-id`"/>
- </set>
- <set>
- <parameter name="unique-linkId" value="`'networkId-' + $unique-networkId + '-linkId-' + $link.link-id`"/>
- <parameter name="src-tpId" value="`'networkId-' + $unique-networkId + '-nodeId-' + $link.source.source-node + '-ltpId-' + $link.source.source-tp`"/>
- <parameter name="unique-src-node-Id" value="`'networkId-' + $unique-networkId + '-nodeId-' + $link.source.source-node`"/>
- </set>
- <switch test="`$link.destination`">
- <outcome value="">
- <block>
- <set>
- <parameter name="is-open-ended-link" value="true"/>
- </set>
- <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="p-interface" key="pnf.pnf-name = $unique-src-node-Id and p-interface.interface-name = $src-tpId" local-only="false" pfx="tmp.aai.p-interface">
- <outcome value="success">
- <set>
- <parameter name="alt-unique-linkId" value="`$tmp.aai.p-interface.inter-domain-plug-id`"/>
- </set>
- </outcome>
- <outcome value="not-found">
- <return status="failure">
- <parameter name="ack-final" value="Y"/>
- <parameter name="error-code" value="500"/>
- <parameter name="error-message" value="`'An error occurred while querying pnf from AnAI with pnf-name = ' + $prop.l3vpn.pe1_id`"/>
- </return>
- </outcome>
- <outcome value="failure">
- <return status="failure">
- <parameter name="error-code" value=""/>
- <parameter name="error-message" value=""/>
- </return>
- </outcome>
- </get-resource>
- </block>
- </outcome>
- <outcome value="Other">
- <set>
- <parameter name="dst-tpId" value="`'networkId-' + $unique-networkId + '-nodeId-' + $link.destination.dest-node + '-ltpId-' + $link.destination.dest-tp`"/>
- <parameter name="unique-dst-node-Id" value="`'networkId-' + $unique-networkId + '-nodeId-' + $link.destination.dest-node`"/>
- <parameter name="is-open-ended-link" value="false"/>
- </set>
- </outcome>
- </switch>
- <switch test="`$is-open-ended-link`">
- <outcome value="true">
- <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="logical-link" key="logical-link.link-name = $alt-unique-linkId" local-only="false" pfx="tmp.aai.logical-link">
- <outcome value="success">
- <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="logical-link:relationship-list" key="logical-link.link-name = $alt-unique-linkId" force="true" pfx="tmp.AnAI-data">
- <!--
- <parameter name="relationship-list.relationship[0].related-to" value="p-interface" />
- -->
- <!--
- <parameter name="relationship-list.relationship[0].related-link" value="`'/network/pnfs/pnf/' + $unique-src-node-Id + '/p-interfaces/p-interface/' + $src-tpId`" />
- -->
- <!--
- <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="p-interface.interface-name" />
- -->
- <!--
- <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$src-tpId`" />
- -->
- <parameter name="relationship-list.relationship[1].related-to" value="p-interface"/>
- <parameter name="relationship-list.relationship[1].related-link" value="`'/network/pnfs/pnf/' + $unique-src-node-Id + '/p-interfaces/p-interface/' + $src-tpId`"/>
- <parameter name="relationship-list.relationship[1].relationship-data[0].relationship-key" value="p-interface.interface-name"/>
- <parameter name="relationship-list.relationship[1].relationship-data[0].relationship-value" value="`$src-tpId`"/>
- </update>
- </outcome>
- <outcome value="not-found">
- <block atomic="true">
- <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="logical-link" key="logical-link.link-name = $alt-unique-linkId">
- <parameter name="link-name" value="`$alt-unique-linkId`"/>
- <parameter name="link-id" value="`$link.link-id`"/>
- <parameter name="link-type" value="`$link.te.te-link-attributes.access-type`"/>
- </save>
- <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="logical-link:relationship-list" key="logical-link.link-name = $unique-linkId" force="true" pfx="tmp.AnAI-data">
- <parameter name="relationship-list.relationship[0].related-to" value="p-interface"/>
- <parameter name="relationship-list.relationship[0].related-link" value="`'/network/pnfs/pnf/' + $unique-src-node-Id + '/p-interfaces/p-interface/' + $src-tpId`"/>
- <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="p-interface.interface-name"/>
- <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$src-tpId`"/>
- </save>
- <switch test="`$link.te.te-link-attributes.label-restriction`">
- <outcome value="">
- <block/>
- </outcome>
- <outcome value="Other">
- <for index="tidx" start="0" end="`$link.te.te-link-attributes.label-restriction_length`">
- <set>
- <parameter name="label-restriction." value="`$link.te.te-link-attributes.label-restriction[$tidx].`"/>
- <parameter name="unique-lrId" value="`$alt-unique-linkId + '-lrId-' + $label-restriction.index`"/>
- </set>
- <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="label-restriction" key="logical-link.link-name = $alt-unique-linkId AND label-restriction.id = $unique-lrId">
- <parameter name="id" value="`$unique-lrId`"/>
- <parameter name="label-start" value="`$label-restriction.label-start`"/>
- <parameter name="label-end" value="`$label-restriction.label-end`"/>
- <parameter name="range-bitmap" value="`$label-restriction.range-bitmap`"/>
- <parameter name="label-step" value="`$label-restriction.label-step`"/>
- <parameter name="inclusive-exclusive" value="`$label-restriction.inclusive-exclusive`"/>
- <outcome value="success">
- <block/>
- </outcome>
- <outcome value="failure">
- <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="label-restriction" key="logical-link.link-name = $alt-unique-linkId AND label-restriction.id = $unique-lrId">
- <parameter name="id" value="`$unique-lrId`"/>
- <parameter name="label-start" value="`$label-restriction.label-start`"/>
- <parameter name="label-end" value="`$label-restriction.label-end`"/>
- <parameter name="range-bitmap" value="`$label-restriction.range-bitmap`"/>
- <parameter name="label-step" value="`$label-restriction.label-step`"/>
- <parameter name="inclusive-exclusive" value="`$label-restriction.inclusive-exclusive`"/>
- </update>
- </outcome>
- </save>
- <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="logical-link:relationship-list" key="logical-link.link-name = $alt-unique-linkId" force="true" pfx="tmp.AnAI-data">
- <parameter name="relationship-list.relationship[$tidx].related-to" value="label-restriction"/>
- <parameter name="relationship-list.relationship[$tidx].related-link" value="`'/network/label-restrictions/label-restriction/' + $unique-lrId`"/>
- <parameter name="relationship-list.relationship[$tidx].relationship-data[0].relationship-key" value="label-restriction.id"/>
- <parameter name="relationship-list.relationship[$tidx].relationship-data[0].relationship-value" value="`$unique-lrId`"/>
- </save>
- </for>
- </outcome>
- </switch>
- </block>
- </outcome>
- </get-resource>
- </outcome>
- <outcome value="false">
- <block atomic="true">
- <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="logical-link" key="logical-link.link-name = $unique-linkId">
- <parameter name="link-name" value="`$unique-linkId`"/>
- <parameter name="link-id" value="`$link.link-id`"/>
- <parameter name="link-type" value="`$link.te.te-link-attributes.access-type`"/>
- </save>
- <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="logical-link:relationship-list" key="logical-link.link-name = $unique-linkId" force="true" pfx="tmp.AnAI-data">
- <parameter name="relationship-list.relationship[0].related-to" value="p-interface"/>
- <parameter name="relationship-list.relationship[0].related-link" value="`'/network/pnfs/pnf/' + $unique-src-node-Id + '/p-interfaces/p-interface/' + $src-tpId`"/>
- <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="p-interface.interface-name"/>
- <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$src-tpId`"/>
- <parameter name="relationship-list.relationship[1].related-to" value="p-interface"/>
- <parameter name="relationship-list.relationship[1].related-link" value="`'/network/pnfs/pnf/' + $unique-dst-node-Id + '/p-interfaces/p-interface/' + $dst-tpId`"/>
- <parameter name="relationship-list.relationship[1].relationship-data[0].relationship-key" value="p-interface.interface-name"/>
- <parameter name="relationship-list.relationship[1].relationship-data[0].relationship-value" value="`$dst-tpId`"/>
- </save>
- <switch test="`$link.te.te-link-attributes.label-restriction`">
- <outcome value="">
- <block/>
- </outcome>
- <outcome value="Other">
- <for index="tidx" start="0" end="`$link.te.te-link-attributes.label-restriction_length`">
- <set>
- <parameter name="label-restriction." value="`$link.te.te-link-attributes.label-restriction[$tidx].`"/>
- <parameter name="unique-lrId" value="`$unique-linkId + '-lrId-' + $label-restriction.index`"/>
- </set>
- <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="label-restriction" key="logical-link.link-name = $unique-linkId AND label-restriction.id = $unique-lrId">
- <parameter name="id" value="`$unique-lrId`"/>
- <parameter name="label-start" value="`$label-restriction.label-start`"/>
- <parameter name="label-end" value="`$label-restriction.label-end`"/>
- <parameter name="range-bitmap" value="`$label-restriction.range-bitmap`"/>
- <parameter name="label-step" value="`$label-restriction.label-step`"/>
- <parameter name="inclusive-exclusive" value="`$label-restriction.inclusive-exclusive`"/>
- <outcome value="success">
- <block/>
- </outcome>
- <outcome value="failure">
- <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="label-restriction" key="logical-link.link-name = $unique-linkId AND label-restriction.id = $unique-lrId">
- <parameter name="id" value="`$unique-lrId`"/>
- <parameter name="label-start" value="`$label-restriction.label-start`"/>
- <parameter name="label-end" value="`$label-restriction.label-end`"/>
- <parameter name="range-bitmap" value="`$label-restriction.range-bitmap`"/>
- <parameter name="label-step" value="`$label-restriction.label-step`"/>
- <parameter name="inclusive-exclusive" value="`$label-restriction.inclusive-exclusive`"/>
- </update>
- </outcome>
- </save>
- <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="logical-link:relationship-list" key="logical-link.link-name = $unique-linkId" force="true" pfx="tmp.AnAI-data">
- <parameter name="relationship-list.relationship[$tidx].related-to" value="label-restriction"/>
- <parameter name="relationship-list.relationship[$tidx].related-link" value="`'/network/label-restrictions/label-restriction/' + $unique-lrId`"/>
- <parameter name="relationship-list.relationship[$tidx].relationship-data[0].relationship-key" value="label-restriction.id"/>
- <parameter name="relationship-list.relationship[$tidx].relationship-data[0].relationship-value" value="`$unique-lrId`"/>
- </save>
- </for>
- </outcome>
- </switch>
- </block>
- </outcome>
- </switch>
- </for>
- </block>
- </method>
+<service-logic xsi:schemaLocation="http://www.onap.org/sdnc/svclogic ./svclogic.xsd" module="DataChange" version="${project.version}">\r
+ <method rpc="update-network-links-to-aai" mode="sync">\r
+ <block atomic="true">\r
+ <for index="pidx" start="0" end="`$network.link_length`">\r
+ <set>\r
+ <parameter name="link." value=""/>\r
+ <parameter name="dst-tpId" value=""/>\r
+ <parameter name="unique-dst-node-Id" value=""/>\r
+ <parameter name="is-open-ended-link" value="false"/>\r
+ <parameter name="is-invalid-open-ended-link" value="false"/>\r
+ </set>\r
+ <set>\r
+ <parameter name="link." value="`$network.link[$pidx].`"/>\r
+ <parameter name="unique-networkId" value="`$tmp.network-id`"/>\r
+ </set>\r
+ <set>\r
+ <parameter name="unique-linkId" value="`'networkId-' + $unique-networkId + '-linkId-' + $link.link-id`"/>\r
+ <parameter name="src-tpId" value="`'networkId-' + $unique-networkId + '-nodeId-' + $link.source.source-node + '-ltpId-' + $link.source.source-tp`"/>\r
+ <parameter name="unique-src-node-Id" value="`'networkId-' + $unique-networkId + '-nodeId-' + $link.source.source-node`"/>\r
+ </set>\r
+ <switch test="`$link.destination.dest-node`">\r
+ <outcome value="">\r
+ <block>\r
+ <set>\r
+ <parameter name="is-open-ended-link" value="true"/>\r
+ </set>\r
+ <set>\r
+ <parameter name="tmp.aai.p-interface" value=""/>\r
+ <parameter name="tmp.aai.p-interface.inter-domain-plug-id" value=""/>\r
+ </set>\r
+ <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="p-interface" key="pnf.pnf-name = $unique-src-node-Id and p-interface.interface-name = $src-tpId" local-only="false" pfx="tmp.aai.p-interface">\r
+ <outcome value="success">\r
+ <switch test="`$tmp.aai.p-interface.inter-domain-plug-id`">\r
+ <outcome value="">\r
+ <set>\r
+ <parameter name="is-open-ended-link" value="false"/>\r
+ <parameter name="is-invalid-open-ended-link" value="true"/>\r
+ </set>\r
+ </outcome>\r
+ <outcome value="Other">\r
+ <set>\r
+ <parameter name="alt-unique-linkId" value="`$tmp.aai.p-interface.inter-domain-plug-id`"/>\r
+ <!--\r
+ <parameter name='alt-unique-linkId' value="`'networkId-' + $unique-networkId + '-linkId-' + $tmp.aai.p-interface.inter-domain-plug-id`" />\r
+ -->\r
+ </set>\r
+ </outcome>\r
+ </switch>\r
+ </outcome>\r
+ <outcome value="not-found">\r
+ <return status="failure">\r
+ <parameter name="ack-final" value="Y"/>\r
+ <parameter name="error-code" value="500"/>\r
+ <parameter name="error-message" value="`'An error occurred while querying pnf from AnAI with pnf-name = ' + $prop.l3vpn.pe1_id`"/>\r
+ </return>\r
+ </outcome>\r
+ <outcome value="failure">\r
+ <return status="failure">\r
+ <parameter name="error-code" value=""/>\r
+ <parameter name="error-message" value=""/>\r
+ </return>\r
+ </outcome>\r
+ </get-resource>\r
+ </block>\r
+ </outcome>\r
+ <outcome value="Other">\r
+ <set>\r
+ <parameter name="dst-tpId" value="`'networkId-' + $unique-networkId + '-nodeId-' + $link.destination.dest-node + '-ltpId-' + $link.destination.dest-tp`"/>\r
+ <parameter name="unique-dst-node-Id" value="`'networkId-' + $unique-networkId + '-nodeId-' + $link.destination.dest-node`"/>\r
+ <parameter name="is-open-ended-link" value="false"/>\r
+ </set>\r
+ </outcome>\r
+ </switch>\r
+ <switch test="`$is-invalid-open-ended-link`">\r
+ <outcome value="true">\r
+ <block/>\r
+ </outcome>\r
+ <outcome value="false">\r
+ <switch test="`$is-open-ended-link`">\r
+ <outcome value="true">\r
+ <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="logical-link" key="logical-link.link-name = $alt-unique-linkId" local-only="false" pfx="tmp.aai.logical-link">\r
+ <outcome value="success">\r
+ <block>\r
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">\r
+ <parameter name="file" value="/opt/onap/logMerge.txt"/>\r
+ <parameter name="field1" value="__TIMESTAMP__"/>\r
+ <parameter name="field2" value="altUniqueLinkId"/>\r
+ <parameter name="field3" value="`$alt-unique-linkId`"/>\r
+ <parameter name="field4" value="srcTpId"/>\r
+ <parameter name="field5" value="`$src-tpId`"/>\r
+ <parameter name="field6" value="relationship-value"/>\r
+ <parameter name="field7" value="`$tmp.aai.logical-link.relationship-list.relationship[0].relationship-data[1].relationship-value`"/>\r
+ </record>\r
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="logical-link:relationship-list" key="logical-link.link-name = $alt-unique-linkId" force="true" pfx="tmp.AnAI-data">\r
+ <!--\r
+ <parameter name="relationship-list.relationship[0].related-to" value="p-interface" />\r
+ -->\r
+ <!--\r
+ <parameter name="relationship-list.relationship[0].related-link" value="`'/network/pnfs/pnf/' + $unique-src-node-Id + '/p-interfaces/p-interface/' + $src-tpId`" />\r
+ -->\r
+ <!--\r
+ <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="p-interface.interface-name" />\r
+ -->\r
+ <!--\r
+ <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$src-tpId`" />\r
+ -->\r
+ <parameter name="relationship-list.relationship[0].related-to" value="p-interface"/>\r
+ <parameter name="relationship-list.relationship[0].related-link" value="`'/network/pnfs/pnf/' + $unique-src-node-Id + '/p-interfaces/p-interface/' + $src-tpId`"/>\r
+ <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="p-interface.interface-name"/>\r
+ <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$src-tpId`"/>\r
+ <outcome value="success">\r
+ <block>\r
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">\r
+ <parameter name="file" value="/opt/onap/logMergeSuccess.txt"/>\r
+ <parameter name="field1" value="__TIMESTAMP__"/>\r
+ <parameter name="field2" value="altUniqueLinkId"/>\r
+ <parameter name="field3" value="`$alt-unique-linkId`"/>\r
+ <parameter name="field4" value="srcTpId"/>\r
+ <parameter name="field5" value="`$src-tpId`"/>\r
+ <parameter name="field6" value="relationship-value"/>\r
+ <parameter name="field7" value="`$tmp.aai.logical-link.relationship-list.relationship[0].relationship-data[1].relationship-value`"/>\r
+ </record>\r
+ </block>\r
+ </outcome>\r
+ <outcome value="failure">\r
+ <block>\r
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">\r
+ <parameter name="file" value="/opt/onap/logMergeFailure.txt"/>\r
+ <parameter name="field1" value="__TIMESTAMP__"/>\r
+ <parameter name="field2" value="altUniqueLinkId"/>\r
+ <parameter name="field3" value="`$alt-unique-linkId`"/>\r
+ <parameter name="field4" value="srcTpId"/>\r
+ <parameter name="field5" value="`$src-tpId`"/>\r
+ <parameter name="field6" value="relationship-value"/>\r
+ <parameter name="field7" value="`$tmp.aai.logical-link.relationship-list.relationship[0].relationship-data[1].relationship-value`"/>\r
+ </record>\r
+ </block>\r
+ </outcome>\r
+ </save>\r
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="te-link-attribute" key="te-link-attribute.id = $link.te.te-link-attributes.name">\r
+ <parameter name="id" value="`$link.te.te-link-attributes.name`"/>\r
+ <parameter name="access-type" value="`$link.te.te-link-attributes.access-type`"/>\r
+ </save>\r
+ <switch test="`$link.te.te-link-attributes.label-restriction_length`">\r
+ <outcome value="">\r
+ <block/>\r
+ </outcome>\r
+ <outcome value="0">\r
+ <block/>\r
+ </outcome>\r
+ <outcome value="Other">\r
+ <for index="tidx" start="0" end="`$link.te.te-link-attributes.label-restriction_length`">\r
+ <set>\r
+ <parameter name="label-restriction." value=""/>\r
+ <parameter name="unique-lrId" value=""/>\r
+ </set>\r
+ <set>\r
+ <parameter name="label-restriction." value="`$link.te.te-link-attributes.label-restriction[$tidx].`"/>\r
+ </set>\r
+ <set>\r
+ <parameter name="unique-lrId" value="`$alt-unique-linkId + '-lrId-' + $label-restriction.index`"/>\r
+ </set>\r
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="label-restriction" key="label-restriction.id = $unique-lrId">\r
+ <parameter name="id" value="`$unique-lrId`"/>\r
+ <parameter name="label-start" value="`$label-restriction.label-start.te-label-tpn`"/>\r
+ <parameter name="label-end" value="`$label-restriction.label-end.te-label-tpn`"/>\r
+ <parameter name="range-bitmap" value="`$label-restriction.range-bitmap`"/>\r
+ <parameter name="label-step" value="`$label-restriction.label-step`"/>\r
+ <parameter name="inclusive-exclusive" value="`$label-restriction.inclusive-exclusive`"/>\r
+ <outcome value="success">\r
+ <block/>\r
+ </outcome>\r
+ <outcome value="failure">\r
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="label-restriction" key="label-restriction.id = $unique-lrId">\r
+ <parameter name="id" value="`$unique-lrId`"/>\r
+ <parameter name="label-start" value="`$label-restriction.label-start.te-label-tpn`"/>\r
+ <parameter name="label-end" value="`$label-restriction.label-end.te-label-tpn`"/>\r
+ <parameter name="range-bitmap" value="`$label-restriction.range-bitmap`"/>\r
+ <parameter name="label-step" value="`$label-restriction.label-step`"/>\r
+ <parameter name="inclusive-exclusive" value="`$label-restriction.inclusive-exclusive`"/>\r
+ </save>\r
+ </outcome>\r
+ </save>\r
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="te-link-attribute:relationship-list" key="te-link-attribute.id = $link.te.te-link-attributes.name" force="true" pfx="tmp.AnAI-data">\r
+ <parameter name="relationship-list.relationship[0].related-to" value="logical-link"/>\r
+ <parameter name="relationship-list.relationship[0].related-link" value="`'/network/logical-links/logical-link/' + $alt-unique-linkId`"/>\r
+ <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="logical-link.link-name"/>\r
+ <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$alt-unique-linkId`"/>\r
+ </save>\r
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="te-link-attribute:relationship-list" key="te-link-attribute.id = $link.te.te-link-attributes.name" force="true" pfx="tmp.AnAI-data">\r
+ <parameter name="relationship-list.relationship[0].related-to" value="label-restriction"/>\r
+ <parameter name="relationship-list.relationship[0].related-link" value="`'/network/label-restrictions/label-restriction/' + $unique-lrId`"/>\r
+ <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="label-restriction.id"/>\r
+ <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$unique-lrId`"/>\r
+ </save>\r
+ </for>\r
+ </outcome>\r
+ </switch>\r
+ </block>\r
+ </outcome>\r
+ <outcome value="not-found">\r
+ <block atomic="true">\r
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="logical-link" key="logical-link.link-name = $alt-unique-linkId">\r
+ <parameter name="link-name" value="`$alt-unique-linkId`"/>\r
+ <parameter name="link-id" value="`$link.link-id`"/>\r
+ <parameter name="link-type" value="`$link.te.te-link-attributes.access-type`"/>\r
+ </save>\r
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="logical-link:relationship-list" key="logical-link.link-name = $alt-unique-linkId" force="true" pfx="tmp.AnAI-data">\r
+ <parameter name="relationship-list.relationship[0].related-to" value="p-interface"/>\r
+ <parameter name="relationship-list.relationship[0].related-link" value="`'/network/pnfs/pnf/' + $unique-src-node-Id + '/p-interfaces/p-interface/' + $src-tpId`"/>\r
+ <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="p-interface.interface-name"/>\r
+ <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$src-tpId`"/>\r
+ </save>\r
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="te-link-attribute" key="te-link-attribute.id = $link.te.te-link-attributes.name">\r
+ <parameter name="id" value="`$link.te.te-link-attributes.name`"/>\r
+ <parameter name="access-type" value="`$link.te.te-link-attributes.access-type`"/>\r
+ </save>\r
+ <switch test="`$link.te.te-link-attributes.label-restriction_length`">\r
+ <outcome value="">\r
+ <block/>\r
+ </outcome>\r
+ <outcome value="0">\r
+ <block/>\r
+ </outcome>\r
+ <outcome value="Other">\r
+ <for index="tidx" start="0" end="`$link.te.te-link-attributes.label-restriction_length`">\r
+ <set>\r
+ <parameter name="label-restriction." value=""/>\r
+ <parameter name="unique-lrId" value=""/>\r
+ </set>\r
+ <set>\r
+ <parameter name="label-restriction." value="`$link.te.te-link-attributes.label-restriction[$tidx].`"/>\r
+ </set>\r
+ <set>\r
+ <parameter name="unique-lrId" value="`$alt-unique-linkId + '-lrId-' + $label-restriction.index`"/>\r
+ </set>\r
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="label-restriction" key="label-restriction.id = $unique-lrId">\r
+ <parameter name="id" value="`$unique-lrId`"/>\r
+ <parameter name="label-start" value="`$label-restriction.label-start.te-label-tpn`"/>\r
+ <parameter name="label-end" value="`$label-restriction.label-end.te-label-tpn`"/>\r
+ <parameter name="range-bitmap" value="`$label-restriction.range-bitmap`"/>\r
+ <parameter name="label-step" value="`$label-restriction.label-step`"/>\r
+ <parameter name="inclusive-exclusive" value="`$label-restriction.inclusive-exclusive`"/>\r
+ <outcome value="success">\r
+ <block/>\r
+ </outcome>\r
+ <outcome value="failure">\r
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="label-restriction" key="logical-link.link-name = $alt-unique-linkId AND label-restriction.id = $unique-lrId">\r
+ <parameter name="id" value="`$unique-lrId`"/>\r
+ <parameter name="label-start" value="`$label-restriction.label-start`"/>\r
+ <parameter name="label-end" value="`$label-restriction.label-end`"/>\r
+ <parameter name="range-bitmap" value="`$label-restriction.range-bitmap`"/>\r
+ <parameter name="label-step" value="`$label-restriction.label-step`"/>\r
+ <parameter name="inclusive-exclusive" value="`$label-restriction.inclusive-exclusive`"/>\r
+ </save>\r
+ </outcome>\r
+ </save>\r
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="te-link-attribute:relationship-list" key="te-link-attribute.id = $link.te.te-link-attributes.name" force="true" pfx="tmp.AnAI-data">\r
+ <parameter name="relationship-list.relationship[0].related-to" value="logical-link"/>\r
+ <parameter name="relationship-list.relationship[0].related-link" value="`'/network/logical-links/logical-link/' + $alt-unique-linkId`"/>\r
+ <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="logical-link.link-name"/>\r
+ <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$alt-unique-linkId`"/>\r
+ </save>\r
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="te-link-attribute:relationship-list" key="te-link-attribute.id = $link.te.te-link-attributes.name" force="true" pfx="tmp.AnAI-data">\r
+ <parameter name="relationship-list.relationship[0].related-to" value="label-restriction"/>\r
+ <parameter name="relationship-list.relationship[0].related-link" value="`'/network/label-restrictions/label-restriction/' + $unique-lrId`"/>\r
+ <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="label-restriction.id"/>\r
+ <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$unique-lrId`"/>\r
+ </save>\r
+ </for>\r
+ </outcome>\r
+ </switch>\r
+ </block>\r
+ </outcome>\r
+ </get-resource>\r
+ </outcome>\r
+ <outcome value="false">\r
+ <block atomic="true">\r
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="logical-link" key="logical-link.link-name = $unique-linkId">\r
+ <parameter name="link-name" value="`$unique-linkId`"/>\r
+ <parameter name="link-id" value="`$link.link-id`"/>\r
+ <parameter name="link-type" value="`$link.te.te-link-attributes.access-type`"/>\r
+ </save>\r
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">\r
+ <parameter name="file" value="/opt/onap/logTopologyDiscovery.txt"/>\r
+ <parameter name="field1" value="__TIMESTAMP__"/>\r
+ <parameter name="field2" value="uniqueLinkId"/>\r
+ <parameter name="field3" value="`$unique-linkId`"/>\r
+ <parameter name="field4" value="srcTpId"/>\r
+ <parameter name="field5" value="`$src-tpId`"/>\r
+ <parameter name="field6" value="dstTpId"/>\r
+ <parameter name="field7" value="`$dst-tpId`"/>\r
+ </record>\r
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="logical-link:relationship-list" key="logical-link.link-name = $unique-linkId" force="true" pfx="tmp.AnAI-data">\r
+ <parameter name="relationship-list.relationship[0].related-to" value="p-interface"/>\r
+ <parameter name="relationship-list.relationship[0].related-link" value="`'/network/pnfs/pnf/' + $unique-src-node-Id + '/p-interfaces/p-interface/' + $src-tpId`"/>\r
+ <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="p-interface.interface-name"/>\r
+ <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$src-tpId`"/>\r
+ <parameter name="relationship-list.relationship[1].related-to" value="p-interface"/>\r
+ <parameter name="relationship-list.relationship[1].related-link" value="`'/network/pnfs/pnf/' + $unique-dst-node-Id + '/p-interfaces/p-interface/' + $dst-tpId`"/>\r
+ <parameter name="relationship-list.relationship[1].relationship-data[0].relationship-key" value="p-interface.interface-name"/>\r
+ <parameter name="relationship-list.relationship[1].relationship-data[0].relationship-value" value="`$dst-tpId`"/>\r
+ </save>\r
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="te-link-attribute" key="te-link-attribute.id = $link.te.te-link-attributes.name">\r
+ <parameter name="id" value="`$link.te.te-link-attributes.name`"/>\r
+ <parameter name="access-type" value="`$link.te.te-link-attributes.access-type`"/>\r
+ </save>\r
+ <switch test="`$link.te.te-link-attributes.label-restriction_length`">\r
+ <outcome value="">\r
+ <block/>\r
+ </outcome>\r
+ <outcome value="0">\r
+ <block/>\r
+ </outcome>\r
+ <outcome value="Other">\r
+ <for index="tidx" start="0" end="`$link.te.te-link-attributes.label-restriction_length`">\r
+ <set>\r
+ <parameter name="label-restriction." value=""/>\r
+ <parameter name="unique-lrId" value=""/>\r
+ </set>\r
+ <set>\r
+ <parameter name="label-restriction." value="`$link.te.te-link-attributes.label-restriction[$tidx].`"/>\r
+ </set>\r
+ <set>\r
+ <parameter name="unique-lrId" value="`$unique-linkId + '-lrId-' + $label-restriction.index`"/>\r
+ </set>\r
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="label-restriction" key="label-restriction.id = $unique-lrId">\r
+ <parameter name="id" value="`$unique-lrId`"/>\r
+ <parameter name="label-start" value="`$label-restriction.label-start.te-label-tpn`"/>\r
+ <parameter name="label-end" value="`$label-restriction.label-end.te-label-tpn`"/>\r
+ <parameter name="range-bitmap" value="`$label-restriction.range-bitmap`"/>\r
+ <parameter name="label-step" value="`$label-restriction.label-step`"/>\r
+ <parameter name="inclusive-exclusive" value="`$label-restriction.inclusive-exclusive`"/>\r
+ <outcome value="success">\r
+ <block/>\r
+ </outcome>\r
+ <outcome value="failure">\r
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="label-restriction" key="logical-link.link-name = $unique-linkId AND label-restriction.id = $unique-lrId">\r
+ <parameter name="id" value="`$unique-lrId`"/>\r
+ <parameter name="label-start" value="`$label-restriction.label-start`"/>\r
+ <parameter name="label-end" value="`$label-restriction.label-end`"/>\r
+ <parameter name="range-bitmap" value="`$label-restriction.range-bitmap`"/>\r
+ <parameter name="label-step" value="`$label-restriction.label-step`"/>\r
+ <parameter name="inclusive-exclusive" value="`$label-restriction.inclusive-exclusive`"/>\r
+ </save>\r
+ </outcome>\r
+ </save>\r
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="te-link-attribute:relationship-list" key="te-link-attribute.id = $link.te.te-link-attributes.name" force="true" pfx="tmp.AnAI-data">\r
+ <parameter name="relationship-list.relationship[0].related-to" value="logical-link"/>\r
+ <parameter name="relationship-list.relationship[0].related-link" value="`'/network/logical-links/logical-link/' + $unique-linkId`"/>\r
+ <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="logical-link.link-name"/>\r
+ <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$unique-linkId`"/>\r
+ </save>\r
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="te-link-attribute:relationship-list" key="te-link-attribute.id = $link.te.te-link-attributes.name" force="true" pfx="tmp.AnAI-data">\r
+ <parameter name="relationship-list.relationship[0].related-to" value="label-restriction"/>\r
+ <parameter name="relationship-list.relationship[0].related-link" value="`'/network/label-restrictions/label-restriction/' + $unique-lrId`"/>\r
+ <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="label-restriction.id"/>\r
+ <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$unique-lrId`"/>\r
+ </save>\r
+ </for>\r
+ </outcome>\r
+ </switch>\r
+ </block>\r
+ </outcome>\r
+ </switch>\r
+ </outcome>\r
+ </switch>\r
+ </for>\r
+ </block>\r
+ </method>\r