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