Chore: Add gerrit maven verify GHA workflow
[sdnc/oam.git] / platform-logic / generic-resource-api / src / main / xml / GENERIC-RESOURCE-API_get-data-from-policy.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='get-data-from-policy' mode='sync'>\r
5         <block atomic='true'>\r
6             <block atomic='true'>\r
7                 <execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >\r
8                     <parameter name='fileName' value='%SDNC_CONFIG_DIR%/generic-resource-api-dg.properties' />\r
9                     <parameter name='contextPrefix' value='prop' />\r
10                     <outcome value='success'>\r
11                         <block atomic='true'>\r
12                             <record  plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
13                                 <parameter name="logger" value="message-log"/>\r
14                                 <parameter name="field1" value="__TIMESTAMP__"/>\r
15                                 <parameter name="field2" value="LAINA: get-data-from-policy: read properties file."/>\r
16                             </record>\r
17                         </block>\r
18                     </outcome>\r
19                     <outcome value='failure'>\r
20                         <block>\r
21                             <record  plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
22                                 <parameter name="logger" value="message-log"/>\r
23                                 <parameter name="field1" value="__TIMESTAMP__"/>\r
24                                 <parameter name="field2" value="LAINA: get-data-from-policy: Could not read properties file."/>\r
25                                 <parameter name="field3" value='`$prop.restapi.pm.getpolicy.templatefile`'/>\r
26                             </record>\r
27                             <return status='failure'>\r
28                                 <parameter name='error-code' value='501' />\r
29                                 <parameter name='error-message' value='get-data-from-policy: could not read generic-resource-api properties' />\r
30                             </return>\r
31                         </block>\r
32                     </outcome>\r
33                 </execute>\r
34                 <switch test='`$get-data-from-policy-input.policy-instance-name`'>\r
35                     <outcome value=''>\r
36                         <block>\r
37                             <record  plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
38                                 <parameter name="logger" value="message-log"/>\r
39                                 <parameter name="field1" value="__TIMESTAMP__"/>\r
40                                 <parameter name="field2" value="LAINA: get-data-from-policy: input.policy-instance-name is not set"/>\r
41                             </record>\r
42                             <return status='failure'>\r
43                                 <parameter name='error-code' value='507' />\r
44                                 <parameter name='error-message' value='get-data-from-policy: input.policy-instance-name is not set' />\r
45                             </return>\r
46                         </block>\r
47                     </outcome>\r
48                 </switch>\r
49             </block>\r
50             <block atomic='true'>\r
51                 <set>\r
52                     <parameter name='tmp.policy-name' value="`$get-data-from-policy-input.policy-instance-name`" />\r
53                 </set>\r
54                 <record plugin="com.att.sdnctl.sli.recording.Slf4jRecorder">\r
55                     <parameter name="logger" value="message-log"/>\r
56                     <parameter name="field1" value="__TIMESTAMP__"/>\r
57                     <parameter name="field2" value="LAINA: get-data-from-policy: restapi-call-node Call Policy Manager getPolicy"/>\r
58                 </record>\r
59                 <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
60                     <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.pm.getpolicy.templatefile`" />\r
61                     <parameter name='restapiUrl' value="`$prop.policy-manager.url + '/pdp/api/getConfig'`" />\r
62                     <parameter name='format' value='json' />\r
63                     <parameter name='httpMethod' value='POST' />\r
64                     <parameter name='customHttpHeaders'\r
65       value="`'Authorization=Basic ' + $prop.policy-manager.authorization + ',ClientAuth=Basic ' + $prop.policy-manager.clientauth + ',Environment=' + $prop.policy-manager.environment `" />\r
66                     <parameter name="responsePrefix" value="tmp.pm-response" />\r
67                     <outcome value='failure'>\r
68                         <block>\r
69                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
70                                 <parameter name="logger" value="message-log"/>\r
71                                 <parameter name="field1" value="__TIMESTAMP__"/>\r
72                                 <parameter name="field2" value="LAINA: get-data-from-policy: Error calling Policy Manager getPolicy"/>\r
73                             </record>\r
74                             <return status='failure'>\r
75                                 <parameter name='error-code' value='502' />\r
76                                 <parameter name='error-message' value='get-data-from-policy: getPolicy call to Policy Manger failed' />\r
77                             </return>\r
78                         </block>\r
79                     </outcome>\r
80                     <outcome value='success'>\r
81                         <block>\r
82                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
83                                 <parameter name="logger" value="message-log"/>\r
84                                 <parameter name="field1" value="__TIMESTAMP__"/>\r
85                                 <parameter name="field2" value="LAINA: get-data-from-policy: getPolicy SUCCESS"/>\r
86                                 <parameter name='field3' value='`$tmp.pm-response.type`' />\r
87                                 <parameter name='field4' value='`$tmp.pm-response.matchingConditions`' />\r
88                                 <parameter name='field5' value='`$tmp.pm-response.config`' />\r
89                                 <parameter name='field6' value='`$tmp.pm-response.response-code`' />\r
90                                 <parameter name='field7' value='`$tmp.pm-response.response-message`' />\r
91                             </record>\r
92                             <set>\r
93                                 <parameter name='policy-config' value="`$tmp.pm-response.config`" />\r
94                             </set>\r
95                             <switch test='`$tmp.pm-response.response-code`'>\r
96                                 <outcome value='500'>\r
97                                     <block>\r
98                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
99                                             <parameter name="logger" value="message-log"/>\r
100                                             <parameter name="field1" value="__TIMESTAMP__"/>\r
101                                             <parameter name="field2" value="LAINA: get-data-from-policy: Error calling Policy Manager getPolicy"/>\r
102                                         </record>\r
103                                         <return status='failure'>\r
104                                             <parameter name='error-code' value='502' />\r
105                                             <parameter name='error-message' value='get-data-from-policy: getPolicy call to Policy Manger failed' />\r
106                                         </return>\r
107                                     </block>\r
108                                 </outcome>\r
109                             </switch>\r
110                         </block>\r
111                     </outcome>\r
112                 </execute>\r
113                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
114                     <parameter name="logger" value="message-log"/>\r
115                     <parameter name="field1" value="__TIMESTAMP__"/>\r
116                     <parameter name="field2" value="LAINA: get-data-from-policy: call jsonStringToCtx"/>\r
117                     <parameter name='field3' value='`$policy-config`' />\r
118                 </record>\r
119                 <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils" method="jsonStringToCtx">\r
120                     <parameter name="source" value="policy-config" />\r
121                     <parameter name="outputPath" value="jsonContextPrefix" />\r
122                     <parameter name="isEscaped" value="true" />\r
123                     <outcome value='failure'>\r
124                         <block>\r
125                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
126                                 <parameter name="logger" value="message-log"/>\r
127                                 <parameter name="field1" value="__TIMESTAMP__"/>\r
128                                 <parameter name="field2" value="LAINA: get-data-from-policy: Error calling jsonStringToCtx"/>\r
129                             </record>\r
130                             <return status='failure'>\r
131                                 <parameter name='error-code' value='504' />\r
132                                 <parameter name='error-message' value='get-data-from-policy: failed to parse Policy Manger getPolicy response' />\r
133                             </return>\r
134                         </block>\r
135                     </outcome>\r
136                     <outcome value='success'>\r
137                         <block atomic='true'>\r
138                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
139                                 <parameter name="logger" value="message-log"/>\r
140                                 <parameter name="field1" value="__TIMESTAMP__"/>\r
141                                 <parameter name="field2" value="LAINA: get-data-from-policy: jsonStringToCtx SUCCESS: policyName|policy-data|"/>\r
142                                 <parameter name='field3' value='`$jsonContextPrefix.policyName`' />\r
143                                 <parameter name='field4' value='`$jsonContextPrefix.content.policy-data`' />\r
144                             </record>\r
145                             <switch test='`$jsonContextPrefix.content.policy-data_length > 0`'>\r
146                                 <outcome value='true'>\r
147                                     <block atomic='true'>\r
148                                         <for index='policyDataIndex' start='0' end='`$jsonContextPrefix.content.policy-data_length`' >\r
149                                             <set>\r
150                                                 <parameter name="`'get-data-from-policy-output[' + $policyDataIndex + ']'`." value= '`$jsonContextPrefix.content.policy-data[$policyDataIndex].`' />\r
151                                             </set>\r
152                                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
153                                                 <parameter name="logger" value="message-log"/>\r
154                                                 <parameter name="field1" value="__TIMESTAMP__"/>\r
155                                                 <parameter name="field2" value="LAINA: get-data-from-policy: policyDataIndex|nf-role|rule-1|rule-2:"/>\r
156                                                 <parameter name='field3' value='`$policyDataIndex`' />\r
157                                                 <parameter name='field4' value='`$jsonContextPrefix.content.policy-data[$policyDataIndex].nf-role`' />\r
158                                                 <parameter name='field5' value='`$jsonContextPrefix.content.policy-data[$policyDataIndex].rule-1`' />\r
159                                                 <parameter name='field6' value='`$jsonContextPrefix.content.policy-data[$policyDataIndex].rule-2`' />\r
160                                             </record>\r
161                                         </for>\r
162                                     </block>\r
163                                 </outcome>\r
164                             </switch>\r
165                             <switch test='`$jsonContextPrefix.content.policy-data.extended-params_length > 0`'>\r
166                                 <outcome value='true'>\r
167                                     <block atomic='true'>\r
168                                         <for index='policyDataExtendedParamsIndex' start='0' end='`$jsonContextPrefix.content.policy-data.extended-params_length`' >\r
169                                             <set>\r
170                                                 <parameter name='output-param-name' value='`$jsonContextPrefix.content.policy-data.extended-params[$policyDataExtendedParamsIndex].param-name`'  />\r
171                                                 <parameter name='output-param-value' value='`$jsonContextPrefix.content.policy-data.extended-params[$policyDataExtendedParamsIndex].param-value`'  />\r
172                                             </set>\r
173                                             <set>\r
174                                                 <parameter name="`'get-data-from-policy-output.' + $output-param-name`" value="`$output-param-value`" />\r
175                                             </set>\r
176                                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
177                                                 <parameter name="logger" value="message-log"/>\r
178                                                 <parameter name="field1" value="__TIMESTAMP__"/>\r
179                                                 <parameter name="field2" value="LAINA: get-data-from-policy: policyDataExtendedParamsIndex|output-param-name|output-param-value:"/>\r
180                                                 <parameter name='field3' value='`$policyDataExtendedParamsIndex`' />\r
181                                                 <parameter name='field4' value='`$output-param-name`' />\r
182                                                 <parameter name='field5' value='`$output-param-value`' />\r
183                                             </record>\r
184                                         </for>\r
185                                     </block>\r
186                                 </outcome>\r
187                             </switch>\r
188                             <set>\r
189                                 <parameter name='get-data-from-policy-output.' value='`$jsonContextPrefix.content.policy-data.`'  />\r
190                             </set>\r
191                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
192                                 <parameter name="logger" value="message-log"/>\r
193                                 <parameter name="field1" value="__TIMESTAMP__"/>\r
194                                 <parameter name="field2" value="LAINA: get-data-from-policy: get-data-from-policy-output.:"/>\r
195                                 <parameter name='field3' value='`$get-data-from-policy-output.`' />\r
196                             </record>\r
197                         </block>\r
198                     </outcome>\r
199                 </execute>\r
200                 <return status='success'></return>\r
201             </block>\r
202         </block>\r
203     </method>\r
204 </service-logic>