Chore: Add gerrit maven verify GHA workflow
[sdnc/oam.git] / platform-logic / generic-resource-api / src / main / xml / cloud_leased_line / GENERIC-RESOURCE-API_cll-vnf-topology-operation-cll-logic.xml
1 <service-logic
2         xmlns='http://www.onap.org/sdnc/svclogic'
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}'>
4     <method rpc='cll-vnf-topology-operation-cll-logic' mode='sync'>
5         <block atomic="true">
6             <set>
7                 <parameter name='middle-man-conn.' value='' />
8             </set>
9             <set>
10                 <parameter name='tmp.aai.all-connectivities.' value="" />
11             </set>
12             <set>
13                 <parameter name='found-middle-man' value="false" />
14             </set>
15             <set>
16                 <parameter name='no-pce-call' value="false" />
17             </set>
18             <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
19                           resource="connectivities"
20                           key="selflink = 'https://aai.onap:8443/aai/v24/network/connectivities"
21                           local-only="false"
22                           pfx="tmp.aai.all-connectivities" >
23                 <outcome value='success'>
24                     <block atomic="true">
25                         <switch test="`$tmp.aai.all-connectivities.connectivity_length == 0`">
26                             <outcome value='true'></outcome>
27                             <outcome value='false'>
28                                 <for index='connidx' start='0' end='`$tmp.aai.all-connectivities.connectivity_length`' >
29                                     <block atomic='true'>
30                                         <switch test="`$tmp.aai.all-connectivities.connectivity[$connidx].vpn-type == 'mdsc' `">
31                                             <outcome value='false'>
32                                                 <block></block>
33                                             </outcome>
34                                             <outcome value='true'>
35                                                 <block atomic='true'>
36                                                     <switch test="`$tmp.aai.all-connectivities.connectivity[$connidx].color-aware == $tmp.ROOT.uni-p-interface-long`">
37                                                         <outcome value='false'>
38                                                             <block></block>
39                                                         </outcome>
40                                                         <outcome value='true'>
41                                                             <block atomic='true'>
42                                                                 <set>
43                                                                     <parameter name='found-middle-man' value="true" />
44                                                                 </set>
45                                                                 <set>
46                                                                     <parameter name='middle-man-conn.' value='`$tmp.aai.all-connectivities.connectivity[$connidx].`' />
47                                                                 </set>
48                                                             </block>
49                                                         </outcome>
50                                                     </switch>
51                                                 </block>
52                                             </outcome>
53                                         </switch>
54                                         <switch test="`$found-middle-man`">
55                                             <outcome value='false'>
56                                                 <block></block>
57                                             </outcome>
58                                             <outcome value='true'>
59                                                 <block atomic='true'>
60                                                     <for silentFailure='true' index='mmridx' start='0' end='`$middle-man-conn.relationship-list.relationship_length`' >
61                                                         <set>
62                                                             <parameter name='tmp.aai.mmrconnectivity.' value='' />
63                                                         </set>
64                                                         <switch test='`$middle-man-conn.relationship-list.relationship[$mmridx].related-to`'>
65                                                             <outcome value='connectivity'>
66                                                                 <block atomic="true">
67                                                                     <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
68                                                                                   resource="connectivity"
69                                                                                   key="connectivity.connectivity-id = $middle-man-conn.relationship-list.relationship[$mmridx].relationship-data[0].relationship-value"
70                                                                                   local-only="false"
71                                                                                   pfx="tmp.aai.mmrconnectivity" >
72                                                                         <outcome value='success'>
73                                                                             <switch test="`$tmp.aai.mmrconnectivity.vpn-type == 'leaf' `">
74                                                                                 <outcome value='false'>
75                                                                                     <block></block>
76                                                                                 </outcome>
77                                                                                 <outcome value='true'>
78                                                                                     <block atomic='true'>
79                                                                                         <!--<switch test="`$tmp.aai.all-connectivities.connectivity[$connidx].cvlan == $tmp.aai.network-route-LEAF.logical-interface-id `">-->
80                                                                                         <switch test="`$tmp.aai.mmrconnectivity.cvlan == $tmp.aai.network-route-LEAF.logical-interface-id `">
81                                                                                             <outcome value='false'>
82                                                                                                 <block></block>
83                                                                                             </outcome>
84                                                                                             <outcome value='true'>
85                                                                                                 <for silentFailure='true' index='connrelidx' start='0' end='`$tmp.aai.mmrconnectivity.relationship-list.relationship_length`' >
86                                                                                                     <set>
87                                                                                                         <parameter name='tmp.uni.id' value='' />
88                                                                                                     </set>
89                                                                                                     <switch test='`$tmp.aai.mmrconnectivity.relationship-list.relationship[$connrelidx].related-to`'>
90                                                                                                         <outcome value='uni'>
91                                                                                                             <block atomic="true">
92                                                                                                                 <set>
93                                                                                                                     <parameter name='tmp.uni.id' value='`$tmp.aai.mmrconnectivity.relationship-list.relationship[$connrelidx].relationship-data[0].relationship-value`' />
94                                                                                                                 </set>
95                                                                                                                 <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
96                                                                                                                               resource="uni"
97                                                                                                                               key="uni.id = $tmp.uni.id"
98                                                                                                                               local-only="false"
99                                                                                                                               pfx="tmp.aai.uni" >
100                                                                                                                     <outcome value='success'>
101                                                                                                                         <block atomic='true'>
102                                                                                                                             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split' >
103                                                                                                                                 <parameter name="original_string" value='`$tmp.aai.uni.id`'/>
104                                                                                                                                 <!--<parameter name="regex" value="[^-]+$"/>-->
105                                                                                                                                 <parameter name="regex" value="[-]+"/>
106                                                                                                                                 <parameter name="ctx_memory_result_key" value="param-prefix-uni-pnfName"/>
107                                                                                                                                 <outcome value='success'>
108                                                                                                                                     <block atomic="true">
109                                                                                                                                         <set>
110                                                                                                                                             <parameter name='tmp.uni.pnf-name' value="`$param-prefix-uni-pnfName[0] + '-' +
111                                                    $param-prefix-uni-pnfName[1] + '-' +
112                                                    $param-prefix-uni-pnfName[2] + '-' +
113                                                    $param-prefix-uni-pnfName[3] + '-' +
114                                                    $param-prefix-uni-pnfName[4] + '-' +
115                                                    $param-prefix-uni-pnfName[5] + '-' +
116                                                    $param-prefix-uni-pnfName[6] + '-' +
117                                                    $param-prefix-uni-pnfName[7] + '-' +
118                                                    $param-prefix-uni-pnfName[8]`" />
119                                                                                                                                         </set>
120                                                                                                                                     </block>
121                                                                                                                                 </outcome>
122                                                                                                                                 <outcome value='failure'>
123                                                                                                                                     <return status='failure'>
124                                                                                                                                         <parameter name='error-code' value='' />
125                                                                                                                                         <parameter name='error-message' value="An error occured while splitting sna1_route" />
126                                                                                                                                     </return>
127                                                                                                                                 </outcome>
128                                                                                                                             </execute>
129                                                                                                                             <switch test='`$tmp.uni.pnf-name == $tmp.LEAF.pnf-name-long`'>
130                                                                                                                                 <outcome value='false'>
131                                                                                                                                     <block></block>
132                                                                                                                                 </outcome>
133                                                                                                                                 <outcome value='true'>
134                                                                                                                                     <block atomic='true'>
135                                                                                                                                         <set>
136                                                                                                                                             <parameter name='no-pce-call' value="true" />
137                                                                                                                                         </set>
138                                                                                                                                         <set>
139                                                                                                                                             <parameter name='middle-man-conn.' value='`$tmp.aai.all-connectivities.connectivity[$connidx].`' />
140                                                                                                                                         </set>
141                                                                                                                                         <set>
142                                                                                                                                             <parameter name='filenamebb' value="`$param-prefix-uni-pnfName[8]`" />
143                                                                                                                                         </set>
144                                                                                                                                         <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
145                                                                                                                                             <parameter name="filename" value="`$filenamebb`" />
146                                                                                                                                         </execute>
147                                                                                                                                         <break/>
148                                                                                                                                     </block>
149                                                                                                                                 </outcome>
150                                                                                                                             </switch>
151                                                                                                                         </block>
152                                                                                                                     </outcome>
153                                                                                                                     <outcome value='not-found'>
154                                                                                                                         <return status='failure'>
155                                                                                                                             <parameter name='error-code' value='500' />
156                                                                                                                             <parameter name='error-message' value='uni not found' />
157                                                                                                                         </return>
158                                                                                                                     </outcome>
159                                                                                                                     <outcome value='failure'>
160                                                                                                                         <return status='failure'>
161                                                                                                                             <parameter name='error-code' value='500' />
162                                                                                                                             <parameter name='error-message' value='uni not found' />
163                                                                                                                         </return>
164                                                                                                                     </outcome>
165                                                                                                                 </get-resource>
166                                                                                                             </block>
167                                                                                                         </outcome>
168                                                                                                     </switch>
169                                                                                                 </for>
170                                                                                             </outcome>
171                                                                                         </switch>
172                                                                                     </block>
173                                                                                 </outcome>
174                                                                             </switch>
175                                                                         </outcome>
176                                                                         <outcome value='not-found'>
177                                                                             <return status='failure'>
178                                                                                 <parameter name='ack-final' value='Y'/>
179                                                                                 <parameter name="error-code" value="500" />
180                                                                                 <parameter name="error-message" value="`'An error occurred while querying pnf from AnAI with pnf-name = ' + $prop.l3vpn.pe1_id`" />
181                                                                             </return>
182                                                                         </outcome>
183                                                                         <outcome value='failure'>
184                                                                             <return status='failure'>
185                                                                                 <parameter name='error-code' value='' />
186                                                                                 <parameter name='error-message' value='' />
187                                                                             </return>
188                                                                         </outcome>
189                                                                     </get-resource>
190                                                                 </block>
191                                                             </outcome>
192                                                         </switch>
193                                                     </for>
194                                                     <break/>
195                                                 </block>
196                                             </outcome>
197                                         </switch>
198                                     </block>
199                                 </for>
200                             </outcome>
201                         </switch>
202                     </block>
203                 </outcome>
204                 <outcome value='not-found'></outcome>
205                 <outcome value='failure'></outcome>
206             </get-resource>
207         </block>
208     </method>
209 </service-logic>