1731308ee7e2a328aa7d002587557217537317c2
[clamp.git] / src / main / resources / clds / camel / routes / policy-flows.xml
1 <routes xmlns="http://camel.apache.org/schema/spring">
2     <route id="verify-one-policy">
3         <from uri="direct:verify-one-policy"/>
4         <setProperty propertyName="raiseHttpExceptionFlag">
5             <simple resultType="java.lang.Boolean">false</simple>
6         </setProperty>
7         <to uri="direct:get-policy"/>
8         <when>
9             <simple>${header.CamelHttpResponseCode} != 200</simple>
10             <setProperty propertyName="policyFound">
11                 <simple resultType="java.lang.Boolean">false</simple>
12             </setProperty>
13             <log loggingLevel="WARN"
14                  message="At least one policy has not been found on policy engine: ${exchangeProperty[policyName]}"/>
15         </when>
16         <setProperty propertyName="raiseHttpExceptionFlag">
17             <simple resultType="java.lang.Boolean">false</simple>
18         </setProperty>
19         <to uri="direct:get-deployment-policy"/>
20         <when>
21             <simple>${header.CamelHttpResponseCode} != 200</simple>
22             <setProperty propertyName="policyDeployed">
23                 <simple resultType="java.lang.Boolean">false</simple>
24             </setProperty>
25             <log loggingLevel="WARN"
26                  message="At least one policy has not been deployed on policy engine: ${exchangeProperty[policyName]}"/>
27         </when>
28         <setProperty propertyName="newPolicyState">
29             <simple>${exchangeProperty[policyComponent].computeState(*)}</simple>
30         </setProperty>
31     </route>
32
33     <route id="get-policy">
34         <from uri="direct:get-policy"/>
35         <doTry>
36             <log loggingLevel="INFO"
37                  message="Getting Policy: ${exchangeProperty[policyName]}"/>
38             <to
39                     uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeLog('Policy', 'Get Policy')"/>
40             <setHeader headerName="CamelHttpMethod">
41                 <constant>GET</constant>
42             </setHeader>
43             <setHeader headerName="X-ONAP-RequestID">
44                 <simple>${exchangeProperty[X-ONAP-RequestID]}
45                 </simple>
46             </setHeader>
47             <setHeader headerName="X-ONAP-InvocationID">
48                 <simple>${exchangeProperty[X-ONAP-InvocationID]}
49                 </simple>
50             </setHeader>
51             <setHeader headerName="X-ONAP-PartnerName">
52                 <simple>${exchangeProperty[X-ONAP-PartnerName]}
53                 </simple>
54             </setHeader>
55             <log loggingLevel="INFO"
56                  message="Endpoint to get policy: {{clamp.config.policy.api.url}}/policy/api/v1/policytypes/${exchangeProperty[policyType]}/versions/${exchangeProperty[policyTypeVersion]}/policies/${exchangeProperty[policyName]}/versions/${exchangeProperty[policyVersion]}"></log>
57             <toD
58                     uri="{{clamp.config.policy.api.url}}/policy/api/v1/policytypes/${exchangeProperty[policyType]}/versions/${exchangeProperty[policyTypeVersion]}/policies/${exchangeProperty[policyName]}/versions/${exchangeProperty[policyVersion]}?bridgeEndpoint=true&amp;useSystemProperties=true&amp;throwExceptionOnFailure=${exchangeProperty[raiseHttpExceptionFlag]}&amp;authMethod=Basic&amp;authUsername={{clamp.config.policy.api.userName}}&amp;authPassword={{clamp.config.policy.api.password}}&amp;connectionTimeToLive=5000&amp;httpClient.connectTimeout=10000&amp;httpClient.socketTimeout=20000&amp;authenticationPreemptive=true&amp;connectionClose=true"/>
59             <doCatch>
60                 <exception>java.lang.Exception</exception>
61                 <handled>
62                     <constant>true</constant>
63                 </handled>
64
65                 <log loggingLevel="ERROR"
66                      message="GET policy request FAILED for loop: ${header.loopName}, ${exception.stacktrace}" />
67                 <to
68                         uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('GET policy request failed, Error reported: ${exception.message}','ERROR',${exchangeProperty[loopObject]})" />
69             </doCatch>
70             <doFinally>
71                 <to uri="direct:reset-raise-http-exception-flag"/>
72                 <to
73                         uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeReturnLog()"/>
74                 <setProperty propertyName="logMessage">
75                     <simple>${exchangeProperty[policyName]} GET
76                         Policy status
77                     </simple>
78                 </setProperty>
79                 <setProperty propertyName="logComponent">
80                     <simple>POLICY</simple>
81                 </setProperty>
82                 <to uri="direct:dump-loop-log-http-response"/>
83             </doFinally>
84         </doTry>
85     </route>
86
87     <route id="get-deployment-policy">
88         <from uri="direct:get-deployment-policy"/>
89         <doTry>
90             <log loggingLevel="INFO"
91                  message="Getting the policy deployment in PDP: ${exchangeProperty[policyName]}"/>
92             <to
93                     uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeLog('Policy', 'Getting the policy deployment in PDP')"/>
94             <setHeader headerName="CamelHttpMethod">
95                 <constant>GET</constant>
96             </setHeader>
97             <setHeader headerName="X-ONAP-RequestID">
98                 <simple>${exchangeProperty[X-ONAP-RequestID]}
99                 </simple>
100             </setHeader>
101             <setHeader headerName="X-ONAP-InvocationID">
102                 <simple>${exchangeProperty[X-ONAP-InvocationID]}
103                 </simple>
104             </setHeader>
105             <setHeader headerName="X-ONAP-PartnerName">
106                 <simple>${exchangeProperty[X-ONAP-PartnerName]}
107                 </simple>
108             </setHeader>
109             <log loggingLevel="INFO"
110                  message="Endpoint to get policy deployment status: {{clamp.config.policy.pap.url}}/policy/pap/v1/policies/deployed/${exchangeProperty[policyName]}/1.0.0"></log>
111             <toD
112                     uri="{{clamp.config.policy.pap.url}}/policy/pap/v1/policies/deployed/${exchangeProperty[policyName]}/1.0.0?bridgeEndpoint=true&amp;useSystemProperties=true&amp;throwExceptionOnFailure=${exchangeProperty[raiseHttpExceptionFlag]}&amp;authMethod=Basic&amp;authUsername={{clamp.config.policy.api.userName}}&amp;authPassword={{clamp.config.policy.api.password}}&amp;connectionTimeToLive=5000&amp;httpClient.connectTimeout=10000&amp;httpClient.socketTimeout=20000&amp;authenticationPreemptive=true&amp;connectionClose=true"/>
113             <doCatch>
114                 <exception>java.lang.Exception</exception>
115                 <handled>
116                     <constant>true</constant>
117                 </handled>
118
119                 <log loggingLevel="ERROR"
120                      message="GET policy request FAILED for loop: ${header.loopName}, ${exception.stacktrace}" />
121                 <to
122                         uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('GET policy request failed, Error reported: ${exception.message}','ERROR',${exchangeProperty[loopObject]})" />
123             </doCatch>
124             <doFinally>
125                 <to uri="direct:reset-raise-http-exception-flag"/>
126                 <to
127                         uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeReturnLog()"/>
128                 <setProperty propertyName="logMessage">
129                     <simple>${exchangeProperty[policyName]} GET Policy deployment
130                         status
131                     </simple>
132                 </setProperty>
133                 <setProperty propertyName="logComponent">
134                     <simple>POLICY</simple>
135                 </setProperty>
136                 <to uri="direct:dump-loop-log-http-response"/>
137             </doFinally>
138         </doTry>
139     </route>
140     <route id="get-all-policy-models">
141         <from uri="direct:get-all-policy-models"/>
142         <doTry>
143             <log loggingLevel="INFO" message="Getting all the policy models"/>
144             <to
145                     uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeLog('Policy', 'Getting all the policy models')"/>
146             <setHeader headerName="CamelHttpMethod">
147                 <constant>GET</constant>
148             </setHeader>
149             <setHeader headerName="X-ONAP-RequestID">
150                 <simple>${exchangeProperty[X-ONAP-RequestID]}
151                 </simple>
152             </setHeader>
153             <setHeader headerName="X-ONAP-InvocationID">
154                 <simple>${exchangeProperty[X-ONAP-InvocationID]}
155                 </simple>
156             </setHeader>
157             <setHeader headerName="X-ONAP-PartnerName">
158                 <simple>${exchangeProperty[X-ONAP-PartnerName]}
159                 </simple>
160             </setHeader>
161             <log loggingLevel="INFO"
162                  message="Endpoint to get all policy models: {{clamp.config.policy.api.url}}/policy/api/v1/policytypes"></log>
163             <toD
164                     uri="{{clamp.config.policy.api.url}}/policy/api/v1/policytypes?bridgeEndpoint=true&amp;useSystemProperties=true&amp;throwExceptionOnFailure=${exchangeProperty[raiseHttpExceptionFlag]}&amp;authMethod=Basic&amp;authUsername={{clamp.config.policy.api.userName}}&amp;authPassword={{clamp.config.policy.api.password}}&amp;connectionTimeToLive=5000&amp;httpClient.connectTimeout=10000&amp;httpClient.socketTimeout=20000&amp;authenticationPreemptive=true&amp;connectionClose=true"/>
165             <convertBodyTo type="java.lang.String"/>
166             <doFinally>
167                 <to uri="direct:reset-raise-http-exception-flag"/>
168                 <to
169                         uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeReturnLog()"/>
170             </doFinally>
171         </doTry>
172     </route>
173     <route id="get-policy-model">
174         <from uri="direct:get-policy-model"/>
175         <doTry>
176             <log loggingLevel="INFO"
177                  message="Getting the policy model: ${exchangeProperty[policyModelName]}/${exchangeProperty[policyModelVersion]}"/>
178             <to
179                     uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeLog('Policy', 'Getting the policy model')"/>
180             <setHeader headerName="CamelHttpMethod">
181                 <constant>GET</constant>
182             </setHeader>
183             <setHeader headerName="X-ONAP-RequestID">
184                 <simple>${exchangeProperty[X-ONAP-RequestID]}
185                 </simple>
186             </setHeader>
187             <setHeader headerName="X-ONAP-InvocationID">
188                 <simple>${exchangeProperty[X-ONAP-InvocationID]}
189                 </simple>
190             </setHeader>
191             <setHeader headerName="X-ONAP-PartnerName">
192                 <simple>${exchangeProperty[X-ONAP-PartnerName]}
193                 </simple>
194             </setHeader>
195             <log loggingLevel="INFO"
196                  message="Endpoint to get policy model: {{clamp.config.policy.api.url}}/policy/api/v1/policytypes/${exchangeProperty[policyModelName]}/versions/${exchangeProperty[policyModelVersion]}"></log>
197             <toD
198                     uri="{{clamp.config.policy.api.url}}/policy/api/v1/policytypes/${exchangeProperty[policyModelName]}/versions/${exchangeProperty[policyModelVersion]}?bridgeEndpoint=true&amp;useSystemProperties=true&amp;throwExceptionOnFailure=${exchangeProperty[raiseHttpExceptionFlag]}&amp;authMethod=Basic&amp;authUsername={{clamp.config.policy.api.userName}}&amp;authPassword={{clamp.config.policy.api.password}}&amp;connectionTimeToLive=5000&amp;httpClient.connectTimeout=10000&amp;httpClient.socketTimeout=20000&amp;authenticationPreemptive=true&amp;connectionClose=true"/>
199             <convertBodyTo type="java.lang.String"/>
200             <doFinally>
201                 <to uri="direct:reset-raise-http-exception-flag"/>
202                 <to
203                         uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeReturnLog()"/>
204             </doFinally>
205         </doTry>
206     </route>
207     <route id="create-policy">
208         <from uri="direct:create-policy"/>
209         <doTry>
210             <log loggingLevel="INFO"
211                  message="Creating Policy: ${exchangeProperty[policy].getName()}"/>
212             <to
213                     uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeLog('Policy', 'Create Policy')"/>
214             <setBody>
215                 <simple>${exchangeProperty[policy].createPolicyPayload()}
216                 </simple>
217             </setBody>
218             <setHeader headerName="CamelHttpMethod">
219                 <constant>POST</constant>
220             </setHeader>
221             <setHeader headerName="Content-Type">
222                 <constant>application/json</constant>
223             </setHeader>
224             <setHeader headerName="X-ONAP-RequestID">
225                 <simple>${exchangeProperty[X-ONAP-RequestID]}
226                 </simple>
227             </setHeader>
228             <setHeader headerName="X-ONAP-InvocationID">
229                 <simple>${exchangeProperty[X-ONAP-InvocationID]}
230                 </simple>
231             </setHeader>
232             <setHeader headerName="X-ONAP-PartnerName">
233                 <simple>${exchangeProperty[X-ONAP-PartnerName]}
234                 </simple>
235             </setHeader>
236             <log loggingLevel="INFO"
237                  message="Endpoint to create policy: {{clamp.config.policy.api.url}}/policy/api/v1/policytypes/${exchangeProperty[policy].getPolicyModel().getPolicyModelType()}/versions/${exchangeProperty[policy].getPolicyModel().getVersion()}/policies"></log>
238             <toD
239                     uri="{{clamp.config.policy.api.url}}/policy/api/v1/policytypes/${exchangeProperty[policy].getPolicyModel().getPolicyModelType()}/versions/${exchangeProperty[policy].getPolicyModel().getVersion()}/policies?bridgeEndpoint=true&amp;useSystemProperties=true&amp;mapHttpMessageHeaders=false&amp;throwExceptionOnFailure=${exchangeProperty[raiseHttpExceptionFlag]}&amp;authUsername={{clamp.config.policy.api.userName}}&amp;authPassword={{clamp.config.policy.api.password}}&amp;connectionTimeToLive=5000&amp;httpClient.connectTimeout=10000&amp;httpClient.socketTimeout=20000&amp;authenticationPreemptive=true&amp;connectionClose=true"/>
240             <doFinally>
241                 <to uri="direct:reset-raise-http-exception-flag"/>
242                 <to
243                         uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeReturnLog()"/>
244                 <setProperty propertyName="logMessage">
245                     <simple>${exchangeProperty[policy].getName()} creation
246                         status
247                     </simple>
248                 </setProperty>
249                 <setProperty propertyName="logComponent">
250                     <simple>POLICY</simple>
251                 </setProperty>
252                 <to uri="direct:dump-loop-log-http-response"/>
253             </doFinally>
254         </doTry>
255     </route>
256
257     <route id="delete-policy">
258         <from uri="direct:delete-policy"/>
259         <doTry>
260             <log loggingLevel="INFO"
261                  message="Deleting Policy: ${exchangeProperty[policy].getName()}"/>
262             <to
263                     uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeLog('Policy', 'Delete Policy')"/>
264             <setBody>
265                 <constant>null</constant>
266             </setBody>
267             <setHeader headerName="CamelHttpMethod">
268                 <constant>DELETE</constant>
269             </setHeader>
270             <setHeader headerName="X-ONAP-RequestID">
271                 <simple>${exchangeProperty[X-ONAP-RequestID]}
272                 </simple>
273             </setHeader>
274             <setHeader headerName="X-ONAP-InvocationID">
275                 <simple>${exchangeProperty[X-ONAP-InvocationID]}
276                 </simple>
277             </setHeader>
278             <setHeader headerName="X-ONAP-PartnerName">
279                 <simple>${exchangeProperty[X-ONAP-PartnerName]}
280                 </simple>
281             </setHeader>
282             <choice>
283                 <when>
284                     <simple>${exchangeProperty[policy].isLegacy()} == true</simple>
285                     <setProperty propertyName="policyVersion">
286                         <simple>1</simple>
287                     </setProperty>
288                 </when>
289                 <otherwise>
290                     <setProperty propertyName="policyVersion">
291                         <simple>1.0.0</simple>
292                     </setProperty>
293                 </otherwise>
294             </choice>
295             <log loggingLevel="INFO"
296                  message="Endpoint to delete policy: {{clamp.config.policy.api.url}}/policy/api/v1/policytypes/${exchangeProperty[policy].getPolicyModel().getPolicyModelType()}/versions/${exchangeProperty[policy].getPolicyModel().getVersion()}/policies/${exchangeProperty[policy].getName()}/versions/${exchangeProperty[policyVersion]}"></log>
297             <toD
298                     uri="{{clamp.config.policy.api.url}}/policy/api/v1/policytypes/${exchangeProperty[policy].getPolicyModel().getPolicyModelType()}/versions/${exchangeProperty[policy].getPolicyModel().getVersion()}/policies/${exchangeProperty[policy].getName()}/versions/${exchangeProperty[policyVersion]}?bridgeEndpoint=true&amp;useSystemProperties=true&amp;mapHttpMessageHeaders=false&amp;throwExceptionOnFailure=${exchangeProperty[raiseHttpExceptionFlag]}&amp;deleteWithBody=false&amp;mapHttpMessageBody=false&amp;mapHttpMessageFormUrlEncodedBody=false&amp;authUsername={{clamp.config.policy.api.userName}}&amp;authPassword={{clamp.config.policy.api.password}}&amp;connectionTimeToLive=5000&amp;httpClient.connectTimeout=10000&amp;httpClient.socketTimeout=20000&amp;authenticationPreemptive=true&amp;connectionClose=true"/>
299
300             <doFinally>
301                 <to uri="direct:reset-raise-http-exception-flag"/>
302                 <to
303                         uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeReturnLog()"/>
304                 <setProperty propertyName="logMessage">
305                     <simple>${exchangeProperty[policy].getName()} removal
306                         status
307                     </simple>
308                 </setProperty>
309                 <setProperty propertyName="logComponent">
310                     <simple>POLICY</simple>
311                 </setProperty>
312                 <to uri="direct:dump-loop-log-http-response"/>
313             </doFinally>
314         </doTry>
315     </route>
316     <route id="create-guard-policy">
317         <from uri="direct:create-guard-policy"/>
318         <doTry>
319             <log loggingLevel="INFO"
320                  message="Creating Guard Policy: ${exchangeProperty[guardPolicy].getKey()}"/>
321             <to
322                     uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeLog('Policy', 'Create Guard Policy')"/>
323             <setBody>
324                 <simple>${exchangeProperty[guardPolicy].getValue()}
325                 </simple>
326             </setBody>
327             <setHeader headerName="CamelHttpMethod">
328                 <constant>POST</constant>
329             </setHeader>
330             <setHeader headerName="Content-Type">
331                 <constant>application/json</constant>
332             </setHeader>
333             <setHeader headerName="X-ONAP-RequestID">
334                 <simple>${exchangeProperty[X-ONAP-RequestID]}
335                 </simple>
336             </setHeader>
337             <setHeader headerName="X-ONAP-InvocationID">
338                 <simple>${exchangeProperty[X-ONAP-InvocationID]}
339                 </simple>
340             </setHeader>
341             <setHeader headerName="X-ONAP-PartnerName">
342                 <simple>${exchangeProperty[X-ONAP-PartnerName]}
343                 </simple>
344             </setHeader>
345             <log loggingLevel="INFO"
346                  message="Endpoint to create guard policy: {{clamp.config.policy.api.url}}/policy/api/v1/policytypes/onap.policies.controlloop.Guard/versions/1.0.0/policies"></log>
347             <toD
348                     uri="{{clamp.config.policy.api.url}}/policy/api/v1/policytypes/onap.policies.controlloop.Guard/versions/1.0.0/policies?bridgeEndpoint=true&amp;useSystemProperties=true&amp;mapHttpMessageHeaders=false&amp;throwExceptionOnFailure=${exchangeProperty[raiseHttpExceptionFlag]}&amp;authUsername={{clamp.config.policy.api.userName}}&amp;authPassword={{clamp.config.policy.api.password}}&amp;connectionTimeToLive=5000&amp;httpClient.connectTimeout=10000&amp;httpClient.socketTimeout=20000&amp;authenticationPreemptive=true&amp;connectionClose=true"/>
349             <doFinally>
350                 <to uri="direct:reset-raise-http-exception-flag"/>
351                 <to
352                         uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeReturnLog()"/>
353                 <setProperty propertyName="logMessage">
354                     <simple>${exchangeProperty[guardPolicy].getKey()} creation status
355                     </simple>
356                 </setProperty>
357                 <setProperty propertyName="logComponent">
358                     <simple>POLICY</simple>
359                 </setProperty>
360                 <to uri="direct:dump-loop-log-http-response"/>
361             </doFinally>
362         </doTry>
363     </route>
364
365     <route id="delete-guard-policy">
366         <from uri="direct:delete-guard-policy"/>
367         <doTry>
368             <log loggingLevel="INFO"
369                  message="Deleting Guard Policy: ${exchangeProperty[guardPolicy].getKey()}"/>
370             <to
371                     uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeLog('Policy', 'Delete Guard Policy')"/>
372             <setBody>
373                 <constant>null</constant>
374             </setBody>
375             <setHeader headerName="CamelHttpMethod">
376                 <constant>DELETE</constant>
377             </setHeader>
378             <setHeader headerName="X-ONAP-RequestID">
379                 <simple>${exchangeProperty[X-ONAP-RequestID]}
380                 </simple>
381             </setHeader>
382             <setHeader headerName="X-ONAP-InvocationID">
383                 <simple>${exchangeProperty[X-ONAP-InvocationID]}
384                 </simple>
385             </setHeader>
386             <setHeader headerName="X-ONAP-PartnerName">
387                 <simple>${exchangeProperty[X-ONAP-PartnerName]}
388                 </simple>
389             </setHeader>
390             <log loggingLevel="INFO"
391                  message="Endpoint to delete guard policy: {{clamp.config.policy.api.url}}/policy/api/v1/policytypes/onap.policies.controlloop.Guard/versions/1.0.0/policies/${exchangeProperty[guardPolicy].getKey()}/versions/1"></log>
392             <toD
393                     uri="{{clamp.config.policy.api.url}}/policy/api/v1/policytypes/onap.policies.controlloop.Guard/versions/1.0.0/policies/${exchangeProperty[guardPolicy].getKey()}/versions/1?bridgeEndpoint=true&amp;useSystemProperties=true&amp;throwExceptionOnFailure=${exchangeProperty[raiseHttpExceptionFlag]}&amp;deleteWithBody=false&amp;mapHttpMessageBody=false&amp;mapHttpMessageFormUrlEncodedBody=false&amp;authUsername={{clamp.config.policy.api.userName}}&amp;authPassword={{clamp.config.policy.api.password}}&amp;connectionTimeToLive=5000&amp;httpClient.connectTimeout=10000&amp;httpClient.socketTimeout=20000&amp;authenticationPreemptive=true&amp;connectionClose=true"/>
394
395             <doFinally>
396                 <to uri="direct:reset-raise-http-exception-flag"/>
397                 <to
398                         uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeReturnLog()"/>
399                 <setProperty propertyName="logMessage">
400                     <simple>${exchangeProperty[guardPolicy].getKey()} removal status
401                     </simple>
402                 </setProperty>
403                 <setProperty propertyName="logComponent">
404                     <simple>POLICY</simple>
405                 </setProperty>
406                 <to uri="direct:dump-loop-log-http-response"/>
407             </doFinally>
408         </doTry>
409     </route>
410
411     <route id="add-all-to-active-pdp-group">
412         <from uri="direct:add-all-to-active-pdp-group"/>
413         <doTry>
414             <log loggingLevel="INFO"
415                  message="Adding loop policies to PDP Group: ${exchangeProperty[loopObject].getName()}"/>
416             <to
417                     uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeLog('Policy', 'Add policies to PDP group')"/>
418             <setBody>
419                 <simple>
420                     ${exchangeProperty[loopObject].getComponent("POLICY").createPoliciesPayloadPdpGroup(exchangeProperty[loopObject],"POST")}
421                 </simple>
422             </setBody>
423             <setHeader headerName="CamelHttpMethod">
424                 <constant>POST</constant>
425             </setHeader>
426             <setHeader headerName="Content-Type">
427                 <constant>application/json</constant>
428             </setHeader>
429             <setHeader headerName="X-ONAP-RequestID">
430                 <simple>${exchangeProperty[X-ONAP-RequestID]}
431                 </simple>
432             </setHeader>
433             <setHeader headerName="X-ONAP-InvocationID">
434                 <simple>${exchangeProperty[X-ONAP-InvocationID]}
435                 </simple>
436             </setHeader>
437             <setHeader headerName="X-ONAP-PartnerName">
438                 <simple>${exchangeProperty[X-ONAP-PartnerName]}
439                 </simple>
440             </setHeader>
441             <log loggingLevel="INFO"
442                  message="Endpoint to add policies to PDP Group: {{clamp.config.policy.pap.url}}/policy/pap/v1/pdps/deployments/batch"></log>
443             <toD
444                     uri="{{clamp.config.policy.pap.url}}/policy/pap/v1/pdps/deployments/batch?bridgeEndpoint=true&amp;throwExceptionOnFailure=${exchangeProperty[raiseHttpExceptionFlag]}&amp;useSystemProperties=true&amp;authUsername={{clamp.config.policy.pap.userName}}&amp;authPassword={{clamp.config.policy.pap.password}}&amp;connectionTimeToLive=5000&amp;httpClient.connectTimeout=10000&amp;httpClient.socketTimeout=20000&amp;authenticationPreemptive=true&amp;connectionClose=true"/>
445
446             <doFinally>
447                 <to uri="direct:reset-raise-http-exception-flag"/>
448                 <to
449                         uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeReturnLog()"/>
450                 <setProperty propertyName="logMessage">
451                     <simple>PDP Group push ALL status</simple>
452                 </setProperty>
453                 <setProperty propertyName="logComponent">
454                     <simple>POLICY</simple>
455                 </setProperty>
456                 <to uri="direct:dump-loop-log-http-response"/>
457             </doFinally>
458         </doTry>
459     </route>
460
461     <route id="remove-all-policy-from-active-pdp-group">
462         <from uri="direct:remove-all-policy-from-active-pdp-group"/>
463         <doTry>
464             <log loggingLevel="INFO"
465                  message="Removing loop policies from PDP Group: ${exchangeProperty[loopObject].getName()}"/>
466             <to
467                     uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeLog('Policy', 'Remove policies from PDP group')"/>
468             <setBody>
469                 <simple>
470                     ${exchangeProperty[loopObject].getComponent("POLICY").createPoliciesPayloadPdpGroup(exchangeProperty[loopObject],"DELETE")}
471                 </simple>
472             </setBody>
473             <setHeader headerName="CamelHttpMethod">
474                 <constant>POST</constant>
475             </setHeader>
476             <setHeader headerName="Content-Type">
477                 <constant>application/json</constant>
478             </setHeader>
479             <setHeader headerName="X-ONAP-RequestID">
480                 <simple>${exchangeProperty[X-ONAP-RequestID]}
481                 </simple>
482             </setHeader>
483             <setHeader headerName="X-ONAP-InvocationID">
484                 <simple>${exchangeProperty[X-ONAP-InvocationID]}
485                 </simple>
486             </setHeader>
487             <setHeader headerName="X-ONAP-PartnerName">
488                 <simple>${exchangeProperty[X-ONAP-PartnerName]}
489                 </simple>
490             </setHeader>
491             <log loggingLevel="INFO"
492                  message="Endpoint to remove policies from PDP Group: {{clamp.config.policy.pap.url}}/policy/pap/v1/pdps/deployments/batch"></log>
493             <toD
494                     uri="{{clamp.config.policy.pap.url}}/policy/pap/v1/pdps/deployments/batch?bridgeEndpoint=true&amp;throwExceptionOnFailure=${exchangeProperty[raiseHttpExceptionFlag]}&amp;useSystemProperties=true&amp;authUsername={{clamp.config.policy.pap.userName}}&amp;authPassword={{clamp.config.policy.pap.password}}&amp;connectionTimeToLive=5000&amp;httpClient.connectTimeout=10000&amp;httpClient.socketTimeout=20000&amp;authenticationPreemptive=true&amp;connectionClose=true"/>
495
496             <doFinally>
497                 <to uri="direct:reset-raise-http-exception-flag"/>
498                 <to
499                         uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeReturnLog()"/>
500                 <setProperty propertyName="logMessage">
501                     <simple>PDP Group remove ALL status</simple>
502                 </setProperty>
503                 <setProperty propertyName="logComponent">
504                     <simple>POLICY</simple>
505                 </setProperty>
506                 <to uri="direct:dump-loop-log-http-response"/>
507             </doFinally>
508         </doTry>
509     </route>
510     <route id="get-all-pdp-groups">
511         <from uri="direct:get-all-pdp-groups"/>
512         <doTry>
513             <log loggingLevel="INFO"
514                  message="Getting the list of PDP Groups"/>
515             <to
516                     uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeLog('Policy', 'Getting the PDP Group list')"/>
517             <setHeader headerName="CamelHttpMethod">
518                 <constant>GET</constant>
519             </setHeader>
520             <setHeader headerName="X-ONAP-RequestID">
521                 <simple>${exchangeProperty[X-ONAP-RequestID]}
522                 </simple>
523             </setHeader>
524             <setHeader headerName="X-ONAP-InvocationID">
525                 <simple>${exchangeProperty[X-ONAP-InvocationID]}
526                 </simple>
527             </setHeader>
528             <setHeader headerName="X-ONAP-PartnerName">
529                 <simple>${exchangeProperty[X-ONAP-PartnerName]}
530                 </simple>
531             </setHeader>
532             <log loggingLevel="INFO"
533                  message="Endpoint to get policy model: {{clamp.config.policy.pap.url}}/policy/pap/v1/pdps"></log>
534             <toD
535                     uri="{{clamp.config.policy.pap.url}}/policy/pap/v1/pdps?bridgeEndpoint=true&amp;useSystemProperties=true&amp;throwExceptionOnFailure=${exchangeProperty[raiseHttpExceptionFlag]}&amp;authMethod=Basic&amp;authUsername={{clamp.config.policy.api.userName}}&amp;authPassword={{clamp.config.policy.api.password}}&amp;connectionTimeToLive=5000&amp;httpClient.connectTimeout=10000&amp;httpClient.socketTimeout=20000&amp;authenticationPreemptive=true&amp;connectionClose=true"/>
536             <convertBodyTo type="java.lang.String"/>
537             <doFinally>
538                 <to uri="direct:reset-raise-http-exception-flag"/>
539                 <to
540                         uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeReturnLog()"/>
541             </doFinally>
542         </doTry>
543     </route>
544     <route id="remove-one-policy-from-active-pdp-group">
545         <from uri="direct:remove-one-policy-from-active-pdp-group"/>
546         <doTry>
547             <log loggingLevel="INFO"
548                  message="Removing policy from active PDP group for loop: ${exchangeProperty[loopObject].getName()}"/>
549             <to
550                     uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeLog('Policy', 'Removing one policy PDP group')"/>
551             <setBody>
552                 <constant>null</constant>
553             </setBody>
554             <setHeader headerName="CamelHttpMethod">
555                 <constant>DELETE</constant>
556             </setHeader>
557             <setHeader headerName="X-ONAP-RequestID">
558                 <simple>${exchangeProperty[X-ONAP-RequestID]}
559                 </simple>
560             </setHeader>
561             <setHeader headerName="X-ONAP-InvocationID">
562                 <simple>${exchangeProperty[X-ONAP-InvocationID]}
563                 </simple>
564             </setHeader>
565             <setHeader headerName="X-ONAP-PartnerName">
566                 <simple>${exchangeProperty[X-ONAP-PartnerName]}
567                 </simple>
568             </setHeader>
569             <log loggingLevel="INFO"
570                  message="Endpoint to delete policy from PDP Group: {{clamp.config.policy.pap.url}}/pdps/policies/${exchangeProperty[policyName]}/versions/1.0.0"></log>
571             <toD
572                     uri="{{clamp.config.policy.pap.url}}/policy/pap/v1/pdps/policies/${exchangeProperty[policyName]}/versions/1.0.0?bridgeEndpoint=true&amp;useSystemProperties=true&amp;mapHttpMessageHeaders=false&amp;throwExceptionOnFailure=${exchangeProperty[raiseHttpExceptionFlag]}&amp;authUsername={{clamp.config.policy.pap.userName}}&amp;authPassword={{clamp.config.policy.pap.password}}&amp;connectionTimeToLive=5000&amp;httpClient.connectTimeout=10000&amp;httpClient.socketTimeout=20000&amp;authenticationPreemptive=true&amp;connectionClose=true"/>
573             <setProperty propertyName="logMessage">
574                 <simple>${exchangeProperty[policyName]} PDP Group removal status
575                 </simple>
576             </setProperty>
577             <setProperty propertyName="logComponent">
578                 <simple>POLICY</simple>
579             </setProperty>
580             <to uri="direct:dump-loop-log-http-response"/>
581             <doCatch>
582                 <exception>java.lang.Exception</exception>
583                 <handled>
584                     <constant>false</constant>
585                 </handled>
586                 <setProperty propertyName="logMessage">
587                     <simple>PDP Group removal, Error reported: ${exception}</simple>
588                 </setProperty>
589                 <setProperty propertyName="logComponent">
590                     <simple>POLICY</simple>
591                 </setProperty>
592                 <to uri="direct:dump-loop-log-http-response"/>
593             </doCatch>
594             <doFinally>
595                 <to uri="direct:reset-raise-http-exception-flag"/>
596                 <to
597                         uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeReturnLog()"/>
598             </doFinally>
599         </doTry>
600     </route>
601 </routes>