Merge "Improve the loop logs view"
[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="Loop is in state ${exchangeProperty[policyStatus]}, it can only be deployed when in state SUBMIT" />
231                                                         <to
232                                                                 uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('Loop is in state ${exchangeProperty[policyStatus]}, it can only be deployed when in state SUBMIT','ERROR',${exchangeProperty[loopObject]})" />
233                                                 </otherwise>
234                                         </choice>
235                                         <log
236                                                 loggingLevel="INFO"
237                                                 message="DEPLOY request successfully executed for loop: ${header.loopName}" />
238                                         <to
239                                                 uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('DEPLOY request successfully executed','INFO',${exchangeProperty[loopObject]})" />
240                                         <to
241                                                 uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=endLog()" />
242                                         <doCatch>
243                                                 <exception>java.lang.Exception</exception>
244                                                 <handled>
245                                                         <constant>false</constant>
246                                                 </handled>
247                                                 <to
248                                                         uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=errorLog()" />
249                                                 <log
250                                                         loggingLevel="ERROR"
251                                                         message="DEPLOY request failed for loop: ${header.loopName}" />
252                                                 <to
253                                                         uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('DEPLOY request failed, Error reported: ${exception}','ERROR',${exchangeProperty[loopObject]})" />
254                                         </doCatch>
255                                 </doTry>
256                         </route>
257                 </put>
258                 <put
259                         uri="/v2/loop/undeployLoop/{loopName}"
260                         outType="org.onap.clamp.loop.Loop"
261                         produces="application/json">
262                         <route>
263                                 <removeHeaders
264                                         pattern="*"
265                                         excludePattern="loopName" />
266                                 <doTry>
267                                         <log
268                                                 loggingLevel="INFO"
269                                                 message="DCAE UNDEPLOY request for loop: ${header.loopName}" />
270                                         <to
271                                                 uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=startLog(*, 'DCAE UNDEPLOY request')" />
272                                         <to
273                                                 uri="bean:org.onap.clamp.authorization.AuthorizationController?method=authorize(*,'cl','','update')" />
274                                         <to uri="direct:load-loop" />
275                                         <to
276                                                 uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('DCAE UNDEPLOY request','INFO',${exchangeProperty[loopObject]})" />
277                                         <to uri="direct:get-status-from-dcae" />
278                                         <choice>
279                                                 <when>
280                                                         <simple> ${exchangeProperty[dcaeStatus]} == 'DEPLOYED' or ${exchangeProperty[dcaeStatus]} == 'IN_ERROR' or ${exchangeProperty[dcaeStatus]} == 'PROCESSING'
281                                                         </simple>
282                                                         <to uri="direct:undeploy-loop" />
283                                                 </when>
284                                                 <otherwise>
285                                                         <log
286                                                                 loggingLevel="INFO"
287                                                                 message="Loop is in state ${exchangeProperty[dcaeStatus]}, it can only be undeployed when in state DEPLOYED/IN_ERROR/PROCESSING" />
288                                                         <to
289                                                                 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]})" />
290                                                 </otherwise>
291                                         </choice>
292                                         <log
293                                                 loggingLevel="INFO"
294                                                 message="UNDEPLOY request successfully executed for loop: ${header.loopName}" />
295                                         <to
296                                                 uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('UNDEPLOY request successfully executed','INFO',${exchangeProperty[loopObject]})" />
297                                         <to
298                                                 uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=endLog()" />
299                                         <doCatch>
300                                                 <exception>java.lang.Exception</exception>
301                                                 <handled>
302                                                         <constant>false</constant>
303                                                 </handled>
304                                                 <to
305                                                         uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=errorLog()" />
306                                                 <log
307                                                         loggingLevel="ERROR"
308                                                         message="UNDEPLOY request failed for loop: ${header.loopName}" />
309                                                 <to
310                                                         uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('UNDEPLOY request failed, Error reported: ${exception}','ERROR',${exchangeProperty[loopObject]})" />
311                                         </doCatch>
312                                 </doTry>
313                         </route>
314                 </put>
315                 <put
316                         uri="/v2/loop/stop/{loopName}"
317                         outType="org.onap.clamp.loop.Loop"
318                         produces="application/json">
319                         <route>
320                                 <removeHeaders
321                                         pattern="*"
322                                         excludePattern="loopName" />
323                                 <doTry>
324                                         <log
325                                                 loggingLevel="INFO"
326                                                 message="STOP request for loop: ${header.loopName}" />
327                                         <to
328                                                 uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=startLog(*,'STOP request')" />
329                                         <to
330                                                 uri="bean:org.onap.clamp.authorization.AuthorizationController?method=authorize(*,'cl','','update')" />
331                                         <to uri="direct:load-loop" />
332                                         <to
333                                                 uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('STOP request','INFO',${exchangeProperty[loopObject]})" />
334                                         
335                                         <to uri="direct:remove-all-policy-from-active-pdp-group" />
336                                         <log
337                                                 loggingLevel="INFO"
338                                                 message="STOP request successfully executed for loop: ${header.loopName}" />
339                                         <to
340                                                 uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('STOP request successfully executed','INFO',${exchangeProperty[loopObject]})" />
341                                         <to
342                                                 uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=endLog()" />
343                                         <doCatch>
344                                                 <exception>java.lang.Exception</exception>
345                                                 <handled>
346                                                         <constant>false</constant>
347                                                 </handled>
348                                                 <to
349                                                         uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=errorLog()" />
350                                                 <log
351                                                         loggingLevel="ERROR"
352                                                         message="STOP request failed for loop: $${header.loopName}" />
353                                                 <to
354                                                         uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('STOP request failed, Error reported: ${exception}','ERROR',${exchangeProperty[loopObject]})" />
355                                         </doCatch>
356                                 </doTry>
357                         </route>
358                 </put>
359                 <put
360                         uri="/v2/loop/restart/{loopName}"
361                         outType="org.onap.clamp.loop.Loop"
362                         produces="application/json">
363                         <route>
364                                 <removeHeaders
365                                         pattern="*"
366                                         excludePattern="loopName" />
367                                 <doTry>
368                                         <log
369                                                 loggingLevel="INFO"
370                                                 message="RESTART request for loop: ${header.loopName}" />
371                                         <to
372                                                 uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=startLog(*,'RESTART request')" />
373                                         <to
374                                                 uri="bean:org.onap.clamp.authorization.AuthorizationController?method=authorize(*,'cl','','update')" />
375                                         <to uri="direct:load-loop" />
376
377                                         <to
378                                                 uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('RESTART request','INFO',${exchangeProperty[loopObject]})" />
379
380                                         <to uri="direct:add-all-to-active-pdp-group" />
381                                         <log
382                                                 loggingLevel="INFO"
383                                                 message="RESTART request successfully executed for loop: ${header.loopName}" />
384                                         <to
385                                                 uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('RESTART request successfully executed','INFO',${exchangeProperty[loopObject]})" />
386                                         <to
387                                                 uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=endLog()" />
388                                         <doCatch>
389                                                 <exception>java.lang.Exception</exception>
390                                                 <handled>
391                                                         <constant>false</constant>
392                                                 </handled>
393                                                 <to
394                                                         uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=errorLog()" />
395                                                 <log
396                                                         loggingLevel="ERROR"
397                                                         message="RESTART request failed for loop: ${header.loopName}" />
398                                                 <to
399                                                         uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('RESTART request failed, Error reported: ${exception}','INFO',${exchangeProperty[loopObject]})" />
400                                         </doCatch>
401                                 </doTry>
402                         </route>
403                 </put>
404                 <put
405                         uri="/v2/loop/submit/{loopName}"
406                         outType="org.onap.clamp.loop.Loop"
407                         produces="application/json">
408                         <route>
409                                 <removeHeaders
410                                         pattern="*"
411                                         excludePattern="loopName" />
412                                 <doTry>
413                                         <log
414                                                 loggingLevel="INFO"
415                                                 message="POLICY SUBMIT request for loop: ${header.loopName}" />
416                                         <to
417                                                 uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=startLog(*, 'POLICY SUBMIT request')" />
418                                         <to
419                                                 uri="bean:org.onap.clamp.authorization.AuthorizationController?method=authorize(*,'cl','','update')" />
420                                         <to uri="direct:load-loop" />
421                                         <to
422                                                 uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('POLICY SUBMIT request','INFO',${exchangeProperty[loopObject]})" />
423                                         <setProperty propertyName="raiseHttpExceptionFlag">
424                                                 <simple resultType="java.lang.Boolean">false</simple>
425                                         </setProperty>
426                                         <to uri="direct:remove-all-policy-from-active-pdp-group" />
427                                         <log
428                                                 loggingLevel="INFO"
429                                                 message="Processing all MICRO-SERVICES policies defined in loop ${exchangeProperty[loopObject].getName()}" />
430                                         <split>
431                                                 <simple>${exchangeProperty[loopObject].getMicroServicePolicies()}
432                                                 </simple>
433                                                 <setProperty propertyName="microServicePolicy">
434                                                         <simple>${body}</simple>
435                                                 </setProperty>
436                                                 <log
437                                                         loggingLevel="INFO"
438                                                         message="Processing Micro Service Policy: ${exchangeProperty[microServicePolicy].getName()}" />
439                                                 <setProperty propertyName="raiseHttpExceptionFlag">
440                                                         <simple resultType="java.lang.Boolean">false</simple>
441                                                 </setProperty>
442                                                 <to uri="direct:delete-micro-service-policy" />
443                                                 <to uri="direct:create-micro-service-policy" />
444                                         </split>
445                                         <log
446                                                 loggingLevel="INFO"
447                                                 message="Processing all OPERATIONAL policies defined in loop ${exchangeProperty[loopObject].getName()}" />
448                                         <split>
449                                                 <simple>${exchangeProperty[loopObject].getOperationalPolicies()}
450                                                 </simple>
451                                                 <setProperty propertyName="operationalPolicy">
452                                                         <simple>${body}</simple>
453                                                 </setProperty>
454                                                 <log
455                                                         loggingLevel="INFO"
456                                                         message="Processing Operational Policy: ${exchangeProperty[operationalPolicy].getName()}" />
457                                                 <setProperty propertyName="raiseHttpExceptionFlag">
458                                                         <simple resultType="java.lang.Boolean">false</simple>
459                                                 </setProperty>
460
461                                                 <to uri="direct:delete-operational-policy" />
462                                                 <to uri="direct:create-operational-policy" />
463
464                                                 <log
465                                                         loggingLevel="INFO"
466                                                         message="Processing all GUARD policies defined in loop ${exchangeProperty[loopObject].getName()}" />
467                                                 <split>
468                                                         <simple>${exchangeProperty[operationalPolicy].createGuardPolicyPayloads().entrySet()}
469                                                         </simple>
470                                                         <setProperty propertyName="guardPolicy">
471                                                                 <simple>${body}</simple>
472                                                         </setProperty>
473                                                         <log
474                                                                 loggingLevel="INFO"
475                                                                 message="Processing Guard Policy: ${exchangeProperty[guardPolicy].getKey()}" />
476
477                                                         <setProperty propertyName="raiseHttpExceptionFlag">
478                                                                 <simple resultType="java.lang.Boolean">false</simple>
479                                                         </setProperty>
480                                                         <to uri="direct:delete-guard-policy" />
481                                                         <to uri="direct:create-guard-policy" />
482                                                 </split>
483                                         </split>
484
485                                         <to uri="direct:add-all-to-active-pdp-group" />
486
487                                         <log
488                                                 loggingLevel="INFO"
489                                                 message="SUBMIT request successfully executed for loop: ${header.loopName}" />
490                                         <to
491                                                 uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('SUBMIT request successfully executed','INFO',${exchangeProperty[loopObject]})" />
492                                         <to
493                                                 uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=endLog()" />
494                                         <doCatch>
495                                                 <exception>java.lang.Exception</exception>
496                                                 <handled>
497                                                         <constant>false</constant>
498                                                 </handled>
499                                                 <to
500                                                         uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=errorLog()" />
501                                                 <log
502                                                         loggingLevel="ERROR"
503                                                         message="SUBMIT request failed for loop: ${header.loopName}" />
504                                                 <to
505                                                         uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('SUBMIT request failed, Error reported: ${exception}','ERROR',${exchangeProperty[loopObject]})" />
506                                         </doCatch>
507                                 </doTry>
508                         </route>
509                 </put>
510                 <put uri="/v2/loop/delete/{loopName}">
511                         <route>
512                                 <removeHeaders
513                                         pattern="*"
514                                         excludePattern="loopName" />
515                                 <doTry>
516                                         <log
517                                                 loggingLevel="INFO"
518                                                 message="DELETE request for loop: ${header.loopName}" />
519                                         <to
520                                                 uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=startLog(*,'DELETE request')" />
521                                         <to
522                                                 uri="bean:org.onap.clamp.authorization.AuthorizationController?method=authorize(*,'cl','','update')" />
523                                         <to uri="direct:load-loop" />
524                                         <to
525                                                 uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('DELETE request','INFO',${exchangeProperty[loopObject]})" />
526                                         <to uri="direct:remove-all-policy-from-active-pdp-group" />
527                                         <split>
528                                                 <simple>${exchangeProperty[loopObject].getMicroServicePolicies()}
529                                                 </simple>
530                                                 <setProperty propertyName="microServicePolicy">
531                                                         <simple>${body}</simple>
532                                                 </setProperty>
533                                                 <log
534                                                         loggingLevel="INFO"
535                                                         message="Processing Micro Service Policy: ${exchangeProperty[microServicePolicy].getName()}" />
536                                                 <to uri="direct:delete-micro-service-policy" />
537                                         </split>
538
539                                         <log
540                                                 loggingLevel="INFO"
541                                                 message="Processing all OPERATIONAL policies defined in loop ${exchangeProperty[loopObject].getName()}" />
542                                         <split>
543                                                 <simple>${exchangeProperty[loopObject].getOperationalPolicies()}
544                                                 </simple>
545                                                 <setProperty propertyName="operationalPolicy">
546                                                         <simple>${body}</simple>
547                                                 </setProperty>
548                                                 <log
549                                                         loggingLevel="INFO"
550                                                         message="Processing Operational Policy: ${exchangeProperty[operationalPolicy].getName()}" />
551                                                 <to uri="direct:delete-operational-policy" />
552                                                 <log
553                                                         loggingLevel="INFO"
554                                                         message="Processing all GUARD policies defined in loop ${exchangeProperty[loopObject].getName()}" />
555                                                 <split>
556                                                         <simple>${exchangeProperty[operationalPolicy].createGuardPolicyPayloads().entrySet()}
557                                                         </simple>
558                                                         <setProperty propertyName="guardPolicy">
559                                                                 <simple>${body}</simple>
560                                                         </setProperty>
561                                                         <log
562                                                                 loggingLevel="INFO"
563                                                                 message="Processing Guard Policy: ${exchangeProperty[guardPolicy].getKey()}" />
564                                                         <to uri="direct:delete-guard-policy" />
565                                                 </split>
566                                         </split>
567                                         <to
568                                                 uri="bean:org.onap.clamp.loop.log.LoopService?method=deleteLoop(${header.loopName})" />
569                                         <log
570                                                 loggingLevel="INFO"
571                                                 message="DELETE request successfully executed for loop: ${header.loopName}" />
572                                         <to
573                                                 uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('DELETE request successfully executed','INFO',${exchangeProperty[loopObject]})" />
574                                         <to
575                                                 uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=endLog()" />
576                                         <doCatch>
577                                                 <exception>java.lang.Exception</exception>
578                                                 <handled>
579                                                         <constant>false</constant>
580                                                 </handled>
581                                                 <to
582                                                         uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=errorLog()" />
583                                                 <log
584                                                         loggingLevel="ERROR"
585                                                         message="DELETE request failed for loop: ${header.loopName}" />
586                                                 <to
587                                                         uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('DELETE request failed, Error reported: ${exception}','ERROR',${exchangeProperty[loopObject]})" />
588                                         </doCatch>
589                                 </doTry>
590                         </route>
591                 </put>
592                 <get
593                         uri="/v2/loop/getstatus/{loopName}"
594                         outType="org.onap.clamp.loop.Loop"
595                         produces="application/json">
596                         <route>
597                                 <removeHeaders
598                                         pattern="*"
599                                         excludePattern="loopName" />
600                                 <doTry>
601                                         <log
602                                                 loggingLevel="INFO"
603                                                 message="GET STATUS request for loop: ${header.loopName}" />
604                                         <to
605                                                 uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=startLog(*, 'GET STATUS request')" />
606                                         <to
607                                                 uri="bean:org.onap.clamp.authorization.AuthorizationController?method=authorize(*,'cl','','read')" />
608                                         <to uri="direct:load-loop" />
609                                         <to
610                                                 uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('GET STATUS request','INFO',${exchangeProperty[loopObject]})" />
611                                         <setProperty propertyName="raiseHttpExceptionFlag">
612                                                 <simple resultType="java.lang.Boolean">false</simple>
613                                         </setProperty>
614                                         <to uri="direct:get-status-from-policy" />
615                                         <to uri="direct:get-status-from-dcae" />
616                                         <to
617                                                 uri="bean:org.onap.clamp.loop.LoopOperation?method=updateLoopStatus(${exchangeProperty[loopObject]},${exchangeProperty[policyStatus]}, ${exchangeProperty[dcaeStatus]})" />
618                                         <log
619                                                 loggingLevel="INFO"
620                                                 message="Get Status request successfully executed. The new state is: ${body}" />
621                                         <to
622                                                 uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('Get Status request successfully executed','INFO',${exchangeProperty[loopObject]})" />
623                                         <to
624                                                 uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=endLog()" />
625                                         <doCatch>
626                                                 <exception>java.lang.Exception</exception>
627                                                 <handled>
628                                                         <constant>false</constant>
629                                                 </handled>
630                                                 <to
631                                                         uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=errorLog()" />
632                                                 <log
633                                                         loggingLevel="ERROR"
634                                                         message="Get Status request failed for loop: ${header.loopName}" />
635                                                 <to
636                                                         uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('Get Status request failed, Error reported: ${exception}','ERROR',${exchangeProperty[loopObject]})" />
637                                         </doCatch>
638                                         <doFinally>
639                                                 <to
640                                                         uri="bean:org.onap.clamp.loop.LoopController?method=getLoop(${header.loopName})" />
641                                         </doFinally>
642                                 </doTry>
643                         </route>
644                 </get>
645         </rest>
646 </rests>