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