Fixing a bug in calling path computation
[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='true'>\r
191                         <block>\r
192                             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliTopologyUtils' method='computePaths' >\r
193                                 <parameter name="pnfs-pfx" value='ccsdkTopopnfs'/>\r
194                                 <parameter name="links-pfx" value="ccsdkTopologicalLinks"/>\r
195                                 <parameter name="response-pfx" value="otn-oof"/>\r
196                                 <parameter name="output-end-to-end-path" value="false"/>\r
197                                 <!--<parameter name="src-node" value="`$tmp.src.domainA.pnf-name`"/>-->\r
198                                 <!--<parameter name="dst-node" value="`$tmp.dst.domainB.pnf-name`"/>-->\r
199                                 <parameter name="src-node" value="`$tmp.pce-src-node`"/>\r
200                                 <parameter name="dst-node" value="`$tmp.pce-dst-node`"/>\r
201                                 <parameter name="dst-node-backup" value="`$tmp.pce-dst-node-backup`"/>\r
202                                 <parameter name="require-backuppath" value="`$hasSecondary`"/>\r
203                                 <outcome value='success'></outcome>\r
204                                 <outcome value='Other'></outcome>\r
205                                 <outcome value='not-found'></outcome>\r
206                             </execute>\r
207                         </block>\r
208                     </outcome>\r
209                     <outcome value='Other'>\r
210                         <block>\r
211                             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliTopologyUtils' method='computePath' >\r
212                                 <parameter name="pnfs-pfx" value='ccsdkTopopnfs'/>\r
213                                 <parameter name="links-pfx" value="ccsdkTopologicalLinks"/>\r
214                                 <parameter name="response-pfx" value="otn-oof"/>\r
215                                 <parameter name="output-end-to-end-path" value="false"/>\r
216                                 <!--<parameter name="src-node" value="`$tmp.src.domainA.pnf-name`"/>-->\r
217                                 <!--<parameter name="dst-node" value="`$tmp.dst.domainB.pnf-name`"/>-->\r
218                                 <parameter name="src-node" value="`$tmp.pce-src-node`"/>\r
219                                 <parameter name="dst-node" value="`$tmp.pce-dst-node`"/>\r
220                                 <outcome value='success'></outcome>\r
221                                 <outcome value='Other'></outcome>\r
222                                 <outcome value='not-found'></outcome>\r
223                             </execute>\r
224                         </block>\r
225                     </outcome>\r
226                 </switch>\r
227             </block>\r
228             <set>\r
229                 <parameter name='`tmp.otninfo.`' value='' />\r
230                 <!--<parameter name='`tmp.otninfo_length`' value='0' />-->\r
231                 <parameter name='`tmp.otninfoProtect.`' value='' />\r
232             </set>\r
233             <for index='vidx' start='0' end='`$otn-oof.solutions_length`' >\r
234                 <block atomic="true">\r
235                     <set>\r
236                         <parameter name='otn-oof.link-name' value='' />\r
237                         <!--<parameter name='tmp.aai.cross-link' value='' />-->\r
238                         <parameter name='tmp.aai.cross-link.' value='' />\r
239                         <!--<parameter name='tmp.aai.cross-link.link-role' value='' />-->\r
240                     </set>\r
241                     <set>\r
242                         <parameter name='otn-oof.link-name' value='`$otn-oof.solutions[$vidx].original_link`' />\r
243                         <parameter name='otn-oof.start-node' value='`$otn-oof.solutions[$vidx].src_node`' />\r
244                         <parameter name='otn-oof.end-node' value='`$otn-oof.solutions[$vidx].dst_node`' />\r
245                     </set>\r
246                     <set>\r
247                         <parameter name='tmp.cross-link.src-ltpId' value="`$otn-oof.solutions[$vidx].src_pinterface`" />\r
248                         <parameter name='tmp.src-pnf-name' value="`$otn-oof.solutions[$vidx].src_node`" />\r
249                     </set>\r
250                     <set>\r
251                         <parameter name='tmp.cross-link.dst-ltpId' value="`$otn-oof.solutions[$vidx].dst_pinterface`" />\r
252                         <parameter name='tmp.dst-pnf-name' value="`$otn-oof.solutions[$vidx].dst_node`" />\r
253                     </set>\r
254                     <block atomic="true">\r
255                         <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
256                                       resource="p-interface"\r
257                                       key="pnf.pnf-name = $tmp.src-pnf-name\r
258                     AND p-interface.interface-name = $tmp.cross-link.src-ltpId"\r
259                                       pfx='tmp.aai.src-tp' local-only='false' >\r
260                             <!--AND depth = '0'"-->\r
261                             <outcome value='success'>\r
262                                 <block>\r
263                                     <for silentFailure='true' index='pintsidx' start='0' end='`$tmp.aai.src-tp.relationship-list.relationship_length`' >\r
264                                         <switch test='`$tmp.aai.src-tp.relationship-list.relationship[$pintsidx].related-to`'>\r
265                                             <outcome value='tunnel-termination-point'>\r
266                                                 <block atomic="true">\r
267                                                     <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split' >\r
268                                                         <!--<parameter name="original_string" value='`$tmp.aai.src-tp`'/>-->\r
269                                                         <parameter name="original_string" value='`$tmp.aai.src-tp.interface-name`'/>\r
270                                                         <!--<parameter name="regex" value="[^-]+$"/>-->\r
271                                                         <parameter name="regex" value="[-]+"/>\r
272                                                         <parameter name="ctx_memory_result_key" value="param-prefix-src-tp"/>\r
273                                                         <outcome value='success'>\r
274                                                             <block atomic="true">\r
275                                                                 <set>\r
276                                                                     <parameter name='domain-A.ltpId' value='`$param-prefix-src-tp[$param-prefix-src-tp_length -1]`' />\r
277                                                                     <parameter name='`tmp.otninfo[$vidx].dstPort.dst-ltp-id`' value="`$param-prefix-src-tp[$param-prefix-src-tp_length -1]`" />\r
278                                                                     <parameter name='`tmp.otninfo_length`' value='`$vidx + 1`' />\r
279                                                                 </set>\r
280                                                             </block>\r
281                                                         </outcome>\r
282                                                         <outcome value='failure'>\r
283                                                             <return status='failure'>\r
284                                                                 <parameter name='error-code' value='' />\r
285                                                                 <parameter name='error-message' value="An error occured while splitting sna1_route" />\r
286                                                             </return>\r
287                                                         </outcome>\r
288                                                     </execute>\r
289                                                     <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
290                                                                   resource="pnf"\r
291                                                                   key="pnf.pnf-name = $tmp.src-pnf-name"\r
292                                                                   pfx='tmp.aai.src-pnf' local-only='false' >\r
293                                                         <!--AND depth = '0'"-->\r
294                                                         <outcome value='success'>\r
295                                                             <block>\r
296                                                                 <set>\r
297                                                                     <parameter name='domain-A.node-id' value="`$tmp.aai.src-pnf.pnf-id`" />\r
298                                                                     <parameter name='domain-A.tpn' value='1' />\r
299                                                                     <parameter name='`tmp.otninfo[$vidx].dstPort.dst-access-node-id`' value="`$tmp.aai.src-pnf.pnf-id`" />\r
300                                                                     <parameter name='`tmp.otninfo_length`' value='`$vidx + 1`' />\r
301                                                                 </set>\r
302                                                                 <for silentFailure='true' index='pvidx' start='0' end='`$tmp.aai.src-pnf.relationship-list.relationship_length`' >\r
303                                                                     <switch test='`$tmp.aai.src-pnf.relationship-list.relationship[$pvidx].related-to`'>\r
304                                                                         <outcome value='network-resource'>\r
305                                                                             <block atomic="true">\r
306                                                                                 <set>\r
307                                                                                     <parameter name='tmp.domain-A.network-id' value="`$tmp.aai.src-pnf.relationship-list.relationship[$pvidx].relationship-data[0].relationship-value`" />\r
308                                                                                 </set>\r
309                                                                                 <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
310                                                                                               resource="network-resource"\r
311                                                                                               key="network-resource.network-id = $tmp.domain-A.network-id\r
312                 AND depth = '0'"\r
313                                                                                               pfx='tmp.aai.src-network-resource' local-only='false' >\r
314                                                                                     <outcome value='success'>\r
315                                                                                         <set>\r
316                                                                                             <parameter name='domain-A.network-id' value="`$tmp.aai.src-network-resource.network-id`" />\r
317                                                                                             <parameter name='domain-A.provider-id' value="`$tmp.aai.src-network-resource.provider-id`" />\r
318                                                                                             <parameter name='domain-A.client-id' value="`$tmp.aai.src-network-resource.client-id`" />\r
319                                                                                             <parameter name='domain-A.te-topo-id' value="`$tmp.aai.src-network-resource.te-topo-id`" />\r
320                                                                                             <parameter name='domain-A.network-type' value="`$tmp.aai.src-network-resource.network-type`" />\r
321                                                                                             <parameter name='`tmp.otninfo[$vidx].dstPort.dst-access-network-id`' value="`$tmp.aai.src-network-resource.network-id`" />\r
322                                                                                             <parameter name='`tmp.otninfo[$vidx].dstPort.dst-access-provider-id`' value="`$tmp.aai.src-network-resource.provider-id`" />\r
323                                                                                             <parameter name='`tmp.otninfo[$vidx].dstPort.dst-access-client-id`' value="`$tmp.aai.src-network-resource.client-id`" />\r
324                                                                                             <parameter name='`tmp.otninfo[$vidx].dstPort.dst-access-topology-id`' value="`$tmp.aai.src-network-resource.te-topo-id`" />\r
325                                                                                             <parameter name='`tmp.otninfo[$vidx].dstPort.dst-access-network-type`' value="`$tmp.aai.src-network-resource.network-type`" />\r
326                                                                                             <parameter name='`tmp.otninfo_length`' value='`$vidx + 1`' />\r
327                                                                                         </set>\r
328                                                                                     </outcome>\r
329                                                                                 </get-resource>\r
330                                                                                 <break/>\r
331                                                                             </block>\r
332                                                                         </outcome>\r
333                                                                     </switch>\r
334                                                                 </for>\r
335                                                             </block>\r
336                                                         </outcome>\r
337                                                         <outcome value='not-found'>\r
338                                                             <return status='failure'>\r
339                                                                 <parameter name='ack-final' value='Y'/>\r
340                                                                 <parameter name="error-code" value="500" />\r
341                                                                 <parameter name="error-message" value="`'An error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`" />\r
342                                                             </return>\r
343                                                         </outcome>\r
344                                                         <outcome value='Other'>\r
345                                                             <return status='failure'>\r
346                                                                 <parameter name='ack-final' value='Y'/>\r
347                                                                 <parameter name="error-code" value="500" />\r
348                                                                 <parameter name="error-message" value="`'Unexpected error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`" />\r
349                                                             </return>\r
350                                                         </outcome>\r
351                                                     </get-resource>\r
352                                                     <set>\r
353                                                         <parameter name='tmp.domain-A.ttp-id' value="`$tmp.aai.src-tp.relationship-list.relationship[$pintsidx].relationship-data[0].relationship-value`" />\r
354                                                     </set>\r
355                                                     <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
356                                                                   resource="tunnel-termination-point"\r
357                                                                   key="tunnel-termination-point.ttp-id = $tmp.domain-A.ttp-id\r
358                 AND depth = '0'"\r
359                                                                   pfx='tmp.aai.src-ttp' local-only='false' >\r
360                                                         <outcome value='success'>\r
361                                                             <block atomic="true">\r
362                                                                 <set>\r
363                                                                     <parameter name='domain-A.tunnel-tp-id' value="`$tmp.aai.src-ttp.tunnel-tp-id`" />\r
364                                                                     <parameter name='`tmp.otninfo[$vidx].dstPort.dst-tunnel-tp-id`' value="`$tmp.aai.src-ttp.tunnel-tp-id`" />\r
365                                                                     <parameter name='`tmp.otninfo_length`' value='`$vidx + 1`' />\r
366                                                                 </set>\r
367                                                             </block>\r
368                                                         </outcome>\r
369                                                     </get-resource>\r
370                                                     <break/>\r
371                                                 </block>\r
372                                             </outcome>\r
373                                         </switch>\r
374                                     </for>\r
375                                 </block>\r
376                             </outcome>\r
377                             <outcome value='not-found'>\r
378                                 <return status='failure'>\r
379                                     <parameter name='ack-final' value='Y'/>\r
380                                     <parameter name="error-code" value="500" />\r
381                                     <parameter name="error-message" value="`'An error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`" />\r
382                                 </return>\r
383                             </outcome>\r
384                             <outcome value='Other'>\r
385                                 <return status='failure'>\r
386                                     <parameter name='ack-final' value='Y'/>\r
387                                     <parameter name="error-code" value="500" />\r
388                                     <parameter name="error-message" value="`'Unexpected error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`" />\r
389                                 </return>\r
390                             </outcome>\r
391                         </get-resource>\r
392                         <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
393                                       resource="p-interface"\r
394                                       key="pnf.pnf-name = $tmp.dst-pnf-name\r
395                     AND p-interface.interface-name = $tmp.cross-link.dst-ltpId"\r
396                                       pfx='tmp.aai.dst-tp' local-only='false' >\r
397                             <!--AND depth = '0'"-->\r
398                             <outcome value='success'>\r
399                                 <block>\r
400                                     <for silentFailure='true' index='pintdidx' start='0' end='`$tmp.aai.dst-tp.relationship-list.relationship_length`' >\r
401                                         <switch test='`$tmp.aai.dst-tp.relationship-list.relationship[$pintdidx].related-to`'>\r
402                                             <outcome value='tunnel-termination-point'>\r
403                                                 <block atomic="true">\r
404                                                     <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split' >\r
405                                                         <parameter name="original_string" value='`$tmp.aai.dst-tp`'/>\r
406                                                         <!--<parameter name="regex" value="[^-]+$"/>-->\r
407                                                         <parameter name="regex" value="[-]+"/>\r
408                                                         <parameter name="ctx_memory_result_key" value="param-prefix-dst-tp"/>\r
409                                                         <outcome value='success'>\r
410                                                             <block atomic="true">\r
411                                                                 <set>\r
412                                                                     <parameter name='domain-B.ltpId' value='`$param-prefix-dst-tp[$param-prefix-dst-tp_length -1]`' />\r
413                                                                     <parameter name='`tmp.otninfo[$vidx + 1].srcPort.src-ltp-id`' value="`$param-prefix-dst-tp[$param-prefix-dst-tp_length -1]`" />\r
414                                                                     <parameter name='`tmp.otninfo_length`' value='`$vidx + 2`' />\r
415                                                                 </set>\r
416                                                             </block>\r
417                                                         </outcome>\r
418                                                         <outcome value='failure'>\r
419                                                             <return status='failure'>\r
420                                                                 <parameter name='error-code' value='' />\r
421                                                                 <parameter name='error-message' value="An error occured while splitting sna1_route" />\r
422                                                             </return>\r
423                                                         </outcome>\r
424                                                     </execute>\r
425                                                     <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
426                                                                   resource="pnf"\r
427                                                                   key="pnf.pnf-name = $tmp.dst-pnf-name"\r
428                                                                   pfx='tmp.aai.dst-pnf' local-only='false' >\r
429                                                         <!--AND depth = '0'"-->\r
430                                                         <outcome value='success'>\r
431                                                             <block>\r
432                                                                 <set>\r
433                                                                     <parameter name='domain-B.node-id' value="`$tmp.aai.dst-pnf.pnf-id`" />\r
434                                                                     <parameter name='domain-B.tpn' value='1' />\r
435                                                                     <parameter name='`tmp.otninfo[$vidx + 1].srcPort.src-access-node-id`' value="`$tmp.aai.dst-pnf.pnf-id`" />\r
436                                                                     <parameter name='`tmp.otninfo_length`' value='`$vidx + 2`' />\r
437                                                                 </set>\r
438                                                                 <for silentFailure='true' index='mvidx' start='0' end='`$tmp.aai.dst-pnf.relationship-list.relationship_length`' >\r
439                                                                     <switch test='`$tmp.aai.dst-pnf.relationship-list.relationship[$mvidx].related-to`'>\r
440                                                                         <outcome value='network-resource'>\r
441                                                                             <block atomic="true">\r
442                                                                                 <set>\r
443                                                                                     <parameter name='tmp.domain-B.network-id' value="`$tmp.aai.dst-pnf.relationship-list.relationship[$mvidx].relationship-data[0].relationship-value`" />\r
444                                                                                 </set>\r
445                                                                                 <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
446                                                                                               resource="network-resource"\r
447                                                                                               key="network-resource.network-id = $tmp.domain-B.network-id\r
448                 AND depth = '0'"\r
449                                                                                               pfx='tmp.aai.dst-network-resource' local-only='false' >\r
450                                                                                     <outcome value='success'>\r
451                                                                                         <set>\r
452                                                                                             <parameter name='domain-B.network-id' value="`$tmp.aai.dst-network-resource.network-id`" />\r
453                                                                                             <parameter name='domain-B.provider-id' value="`$tmp.aai.dst-network-resource.provider-id`" />\r
454                                                                                             <parameter name='domain-B.client-id' value="`$tmp.aai.dst-network-resource.client-id`" />\r
455                                                                                             <parameter name='domain-B.te-topo-id' value="`$tmp.aai.dst-network-resource.te-topo-id`" />\r
456                                                                                             <parameter name='domain-B.network-type' value="`$tmp.aai.dst-network-resource.network-type`" />\r
457                                                                                             <parameter name='`tmp.otninfo[$vidx + 1].srcPort.src-access-network-id`' value="`$tmp.aai.dst-network-resource.network-id`" />\r
458                                                                                             <parameter name='`tmp.otninfo[$vidx + 1].srcPort.src-access-provider-id`' value="`$tmp.aai.dst-network-resource.provider-id`" />\r
459                                                                                             <parameter name='`tmp.otninfo[$vidx + 1].srcPort.src-access-client-id`' value="`$tmp.aai.dst-network-resource.client-id`" />\r
460                                                                                             <parameter name='`tmp.otninfo[$vidx + 1].srcPort.src-access-topology-id`' value="`$tmp.aai.dst-network-resource.te-topo-id`" />\r
461                                                                                             <parameter name='`tmp.otninfo[$vidx + 1].srcPort.src-access-network-type`' value="`$tmp.aai.dst-network-resource.network-type`" />\r
462                                                                                             <parameter name='`tmp.otninfo_length`' value='`$vidx + 2`' />\r
463                                                                                         </set>\r
464                                                                                     </outcome>\r
465                                                                                 </get-resource>\r
466                                                                                 <break/>\r
467                                                                             </block>\r
468                                                                         </outcome>\r
469                                                                     </switch>\r
470                                                                 </for>\r
471                                                             </block>\r
472                                                         </outcome>\r
473                                                         <outcome value='not-found'>\r
474                                                             <return status='failure'>\r
475                                                                 <parameter name='ack-final' value='Y'/>\r
476                                                                 <parameter name="error-code" value="500" />\r
477                                                                 <parameter name="error-message" value="`'An error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`" />\r
478                                                             </return>\r
479                                                         </outcome>\r
480                                                         <outcome value='Other'>\r
481                                                             <return status='failure'>\r
482                                                                 <parameter name='ack-final' value='Y'/>\r
483                                                                 <parameter name="error-code" value="500" />\r
484                                                                 <parameter name="error-message" value="`'Unexpected error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`" />\r
485                                                             </return>\r
486                                                         </outcome>\r
487                                                     </get-resource>\r
488                                                     <set>\r
489                                                         <parameter name='tmp.domain-B.ttp-id' value="`$tmp.aai.dst-tp.relationship-list.relationship[$pintdidx].relationship-data[0].relationship-value`" />\r
490                                                     </set>\r
491                                                     <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
492                                                                   resource="tunnel-termination-point"\r
493                                                                   key="tunnel-termination-point.ttp-id = $tmp.domain-B.ttp-id\r
494                 AND depth = '0'"\r
495                                                                   pfx='tmp.aai.dst-ttp' local-only='false' >\r
496                                                         <outcome value='success'>\r
497                                                             <block atomic="true">\r
498                                                                 <set>\r
499                                                                     <parameter name='domain-B.tunnel-tp-id' value="`$tmp.aai.dst-ttp.tunnel-tp-id`" />\r
500                                                                     <parameter name='`tmp.otninfo[$vidx + 1].srcPort.src-tunnel-tp-id`' value="`$tmp.aai.dst-ttp.tunnel-tp-id`" />\r
501                                                                     <parameter name='`tmp.otninfo_length`' value='`$vidx + 2`' />\r
502                                                                 </set>\r
503                                                             </block>\r
504                                                         </outcome>\r
505                                                     </get-resource>\r
506                                                     <break/>\r
507                                                 </block>\r
508                                             </outcome>\r
509                                         </switch>\r
510                                     </for>\r
511                                 </block>\r
512                             </outcome>\r
513                             <outcome value='not-found'>\r
514                                 <return status='failure'>\r
515                                     <parameter name='ack-final' value='Y'/>\r
516                                     <parameter name="error-code" value="500" />\r
517                                     <parameter name="error-message" value="`'An error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`" />\r
518                                 </return>\r
519                             </outcome>\r
520                             <outcome value='Other'>\r
521                                 <return status='failure'>\r
522                                     <parameter name='ack-final' value='Y'/>\r
523                                     <parameter name="error-code" value="500" />\r
524                                     <parameter name="error-message" value="`'Unexpected error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`" />\r
525                                 </return>\r
526                             </outcome>\r
527                         </get-resource>\r
528                     </block>\r
529                 </block>\r
530             </for>\r
531             <switch test='`$hasSecondary`'>\r
532                 <outcome value='true'>\r
533                     <block>\r
534                         <for index='vidx' start='0' end='`$otn-oof.secondarySolutions_length`' >\r
535                             <block atomic="true">\r
536                                 <set>\r
537                                     <parameter name='otn-oof.link-name' value='' />\r
538                                     <!--<parameter name='tmp.aai.cross-link' value='' />-->\r
539                                     <parameter name='tmp.aai.cross-link.' value='' />\r
540                                     <!--<parameter name='tmp.aai.cross-link.link-role' value='' />-->\r
541                                     <parameter name='tmp.src-pnf-name' value='' />\r
542                                     <parameter name='tmp.cross-link.' value='' />\r
543                                     <parameter name='tmp.dst-pnf-name' value='' />\r
544                                     <parameter name='tmp.aai.src-tp.' value='' />\r
545                                     <parameter name='param-prefix-src-tp.' value='' />\r
546                                     <parameter name='tmp.aai.src-pnf.' value='' />\r
547                                     <parameter name='tmp.domain-A.network-id' value='' />\r
548                                     <parameter name='tmp.aai.src-network-resource.' value='' />\r
549                                     <parameter name='tmp.domain-A.ttp-id' value='' />\r
550                                     <parameter name='tmp.aai.src-ttp.' value='' />\r
551                                     <parameter name='tmp.aai.dst-tp.' value='' />\r
552                                     <parameter name='param-prefix-dst-tp.' value='' />\r
553                                     <parameter name='tmp.aai.dst-pnf.' value='' />\r
554                                     <parameter name='tmp.domain-C.network-id' value='' />\r
555                                     <parameter name='tmp.aai.dst-network-resource.' value='' />\r
556                                     <parameter name='tmp.domain-C.ttp-id' value='' />\r
557                                     <parameter name='tmp.aai.dst-ttp.' value='' />\r
558                                 </set>\r
559                                 <set>\r
560                                     <parameter name='otn-oof.link-name' value='`$otn-oof.secondarySolutions[$vidx].original_link`' />\r
561                                     <parameter name='otn-oof.start-node' value='`$otn-oof.secondarySolutions[$vidx].src_node`' />\r
562                                     <parameter name='otn-oof.end-node' value='`$otn-oof.secondarySolutions[$vidx].dst_node`' />\r
563                                 </set>\r
564                                 <set>\r
565                                     <parameter name='tmp.cross-link.src-ltpId' value="`$otn-oof.secondarySolutions[$vidx].src_pinterface`" />\r
566                                     <parameter name='tmp.src-pnf-name' value="`$otn-oof.secondarySolutions[$vidx].src_node`" />\r
567                                 </set>\r
568                                 <set>\r
569                                     <parameter name='tmp.cross-link.dst-ltpId' value="`$otn-oof.secondarySolutions[$vidx].dst_pinterface`" />\r
570                                     <parameter name='tmp.dst-pnf-name' value="`$otn-oof.secondarySolutions[$vidx].dst_node`" />\r
571                                 </set>\r
572                                 <block atomic="true">\r
573                                     <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
574                                                   resource="p-interface"\r
575                                                   key="pnf.pnf-name = $tmp.src-pnf-name\r
576                     AND p-interface.interface-name = $tmp.cross-link.src-ltpId"\r
577                                                   pfx='tmp.aai.src-tp' local-only='false' >\r
578                                         <!--AND depth = '0'"-->\r
579                                         <outcome value='success'>\r
580                                             <block>\r
581                                                 <for silentFailure='true' index='pintsidx' start='0' end='`$tmp.aai.src-tp.relationship-list.relationship_length`' >\r
582                                                     <switch test='`$tmp.aai.src-tp.relationship-list.relationship[$pintsidx].related-to`'>\r
583                                                         <outcome value='tunnel-termination-point'>\r
584                                                             <block atomic="true">\r
585                                                                 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split' >\r
586                                                                     <!--<parameter name="original_string" value='`$tmp.aai.src-tp`'/>-->\r
587                                                                     <parameter name="original_string" value='`$tmp.aai.src-tp.interface-name`'/>\r
588                                                                     <!--<parameter name="regex" value="[^-]+$"/>-->\r
589                                                                     <parameter name="regex" value="[-]+"/>\r
590                                                                     <parameter name="ctx_memory_result_key" value="param-prefix-src-tp"/>\r
591                                                                     <outcome value='success'>\r
592                                                                         <block atomic="true">\r
593                                                                             <set>\r
594                                                                                 <parameter name='domain-A.ltpId' value='`$param-prefix-src-tp[$param-prefix-src-tp_length -1]`' />\r
595                                                                                 <parameter name='`tmp.otninfoProtect[$vidx].dstPort.dst-ltp-id`' value="`$param-prefix-src-tp[$param-prefix-src-tp_length -1]`" />\r
596                                                                                 <parameter name='`tmp.otninfoProtect_length`' value='`$vidx + 1`' />\r
597                                                                             </set>\r
598                                                                         </block>\r
599                                                                     </outcome>\r
600                                                                     <outcome value='failure'>\r
601                                                                         <return status='failure'>\r
602                                                                             <parameter name='error-code' value='' />\r
603                                                                             <parameter name='error-message' value="An error occured while splitting sna1_route" />\r
604                                                                         </return>\r
605                                                                     </outcome>\r
606                                                                 </execute>\r
607                                                                 <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
608                                                                               resource="pnf"\r
609                                                                               key="pnf.pnf-name = $tmp.src-pnf-name"\r
610                                                                               pfx='tmp.aai.src-pnf' local-only='false' >\r
611                                                                     <!--AND depth = '0'"-->\r
612                                                                     <outcome value='success'>\r
613                                                                         <block>\r
614                                                                             <set>\r
615                                                                                 <parameter name='domain-A.node-id' value="`$tmp.aai.src-pnf.pnf-id`" />\r
616                                                                                 <parameter name='domain-A.tpn' value='1' />\r
617                                                                                 <parameter name='`tmp.otninfoProtect[$vidx].dstPort.dst-access-node-id`' value="`$tmp.aai.src-pnf.pnf-id`" />\r
618                                                                                 <parameter name='`tmp.otninfoProtect_length`' value='`$vidx + 1`' />\r
619                                                                             </set>\r
620                                                                             <for silentFailure='true' index='pvidx' start='0' end='`$tmp.aai.src-pnf.relationship-list.relationship_length`' >\r
621                                                                                 <switch test='`$tmp.aai.src-pnf.relationship-list.relationship[$pvidx].related-to`'>\r
622                                                                                     <outcome value='network-resource'>\r
623                                                                                         <block atomic="true">\r
624                                                                                             <set>\r
625                                                                                                 <parameter name='tmp.domain-A.network-id' value="`$tmp.aai.src-pnf.relationship-list.relationship[$pvidx].relationship-data[0].relationship-value`" />\r
626                                                                                             </set>\r
627                                                                                             <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
628                                                                                                           resource="network-resource"\r
629                                                                                                           key="network-resource.network-id = $tmp.domain-A.network-id\r
630                 AND depth = '0'"\r
631                                                                                                           pfx='tmp.aai.src-network-resource' local-only='false' >\r
632                                                                                                 <outcome value='success'>\r
633                                                                                                     <set>\r
634                                                                                                         <parameter name='domain-A.network-id' value="`$tmp.aai.src-network-resource.network-id`" />\r
635                                                                                                         <parameter name='domain-A.provider-id' value="`$tmp.aai.src-network-resource.provider-id`" />\r
636                                                                                                         <parameter name='domain-A.client-id' value="`$tmp.aai.src-network-resource.client-id`" />\r
637                                                                                                         <parameter name='domain-A.te-topo-id' value="`$tmp.aai.src-network-resource.te-topo-id`" />\r
638                                                                                                         <parameter name='domain-A.network-type' value="`$tmp.aai.src-network-resource.network-type`" />\r
639                                                                                                         <parameter name='`tmp.otninfoProtect[$vidx].dstPort.dst-access-network-id`' value="`$tmp.aai.src-network-resource.network-id`" />\r
640                                                                                                         <parameter name='`tmp.otninfoProtect[$vidx].dstPort.dst-access-provider-id`' value="`$tmp.aai.src-network-resource.provider-id`" />\r
641                                                                                                         <parameter name='`tmp.otninfoProtect[$vidx].dstPort.dst-access-client-id`' value="`$tmp.aai.src-network-resource.client-id`" />\r
642                                                                                                         <parameter name='`tmp.otninfoProtect[$vidx].dstPort.dst-access-topology-id`' value="`$tmp.aai.src-network-resource.te-topo-id`" />\r
643                                                                                                         <parameter name='`tmp.otninfoProtect[$vidx].dstPort.dst-access-network-type`' value="`$tmp.aai.src-network-resource.network-type`" />\r
644                                                                                                         <parameter name='`tmp.otninfoProtect`' value='`$vidx + 1`' />\r
645                                                                                                     </set>\r
646                                                                                                 </outcome>\r
647                                                                                             </get-resource>\r
648                                                                                             <break/>\r
649                                                                                         </block>\r
650                                                                                     </outcome>\r
651                                                                                 </switch>\r
652                                                                             </for>\r
653                                                                         </block>\r
654                                                                     </outcome>\r
655                                                                     <outcome value='not-found'>\r
656                                                                         <return status='failure'>\r
657                                                                             <parameter name='ack-final' value='Y'/>\r
658                                                                             <parameter name="error-code" value="500" />\r
659                                                                             <parameter name="error-message" value="`'An error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`" />\r
660                                                                         </return>\r
661                                                                     </outcome>\r
662                                                                     <outcome value='Other'>\r
663                                                                         <return status='failure'>\r
664                                                                             <parameter name='ack-final' value='Y'/>\r
665                                                                             <parameter name="error-code" value="500" />\r
666                                                                             <parameter name="error-message" value="`'Unexpected error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`" />\r
667                                                                         </return>\r
668                                                                     </outcome>\r
669                                                                 </get-resource>\r
670                                                                 <set>\r
671                                                                     <parameter name='tmp.domain-A.ttp-id' value="`$tmp.aai.src-tp.relationship-list.relationship[$pintsidx].relationship-data[0].relationship-value`" />\r
672                                                                 </set>\r
673                                                                 <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
674                                                                               resource="tunnel-termination-point"\r
675                                                                               key="tunnel-termination-point.ttp-id = $tmp.domain-A.ttp-id\r
676                 AND depth = '0'"\r
677                                                                               pfx='tmp.aai.src-ttp' local-only='false' >\r
678                                                                     <outcome value='success'>\r
679                                                                         <block atomic="true">\r
680                                                                             <set>\r
681                                                                                 <parameter name='domain-A.tunnel-tp-id' value="`$tmp.aai.src-ttp.tunnel-tp-id`" />\r
682                                                                                 <parameter name='`tmp.otninfoProtect[$vidx].dstPort.dst-tunnel-tp-id`' value="`$tmp.aai.src-ttp.tunnel-tp-id`" />\r
683                                                                                 <parameter name='`tmp.otninfoProtect_length`' value='`$vidx + 1`' />\r
684                                                                             </set>\r
685                                                                         </block>\r
686                                                                     </outcome>\r
687                                                                 </get-resource>\r
688                                                                 <break/>\r
689                                                             </block>\r
690                                                         </outcome>\r
691                                                     </switch>\r
692                                                 </for>\r
693                                             </block>\r
694                                         </outcome>\r
695                                         <outcome value='not-found'>\r
696                                             <return status='failure'>\r
697                                                 <parameter name='ack-final' value='Y'/>\r
698                                                 <parameter name="error-code" value="500" />\r
699                                                 <parameter name="error-message" value="`'An error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`" />\r
700                                             </return>\r
701                                         </outcome>\r
702                                         <outcome value='Other'>\r
703                                             <return status='failure'>\r
704                                                 <parameter name='ack-final' value='Y'/>\r
705                                                 <parameter name="error-code" value="500" />\r
706                                                 <parameter name="error-message" value="`'Unexpected error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`" />\r
707                                             </return>\r
708                                         </outcome>\r
709                                     </get-resource>\r
710                                     <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
711                                                   resource="p-interface"\r
712                                                   key="pnf.pnf-name = $tmp.dst-pnf-name\r
713                     AND p-interface.interface-name = $tmp.cross-link.dst-ltpId"\r
714                                                   pfx='tmp.aai.dst-tp' local-only='false' >\r
715                                         <!--AND depth = '0'"-->\r
716                                         <outcome value='success'>\r
717                                             <block>\r
718                                                 <for silentFailure='true' index='pintdidx' start='0' end='`$tmp.aai.dst-tp.relationship-list.relationship_length`' >\r
719                                                     <switch test='`$tmp.aai.dst-tp.relationship-list.relationship[$pintdidx].related-to`'>\r
720                                                         <outcome value='tunnel-termination-point'>\r
721                                                             <block atomic="true">\r
722                                                                 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split' >\r
723                                                                     <parameter name="original_string" value='`$tmp.aai.dst-tp`'/>\r
724                                                                     <!--<parameter name="regex" value="[^-]+$"/>-->\r
725                                                                     <parameter name="regex" value="[-]+"/>\r
726                                                                     <parameter name="ctx_memory_result_key" value="param-prefix-dst-tp"/>\r
727                                                                     <outcome value='success'>\r
728                                                                         <block atomic="true">\r
729                                                                             <set>\r
730                                                                                 <parameter name='domain-C.ltpId' value='`$param-prefix-dst-tp[$param-prefix-dst-tp_length -1]`' />\r
731                                                                                 <parameter name='`tmp.otninfoProtect[$vidx + 1].srcPort.src-ltp-id`' value="`$param-prefix-dst-tp[$param-prefix-dst-tp_length -1]`" />\r
732                                                                                 <parameter name='`tmp.otninfoProtect_length`' value='`$vidx + 2`' />\r
733                                                                             </set>\r
734                                                                         </block>\r
735                                                                     </outcome>\r
736                                                                     <outcome value='failure'>\r
737                                                                         <return status='failure'>\r
738                                                                             <parameter name='error-code' value='' />\r
739                                                                             <parameter name='error-message' value="An error occured while splitting sna1_route" />\r
740                                                                         </return>\r
741                                                                     </outcome>\r
742                                                                 </execute>\r
743                                                                 <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
744                                                                               resource="pnf"\r
745                                                                               key="pnf.pnf-name = $tmp.dst-pnf-name"\r
746                                                                               pfx='tmp.aai.dst-pnf' local-only='false' >\r
747                                                                     <!--AND depth = '0'"-->\r
748                                                                     <outcome value='success'>\r
749                                                                         <block>\r
750                                                                             <set>\r
751                                                                                 <parameter name='domain-C.node-id' value="`$tmp.aai.dst-pnf.pnf-id`" />\r
752                                                                                 <parameter name='domain-C.tpn' value='1' />\r
753                                                                                 <parameter name='`tmp.otninfoProtect[$vidx + 1].srcPort.src-access-node-id`' value="`$tmp.aai.dst-pnf.pnf-id`" />\r
754                                                                                 <parameter name='`tmp.otninfoProtect_length`' value='`$vidx + 2`' />\r
755                                                                             </set>\r
756                                                                             <for silentFailure='true' index='mvidx' start='0' end='`$tmp.aai.dst-pnf.relationship-list.relationship_length`' >\r
757                                                                                 <switch test='`$tmp.aai.dst-pnf.relationship-list.relationship[$mvidx].related-to`'>\r
758                                                                                     <outcome value='network-resource'>\r
759                                                                                         <block atomic="true">\r
760                                                                                             <set>\r
761                                                                                                 <parameter name='tmp.domain-C.network-id' value="`$tmp.aai.dst-pnf.relationship-list.relationship[$mvidx].relationship-data[0].relationship-value`" />\r
762                                                                                             </set>\r
763                                                                                             <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
764                                                                                                           resource="network-resource"\r
765                                                                                                           key="network-resource.network-id = $tmp.domain-C.network-id\r
766                 AND depth = '0'"\r
767                                                                                                           pfx='tmp.aai.dst-network-resource' local-only='false' >\r
768                                                                                                 <outcome value='success'>\r
769                                                                                                     <set>\r
770                                                                                                         <parameter name='domain-C.network-id' value="`$tmp.aai.dst-network-resource.network-id`" />\r
771                                                                                                         <parameter name='domain-C.provider-id' value="`$tmp.aai.dst-network-resource.provider-id`" />\r
772                                                                                                         <parameter name='domain-C.client-id' value="`$tmp.aai.dst-network-resource.client-id`" />\r
773                                                                                                         <parameter name='domain-C.te-topo-id' value="`$tmp.aai.dst-network-resource.te-topo-id`" />\r
774                                                                                                         <parameter name='domain-C.network-type' value="`$tmp.aai.dst-network-resource.network-type`" />\r
775                                                                                                         <parameter name='`tmp.otninfoProtect[$vidx + 1].srcPort.src-access-network-id`' value="`$tmp.aai.dst-network-resource.network-id`" />\r
776                                                                                                         <parameter name='`tmp.otninfoProtect[$vidx + 1].srcPort.src-access-provider-id`' value="`$tmp.aai.dst-network-resource.provider-id`" />\r
777                                                                                                         <parameter name='`tmp.otninfoProtect[$vidx + 1].srcPort.src-access-client-id`' value="`$tmp.aai.dst-network-resource.client-id`" />\r
778                                                                                                         <parameter name='`tmp.otninfoProtect[$vidx + 1].srcPort.src-access-topology-id`' value="`$tmp.aai.dst-network-resource.te-topo-id`" />\r
779                                                                                                         <parameter name='`tmp.otninfoProtect[$vidx + 1].srcPort.src-access-network-type`' value="`$tmp.aai.dst-network-resource.network-type`" />\r
780                                                                                                         <parameter name='`tmp.otninfoProtect`' value='`$vidx + 2`' />\r
781                                                                                                     </set>\r
782                                                                                                 </outcome>\r
783                                                                                             </get-resource>\r
784                                                                                             <break/>\r
785                                                                                         </block>\r
786                                                                                     </outcome>\r
787                                                                                 </switch>\r
788                                                                             </for>\r
789                                                                         </block>\r
790                                                                     </outcome>\r
791                                                                     <outcome value='not-found'>\r
792                                                                         <return status='failure'>\r
793                                                                             <parameter name='ack-final' value='Y'/>\r
794                                                                             <parameter name="error-code" value="500" />\r
795                                                                             <parameter name="error-message" value="`'An error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`" />\r
796                                                                         </return>\r
797                                                                     </outcome>\r
798                                                                     <outcome value='Other'>\r
799                                                                         <return status='failure'>\r
800                                                                             <parameter name='ack-final' value='Y'/>\r
801                                                                             <parameter name="error-code" value="500" />\r
802                                                                             <parameter name="error-message" value="`'Unexpected error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`" />\r
803                                                                         </return>\r
804                                                                     </outcome>\r
805                                                                 </get-resource>\r
806                                                                 <set>\r
807                                                                     <parameter name='tmp.domain-C.ttp-id' value="`$tmp.aai.dst-tp.relationship-list.relationship[$pintdidx].relationship-data[0].relationship-value`" />\r
808                                                                 </set>\r
809                                                                 <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
810                                                                               resource="tunnel-termination-point"\r
811                                                                               key="tunnel-termination-point.ttp-id = $tmp.domain-C.ttp-id\r
812                 AND depth = '0'"\r
813                                                                               pfx='tmp.aai.dst-ttp' local-only='false' >\r
814                                                                     <outcome value='success'>\r
815                                                                         <block atomic="true">\r
816                                                                             <set>\r
817                                                                                 <parameter name='domain-C.tunnel-tp-id' value="`$tmp.aai.dst-ttp.tunnel-tp-id`" />\r
818                                                                                 <parameter name='`tmp.otninfoProtect[$vidx + 1].srcPort.src-tunnel-tp-id`' value="`$tmp.aai.dst-ttp.tunnel-tp-id`" />\r
819                                                                                 <parameter name='`tmp.otninfoProtect_length`' value='`$vidx + 2`' />\r
820                                                                             </set>\r
821                                                                         </block>\r
822                                                                     </outcome>\r
823                                                                 </get-resource>\r
824                                                                 <break/>\r
825                                                             </block>\r
826                                                         </outcome>\r
827                                                     </switch>\r
828                                                 </for>\r
829                                             </block>\r
830                                         </outcome>\r
831                                         <outcome value='not-found'>\r
832                                             <return status='failure'>\r
833                                                 <parameter name='ack-final' value='Y'/>\r
834                                                 <parameter name="error-code" value="500" />\r
835                                                 <parameter name="error-message" value="`'An error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`" />\r
836                                             </return>\r
837                                         </outcome>\r
838                                         <outcome value='Other'>\r
839                                             <return status='failure'>\r
840                                                 <parameter name='ack-final' value='Y'/>\r
841                                                 <parameter name="error-code" value="500" />\r
842                                                 <parameter name="error-message" value="`'Unexpected error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`" />\r
843                                             </return>\r
844                                         </outcome>\r
845                                     </get-resource>\r
846                                 </block>\r
847                             </block>\r
848                         </for>\r
849                     </block>\r
850                 </outcome>\r
851             </switch>\r
852         </block>\r
853     </method>\r
854 </service-logic>