aboutsummaryrefslogtreecommitdiffstats
path: root/platform-logic/datachange/src/main/xml/DataChange_update-open-ended-links.xml
diff options
context:
space:
mode:
Diffstat (limited to 'platform-logic/datachange/src/main/xml/DataChange_update-open-ended-links.xml')
-rw-r--r--platform-logic/datachange/src/main/xml/DataChange_update-open-ended-links.xml101
1 files changed, 101 insertions, 0 deletions
diff --git a/platform-logic/datachange/src/main/xml/DataChange_update-open-ended-links.xml b/platform-logic/datachange/src/main/xml/DataChange_update-open-ended-links.xml
new file mode 100644
index 00000000..1919ec0f
--- /dev/null
+++ b/platform-logic/datachange/src/main/xml/DataChange_update-open-ended-links.xml
@@ -0,0 +1,101 @@
+<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='DataChange' version='${project.version}'>
+ <method rpc='update-open-ended-links' mode='sync'>
+ <block atomic="true">
+ <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="logical-links"
+ pfx='tmp.aai.logical-links' local-only='false' >
+ <outcome value='success'>
+ <for index='llidx' start='0' end='`$tmp.aai.logical-links.logical-link_length`' >
+ <block atomic="true">
+ <set>
+ <parameter name='src-tpId' value='`$tmp.aai.logical-links.logical-link[$llidx].relationship-list.relationship[0].relationship-data[0].relationship-value`' />
+ <parameter name='dst-tpId' value='`$tmp.aai.logical-links.logical-link[$llidx].relationship-list.relationship[1].relationship-data[0].relationship-value`' />
+ <parameter name='ll-to-be-updated.' value='`$tmp.aai.logical-links.logical-link[$llidx].`' />
+ </set>
+ <switch test='$dst-tpId'>
+ <outcome value=''>
+ <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="p-interface"
+ key="p-interface.interface-name = $src-ltpId
+ AND depth = '0'"
+ pfx='tmp.aai.src-tp' local-only='false' >
+ <outcome value='success'>
+ <set>
+ <parameter name='src-plug-id' value='`$tmp.aai.src-tp.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='Other'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'Unexpected error occurred while querying pnf from AnAI with pnf-name = ' + $prop.l3vpn.pe1_id`" />
+ </return>
+ </outcome>
+ </get-resource>
+ </outcome>
+ </switch>
+ <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="p-interfaces"
+ pfx='tmp.aai.p-interfaces' local-only='false' >
+ <outcome value='success'>
+ <for index='tpidx' start='0' end='`$tmp.aai.p-interfaces.p-interface_length`' >
+ <switch test='`$tmp.aai.p-interfaces.p-interface[$tpidx].inter-domain-plug-id`'>
+ <outcome value='`$src-plug-id`'>
+ <switch test='`$tmp.aai.p-interfaces.p-interface[$tpidx].interface-name != $src-tp-id `'>
+ <outcome value='true'>
+ <block atomic='true'>
+ <set>
+ <parameter name='dst-tp-new' value='`$tmp.aai.p-interfaces.p-interface[$tpidx].interface-name`' />
+ </set>
+ <update plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='logical-link:relationship-list'
+ key='logical-link.link-name = $ll-to-be-updated.link-name' force="true" pfx="tmp.AnAI-data">
+ <parameter name="relationship-list.relationship[1].related-to" value="p-interface" />
+ <parameter name="relationship-list.relationship[1].related-link" value="`'/p-interfaces/p-interface/' + $dst-tp-new`" />
+ <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-tp-new`" />
+ </update>
+ </block>
+ </outcome>
+ </switch>
+ </outcome>
+ </switch>
+ </for>
+ </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>
+ </get-resource>
+ </block>
+ </for>
+ </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='Other'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'Unexpected error occurred while querying pnf from AnAI with pnf-name = ' + $prop.l3vpn.pe1_id`" />
+ </return>
+ </outcome>
+ </get-resource>
+ </block>
+ </method>
+</service-logic> \ No newline at end of file