Chore: Add gerrit maven verify GHA workflow
[sdnc/oam.git] / platform-logic / generic-resource-api / src / main / xml / GENERIC-RESOURCE-API_getpathsegment-simple-match-pair.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='getpathsegment-simple-match-pair' mode='sync'>\r
5         <for index='serv-insts-index' start='0' end='`$serv-insts_length`' >\r
6             <switch test='`$serv-insts[$serv-insts-index].vnf-list_length`'>\r
7                 <outcome value=''>\r
8                     <block>\r
9                         <set>\r
10                             <parameter name='error-message' value="`'Matching VNFs were not found in service instance '\r
11   + $serv-insts[$serv-insts-index].service-instance-id`" />\r
12                         </set>\r
13                     </block>\r
14                 </outcome>\r
15                 <outcome value='0'>\r
16                     <block>\r
17                         <set>\r
18                             <parameter name='error-message' value="`'Matching VNFs were not found in service instance '\r
19   + $serv-insts[$serv-insts-index].service-instance-id`" />\r
20                         </set>\r
21                     </block>\r
22                 </outcome>\r
23                 <outcome value='Other'>\r
24                     <block>\r
25                         <set>\r
26                             <parameter name='matched-all-vnfs' value='true' />\r
27                         </set>\r
28                         <set>\r
29                             <parameter name='serv-insts[$serv-insts-index].path-segments_length' value='0' />\r
30                         </set>\r
31                         <for index='left-vnf-index' start='0' end='`$serv-insts[$serv-insts-index].vnf-list_length - 1`' >\r
32                             <block>\r
33                                 <set>\r
34                                     <parameter name='found-match' value='false' />\r
35                                 </set>\r
36                                 <set>\r
37                                     <parameter name='right-vnf-index' value='`$left-vnf-index + 1`' />\r
38                                 </set>\r
39                                 <switch test='`$match-type`'>\r
40                                     <outcome value='network-name'>\r
41                                         <for index='left-vnf-network-index' start='0' end='`$serv-insts[$serv-insts-index].vnf-list[$left-vnf-index].vnf-network-list_length`' >\r
42                                             <block>\r
43                                                 <for index='right-vnf-network-index' start='0' end='`$serv-insts[$serv-insts-index].vnf-list[$right-vnf-index].vnf-network-list_length`' >\r
44                                                     <switch test='`( $serv-insts[$serv-insts-index].vnf-list[$left-vnf-index].vnf-network-list[$left-vnf-network-index].network-name\r
45     == $serv-insts[$serv-insts-index].vnf-list[$right-vnf-index].vnf-network-list[$right-vnf-network-index].network-name )\r
46    and \r
47     ( $serv-insts[$serv-insts-index].vnf-list[$left-vnf-index].vnf-network-list[$left-vnf-network-index].network-role\r
48     == $serv-insts[$serv-insts-index].vnf-list[$right-vnf-index].vnf-network-list[$right-vnf-network-index].network-role )`'>\r
49                                                         <outcome value='true'>\r
50                                                             <switch test="`$serv-insts[$serv-insts-index].vnf-list[$vnf-index].vnf-network-list[$vnf-network-index].network-name == 'oam'`">\r
51                                                                 <outcome value='false'>\r
52                                                                     <block>\r
53                                                                         <set>\r
54                                                                             <parameter name='ps-index' value='`$serv-insts[$serv-insts-index].path-segments_length`' />\r
55                                                                         </set>\r
56                                                                         <set>\r
57                                                                             <parameter name='serv-insts[$serv-insts-index].path-segments[$ps-index].segment-id' value='`$ps-index + 1`' />\r
58                                                                             <parameter name='serv-insts[$serv-insts-index].path-segments[$ps-index].left-service-instance-id'\r
59   value='`$serv-insts[$serv-insts-index].service-instance-id`' />\r
60                                                                             <parameter name='serv-insts[$serv-insts-index].path-segments[$ps-index].left-vnf-instance-id'\r
61   value='`$serv-insts[$serv-insts-index].vnf-list[$left-vnf-index].vnf-id`' />\r
62                                                                             <parameter name='serv-insts[$serv-insts-index].path-segments[$ps-index].left-vf-module-id'\r
63   value='`$serv-insts[$serv-insts-index].vnf-list[$left-vnf-index].vnf-network-list[$left-vnf-network-index].vf-module-id`' />\r
64                                                                             <parameter name='serv-insts[$serv-insts-index].path-segments[$ps-index].right-service-instance-id'\r
65   value='`$serv-insts[$serv-insts-index].service-instance-id`' />\r
66                                                                             <parameter name='serv-insts[$serv-insts-index].path-segments[$ps-index].right-vnf-instance-id'\r
67   value='`$serv-insts[$serv-insts-index].vnf-list[$right-vnf-index].vnf-id`' />\r
68                                                                             <parameter name='serv-insts[$serv-insts-index].path-segments[$ps-index].right-vf-module-id'\r
69   value='`$serv-insts[$serv-insts-index].vnf-list[$right-vnf-index].vnf-network-list[$right-vnf-network-index].vf-module-id`' />\r
70                                                                             <parameter name='serv-insts[$serv-insts-index].path-segments[$ps-index].network-name'\r
71   value='`$serv-insts[$serv-insts-index].vnf-list[$left-vnf-index].vnf-network-list[$left-vnf-network-index].network-name`' />\r
72                                                                             <parameter name='serv-insts[$serv-insts-index].path-segments[$ps-index].network-role'\r
73   value='`$serv-insts[$serv-insts-index].vnf-list[$left-vnf-index].vnf-network-list[$left-vnf-network-index].network-role`' />\r
74                                                                             <parameter name='serv-insts[$serv-insts-index].path-segments_length'\r
75   value='`$serv-insts[$serv-insts-index].path-segments_length + 1`' />\r
76                                                                         </set>\r
77                                                                         <set>\r
78                                                                             <parameter name='found-match' value='true' />\r
79                                                                         </set>\r
80                                                                         <break/>\r
81                                                                     </block>\r
82                                                                 </outcome>\r
83                                                             </switch>\r
84                                                         </outcome>\r
85                                                     </switch>\r
86                                                 </for>\r
87                                                 <switch test="`$found-match`">\r
88                                                     <outcome value='true'>\r
89                                                         <break/>\r
90                                                     </outcome>\r
91                                                 </switch>\r
92                                             </block>\r
93                                         </for>\r
94                                     </outcome>\r
95                                 </switch>\r
96                                 <switch test="`$found-match`">\r
97                                     <outcome value='false'>\r
98                                         <block>\r
99                                             <set>\r
100                                                 <parameter name='matched-all-vnfs' value='false' />\r
101                                             </set>\r
102                                             <break/>\r
103                                         </block>\r
104                                     </outcome>\r
105                                 </switch>\r
106                             </block>\r
107                         </for>\r
108                         <switch test="`$matched-all-vnfs`">\r
109                             <outcome value='false'>\r
110                                 <block>\r
111                                     <set>\r
112                                         <parameter name='matching-error' value="`'Not able to find matches for all vnfs of service instance ' + $serv-insts[$serv-insts-index].service-instance-id`" />\r
113                                     </set>\r
114                                     <set>\r
115                                         <parameter name='serv-insts[$serv-insts-index].path-segments.' value='' />\r
116                                     </set>\r
117                                 </block>\r
118                             </outcome>\r
119                         </switch>\r
120                     </block>\r
121                 </outcome>\r
122             </switch>\r
123         </for>\r
124     </method>\r
125 </service-logic>