Open DCAE deployment in all cases
[clamp.git] / src / main / resources / clds / camel / rest / clamp-api-v2.xml
1 <rests xmlns="http://camel.apache.org/schema/spring">
2         <rest>
3                 <get
4                         uri="/v2/loop/getAllNames"
5                         outType="java.lang.String[]"
6                         produces="application/json">
7                         <route>
8                                 <removeHeaders pattern="*" />
9                                 <doTry>
10                                         <to
11                                                 uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=startLog(*, 'GET ALL Loop')" />
12                                         <to
13                                                 uri="bean:org.onap.clamp.authorization.AuthorizationController?method=authorize(*,'cl','','read')" />
14                                         <to
15                                                 uri="bean:org.onap.clamp.loop.LoopController?method=getLoopNames()" />
16                                         <to
17                                                 uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=endLog()" />
18                                         <doCatch>
19                                                 <exception>java.lang.Exception</exception>
20                                                 <handled>
21                                                         <constant>false</constant>
22                                                 </handled>
23                                                 <to
24                                                         uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=errorLog()" />
25                                         </doCatch>
26                                 </doTry>
27                         </route>
28                 </get>
29                 <get
30                         uri="/v2/loop/{loopName}"
31                         outType="org.onap.clamp.loop.Loop"
32                         produces="application/json">
33                         <route>
34                                 <removeHeaders
35                                         pattern="*"
36                                         excludePattern="loopName" />
37                                 <doTry>
38                                         <to
39                                                 uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=startLog(*, 'GET Loop')" />
40                                         <to
41                                                 uri="bean:org.onap.clamp.authorization.AuthorizationController?method=authorize(*,'cl','','read')" />
42                                         <to
43                                                 uri="bean:org.onap.clamp.loop.LoopController?method=getLoop(${header.loopName})" />
44                                         <to
45                                                 uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=endLog()" />
46                                         <doCatch>
47                                                 <exception>java.lang.Exception</exception>
48                                                 <handled>
49                                                         <constant>false</constant>
50                                                 </handled>
51                                                 <to
52                                                         uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=errorLog()" />
53                                         </doCatch>
54                                 </doTry>
55                         </route>
56                 </get>
57                 <get
58                         uri="/v2/loop/svgRepresentation/{loopName}"
59                         outType="java.lang.String"
60                         produces="application/xml">
61                         <route>
62                                 <removeHeaders
63                                         pattern="*"
64                                         excludePattern="loopName" />
65                                 <doTry>
66                                         <to
67                                                 uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=startLog(*, 'Get SVG Representation')" />
68                                         <to
69                                                 uri="bean:org.onap.clamp.authorization.AuthorizationController?method=authorize(*,'cl','','read')" />
70                                         <to
71                                                 uri="bean:org.onap.clamp.loop.LoopController?method=getSVGRepresentation(${header.loopName})" />
72                                         <to
73                                                 uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=endLog()" />
74                                         <doCatch>
75                                                 <exception>java.lang.Exception</exception>
76                                                 <handled>
77                                                         <constant>false</constant>
78                                                 </handled>
79                                                 <to
80                                                         uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=errorLog()" />
81                                         </doCatch>
82                                 </doTry>
83                         </route>
84                 </get>
85
86                 <post
87                         uri="/v2/loop/updateGlobalProperties/{loopName}"
88                         type="com.google.gson.JsonObject"
89                         consumes="application/json"
90                         outType="org.onap.clamp.loop.Loop"
91                         produces="application/json">
92                         <route>
93                                 <removeHeaders
94                                         pattern="*"
95                                         excludePattern="loopName" />
96                                 <doTry>
97                                         <to
98                                                 uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=startLog(*, 'Update the global properties')" />
99                                         <to
100                                                 uri="bean:org.onap.clamp.authorization.AuthorizationController?method=authorize(*,'cl','','update')" />
101                                         <setHeader headerName="GlobalPropertiesJson">
102                                                 <simple>${body}</simple>
103                                         </setHeader>
104                                         <to uri="direct:load-loop" />
105                                         <to
106                                                 uri="bean:org.onap.clamp.loop.LoopController?method=updateGlobalPropertiesJson(${header.loopName},${header.GlobalPropertiesJson})" />
107                                         <to
108                                                 uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('Global Properties UPDATED','INFO',${exchangeProperty[loopObject]})" />
109                                         <to
110                                                 uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=endLog()" />
111                                         <doCatch>
112                                                 <exception>java.lang.Exception</exception>
113                                                 <handled>
114                                                         <constant>false</constant>
115                                                 </handled>
116                                                 <to
117                                                         uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=errorLog()" />
118                                         </doCatch>
119                                 </doTry>
120                         </route>
121                 </post>
122                 <post
123                         uri="/v2/loop/updateOperationalPolicies/{loopName}"
124                         type="com.google.gson.JsonArray"
125                         consumes="application/json"
126                         outType="org.onap.clamp.loop.Loop"
127                         produces="application/json">
128                         <route>
129                                 <removeHeaders
130                                         pattern="*"
131                                         excludePattern="loopName" />
132                                 <doTry>
133                                         <to
134                                                 uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=startLog(*, 'Update operational policies')" />
135                                         <to
136                                                 uri="bean:org.onap.clamp.authorization.AuthorizationController?method=authorize(*,'cl','','update')" />
137                                         <setHeader headerName="OperationalPoliciesArray">
138                                                 <simple>${body}</simple>
139                                         </setHeader>
140                                         <to uri="direct:load-loop" />
141                                         <to
142                                                 uri="bean:org.onap.clamp.loop.LoopController?method=updateOperationalPolicies(${header.loopName},${header.OperationalPoliciesArray})" />
143                                         <to
144                                                 uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('Operational and Guard policies UPDATED','INFO',${exchangeProperty[loopObject]})" />
145                                         <to
146                                                 uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=endLog()" />
147                                         <doCatch>
148                                                 <exception>java.lang.Exception</exception>
149                                                 <handled>
150                                                         <constant>false</constant>
151                                                 </handled>
152                                                 <to
153                                                         uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=errorLog()" />
154                                         </doCatch>
155                                 </doTry>
156                         </route>
157                 </post>
158                 <post
159                         uri="/v2/loop/updateMicroservicePolicy/{loopName}"
160                         type="org.onap.clamp.policy.microservice.MicroServicePolicy"
161                         consumes="application/json"
162                         outType="org.onap.clamp.policy.microservice.MicroServicePolicy"
163                         produces="application/json">
164                         <route>
165                                 <removeHeaders
166                                         pattern="*"
167                                         excludePattern="loopName" />
168                                 <doTry>
169                                         <to
170                                                 uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=startLog(*, 'Update Microservice policies')" />
171                                         <to
172                                                 uri="bean:org.onap.clamp.authorization.AuthorizationController?method=authorize(*,'cl','','update')" />
173                                         <setProperty propertyName="MicroServicePolicyObject">
174                                                 <simple>${body}</simple>
175                                         </setProperty>
176
177                                         <to uri="direct:load-loop" />
178                                         <to
179                                                 uri="bean:org.onap.clamp.loop.LoopController?method=updateMicroservicePolicy(${header.loopName},${exchangeProperty[MicroServicePolicyObject]})" />
180                                         <to
181                                                 uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('Micro Service policies UPDATED','INFO',${exchangeProperty[loopObject]})" />
182                                         <to
183                                                 uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=endLog()" />
184                                         <doCatch>
185                                                 <exception>java.lang.Exception</exception>
186                                                 <handled>
187                                                         <constant>false</constant>
188                                                 </handled>
189                                                 <to
190                                                         uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=errorLog()" />
191                                         </doCatch>
192                                 </doTry>
193                         </route>
194                 </post>
195                 <put
196                         uri="/v2/loop/deployLoop/{loopName}"
197                         outType="org.onap.clamp.loop.Loop"
198                         produces="application/json">
199                         <route>
200                                 <removeHeaders
201                                         pattern="*"
202                                         excludePattern="loopName" />
203                                 <doTry>
204                                         <log
205                                                 loggingLevel="INFO"
206                                                 message="DCAE DEPLOY request for loop: ${header.loopName}" />
207                                         <to
208                                                 uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=startLog(*, 'DCAE DEPLOY request')" />
209                                         <to
210                                                 uri="bean:org.onap.clamp.authorization.AuthorizationController?method=authorize(*,'cl','','update')" />
211                                         <to uri="direct:load-loop" />
212                                         <to
213                                                 uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('DCAE DEPLOY request','INFO',${exchangeProperty[loopObject]})" />
214                                         
215                                         <to uri="direct:get-status-from-policy" />
216                                         <to uri="direct:get-status-from-dcae" />
217                                         <log
218                                                 loggingLevel="INFO"
219                                                 message="Policy deployment status: ${exchangeProperty[policyStatus]}"></log>
220                                         <choice>
221                                                 <when>
222                                                         <simple> ${exchangeProperty[policyStatus]} == 'SUBMITTED' and
223                                                                 ${exchangeProperty[dcaeStatus]} == 'NOT_DEPLOYED'
224                                                         </simple>
225                                                         <to uri="direct:deploy-loop" />
226                                                 </when>
227                                                 <otherwise>
228                                                         <log
229                                                                 loggingLevel="INFO"
230                                                                 message="POLICY status ${exchangeProperty[policyStatus]}/DCAE status ${exchangeProperty[dcaeStatus]}, DCAE deployment will be started anyway" />
231                                                         <to
232                                                                 uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('POLICY status ${exchangeProperty[policyStatus]}/DCAE status ${exchangeProperty[dcaeStatus]}, DCAE deployment will be started anyway','ERROR',${exchangeProperty[loopObject]})" />
233                                                         <to uri="direct:deploy-loop" />
234                                                 </otherwise>
235                                         </choice>
236                                         <log
237                                                 loggingLevel="INFO"
238                                                 message="DEPLOY request successfully executed for loop: ${header.loopName}" />
239                                         <to
240                                                 uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('DEPLOY request successfully executed','INFO',${exchangeProperty[loopObject]})" />
241                                         <to
242                                                 uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=endLog()" />
243                                         <doCatch>
244                                                 <exception>java.lang.Exception</exception>
245                                                 <handled>
246                                                         <constant>false</constant>
247                                                 </handled>
248                                                 <to
249                                                         uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=errorLog()" />
250                                                 <log
251                                                         loggingLevel="ERROR"
252                                                         message="DEPLOY request failed for loop: ${header.loopName}" />
253                                                 <to
254                                                         uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('DEPLOY request failed, Error reported: ${exception}','ERROR',${exchangeProperty[loopObject]})" />
255                                         </doCatch>
256                                 </doTry>
257                         </route>
258                 </put>
259                 <put
260                         uri="/v2/loop/undeployLoop/{loopName}"
261                         outType="org.onap.clamp.loop.Loop"
262                         produces="application/json">
263                         <route>
264                                 <removeHeaders
265                                         pattern="*"
266                                         excludePattern="loopName" />
267                                 <doTry>
268                                         <log
269                                                 loggingLevel="INFO"
270                                                 message="DCAE UNDEPLOY request for loop: ${header.loopName}" />
271                                         <to
272                                                 uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=startLog(*, 'DCAE UNDEPLOY request')" />
273                                         <to
274                                                 uri="bean:org.onap.clamp.authorization.AuthorizationController?method=authorize(*,'cl','','update')" />
275                                         <to uri="direct:load-loop" />
276                                         <to
277                                                 uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('DCAE UNDEPLOY request','INFO',${exchangeProperty[loopObject]})" />
278                                         <to uri="direct:get-status-from-dcae" />
279                                         <choice>
280                                                 <when>
281                                                         <simple> ${exchangeProperty[dcaeStatus]} == 'DEPLOYED' or ${exchangeProperty[dcaeStatus]} == 'IN_ERROR' or ${exchangeProperty[dcaeStatus]} == 'PROCESSING'
282                                                         </simple>
283                                                         <to uri="direct:undeploy-loop" />
284                                                 </when>
285                                                 <otherwise>
286                                                         <log
287                                                                 loggingLevel="INFO"
288                                                                 message="Loop is in state ${exchangeProperty[dcaeStatus]}, it can only be undeployed when in state DEPLOYED/IN_ERROR/PROCESSING" />
289                                                         <to
290                                                                 uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('Loop is in state ${exchangeProperty[dcaeStatus]}, it can only be deployed when in state DEPLOYED','ERROR',${exchangeProperty[loopObject]})" />
291                                                 </otherwise>
292                                         </choice>
293                                         <log
294                                                 loggingLevel="INFO"
295                                                 message="UNDEPLOY request successfully executed for loop: ${header.loopName}" />
296                                         <to
297                                                 uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('UNDEPLOY request successfully executed','INFO',${exchangeProperty[loopObject]})" />
298                                         <to
299                                                 uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=endLog()" />
300                                         <doCatch>
301                                                 <exception>java.lang.Exception</exception>
302                                                 <handled>
303                                                         <constant>false</constant>
304                                                 </handled>
305                                                 <to
306                                                         uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=errorLog()" />
307                                                 <log
308                                                         loggingLevel="ERROR"
309                                                         message="UNDEPLOY request failed for loop: ${header.loopName}" />
310                                                 <to
311                                                         uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('UNDEPLOY request failed, Error reported: ${exception}','ERROR',${exchangeProperty[loopObject]})" />
312                                         </doCatch>
313                                 </doTry>
314                         </route>
315                 </put>
316                 <put
317                         uri="/v2/loop/stop/{loopName}"
318                         outType="org.onap.clamp.loop.Loop"
319                         produces="application/json">
320                         <route>
321                                 <removeHeaders
322                                         pattern="*"
323                                         excludePattern="loopName" />
324                                 <doTry>
325                                         <log
326                                                 loggingLevel="INFO"
327                                                 message="STOP request for loop: ${header.loopName}" />
328                                         <to
329                                                 uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=startLog(*,'STOP request')" />
330                                         <to
331                                                 uri="bean:org.onap.clamp.authorization.AuthorizationController?method=authorize(*,'cl','','update')" />
332                                         <to uri="direct:load-loop" />
333                                         <to
334                                                 uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('STOP request','INFO',${exchangeProperty[loopObject]})" />
335                                         
336                                         <to uri="direct:remove-all-policy-from-active-pdp-group" />
337                                         <log
338                                                 loggingLevel="INFO"
339                                                 message="STOP request successfully executed for loop: ${header.loopName}" />
340                                         <to
341                                                 uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('STOP request successfully executed','INFO',${exchangeProperty[loopObject]})" />
342                                         <to
343                                                 uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=endLog()" />
344                                         <doCatch>
345                                                 <exception>java.lang.Exception</exception>
346                                                 <handled>
347                                                         <constant>false</constant>
348                                                 </handled>
349                                                 <to
350                                                         uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=errorLog()" />
351                                                 <log
352                                                         loggingLevel="ERROR"
353                                                         message="STOP request failed for loop: $${header.loopName}" />
354                                                 <to
355                                                         uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('STOP request failed, Error reported: ${exception}','ERROR',${exchangeProperty[loopObject]})" />
356                                         </doCatch>
357                                 </doTry>
358                         </route>
359                 </put>
360                 <put
361                         uri="/v2/loop/restart/{loopName}"
362                         outType="org.onap.clamp.loop.Loop"
363                         produces="application/json">
364                         <route>
365                                 <removeHeaders
366                                         pattern="*"
367                                         excludePattern="loopName" />
368                                 <doTry>
369                                         <log
370                                                 loggingLevel="INFO"
371                                                 message="RESTART request for loop: ${header.loopName}" />
372                                         <to
373                                                 uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=startLog(*,'RESTART request')" />
374                                         <to
375                                                 uri="bean:org.onap.clamp.authorization.AuthorizationController?method=authorize(*,'cl','','update')" />
376                                         <to uri="direct:load-loop" />
377
378                                         <to
379                                                 uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('RESTART request','INFO',${exchangeProperty[loopObject]})" />
380
381                                         <to uri="direct:add-all-to-active-pdp-group" />
382                                         <log
383                                                 loggingLevel="INFO"
384                                                 message="RESTART request successfully executed for loop: ${header.loopName}" />
385                                         <to
386                                                 uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('RESTART request successfully executed','INFO',${exchangeProperty[loopObject]})" />
387                                         <to
388                                                 uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=endLog()" />
389                                         <doCatch>
390                                                 <exception>java.lang.Exception</exception>
391                                                 <handled>
392                                                         <constant>false</constant>
393                                                 </handled>
394                                                 <to
395                                                         uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=errorLog()" />
396                                                 <log
397                                                         loggingLevel="ERROR"
398                                                         message="RESTART request failed for loop: ${header.loopName}" />
399                                                 <to
400                                                         uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('RESTART request failed, Error reported: ${exception}','INFO',${exchangeProperty[loopObject]})" />
401                                         </doCatch>
402                                 </doTry>
403                         </route>
404                 </put>
405                 <put
406                         uri="/v2/loop/submit/{loopName}"
407                         outType="org.onap.clamp.loop.Loop"
408                         produces="application/json">
409                         <route>
410                                 <removeHeaders
411                                         pattern="*"
412                                         excludePattern="loopName" />
413                                 <doTry>
414                                         <log
415                                                 loggingLevel="INFO"
416                                                 message="POLICY SUBMIT request for loop: ${header.loopName}" />
417                                         <to
418                                                 uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=startLog(*, 'POLICY SUBMIT request')" />
419                                         <to
420                                                 uri="bean:org.onap.clamp.authorization.AuthorizationController?method=authorize(*,'cl','','update')" />
421                                         <to uri="direct:load-loop" />
422                                         <to
423                                                 uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('POLICY SUBMIT request','INFO',${exchangeProperty[loopObject]})" />
424                                         <setProperty propertyName="raiseHttpExceptionFlag">
425                                                 <simple resultType="java.lang.Boolean">false</simple>
426                                         </setProperty>
427                                         <to uri="direct:remove-all-policy-from-active-pdp-group" />
428                                         <log
429                                                 loggingLevel="INFO"
430                                                 message="Processing all MICRO-SERVICES policies defined in loop ${exchangeProperty[loopObject].getName()}" />
431                                         <split>
432                                                 <simple>${exchangeProperty[loopObject].getMicroServicePolicies()}
433                                                 </simple>
434                                                 <setProperty propertyName="microServicePolicy">
435                                                         <simple>${body}</simple>
436                                                 </setProperty>
437                                                 <log
438                                                         loggingLevel="INFO"
439                                                         message="Processing Micro Service Policy: ${exchangeProperty[microServicePolicy].getName()}" />
440                                                 <setProperty propertyName="raiseHttpExceptionFlag">
441                                                         <simple resultType="java.lang.Boolean">false</simple>
442                                                 </setProperty>
443                                                 <to uri="direct:delete-micro-service-policy" />
444                                                 <to uri="direct:create-micro-service-policy" />
445                                         </split>
446                                         <log
447                                                 loggingLevel="INFO"
448                                                 message="Processing all OPERATIONAL policies defined in loop ${exchangeProperty[loopObject].getName()}" />
449                                         <split>
450                                                 <simple>${exchangeProperty[loopObject].getOperationalPolicies()}
451                                                 </simple>
452                                                 <setProperty propertyName="operationalPolicy">
453                                                         <simple>${body}</simple>
454                                                 </setProperty>
455                                                 <log
456                                                         loggingLevel="INFO"
457                                                         message="Processing Operational Policy: ${exchangeProperty[operationalPolicy].getName()}" />
458                                                 <setProperty propertyName="raiseHttpExceptionFlag">
459                                                         <simple resultType="java.lang.Boolean">false</simple>
460                                                 </setProperty>
461
462                                                 <to uri="direct:delete-operational-policy" />
463                                                 <to uri="direct:create-operational-policy" />
464
465                                                 <log
466                                                         loggingLevel="INFO"
467                                                         message="Processing all GUARD policies defined in loop ${exchangeProperty[loopObject].getName()}" />
468                                                 <split>
469                                                         <simple>${exchangeProperty[operationalPolicy].createGuardPolicyPayloads().entrySet()}
470                                                         </simple>
471                                                         <setProperty propertyName="guardPolicy">
472                                                                 <simple>${body}</simple>
473                                                         </setProperty>
474                                                         <log
475                                                                 loggingLevel="INFO"
476                                                                 message="Processing Guard Policy: ${exchangeProperty[guardPolicy].getKey()}" />
477
478                                                         <setProperty propertyName="raiseHttpExceptionFlag">
479                                                                 <simple resultType="java.lang.Boolean">false</simple>
480                                                         </setProperty>
481                                                         <to uri="direct:delete-guard-policy" />
482                                                         <to uri="direct:create-guard-policy" />
483                                                 </split>
484                                         </split>
485
486                                         <to uri="direct:add-all-to-active-pdp-group" />
487
488                                         <log
489                                                 loggingLevel="INFO"
490                                                 message="SUBMIT request successfully executed for loop: ${header.loopName}" />
491                                         <to
492                                                 uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('SUBMIT request successfully executed','INFO',${exchangeProperty[loopObject]})" />
493                                         <to
494                                                 uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=endLog()" />
495                                         <doCatch>
496                                                 <exception>java.lang.Exception</exception>
497                                                 <handled>
498                                                         <constant>false</constant>
499                                                 </handled>
500                                                 <to
501                                                         uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=errorLog()" />
502                                                 <log
503                                                         loggingLevel="ERROR"
504                                                         message="SUBMIT request failed for loop: ${header.loopName}" />
505                                                 <to
506                                                         uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('SUBMIT request failed, Error reported: ${exception}','ERROR',${exchangeProperty[loopObject]})" />
507                                         </doCatch>
508                                 </doTry>
509                         </route>
510                 </put>
511                 <put uri="/v2/loop/delete/{loopName}">
512                         <route>
513                                 <removeHeaders
514                                         pattern="*"
515                                         excludePattern="loopName" />
516                                 <doTry>
517                                         <log
518                                                 loggingLevel="INFO"
519                                                 message="DELETE request for loop: ${header.loopName}" />
520                                         <to
521                                                 uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=startLog(*,'DELETE request')" />
522                                         <to
523                                                 uri="bean:org.onap.clamp.authorization.AuthorizationController?method=authorize(*,'cl','','update')" />
524                                         <to uri="direct:load-loop" />
525                                         <to
526                                                 uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('DELETE request','INFO',${exchangeProperty[loopObject]})" />
527                                         <to uri="direct:remove-all-policy-from-active-pdp-group" />
528                                         <split>
529                                                 <simple>${exchangeProperty[loopObject].getMicroServicePolicies()}
530                                                 </simple>
531                                                 <setProperty propertyName="microServicePolicy">
532                                                         <simple>${body}</simple>
533                                                 </setProperty>
534                                                 <log
535                                                         loggingLevel="INFO"
536                                                         message="Processing Micro Service Policy: ${exchangeProperty[microServicePolicy].getName()}" />
537                                                 <to uri="direct:delete-micro-service-policy" />
538                                         </split>
539
540                                         <log
541                                                 loggingLevel="INFO"
542                                                 message="Processing all OPERATIONAL policies defined in loop ${exchangeProperty[loopObject].getName()}" />
543                                         <split>
544                                                 <simple>${exchangeProperty[loopObject].getOperationalPolicies()}
545                                                 </simple>
546                                                 <setProperty propertyName="operationalPolicy">
547                                                         <simple>${body}</simple>
548                                                 </setProperty>
549                                                 <log
550                                                         loggingLevel="INFO"
551                                                         message="Processing Operational Policy: ${exchangeProperty[operationalPolicy].getName()}" />
552                                                 <to uri="direct:delete-operational-policy" />
553                                                 <log
554                                                         loggingLevel="INFO"
555                                                         message="Processing all GUARD policies defined in loop ${exchangeProperty[loopObject].getName()}" />
556                                                 <split>
557                                                         <simple>${exchangeProperty[operationalPolicy].createGuardPolicyPayloads().entrySet()}
558                                                         </simple>
559                                                         <setProperty propertyName="guardPolicy">
560                                                                 <simple>${body}</simple>
561                                                         </setProperty>
562                                                         <log
563                                                                 loggingLevel="INFO"
564                                                                 message="Processing Guard Policy: ${exchangeProperty[guardPolicy].getKey()}" />
565                                                         <to uri="direct:delete-guard-policy" />
566                                                 </split>
567                                         </split>
568                                         <to
569                                                 uri="bean:org.onap.clamp.loop.log.LoopService?method=deleteLoop(${header.loopName})" />
570                                         <log
571                                                 loggingLevel="INFO"
572                                                 message="DELETE request successfully executed for loop: ${header.loopName}" />
573                                         <to
574                                                 uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('DELETE request successfully executed','INFO',${exchangeProperty[loopObject]})" />
575                                         <to
576                                                 uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=endLog()" />
577                                         <doCatch>
578                                                 <exception>java.lang.Exception</exception>
579                                                 <handled>
580                                                         <constant>false</constant>
581                                                 </handled>
582                                                 <to
583                                                         uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=errorLog()" />
584                                                 <log
585                                                         loggingLevel="ERROR"
586                                                         message="DELETE request failed for loop: ${header.loopName}" />
587                                                 <to
588                                                         uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('DELETE request failed, Error reported: ${exception}','ERROR',${exchangeProperty[loopObject]})" />
589                                         </doCatch>
590                                 </doTry>
591                         </route>
592                 </put>
593                 <get
594                         uri="/v2/loop/getstatus/{loopName}"
595                         outType="org.onap.clamp.loop.Loop"
596                         produces="application/json">
597                         <route>
598                                 <removeHeaders
599                                         pattern="*"
600                                         excludePattern="loopName" />
601                                 <doTry>
602                                         <log
603                                                 loggingLevel="INFO"
604                                                 message="GET STATUS request for loop: ${header.loopName}" />
605                                         <to
606                                                 uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=startLog(*, 'GET STATUS request')" />
607                                         <to
608                                                 uri="bean:org.onap.clamp.authorization.AuthorizationController?method=authorize(*,'cl','','read')" />
609                                         <to uri="direct:load-loop" />
610                                         <to
611                                                 uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('GET STATUS request','INFO',${exchangeProperty[loopObject]})" />
612                                         <setProperty propertyName="raiseHttpExceptionFlag">
613                                                 <simple resultType="java.lang.Boolean">false</simple>
614                                         </setProperty>
615                                         <to uri="direct:get-status-from-policy" />
616                                         <to uri="direct:get-status-from-dcae" />
617                                         <to
618                                                 uri="bean:org.onap.clamp.loop.LoopOperation?method=updateLoopStatus(${exchangeProperty[loopObject]},${exchangeProperty[policyStatus]}, ${exchangeProperty[dcaeStatus]})" />
619                                         <log
620                                                 loggingLevel="INFO"
621                                                 message="Get Status request successfully executed. The new state is: ${body}" />
622                                         <to
623                                                 uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('Get Status request successfully executed','INFO',${exchangeProperty[loopObject]})" />
624                                         <to
625                                                 uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=endLog()" />
626                                         <doCatch>
627                                                 <exception>java.lang.Exception</exception>
628                                                 <handled>
629                                                         <constant>false</constant>
630                                                 </handled>
631                                                 <to
632                                                         uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=errorLog()" />
633                                                 <log
634                                                         loggingLevel="ERROR"
635                                                         message="Get Status request failed for loop: ${header.loopName}" />
636                                                 <to
637                                                         uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('Get Status request failed, Error reported: ${exception}','ERROR',${exchangeProperty[loopObject]})" />
638                                         </doCatch>
639                                         <doFinally>
640                                                 <to
641                                                         uri="bean:org.onap.clamp.loop.LoopController?method=getLoop(${header.loopName})" />
642                                         </doFinally>
643                                 </doTry>
644                         </route>
645                 </get>
646         </rest>
647 </rests>