Support for 1+1 protection path for a cloud leased-line (CLL) service.
[sdnc/oam.git] / platform-logic / generic-resource-api / src / main / xml / trans_slicing / GENERIC-RESOURCE-API_tsli-vnf-topology-operation-get-otn-tunnel-path-from-oof.xml
1 <service-logic\r
2         xmlns='http://www.onap.org/sdnc/svclogic'\r
3         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}'>\r
4     <method rpc='tsli-vnf-topology-operation-get-otn-tunnel-path-from-oof' mode='sync'>\r
5         <block atomic="true">\r
6             <block atomic='true'>\r
7                 <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
8                               resource="network-resources"\r
9                               key="selflink = 'https://aai.onap:8443/aai/v21/network/network-resources?depth=0'"\r
10                               local-only="false"\r
11                               pfx="allNetworksList" >\r
12                     <outcome value='success'></outcome>\r
13                     <outcome value='Other'></outcome>\r
14                     <outcome value='not-found'></outcome>\r
15                 </get-resource>\r
16                 <for index='netwidx' start='0' end='`$allNetworksList.network-resource_length`' >\r
17                     <switch test='`$allNetworksList.network-resource[$netwidx].provider-id == $param-prefix-domainA-pnfName[2]`'>\r
18                         <outcome value='true'>\r
19                             <switch test='`$allNetworksList.network-resource[$netwidx].te-topo-id != $param-prefix-domainA-pnfName[6]`'>\r
20                                 <outcome value='true'>\r
21                                     <set>\r
22                                         <parameter name='otnTopoIdSrc' value='`$allNetworksList.network-resource[$netwidx].te-topo-id`' />\r
23                                     </set>\r
24                                 </outcome>\r
25                             </switch>\r
26                         </outcome>\r
27                         <outcome value='false'>\r
28                             <switch test='`$allNetworksList.network-resource[$netwidx].provider-id == $param-prefix-domainB-pnfName[2]`'>\r
29                                 <outcome value='true'>\r
30                                     <switch test='`$allNetworksList.network-resource[$netwidx].te-topo-id != $param-prefix-domainB-pnfName[6]`'>\r
31                                         <outcome value='true'>\r
32                                             <block>\r
33                                                 <switch test='`$hasSecondary`'>\r
34                                                     <outcome value='false'>\r
35                                                         <set>\r
36                                                             <parameter name='otnTopoIdDst' value='`$allNetworksList.network-resource[$netwidx].te-topo-id`' />\r
37                                                         </set>\r
38                                                     </outcome>\r
39                                                     <outcome value='true'>\r
40                                                         <block>\r
41                                                             <!-- This is to check the provider-id of ROOt and SECONDARY-ROOT-->\r
42                                                             <switch test='`$param-prefix-domainB[$param-prefix-domainB_length -9] == $param-prefix-domainC[$param-prefix-domainC_length -9]`'>\r
43                                                                 <outcome value='true'>\r
44                                                                     <block>\r
45                                                                         <set>\r
46                                                                             <parameter name='otnTopoIdDst' value='`$allNetworksList.network-resource[$netwidx].te-topo-id`' />\r
47                                                                         </set>\r
48                                                                         <set>\r
49                                                                             <parameter name='otnTopoIdDstBackup' value='`$allNetworksList.network-resource[$netwidx].te-topo-id`' />\r
50                                                                         </set>\r
51                                                                     </block>\r
52                                                                 </outcome>\r
53                                                                 <outcome value='false'>\r
54                                                                     <block>\r
55                                                                         <set>\r
56                                                                             <parameter name='otnTopoIdDst' value='`$allNetworksList.network-resource[$netwidx].te-topo-id`' />\r
57                                                                         </set>\r
58                                                                     </block>\r
59                                                                 </outcome>\r
60                                                             </switch>\r
61                                                         </block>\r
62                                                     </outcome>\r
63                                                 </switch>\r
64                                             </block>\r
65                                         </outcome>\r
66                                     </switch>\r
67                                 </outcome>\r
68                                 <outcome value='false'>\r
69                                     <switch test='`$allNetworksList.network-resource[$netwidx].provider-id == $param-prefix-domainC-pnfName[2]`'>\r
70                                         <outcome value='true'>\r
71                                             <block>\r
72                                                 <switch test='`$hasSecondary`'>\r
73                                                     <outcome value='true'>\r
74                                                         <block></block>\r
75                                                     </outcome>\r
76                                                 </switch>\r
77                                             </block>\r
78                                         </outcome>\r
79                                     </switch>\r
80                                 </outcome>\r
81                             </switch>\r
82                         </outcome>\r
83                     </switch>\r
84                 </for>\r
85                 <set>\r
86                     <parameter name='tmp.pce-src-node.' value='' />\r
87                 </set>\r
88                 <set>\r
89                     <parameter name='tmp.pce-dst-node.' value='' />\r
90                 </set>\r
91                 <set>\r
92                     <parameter name='tmp.pce-dst-node-backup.' value='' />\r
93                 </set>\r
94                 <set>\r
95                     <!--<parameter name='`otn-oof`' value='' />-->\r
96                     <parameter name='otn-oof.' value='' />\r
97                     <!--<parameter name='`otn-oof.solutions`' value='' />-->\r
98                     <!--<parameter name='`otn-oof.solutions.`' value='' />-->\r
99                     <!--<parameter name='`otn-oof.solutions_length`' value='0' />-->\r
100                 </set>\r
101                 <set>\r
102                     <!--<parameter name='tmp.pce-src-node' value="`$param-prefix-domainA-pnfName[0] + '-' +-->\r
103                     <!--                                                   $param-prefix-domainA-pnfName[1] + '-' +-->\r
104                     <!--                                                   $param-prefix-domainA-pnfName[2] + '-' +-->\r
105                     <!--                                                   $param-prefix-domainA-pnfName[3] + '-' +-->\r
106                     <!--                                                   $param-prefix-domainA-pnfName[4] + '-' +-->\r
107                     <!--                                                   $param-prefix-domainA-pnfName[5] + '-' +-->\r
108                     <!--                                                   1 + '-' +-->\r
109                     <!--                                                   $param-prefix-domainA-pnfName[7] + '-' +-->\r
110                     <!--                                                   $param-prefix-domainA-pnfName[8]`" />-->\r
111                     <parameter name='tmp.pce-src-node' value="`$param-prefix-domainA-pnfName[0] + '-' +\r
112                                                    $param-prefix-domainA-pnfName[1] + '-' +\r
113                                                    $param-prefix-domainA-pnfName[2] + '-' +\r
114                                                    $param-prefix-domainA-pnfName[3] + '-' +\r
115                                                    $param-prefix-domainA-pnfName[4] + '-' +\r
116                                                    $param-prefix-domainA-pnfName[5] + '-' +\r
117                                                    $otnTopoIdSrc + '-' +\r
118                                                    $param-prefix-domainA-pnfName[7] + '-' +\r
119                                                    $param-prefix-domainA-pnfName[8]`" />\r
120                 </set>\r
121                 <set>\r
122                     <!--<parameter name='$tmp.pce-dst-node' value="`$param-prefix-domainB-pnfName[0] + '-' +-->\r
123                     <!--                                                   $param-prefix-domainB-pnfName[1] + '-' +-->\r
124                     <!--                                                   $param-prefix-domainB-pnfName[2] + '-' +-->\r
125                     <!--                                                   $param-prefix-domainB-pnfName[3] + '-' +-->\r
126                     <!--                                                   $param-prefix-domainB-pnfName[4] + '-' +-->\r
127                     <!--                                                   $param-prefix-domainB-pnfName[5] + '-' +-->\r
128                     <!--                                                   1 + '-' +-->\r
129                     <!--                                                   $param-prefix-domainB-pnfName[7] + '-' +-->\r
130                     <!--                                                   $param-prefix-domainB-pnfName[8]`" />-->\r
131                     <parameter name='tmp.pce-dst-node' value="`$param-prefix-domainB-pnfName[0] + '-' +\r
132                                                    $param-prefix-domainB-pnfName[1] + '-' +\r
133                                                    $param-prefix-domainB-pnfName[2] + '-' +\r
134                                                    $param-prefix-domainB-pnfName[3] + '-' +\r
135                                                    $param-prefix-domainB-pnfName[4] + '-' +\r
136                                                    $param-prefix-domainB-pnfName[5] + '-' +\r
137                                                    $otnTopoIdDst + '-' +\r
138                                                    $param-prefix-domainB-pnfName[7] + '-' +\r
139                                                    $param-prefix-domainB-pnfName[8]`" />\r
140                 </set>\r
141                 <set>\r
142                     <!--<parameter name='$tmp.pce-dst-node' value="`$param-prefix-domainB-pnfName[0] + '-' +-->\r
143                     <!--                                                   $param-prefix-domainB-pnfName[1] + '-' +-->\r
144                     <!--                                                   $param-prefix-domainB-pnfName[2] + '-' +-->\r
145                     <!--                                                   $param-prefix-domainB-pnfName[3] + '-' +-->\r
146                     <!--                                                   $param-prefix-domainB-pnfName[4] + '-' +-->\r
147                     <!--                                                   $param-prefix-domainB-pnfName[5] + '-' +-->\r
148                     <!--                                                   1 + '-' +-->\r
149                     <!--                                                   $param-prefix-domainB-pnfName[7] + '-' +-->\r
150                     <!--                                                   $param-prefix-domainB-pnfName[8]`" />-->\r
151                     <parameter name='tmp.pce-dst-node-backup' value="`$param-prefix-domainC-pnfName[0] + '-' +\r
152                                                    $param-prefix-domainC-pnfName[1] + '-' +\r
153                                                    $param-prefix-domainC-pnfName[2] + '-' +\r
154                                                    $param-prefix-domainC-pnfName[3] + '-' +\r
155                                                    $param-prefix-domainC-pnfName[4] + '-' +\r
156                                                    $param-prefix-domainC-pnfName[5] + '-' +\r
157                                                    $otnTopoIdDstBackup + '-' +\r
158                                                    $param-prefix-domainC-pnfName[7] + '-' +\r
159                                                    $param-prefix-domainC-pnfName[8]`" />\r
160                 </set>\r
161                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
162                     <parameter name="logger" value="message-log" />\r
163                     <parameter name="level" value="info" />\r
164                     <!--<parameter name="field1" value="Path computation succeed!"/>-->\r
165                     <!--<parameter name="field2" value="`$ccsdkTopo.resp.solutions_length`"/>-->\r
166                     <!--<parameter name="field1" value="`$tmp.src.domainA.pnf-name`"/>-->\r
167                     <!--<parameter name="field2" value="`$tmp.dst.domainB.pnf-name`"/>-->\r
168                     <parameter name="field1" value="`$tmp.pce-src-node`"/>\r
169                     <parameter name="field2" value="`$tmp.pce-dst-node`"/>\r
170                     <parameter name="field3" value="`$tmp.pce-dst-node-backup`"/>\r
171                 </record>\r
172                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
173                     <parameter name="logger" value="message-log" />\r
174                     <parameter name="level" value="info" />\r
175                     <parameter name="field1" value="`$otn-oof.`"/>\r
176                 </record>\r
177                 <set>\r
178                     <!--<parameter name='tmp.pce-src-node' value="`$param-prefix-domainA-pnfName[0] + '-' +-->\r
179                     <!--                                                   $param-prefix-domainA-pnfName[1] + '-' +-->\r
180                     <!--                                                   $param-prefix-domainA-pnfName[2] + '-' +-->\r
181                     <!--                                                   $param-prefix-domainA-pnfName[3] + '-' +-->\r
182                     <!--                                                   $param-prefix-domainA-pnfName[4] + '-' +-->\r
183                     <!--                                                   $param-prefix-domainA-pnfName[5] + '-' +-->\r
184                     <!--                                                   1 + '-' +-->\r
185                     <!--                                                   $param-prefix-domainA-pnfName[7] + '-' +-->\r
186                     <!--                                                   $param-prefix-domainA-pnfName[8]`" />-->\r
187                     <parameter name='filenamemm' value="`$tmp.pce-src-node + $tmp.pce-dst-node + $tmp.pce-dst-node-backup`" />\r
188                 </set>\r
189                 <switch test='`$hasSecondary`'>\r
190                     <outcome value='false'>\r
191                         <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliTopologyUtils' method='computePath' >\r
192                             <parameter name="pnfs-pfx" value='ccsdkTopopnfs'/>\r
193                             <parameter name="links-pfx" value="ccsdkTopologicalLinks"/>\r
194                             <parameter name="response-pfx" value="otn-oof"/>\r
195                             <parameter name="output-end-to-end-path" value="false"/>\r
196                             <!--<parameter name="src-node" value="`$tmp.src.domainA.pnf-name`"/>-->\r
197                             <!--<parameter name="dst-node" value="`$tmp.dst.domainB.pnf-name`"/>-->\r
198                             <parameter name="src-node" value="`$tmp.pce-src-node`"/>\r
199                             <parameter name="dst-node" value="`$tmp.pce-dst-node`"/>\r
200                             <outcome value='success'></outcome>\r
201                             <outcome value='Other'></outcome>\r
202                             <outcome value='not-found'></outcome>\r
203                         </execute>\r
204                     </outcome>\r
205                     <outcome value='true'>\r
206                         <block>\r
207                             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliTopologyUtils' method='computePaths' >\r
208                                 <parameter name="pnfs-pfx" value='ccsdkTopopnfs'/>\r
209                                 <parameter name="links-pfx" value="ccsdkTopologicalLinks"/>\r
210                                 <parameter name="response-pfx" value="otn-oof"/>\r
211                                 <parameter name="output-end-to-end-path" value="false"/>\r
212                                 <!--<parameter name="src-node" value="`$tmp.src.domainA.pnf-name`"/>-->\r
213                                 <!--<parameter name="dst-node" value="`$tmp.dst.domainB.pnf-name`"/>-->\r
214                                 <parameter name="src-node" value="`$tmp.pce-src-node`"/>\r
215                                 <parameter name="dst-node" value="`$tmp.pce-dst-node`"/>\r
216                                 <parameter name="dst-node-backup" value="`$tmp.pce-dst-node-backup`"/>\r
217                                 <parameter name="require-backuppath" value="`$hasSecondary`"/>\r
218                                 <outcome value='success'></outcome>\r
219                                 <outcome value='Other'></outcome>\r
220                                 <outcome value='not-found'></outcome>\r
221                             </execute>\r
222                         </block>\r
223                     </outcome>\r
224                 </switch>\r
225             </block>\r
226             <set>\r
227                 <parameter name='`tmp.otninfo.`' value='' />\r
228                 <!--<parameter name='`tmp.otninfo_length`' value='0' />-->\r
229                 <parameter name='`tmp.otninfoProtect.`' value='' />\r
230             </set>\r
231             <for index='vidx' start='0' end='`$otn-oof.solutions_length`' >\r
232                 <block atomic="true">\r
233                     <set>\r
234                         <parameter name='otn-oof.link-name' value='' />\r
235                         <!--<parameter name='tmp.aai.cross-link' value='' />-->\r
236                         <parameter name='tmp.aai.cross-link.' value='' />\r
237                         <!--<parameter name='tmp.aai.cross-link.link-role' value='' />-->\r
238                     </set>\r
239                     <set>\r
240                         <parameter name='otn-oof.link-name' value='`$otn-oof.solutions[$vidx].original_link`' />\r
241                         <parameter name='otn-oof.start-node' value='`$otn-oof.solutions[$vidx].src_node`' />\r
242                         <parameter name='otn-oof.end-node' value='`$otn-oof.solutions[$vidx].dst_node`' />\r
243                     </set>\r
244                     <set>\r
245                         <parameter name='tmp.cross-link.src-ltpId' value="`$otn-oof.solutions[$vidx].src_pinterface`" />\r
246                         <parameter name='tmp.src-pnf-name' value="`$otn-oof.solutions[$vidx].src_node`" />\r
247                     </set>\r
248                     <set>\r
249                         <parameter name='tmp.cross-link.dst-ltpId' value="`$otn-oof.solutions[$vidx].dst_pinterface`" />\r
250                         <parameter name='tmp.dst-pnf-name' value="`$otn-oof.solutions[$vidx].dst_node`" />\r
251                     </set>\r
252                     <block atomic="true">\r
253                         <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
254                                       resource="p-interface"\r
255                                       key="pnf.pnf-name = $tmp.src-pnf-name\r
256                     AND p-interface.interface-name = $tmp.cross-link.src-ltpId"\r
257                                       pfx='tmp.aai.src-tp' local-only='false' >\r
258                             <!--AND depth = '0'"-->\r
259                             <outcome value='success'>\r
260                                 <block>\r
261                                     <for silentFailure='true' index='pintsidx' start='0' end='`$tmp.aai.src-tp.relationship-list.relationship_length`' >\r
262                                         <switch test='`$tmp.aai.src-tp.relationship-list.relationship[$pintsidx].related-to`'>\r
263                                             <outcome value='tunnel-termination-point'>\r
264                                                 <block atomic="true">\r
265                                                     <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split' >\r
266                                                         <!--<parameter name="original_string" value='`$tmp.aai.src-tp`'/>-->\r
267                                                         <parameter name="original_string" value='`$tmp.aai.src-tp.interface-name`'/>\r
268                                                         <!--<parameter name="regex" value="[^-]+$"/>-->\r
269                                                         <parameter name="regex" value="[-]+"/>\r
270                                                         <parameter name="ctx_memory_result_key" value="param-prefix-src-tp"/>\r
271                                                         <outcome value='success'>\r
272                                                             <block atomic="true">\r
273                                                                 <set>\r
274                                                                     <parameter name='domain-A.ltpId' value='`$param-prefix-src-tp[$param-prefix-src-tp_length -1]`' />\r
275                                                                     <parameter name='`tmp.otninfo[$vidx].dstPort.dst-ltp-id`' value="`$param-prefix-src-tp[$param-prefix-src-tp_length -1]`" />\r
276                                                                     <parameter name='`tmp.otninfo_length`' value='`$vidx + 1`' />\r
277                                                                 </set>\r
278                                                             </block>\r
279                                                         </outcome>\r
280                                                         <outcome value='failure'>\r
281                                                             <return status='failure'>\r
282                                                                 <parameter name='error-code' value='' />\r
283                                                                 <parameter name='error-message' value="An error occured while splitting sna1_route" />\r
284                                                             </return>\r
285                                                         </outcome>\r
286                                                     </execute>\r
287                                                     <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
288                                                                   resource="pnf"\r
289                                                                   key="pnf.pnf-name = $tmp.src-pnf-name"\r
290                                                                   pfx='tmp.aai.src-pnf' local-only='false' >\r
291                                                         <!--AND depth = '0'"-->\r
292                                                         <outcome value='success'>\r
293                                                             <block>\r
294                                                                 <set>\r
295                                                                     <parameter name='domain-A.node-id' value="`$tmp.aai.src-pnf.pnf-id`" />\r
296                                                                     <parameter name='domain-A.tpn' value='1' />\r
297                                                                     <parameter name='`tmp.otninfo[$vidx].dstPort.dst-access-node-id`' value="`$tmp.aai.src-pnf.pnf-id`" />\r
298                                                                     <parameter name='`tmp.otninfo_length`' value='`$vidx + 1`' />\r
299                                                                 </set>\r
300                                                                 <for silentFailure='true' index='pvidx' start='0' end='`$tmp.aai.src-pnf.relationship-list.relationship_length`' >\r
301                                                                     <switch test='`$tmp.aai.src-pnf.relationship-list.relationship[$pvidx].related-to`'>\r
302                                                                         <outcome value='network-resource'>\r
303                                                                             <block atomic="true">\r
304                                                                                 <set>\r
305                                                                                     <parameter name='tmp.domain-A.network-id' value="`$tmp.aai.src-pnf.relationship-list.relationship[$pvidx].relationship-data[0].relationship-value`" />\r
306                                                                                 </set>\r
307                                                                                 <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
308                                                                                               resource="network-resource"\r
309                                                                                               key="network-resource.network-id = $tmp.domain-A.network-id\r
310                 AND depth = '0'"\r
311                                                                                               pfx='tmp.aai.src-network-resource' local-only='false' >\r
312                                                                                     <outcome value='success'>\r
313                                                                                         <set>\r
314                                                                                             <parameter name='domain-A.network-id' value="`$tmp.aai.src-network-resource.network-id`" />\r
315                                                                                             <parameter name='domain-A.provider-id' value="`$tmp.aai.src-network-resource.provider-id`" />\r
316                                                                                             <parameter name='domain-A.client-id' value="`$tmp.aai.src-network-resource.client-id`" />\r
317                                                                                             <parameter name='domain-A.te-topo-id' value="`$tmp.aai.src-network-resource.te-topo-id`" />\r
318                                                                                             <parameter name='domain-A.network-type' value="`$tmp.aai.src-network-resource.network-type`" />\r
319                                                                                             <parameter name='`tmp.otninfo[$vidx].dstPort.dst-access-network-id`' value="`$tmp.aai.src-network-resource.network-id`" />\r
320                                                                                             <parameter name='`tmp.otninfo[$vidx].dstPort.dst-access-provider-id`' value="`$tmp.aai.src-network-resource.provider-id`" />\r
321                                                                                             <parameter name='`tmp.otninfo[$vidx].dstPort.dst-access-client-id`' value="`$tmp.aai.src-network-resource.client-id`" />\r
322                                                                                             <parameter name='`tmp.otninfo[$vidx].dstPort.dst-access-topology-id`' value="`$tmp.aai.src-network-resource.te-topo-id`" />\r
323                                                                                             <parameter name='`tmp.otninfo[$vidx].dstPort.dst-access-network-type`' value="`$tmp.aai.src-network-resource.network-type`" />\r
324                                                                                             <parameter name='`tmp.otninfo_length`' value='`$vidx + 1`' />\r
325                                                                                         </set>\r
326                                                                                     </outcome>\r
327                                                                                 </get-resource>\r
328                                                                                 <break/>\r
329                                                                             </block>\r
330                                                                         </outcome>\r
331                                                                     </switch>\r
332                                                                 </for>\r
333                                                             </block>\r
334                                                         </outcome>\r
335                                                         <outcome value='not-found'>\r
336                                                             <return status='failure'>\r
337                                                                 <parameter name='ack-final' value='Y'/>\r
338                                                                 <parameter name="error-code" value="500" />\r
339                                                                 <parameter name="error-message" value="`'An error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`" />\r
340                                                             </return>\r
341                                                         </outcome>\r
342                                                         <outcome value='Other'>\r
343                                                             <return status='failure'>\r
344                                                                 <parameter name='ack-final' value='Y'/>\r
345                                                                 <parameter name="error-code" value="500" />\r
346                                                                 <parameter name="error-message" value="`'Unexpected error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`" />\r
347                                                             </return>\r
348                                                         </outcome>\r
349                                                     </get-resource>\r
350                                                     <set>\r
351                                                         <parameter name='tmp.domain-A.ttp-id' value="`$tmp.aai.src-tp.relationship-list.relationship[$pintsidx].relationship-data[0].relationship-value`" />\r
352                                                     </set>\r
353                                                     <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
354                                                                   resource="tunnel-termination-point"\r
355                                                                   key="tunnel-termination-point.ttp-id = $tmp.domain-A.ttp-id\r
356                 AND depth = '0'"\r
357                                                                   pfx='tmp.aai.src-ttp' local-only='false' >\r
358                                                         <outcome value='success'>\r
359                                                             <block atomic="true">\r
360                                                                 <set>\r
361                                                                     <parameter name='domain-A.tunnel-tp-id' value="`$tmp.aai.src-ttp.tunnel-tp-id`" />\r
362                                                                     <parameter name='`tmp.otninfo[$vidx].dstPort.dst-tunnel-tp-id`' value="`$tmp.aai.src-ttp.tunnel-tp-id`" />\r
363                                                                     <parameter name='`tmp.otninfo_length`' value='`$vidx + 1`' />\r
364                                                                 </set>\r
365                                                             </block>\r
366                                                         </outcome>\r
367                                                     </get-resource>\r
368                                                     <break/>\r
369                                                 </block>\r
370                                             </outcome>\r
371                                         </switch>\r
372                                     </for>\r
373                                 </block>\r
374                             </outcome>\r
375                             <outcome value='not-found'>\r
376                                 <return status='failure'>\r
377                                     <parameter name='ack-final' value='Y'/>\r
378                                     <parameter name="error-code" value="500" />\r
379                                     <parameter name="error-message" value="`'An error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`" />\r
380                                 </return>\r
381                             </outcome>\r
382                             <outcome value='Other'>\r
383                                 <return status='failure'>\r
384                                     <parameter name='ack-final' value='Y'/>\r
385                                     <parameter name="error-code" value="500" />\r
386                                     <parameter name="error-message" value="`'Unexpected error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`" />\r
387                                 </return>\r
388                             </outcome>\r
389                         </get-resource>\r
390                         <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
391                                       resource="p-interface"\r
392                                       key="pnf.pnf-name = $tmp.dst-pnf-name\r
393                     AND p-interface.interface-name = $tmp.cross-link.dst-ltpId"\r
394                                       pfx='tmp.aai.dst-tp' local-only='false' >\r
395                             <!--AND depth = '0'"-->\r
396                             <outcome value='success'>\r
397                                 <block>\r
398                                     <for silentFailure='true' index='pintdidx' start='0' end='`$tmp.aai.dst-tp.relationship-list.relationship_length`' >\r
399                                         <switch test='`$tmp.aai.dst-tp.relationship-list.relationship[$pintdidx].related-to`'>\r
400                                             <outcome value='tunnel-termination-point'>\r
401                                                 <block atomic="true">\r
402                                                     <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split' >\r
403                                                         <parameter name="original_string" value='`$tmp.aai.dst-tp`'/>\r
404                                                         <!--<parameter name="regex" value="[^-]+$"/>-->\r
405                                                         <parameter name="regex" value="[-]+"/>\r
406                                                         <parameter name="ctx_memory_result_key" value="param-prefix-dst-tp"/>\r
407                                                         <outcome value='success'>\r
408                                                             <block atomic="true">\r
409                                                                 <set>\r
410                                                                     <parameter name='domain-B.ltpId' value='`$param-prefix-dst-tp[$param-prefix-dst-tp_length -1]`' />\r
411                                                                     <parameter name='`tmp.otninfo[$vidx + 1].srcPort.src-ltp-id`' value="`$param-prefix-dst-tp[$param-prefix-dst-tp_length -1]`" />\r
412                                                                     <parameter name='`tmp.otninfo_length`' value='`$vidx + 2`' />\r
413                                                                 </set>\r
414                                                             </block>\r
415                                                         </outcome>\r
416                                                         <outcome value='failure'>\r
417                                                             <return status='failure'>\r
418                                                                 <parameter name='error-code' value='' />\r
419                                                                 <parameter name='error-message' value="An error occured while splitting sna1_route" />\r
420                                                             </return>\r
421                                                         </outcome>\r
422                                                     </execute>\r
423                                                     <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
424                                                                   resource="pnf"\r
425                                                                   key="pnf.pnf-name = $tmp.dst-pnf-name"\r
426                                                                   pfx='tmp.aai.dst-pnf' local-only='false' >\r
427                                                         <!--AND depth = '0'"-->\r
428                                                         <outcome value='success'>\r
429                                                             <block>\r
430                                                                 <set>\r
431                                                                     <parameter name='domain-B.node-id' value="`$tmp.aai.dst-pnf.pnf-id`" />\r
432                                                                     <parameter name='domain-B.tpn' value='1' />\r
433                                                                     <parameter name='`tmp.otninfo[$vidx + 1].srcPort.src-access-node-id`' value="`$tmp.aai.dst-pnf.pnf-id`" />\r
434                                                                     <parameter name='`tmp.otninfo_length`' value='`$vidx + 2`' />\r
435                                                                 </set>\r
436                                                                 <for silentFailure='true' index='mvidx' start='0' end='`$tmp.aai.dst-pnf.relationship-list.relationship_length`' >\r
437                                                                     <switch test='`$tmp.aai.dst-pnf.relationship-list.relationship[$mvidx].related-to`'>\r
438                                                                         <outcome value='network-resource'>\r
439                                                                             <block atomic="true">\r
440                                                                                 <set>\r
441                                                                                     <parameter name='tmp.domain-B.network-id' value="`$tmp.aai.dst-pnf.relationship-list.relationship[$mvidx].relationship-data[0].relationship-value`" />\r
442                                                                                 </set>\r
443                                                                                 <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
444                                                                                               resource="network-resource"\r
445                                                                                               key="network-resource.network-id = $tmp.domain-B.network-id\r
446                 AND depth = '0'"\r
447                                                                                               pfx='tmp.aai.dst-network-resource' local-only='false' >\r
448                                                                                     <outcome value='success'>\r
449                                                                                         <set>\r
450                                                                                             <parameter name='domain-B.network-id' value="`$tmp.aai.dst-network-resource.network-id`" />\r
451                                                                                             <parameter name='domain-B.provider-id' value="`$tmp.aai.dst-network-resource.provider-id`" />\r
452                                                                                             <parameter name='domain-B.client-id' value="`$tmp.aai.dst-network-resource.client-id`" />\r
453                                                                                             <parameter name='domain-B.te-topo-id' value="`$tmp.aai.dst-network-resource.te-topo-id`" />\r
454                                                                                             <parameter name='domain-B.network-type' value="`$tmp.aai.dst-network-resource.network-type`" />\r
455                                                                                             <parameter name='`tmp.otninfo[$vidx + 1].srcPort.src-access-network-id`' value="`$tmp.aai.dst-network-resource.network-id`" />\r
456                                                                                             <parameter name='`tmp.otninfo[$vidx + 1].srcPort.src-access-provider-id`' value="`$tmp.aai.dst-network-resource.provider-id`" />\r
457                                                                                             <parameter name='`tmp.otninfo[$vidx + 1].srcPort.src-access-client-id`' value="`$tmp.aai.dst-network-resource.client-id`" />\r
458                                                                                             <parameter name='`tmp.otninfo[$vidx + 1].srcPort.src-access-topology-id`' value="`$tmp.aai.dst-network-resource.te-topo-id`" />\r
459                                                                                             <parameter name='`tmp.otninfo[$vidx + 1].srcPort.src-access-network-type`' value="`$tmp.aai.dst-network-resource.network-type`" />\r
460                                                                                             <parameter name='`tmp.otninfo_length`' value='`$vidx + 2`' />\r
461                                                                                         </set>\r
462                                                                                     </outcome>\r
463                                                                                 </get-resource>\r
464                                                                                 <break/>\r
465                                                                             </block>\r
466                                                                         </outcome>\r
467                                                                     </switch>\r
468                                                                 </for>\r
469                                                             </block>\r
470                                                         </outcome>\r
471                                                         <outcome value='not-found'>\r
472                                                             <return status='failure'>\r
473                                                                 <parameter name='ack-final' value='Y'/>\r
474                                                                 <parameter name="error-code" value="500" />\r
475                                                                 <parameter name="error-message" value="`'An error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`" />\r
476                                                             </return>\r
477                                                         </outcome>\r
478                                                         <outcome value='Other'>\r
479                                                             <return status='failure'>\r
480                                                                 <parameter name='ack-final' value='Y'/>\r
481                                                                 <parameter name="error-code" value="500" />\r
482                                                                 <parameter name="error-message" value="`'Unexpected error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`" />\r
483                                                             </return>\r
484                                                         </outcome>\r
485                                                     </get-resource>\r
486                                                     <set>\r
487                                                         <parameter name='tmp.domain-B.ttp-id' value="`$tmp.aai.dst-tp.relationship-list.relationship[$pintdidx].relationship-data[0].relationship-value`" />\r
488                                                     </set>\r
489                                                     <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
490                                                                   resource="tunnel-termination-point"\r
491                                                                   key="tunnel-termination-point.ttp-id = $tmp.domain-B.ttp-id\r
492                 AND depth = '0'"\r
493                                                                   pfx='tmp.aai.dst-ttp' local-only='false' >\r
494                                                         <outcome value='success'>\r
495                                                             <block atomic="true">\r
496                                                                 <set>\r
497                                                                     <parameter name='domain-B.tunnel-tp-id' value="`$tmp.aai.dst-ttp.tunnel-tp-id`" />\r
498                                                                     <parameter name='`tmp.otninfo[$vidx + 1].srcPort.src-tunnel-tp-id`' value="`$tmp.aai.dst-ttp.tunnel-tp-id`" />\r
499                                                                     <parameter name='`tmp.otninfo_length`' value='`$vidx + 2`' />\r
500                                                                 </set>\r
501                                                             </block>\r
502                                                         </outcome>\r
503                                                     </get-resource>\r
504                                                     <break/>\r
505                                                 </block>\r
506                                             </outcome>\r
507                                         </switch>\r
508                                     </for>\r
509                                 </block>\r
510                             </outcome>\r
511                             <outcome value='not-found'>\r
512                                 <return status='failure'>\r
513                                     <parameter name='ack-final' value='Y'/>\r
514                                     <parameter name="error-code" value="500" />\r
515                                     <parameter name="error-message" value="`'An error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`" />\r
516                                 </return>\r
517                             </outcome>\r
518                             <outcome value='Other'>\r
519                                 <return status='failure'>\r
520                                     <parameter name='ack-final' value='Y'/>\r
521                                     <parameter name="error-code" value="500" />\r
522                                     <parameter name="error-message" value="`'Unexpected error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`" />\r
523                                 </return>\r
524                             </outcome>\r
525                         </get-resource>\r
526                     </block>\r
527                 </block>\r
528             </for>\r
529             <switch test='`$hasSecondary`'>\r
530                 <outcome value='true'>\r
531                     <block>\r
532                         <for index='vidx' start='0' end='`$otn-oof.secondarySolutions_length`' >\r
533                             <block atomic="true">\r
534                                 <set>\r
535                                     <parameter name='otn-oof.link-name' value='' />\r
536                                     <!--<parameter name='tmp.aai.cross-link' value='' />-->\r
537                                     <parameter name='tmp.aai.cross-link.' value='' />\r
538                                     <!--<parameter name='tmp.aai.cross-link.link-role' value='' />-->\r
539                                     <parameter name='tmp.src-pnf-name' value='' />\r
540                                     <parameter name='tmp.cross-link.' value='' />\r
541                                     <parameter name='tmp.dst-pnf-name' value='' />\r
542                                     <parameter name='tmp.aai.src-tp.' value='' />\r
543                                     <parameter name='param-prefix-src-tp.' value='' />\r
544                                     <parameter name='tmp.aai.src-pnf.' value='' />\r
545                                     <parameter name='tmp.domain-A.network-id' value='' />\r
546                                     <parameter name='tmp.aai.src-network-resource.' value='' />\r
547                                     <parameter name='tmp.domain-A.ttp-id' value='' />\r
548                                     <parameter name='tmp.aai.src-ttp.' value='' />\r
549                                     <parameter name='tmp.aai.dst-tp.' value='' />\r
550                                     <parameter name='param-prefix-dst-tp.' value='' />\r
551                                     <parameter name='tmp.aai.dst-pnf.' value='' />\r
552                                     <parameter name='tmp.domain-C.network-id' value='' />\r
553                                     <parameter name='tmp.aai.dst-network-resource.' value='' />\r
554                                     <parameter name='tmp.domain-C.ttp-id' value='' />\r
555                                     <parameter name='tmp.aai.dst-ttp.' value='' />\r
556                                 </set>\r
557                                 <set>\r
558                                     <parameter name='otn-oof.link-name' value='`$otn-oof.secondarySolutions[$vidx].original_link`' />\r
559                                     <parameter name='otn-oof.start-node' value='`$otn-oof.secondarySolutions[$vidx].src_node`' />\r
560                                     <parameter name='otn-oof.end-node' value='`$otn-oof.secondarySolutions[$vidx].dst_node`' />\r
561                                 </set>\r
562                                 <set>\r
563                                     <parameter name='tmp.cross-link.src-ltpId' value="`$otn-oof.secondarySolutions[$vidx].src_pinterface`" />\r
564                                     <parameter name='tmp.src-pnf-name' value="`$otn-oof.secondarySolutions[$vidx].src_node`" />\r
565                                 </set>\r
566                                 <set>\r
567                                     <parameter name='tmp.cross-link.dst-ltpId' value="`$otn-oof.secondarySolutions[$vidx].dst_pinterface`" />\r
568                                     <parameter name='tmp.dst-pnf-name' value="`$otn-oof.secondarySolutions[$vidx].dst_node`" />\r
569                                 </set>\r
570                                 <block atomic="true">\r
571                                     <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
572                                                   resource="p-interface"\r
573                                                   key="pnf.pnf-name = $tmp.src-pnf-name\r
574                     AND p-interface.interface-name = $tmp.cross-link.src-ltpId"\r
575                                                   pfx='tmp.aai.src-tp' local-only='false' >\r
576                                         <!--AND depth = '0'"-->\r
577                                         <outcome value='success'>\r
578                                             <block>\r
579                                                 <for silentFailure='true' index='pintsidx' start='0' end='`$tmp.aai.src-tp.relationship-list.relationship_length`' >\r
580                                                     <switch test='`$tmp.aai.src-tp.relationship-list.relationship[$pintsidx].related-to`'>\r
581                                                         <outcome value='tunnel-termination-point'>\r
582                                                             <block atomic="true">\r
583                                                                 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split' >\r
584                                                                     <!--<parameter name="original_string" value='`$tmp.aai.src-tp`'/>-->\r
585                                                                     <parameter name="original_string" value='`$tmp.aai.src-tp.interface-name`'/>\r
586                                                                     <!--<parameter name="regex" value="[^-]+$"/>-->\r
587                                                                     <parameter name="regex" value="[-]+"/>\r
588                                                                     <parameter name="ctx_memory_result_key" value="param-prefix-src-tp"/>\r
589                                                                     <outcome value='success'>\r
590                                                                         <block atomic="true">\r
591                                                                             <set>\r
592                                                                                 <parameter name='domain-A.ltpId' value='`$param-prefix-src-tp[$param-prefix-src-tp_length -1]`' />\r
593                                                                                 <parameter name='`tmp.otninfoProtect[$vidx].dstPort.dst-ltp-id`' value="`$param-prefix-src-tp[$param-prefix-src-tp_length -1]`" />\r
594                                                                                 <parameter name='`tmp.otninfoProtect_length`' value='`$vidx + 1`' />\r
595                                                                             </set>\r
596                                                                         </block>\r
597                                                                     </outcome>\r
598                                                                     <outcome value='failure'>\r
599                                                                         <return status='failure'>\r
600                                                                             <parameter name='error-code' value='' />\r
601                                                                             <parameter name='error-message' value="An error occured while splitting sna1_route" />\r
602                                                                         </return>\r
603                                                                     </outcome>\r
604                                                                 </execute>\r
605                                                                 <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
606                                                                               resource="pnf"\r
607                                                                               key="pnf.pnf-name = $tmp.src-pnf-name"\r
608                                                                               pfx='tmp.aai.src-pnf' local-only='false' >\r
609                                                                     <!--AND depth = '0'"-->\r
610                                                                     <outcome value='success'>\r
611                                                                         <block>\r
612                                                                             <set>\r
613                                                                                 <parameter name='domain-A.node-id' value="`$tmp.aai.src-pnf.pnf-id`" />\r
614                                                                                 <parameter name='domain-A.tpn' value='1' />\r
615                                                                                 <parameter name='`tmp.otninfoProtect[$vidx].dstPort.dst-access-node-id`' value="`$tmp.aai.src-pnf.pnf-id`" />\r
616                                                                                 <parameter name='`tmp.otninfoProtect_length`' value='`$vidx + 1`' />\r
617                                                                             </set>\r
618                                                                             <for silentFailure='true' index='pvidx' start='0' end='`$tmp.aai.src-pnf.relationship-list.relationship_length`' >\r
619                                                                                 <switch test='`$tmp.aai.src-pnf.relationship-list.relationship[$pvidx].related-to`'>\r
620                                                                                     <outcome value='network-resource'>\r
621                                                                                         <block atomic="true">\r
622                                                                                             <set>\r
623                                                                                                 <parameter name='tmp.domain-A.network-id' value="`$tmp.aai.src-pnf.relationship-list.relationship[$pvidx].relationship-data[0].relationship-value`" />\r
624                                                                                             </set>\r
625                                                                                             <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
626                                                                                                           resource="network-resource"\r
627                                                                                                           key="network-resource.network-id = $tmp.domain-A.network-id\r
628                 AND depth = '0'"\r
629                                                                                                           pfx='tmp.aai.src-network-resource' local-only='false' >\r
630                                                                                                 <outcome value='success'>\r
631                                                                                                     <set>\r
632                                                                                                         <parameter name='domain-A.network-id' value="`$tmp.aai.src-network-resource.network-id`" />\r
633                                                                                                         <parameter name='domain-A.provider-id' value="`$tmp.aai.src-network-resource.provider-id`" />\r
634                                                                                                         <parameter name='domain-A.client-id' value="`$tmp.aai.src-network-resource.client-id`" />\r
635                                                                                                         <parameter name='domain-A.te-topo-id' value="`$tmp.aai.src-network-resource.te-topo-id`" />\r
636                                                                                                         <parameter name='domain-A.network-type' value="`$tmp.aai.src-network-resource.network-type`" />\r
637                                                                                                         <parameter name='`tmp.otninfoProtect[$vidx].dstPort.dst-access-network-id`' value="`$tmp.aai.src-network-resource.network-id`" />\r
638                                                                                                         <parameter name='`tmp.otninfoProtect[$vidx].dstPort.dst-access-provider-id`' value="`$tmp.aai.src-network-resource.provider-id`" />\r
639                                                                                                         <parameter name='`tmp.otninfoProtect[$vidx].dstPort.dst-access-client-id`' value="`$tmp.aai.src-network-resource.client-id`" />\r
640                                                                                                         <parameter name='`tmp.otninfoProtect[$vidx].dstPort.dst-access-topology-id`' value="`$tmp.aai.src-network-resource.te-topo-id`" />\r
641                                                                                                         <parameter name='`tmp.otninfoProtect[$vidx].dstPort.dst-access-network-type`' value="`$tmp.aai.src-network-resource.network-type`" />\r
642                                                                                                         <parameter name='`tmp.otninfoProtect`' value='`$vidx + 1`' />\r
643                                                                                                     </set>\r
644                                                                                                 </outcome>\r
645                                                                                             </get-resource>\r
646                                                                                             <break/>\r
647                                                                                         </block>\r
648                                                                                     </outcome>\r
649                                                                                 </switch>\r
650                                                                             </for>\r
651                                                                         </block>\r
652                                                                     </outcome>\r
653                                                                     <outcome value='not-found'>\r
654                                                                         <return status='failure'>\r
655                                                                             <parameter name='ack-final' value='Y'/>\r
656                                                                             <parameter name="error-code" value="500" />\r
657                                                                             <parameter name="error-message" value="`'An error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`" />\r
658                                                                         </return>\r
659                                                                     </outcome>\r
660                                                                     <outcome value='Other'>\r
661                                                                         <return status='failure'>\r
662                                                                             <parameter name='ack-final' value='Y'/>\r
663                                                                             <parameter name="error-code" value="500" />\r
664                                                                             <parameter name="error-message" value="`'Unexpected error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`" />\r
665                                                                         </return>\r
666                                                                     </outcome>\r
667                                                                 </get-resource>\r
668                                                                 <set>\r
669                                                                     <parameter name='tmp.domain-A.ttp-id' value="`$tmp.aai.src-tp.relationship-list.relationship[$pintsidx].relationship-data[0].relationship-value`" />\r
670                                                                 </set>\r
671                                                                 <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
672                                                                               resource="tunnel-termination-point"\r
673                                                                               key="tunnel-termination-point.ttp-id = $tmp.domain-A.ttp-id\r
674                 AND depth = '0'"\r
675                                                                               pfx='tmp.aai.src-ttp' local-only='false' >\r
676                                                                     <outcome value='success'>\r
677                                                                         <block atomic="true">\r
678                                                                             <set>\r
679                                                                                 <parameter name='domain-A.tunnel-tp-id' value="`$tmp.aai.src-ttp.tunnel-tp-id`" />\r
680                                                                                 <parameter name='`tmp.otninfoProtect[$vidx].dstPort.dst-tunnel-tp-id`' value="`$tmp.aai.src-ttp.tunnel-tp-id`" />\r
681                                                                                 <parameter name='`tmp.otninfoProtect_length`' value='`$vidx + 1`' />\r
682                                                                             </set>\r
683                                                                         </block>\r
684                                                                     </outcome>\r
685                                                                 </get-resource>\r
686                                                                 <break/>\r
687                                                             </block>\r
688                                                         </outcome>\r
689                                                     </switch>\r
690                                                 </for>\r
691                                             </block>\r
692                                         </outcome>\r
693                                         <outcome value='not-found'>\r
694                                             <return status='failure'>\r
695                                                 <parameter name='ack-final' value='Y'/>\r
696                                                 <parameter name="error-code" value="500" />\r
697                                                 <parameter name="error-message" value="`'An error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`" />\r
698                                             </return>\r
699                                         </outcome>\r
700                                         <outcome value='Other'>\r
701                                             <return status='failure'>\r
702                                                 <parameter name='ack-final' value='Y'/>\r
703                                                 <parameter name="error-code" value="500" />\r
704                                                 <parameter name="error-message" value="`'Unexpected error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`" />\r
705                                             </return>\r
706                                         </outcome>\r
707                                     </get-resource>\r
708                                     <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
709                                                   resource="p-interface"\r
710                                                   key="pnf.pnf-name = $tmp.dst-pnf-name\r
711                     AND p-interface.interface-name = $tmp.cross-link.dst-ltpId"\r
712                                                   pfx='tmp.aai.dst-tp' local-only='false' >\r
713                                         <!--AND depth = '0'"-->\r
714                                         <outcome value='success'>\r
715                                             <block>\r
716                                                 <for silentFailure='true' index='pintdidx' start='0' end='`$tmp.aai.dst-tp.relationship-list.relationship_length`' >\r
717                                                     <switch test='`$tmp.aai.dst-tp.relationship-list.relationship[$pintdidx].related-to`'>\r
718                                                         <outcome value='tunnel-termination-point'>\r
719                                                             <block atomic="true">\r
720                                                                 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split' >\r
721                                                                     <parameter name="original_string" value='`$tmp.aai.dst-tp`'/>\r
722                                                                     <!--<parameter name="regex" value="[^-]+$"/>-->\r
723                                                                     <parameter name="regex" value="[-]+"/>\r
724                                                                     <parameter name="ctx_memory_result_key" value="param-prefix-dst-tp"/>\r
725                                                                     <outcome value='success'>\r
726                                                                         <block atomic="true">\r
727                                                                             <set>\r
728                                                                                 <parameter name='domain-C.ltpId' value='`$param-prefix-dst-tp[$param-prefix-dst-tp_length -1]`' />\r
729                                                                                 <parameter name='`tmp.otninfoProtect[$vidx + 1].srcPort.src-ltp-id`' value="`$param-prefix-dst-tp[$param-prefix-dst-tp_length -1]`" />\r
730                                                                                 <parameter name='`tmp.otninfoProtect_length`' value='`$vidx + 2`' />\r
731                                                                             </set>\r
732                                                                         </block>\r
733                                                                     </outcome>\r
734                                                                     <outcome value='failure'>\r
735                                                                         <return status='failure'>\r
736                                                                             <parameter name='error-code' value='' />\r
737                                                                             <parameter name='error-message' value="An error occured while splitting sna1_route" />\r
738                                                                         </return>\r
739                                                                     </outcome>\r
740                                                                 </execute>\r
741                                                                 <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
742                                                                               resource="pnf"\r
743                                                                               key="pnf.pnf-name = $tmp.dst-pnf-name"\r
744                                                                               pfx='tmp.aai.dst-pnf' local-only='false' >\r
745                                                                     <!--AND depth = '0'"-->\r
746                                                                     <outcome value='success'>\r
747                                                                         <block>\r
748                                                                             <set>\r
749                                                                                 <parameter name='domain-C.node-id' value="`$tmp.aai.dst-pnf.pnf-id`" />\r
750                                                                                 <parameter name='domain-C.tpn' value='1' />\r
751                                                                                 <parameter name='`tmp.otninfoProtect[$vidx + 1].srcPort.src-access-node-id`' value="`$tmp.aai.dst-pnf.pnf-id`" />\r
752                                                                                 <parameter name='`tmp.otninfoProtect_length`' value='`$vidx + 2`' />\r
753                                                                             </set>\r
754                                                                             <for silentFailure='true' index='mvidx' start='0' end='`$tmp.aai.dst-pnf.relationship-list.relationship_length`' >\r
755                                                                                 <switch test='`$tmp.aai.dst-pnf.relationship-list.relationship[$mvidx].related-to`'>\r
756                                                                                     <outcome value='network-resource'>\r
757                                                                                         <block atomic="true">\r
758                                                                                             <set>\r
759                                                                                                 <parameter name='tmp.domain-C.network-id' value="`$tmp.aai.dst-pnf.relationship-list.relationship[$mvidx].relationship-data[0].relationship-value`" />\r
760                                                                                             </set>\r
761                                                                                             <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
762                                                                                                           resource="network-resource"\r
763                                                                                                           key="network-resource.network-id = $tmp.domain-C.network-id\r
764                 AND depth = '0'"\r
765                                                                                                           pfx='tmp.aai.dst-network-resource' local-only='false' >\r
766                                                                                                 <outcome value='success'>\r
767                                                                                                     <set>\r
768                                                                                                         <parameter name='domain-C.network-id' value="`$tmp.aai.dst-network-resource.network-id`" />\r
769                                                                                                         <parameter name='domain-C.provider-id' value="`$tmp.aai.dst-network-resource.provider-id`" />\r
770                                                                                                         <parameter name='domain-C.client-id' value="`$tmp.aai.dst-network-resource.client-id`" />\r
771                                                                                                         <parameter name='domain-C.te-topo-id' value="`$tmp.aai.dst-network-resource.te-topo-id`" />\r
772                                                                                                         <parameter name='domain-C.network-type' value="`$tmp.aai.dst-network-resource.network-type`" />\r
773                                                                                                         <parameter name='`tmp.otninfoProtect[$vidx + 1].srcPort.src-access-network-id`' value="`$tmp.aai.dst-network-resource.network-id`" />\r
774                                                                                                         <parameter name='`tmp.otninfoProtect[$vidx + 1].srcPort.src-access-provider-id`' value="`$tmp.aai.dst-network-resource.provider-id`" />\r
775                                                                                                         <parameter name='`tmp.otninfoProtect[$vidx + 1].srcPort.src-access-client-id`' value="`$tmp.aai.dst-network-resource.client-id`" />\r
776                                                                                                         <parameter name='`tmp.otninfoProtect[$vidx + 1].srcPort.src-access-topology-id`' value="`$tmp.aai.dst-network-resource.te-topo-id`" />\r
777                                                                                                         <parameter name='`tmp.otninfoProtect[$vidx + 1].srcPort.src-access-network-type`' value="`$tmp.aai.dst-network-resource.network-type`" />\r
778                                                                                                         <parameter name='`tmp.otninfoProtect`' value='`$vidx + 2`' />\r
779                                                                                                     </set>\r
780                                                                                                 </outcome>\r
781                                                                                             </get-resource>\r
782                                                                                             <break/>\r
783                                                                                         </block>\r
784                                                                                     </outcome>\r
785                                                                                 </switch>\r
786                                                                             </for>\r
787                                                                         </block>\r
788                                                                     </outcome>\r
789                                                                     <outcome value='not-found'>\r
790                                                                         <return status='failure'>\r
791                                                                             <parameter name='ack-final' value='Y'/>\r
792                                                                             <parameter name="error-code" value="500" />\r
793                                                                             <parameter name="error-message" value="`'An error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`" />\r
794                                                                         </return>\r
795                                                                     </outcome>\r
796                                                                     <outcome value='Other'>\r
797                                                                         <return status='failure'>\r
798                                                                             <parameter name='ack-final' value='Y'/>\r
799                                                                             <parameter name="error-code" value="500" />\r
800                                                                             <parameter name="error-message" value="`'Unexpected error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`" />\r
801                                                                         </return>\r
802                                                                     </outcome>\r
803                                                                 </get-resource>\r
804                                                                 <set>\r
805                                                                     <parameter name='tmp.domain-C.ttp-id' value="`$tmp.aai.dst-tp.relationship-list.relationship[$pintdidx].relationship-data[0].relationship-value`" />\r
806                                                                 </set>\r
807                                                                 <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
808                                                                               resource="tunnel-termination-point"\r
809                                                                               key="tunnel-termination-point.ttp-id = $tmp.domain-C.ttp-id\r
810                 AND depth = '0'"\r
811                                                                               pfx='tmp.aai.dst-ttp' local-only='false' >\r
812                                                                     <outcome value='success'>\r
813                                                                         <block atomic="true">\r
814                                                                             <set>\r
815                                                                                 <parameter name='domain-C.tunnel-tp-id' value="`$tmp.aai.dst-ttp.tunnel-tp-id`" />\r
816                                                                                 <parameter name='`tmp.otninfoProtect[$vidx + 1].srcPort.src-tunnel-tp-id`' value="`$tmp.aai.dst-ttp.tunnel-tp-id`" />\r
817                                                                                 <parameter name='`tmp.otninfoProtect_length`' value='`$vidx + 2`' />\r
818                                                                             </set>\r
819                                                                         </block>\r
820                                                                     </outcome>\r
821                                                                 </get-resource>\r
822                                                                 <break/>\r
823                                                             </block>\r
824                                                         </outcome>\r
825                                                     </switch>\r
826                                                 </for>\r
827                                             </block>\r
828                                         </outcome>\r
829                                         <outcome value='not-found'>\r
830                                             <return status='failure'>\r
831                                                 <parameter name='ack-final' value='Y'/>\r
832                                                 <parameter name="error-code" value="500" />\r
833                                                 <parameter name="error-message" value="`'An error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`" />\r
834                                             </return>\r
835                                         </outcome>\r
836                                         <outcome value='Other'>\r
837                                             <return status='failure'>\r
838                                                 <parameter name='ack-final' value='Y'/>\r
839                                                 <parameter name="error-code" value="500" />\r
840                                                 <parameter name="error-message" value="`'Unexpected error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`" />\r
841                                             </return>\r
842                                         </outcome>\r
843                                     </get-resource>\r
844                                 </block>\r
845                             </block>\r
846                         </for>\r
847                     </block>\r
848                 </outcome>\r
849             </switch>\r
850         </block>\r
851     </method>\r
852 </service-logic>