Change json representation in op policy
[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 uri="/v2/loop/getAllNames" outType="java.lang.String[]"
4                         produces="application/json">
5                         <route>
6                                 <removeHeaders pattern="*" />
7                                 <doTry>
8                                         <to
9                                                 uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=startLog(*, 'GET ALL Loop')" />
10                                         <to
11                                                 uri="bean:org.onap.clamp.authorization.AuthorizationController?method=authorize(*,'cl','','read')" />
12                                         <to
13                                                 uri="bean:org.onap.clamp.loop.LoopController?method=getLoopNames()" />
14                                         <to
15                                                 uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=endLog()" />
16                                         <doCatch>
17                                                 <exception>java.lang.Exception</exception>
18                                                 <handled>
19                                                         <constant>false</constant>
20                                                 </handled>
21                                                 <to
22                                                         uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=errorLog()" />
23                                         </doCatch>
24                                 </doTry>
25                         </route>
26                 </get>
27                 <get uri="/v2/loop/{loopName}" outType="org.onap.clamp.loop.Loop"
28                         produces="application/json">
29                         <route>
30                                 <removeHeaders pattern="*" excludePattern="loopName" />
31                                 <doTry>
32                                         <to
33                                                 uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=startLog(*, 'GET Loop')" />
34                                         <to
35                                                 uri="bean:org.onap.clamp.authorization.AuthorizationController?method=authorize(*,'cl','','read')" />
36                                         <to
37                                                 uri="bean:org.onap.clamp.loop.LoopController?method=getLoop(${header.loopName})" />
38                                         <to
39                                                 uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=endLog()" />
40                                         <doCatch>
41                                                 <exception>java.lang.Exception</exception>
42                                                 <handled>
43                                                         <constant>false</constant>
44                                                 </handled>
45                                                 <to
46                                                         uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=errorLog()" />
47                                         </doCatch>
48                                 </doTry>
49                         </route>
50                 </get>
51                 <get uri="/v2/loop/svgRepresentation/{loopName}"
52                         outType="java.lang.String" produces="application/xml">
53                         <route>
54                                 <removeHeaders pattern="*" excludePattern="loopName" />
55                                 <doTry>
56                                         <to
57                                                 uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=startLog(*, 'Get SVG Representation')" />
58                                         <to
59                                                 uri="bean:org.onap.clamp.authorization.AuthorizationController?method=authorize(*,'cl','','read')" />
60                                         <to
61                                                 uri="bean:org.onap.clamp.loop.LoopController?method=getSvgRepresentation(${header.loopName})" />
62                                         <to
63                                                 uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=endLog()" />
64                                         <doCatch>
65                                                 <exception>java.lang.Exception</exception>
66                                                 <handled>
67                                                         <constant>false</constant>
68                                                 </handled>
69                                                 <to
70                                                         uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=errorLog()" />
71                                         </doCatch>
72                                 </doTry>
73                         </route>
74                 </get>
75
76                 <post uri="/v2/loop/updateGlobalProperties/{loopName}"
77                         type="com.google.gson.JsonObject" consumes="application/json"
78                         outType="org.onap.clamp.loop.Loop" produces="application/json">
79                         <route>
80                                 <removeHeaders pattern="*" excludePattern="loopName" />
81                                 <doTry>
82                                         <to
83                                                 uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=startLog(*, 'Update the global properties')" />
84                                         <to
85                                                 uri="bean:org.onap.clamp.authorization.AuthorizationController?method=authorize(*,'cl','','update')" />
86                                         <setHeader headerName="GlobalPropertiesJson">
87                                                 <simple>${body}</simple>
88                                         </setHeader>
89                                         <to uri="direct:load-loop" />
90                                         <to
91                                                 uri="bean:org.onap.clamp.loop.LoopController?method=updateGlobalPropertiesJson(${header.loopName},${header.GlobalPropertiesJson})" />
92                                         <to
93                                                 uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('Global Properties UPDATED','INFO',${exchangeProperty[loopObject]})" />
94                                         <to
95                                                 uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=endLog()" />
96                                         <doCatch>
97                                                 <exception>java.lang.Exception</exception>
98                                                 <handled>
99                                                         <constant>false</constant>
100                                                 </handled>
101                                                 <to
102                                                         uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=errorLog()" />
103                                         </doCatch>
104                                 </doTry>
105                         </route>
106                 </post>
107                 <post uri="/v2/loop/updateOperationalPolicies/{loopName}"
108                         type="com.google.gson.JsonArray" consumes="application/json"
109                         outType="org.onap.clamp.loop.Loop" produces="application/json">
110                         <route>
111                                 <removeHeaders pattern="*" excludePattern="loopName" />
112                                 <doTry>
113                                         <to
114                                                 uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=startLog(*, 'Update operational policies')" />
115                                         <to
116                                                 uri="bean:org.onap.clamp.authorization.AuthorizationController?method=authorize(*,'cl','','update')" />
117                                         <setHeader headerName="OperationalPoliciesArray">
118                                                 <simple>${body}</simple>
119                                         </setHeader>
120                                         <to uri="direct:load-loop" />
121                                         <to
122                                                 uri="bean:org.onap.clamp.loop.LoopController?method=updateOperationalPolicies(${header.loopName},${header.OperationalPoliciesArray})" />
123                                         <to
124                                                 uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('Operational and Guard policies UPDATED','INFO',${exchangeProperty[loopObject]})" />
125                                         <to
126                                                 uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=endLog()" />
127                                         <doCatch>
128                                                 <exception>java.lang.Exception</exception>
129                                                 <handled>
130                                                         <constant>false</constant>
131                                                 </handled>
132                                                 <to
133                                                         uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=errorLog()" />
134                                         </doCatch>
135                                 </doTry>
136                         </route>
137                 </post>
138                 <post uri="/v2/loop/updateMicroservicePolicy/{loopName}"
139                         type="org.onap.clamp.policy.microservice.MicroServicePolicy"
140                         consumes="application/json"
141                         outType="org.onap.clamp.policy.microservice.MicroServicePolicy"
142                         produces="application/json">
143                         <route>
144                                 <removeHeaders pattern="*" excludePattern="loopName" />
145                                 <doTry>
146                                         <to
147                                                 uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=startLog(*, 'Update Microservice policies')" />
148                                         <to
149                                                 uri="bean:org.onap.clamp.authorization.AuthorizationController?method=authorize(*,'cl','','update')" />
150                                         <setProperty propertyName="MicroServicePolicyObject">
151                                                 <simple>${body}</simple>
152                                         </setProperty>
153
154                                         <to uri="direct:load-loop" />
155                                         <to
156                                                 uri="bean:org.onap.clamp.loop.LoopController?method=updateMicroservicePolicy(${header.loopName},${exchangeProperty[MicroServicePolicyObject]})" />
157                                         <to
158                                                 uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('Micro Service policies UPDATED','INFO',${exchangeProperty[loopObject]})" />
159                                         <to
160                                                 uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=endLog()" />
161                                         <doCatch>
162                                                 <exception>java.lang.Exception</exception>
163                                                 <handled>
164                                                         <constant>false</constant>
165                                                 </handled>
166                                                 <to
167                                                         uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=errorLog()" />
168                                         </doCatch>
169                                 </doTry>
170                         </route>
171                 </post>
172                 <put uri="/v2/loop/deploy/{loopName}"
173                         outType="org.onap.clamp.loop.Loop" produces="application/json">
174                         <route>
175                                 <removeHeaders pattern="*" excludePattern="loopName" />
176                                 <doTry>
177                                         <log loggingLevel="INFO"
178                                                 message="DCAE DEPLOY request for loop: ${header.loopName}" />
179                                         <to
180                                                 uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=startLog(*, 'DCAE DEPLOY request')" />
181                                         <to
182                                                 uri="bean:org.onap.clamp.authorization.AuthorizationController?method=authorize(*,'cl','','update')" />
183                                         <to uri="direct:load-loop" />
184                                         <to
185                                                 uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('DCAE DEPLOY request','INFO',${exchangeProperty[loopObject]})" />
186
187                                         <to uri="direct:deploy-loop" />
188
189                                         <log loggingLevel="INFO"
190                                                 message="DEPLOY request successfully executed for loop: ${header.loopName}" />
191                                         <to
192                                                 uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('DEPLOY request successfully executed','INFO',${exchangeProperty[loopObject]})" />
193                                         <to
194                                                 uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=endLog()" />
195                                         <doCatch>
196                                                 <exception>java.lang.Exception</exception>
197                                                 <handled>
198                                                         <constant>false</constant>
199                                                 </handled>
200                                                 <to
201                                                         uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=errorLog()" />
202                                                 <log loggingLevel="ERROR"
203                                                         message="DEPLOY request failed for loop: ${header.loopName}" />
204                                                 <to
205                                                         uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('DEPLOY request failed, Error reported: ${exception} - Body: ${exception.responseBody}','ERROR',${exchangeProperty[loopObject]})" />
206                                         </doCatch>
207                                 </doTry>
208                         </route>
209                 </put>
210                 <put uri="/v2/loop/refreshOpPolicyJsonSchema/{loopName}"
211                         outType="org.onap.clamp.loop.Loop" produces="application/json">
212                         <route>
213                                 <removeHeaders pattern="*" excludePattern="loopName" />
214                                 <doTry>
215                                         <log loggingLevel="INFO"
216                                                 message="Refresh Operational Policy UI for loop: ${header.loopName}" />
217                                         <to
218                                                 uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=startLog(*, 'REFRESH OP Policy UI request')" />
219                                         <to
220                                                 uri="bean:org.onap.clamp.authorization.AuthorizationController?method=authorize(*,'cl','','update')" />
221                                         <to uri="direct:load-loop" />
222                                         <to
223                                                 uri="bean:org.onap.clamp.loop.LoopController?method=refreshOpPolicyJsonRepresentation(${header.loopName})" />
224                                         <log loggingLevel="INFO"
225                                                 message="REFRESH request successfully executed for loop: ${header.loopName}" />
226                                         <to
227                                                 uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('REFRESH request successfully executed','INFO',${exchangeProperty[loopObject]})" />
228                                         <to
229                                                 uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=endLog()" />
230                                         <doCatch>
231                                                 <exception>java.lang.Exception</exception>
232                                                 <handled>
233                                                         <constant>false</constant>
234                                                 </handled>
235                                                 <to
236                                                         uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=errorLog()" />
237                                                 <log loggingLevel="ERROR"
238                                                         message="REFRESH request failed for loop: ${header.loopName}" />
239                                                 <to
240                                                         uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('REFRESH request failed, Error reported: ${exception} - Body: ${exception.responseBody}','ERROR',${exchangeProperty[loopObject]})" />
241                                         </doCatch>
242                                 </doTry>
243                         </route>
244                 </put>
245                 <put uri="/v2/loop/undeploy/{loopName}"
246                         outType="org.onap.clamp.loop.Loop" produces="application/json">
247                         <route>
248                                 <removeHeaders pattern="*" excludePattern="loopName" />
249                                 <doTry>
250                                         <log loggingLevel="INFO"
251                                                 message="DCAE UNDEPLOY request for loop: ${header.loopName}" />
252                                         <to
253                                                 uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=startLog(*, 'DCAE UNDEPLOY 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.log.LoopLogService?method=addLog('DCAE UNDEPLOY request','INFO',${exchangeProperty[loopObject]})" />
259                                         <to uri="direct:undeploy-loop" />
260
261                                         <log loggingLevel="INFO"
262                                                 message="UNDEPLOY request successfully executed for loop: ${header.loopName}" />
263                                         <to
264                                                 uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('UNDEPLOY request successfully executed','INFO',${exchangeProperty[loopObject]})" />
265                                         <to
266                                                 uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=endLog()" />
267                                         <doCatch>
268                                                 <exception>java.lang.Exception</exception>
269                                                 <handled>
270                                                         <constant>false</constant>
271                                                 </handled>
272                                                 <to
273                                                         uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=errorLog()" />
274                                                 <log loggingLevel="ERROR"
275                                                         message="UNDEPLOY request failed for loop: ${header.loopName}" />
276                                                 <to
277                                                         uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('UNDEPLOY request failed, Error reported: ${exception} - Body: ${exception.responseBody}','ERROR',${exchangeProperty[loopObject]})" />
278                                         </doCatch>
279                                 </doTry>
280                         </route>
281                 </put>
282                 <put uri="/v2/loop/stop/{loopName}"
283                         outType="org.onap.clamp.loop.Loop" produces="application/json">
284                         <route>
285                                 <removeHeaders pattern="*" excludePattern="loopName" />
286                                 <doTry>
287                                         <log loggingLevel="INFO"
288                                                 message="STOP request for loop: ${header.loopName}" />
289                                         <to
290                                                 uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=startLog(*,'STOP request')" />
291                                         <to
292                                                 uri="bean:org.onap.clamp.authorization.AuthorizationController?method=authorize(*,'cl','','update')" />
293                                         <to uri="direct:load-loop" />
294                                         <to
295                                                 uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('STOP request','INFO',${exchangeProperty[loopObject]})" />
296
297                                         <to uri="direct:remove-all-policy-from-active-pdp-group" />
298                                         <log loggingLevel="INFO"
299                                                 message="STOP request successfully executed for loop: ${header.loopName}" />
300                                         <to
301                                                 uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('STOP request successfully executed','INFO',${exchangeProperty[loopObject]})" />
302                                         <to
303                                                 uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=endLog()" />
304                                         <doCatch>
305                                                 <exception>java.lang.Exception</exception>
306                                                 <handled>
307                                                         <constant>false</constant>
308                                                 </handled>
309                                                 <to
310                                                         uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=errorLog()" />
311                                                 <log loggingLevel="ERROR"
312                                                         message="STOP request failed for loop: $${header.loopName}" />
313                                                 <to
314                                                         uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('STOP request failed, Error reported: ${exception} - Body: ${exception.responseBody}','ERROR',${exchangeProperty[loopObject]})" />
315                                         </doCatch>
316                                 </doTry>
317                         </route>
318                 </put>
319                 <put uri="/v2/loop/restart/{loopName}"
320                         outType="org.onap.clamp.loop.Loop" produces="application/json">
321                         <route>
322                                 <removeHeaders pattern="*" excludePattern="loopName" />
323                                 <doTry>
324                                         <log loggingLevel="INFO"
325                                                 message="RESTART request for loop: ${header.loopName}" />
326                                         <to
327                                                 uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=startLog(*,'RESTART request')" />
328                                         <to
329                                                 uri="bean:org.onap.clamp.authorization.AuthorizationController?method=authorize(*,'cl','','update')" />
330                                         <to uri="direct:load-loop" />
331
332                                         <to
333                                                 uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('RESTART request','INFO',${exchangeProperty[loopObject]})" />
334
335                                         <to uri="direct:add-all-to-active-pdp-group" />
336                                         <log loggingLevel="INFO"
337                                                 message="RESTART request successfully executed for loop: ${header.loopName}" />
338                                         <to
339                                                 uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('RESTART request successfully executed','INFO',${exchangeProperty[loopObject]})" />
340                                         <to
341                                                 uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=endLog()" />
342                                         <doCatch>
343                                                 <exception>java.lang.Exception</exception>
344                                                 <handled>
345                                                         <constant>false</constant>
346                                                 </handled>
347                                                 <to
348                                                         uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=errorLog()" />
349                                                 <log loggingLevel="ERROR"
350                                                         message="RESTART request failed for loop: ${header.loopName}" />
351                                                 <to
352                                                         uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('RESTART request failed, Error reported: ${exception} - Body: ${exception.responseBody}','INFO',${exchangeProperty[loopObject]})" />
353                                         </doCatch>
354                                 </doTry>
355                         </route>
356                 </put>
357                 <put uri="/v2/loop/submit/{loopName}"
358                         outType="org.onap.clamp.loop.Loop" produces="application/json">
359                         <route>
360                                 <removeHeaders pattern="*" excludePattern="loopName" />
361                                 <doTry>
362                                         <log loggingLevel="INFO"
363                                                 message="POLICY SUBMIT request for loop: ${header.loopName}" />
364                                         <to
365                                                 uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=startLog(*, 'POLICY SUBMIT request')" />
366                                         <to
367                                                 uri="bean:org.onap.clamp.authorization.AuthorizationController?method=authorize(*,'cl','','update')" />
368                                         <to uri="direct:load-loop" />
369                                         <to
370                                                 uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('POLICY SUBMIT request','INFO',${exchangeProperty[loopObject]})" />
371                                         <setProperty propertyName="raiseHttpExceptionFlag">
372                                                 <simple resultType="java.lang.Boolean">false</simple>
373                                         </setProperty>
374                                         <to uri="direct:remove-all-policy-from-active-pdp-group" />
375                                         <log loggingLevel="INFO"
376                                                 message="Processing all MICRO-SERVICES policies defined in loop ${exchangeProperty[loopObject].getName()}" />
377                                         <split>
378                                                 <simple>${exchangeProperty[loopObject].getMicroServicePolicies()}
379                                                 </simple>
380                                                 <setProperty propertyName="policy">
381                                                         <simple>${body}</simple>
382                                                 </setProperty>
383                                                 <log loggingLevel="INFO"
384                                                         message="Processing Micro Service Policy: ${exchangeProperty[policy].getName()}" />
385                                                 <setProperty propertyName="raiseHttpExceptionFlag">
386                                                         <simple resultType="java.lang.Boolean">false</simple>
387                                                 </setProperty>
388                                                 <to uri="direct:delete-policy" />
389                                                 <to uri="direct:create-policy" />
390                                         </split>
391                                         <log loggingLevel="INFO"
392                                                 message="Processing all OPERATIONAL policies defined in loop ${exchangeProperty[loopObject].getName()}" />
393                                         <split>
394                                                 <simple>${exchangeProperty[loopObject].getOperationalPolicies()}
395                                                 </simple>
396                                                 <setProperty propertyName="policy">
397                                                         <simple>${body}</simple>
398                                                 </setProperty>
399                                                 <log loggingLevel="INFO"
400                                                         message="Processing Operational Policy: ${exchangeProperty[policy].getName()}" />
401                                                 <setProperty propertyName="raiseHttpExceptionFlag">
402                                                         <simple resultType="java.lang.Boolean">false</simple>
403                                                 </setProperty>
404
405                                                 <to uri="direct:delete-policy" />
406                                                 <to uri="direct:create-policy" />
407                                                 <choice>
408                                                         <when>
409                                                                 <simple>${exchangeProperty['policy'].isLegacy()} == true
410                                                                 </simple>
411                                                                 <log loggingLevel="INFO"
412                                                                         message="Processing all GUARD policies (LEGACY) defined in loop ${exchangeProperty[loopObject].getName()}" />
413                                                                 <split>
414                                                                         <simple>${exchangeProperty[operationalPolicy].createGuardPolicyPayloads().entrySet()}
415                                                                         </simple>
416                                                                         <setProperty propertyName="guardPolicy">
417                                                                                 <simple>${body}</simple>
418                                                                         </setProperty>
419                                                                         <log loggingLevel="INFO"
420                                                                                 message="Processing Guard Policy: ${exchangeProperty[guardPolicy].getKey()}" />
421
422                                                                         <setProperty propertyName="raiseHttpExceptionFlag">
423                                                                                 <simple resultType="java.lang.Boolean">false</simple>
424                                                                         </setProperty>
425                                                                         <to uri="direct:delete-guard-policy" />
426                                                                         <to uri="direct:create-guard-policy" />
427                                                                 </split>
428                                                         </when>
429                                                 </choice>
430                                         </split>
431
432                                         <delay>
433                                                 <constant>3000</constant>
434                                         </delay>
435
436                                         <to uri="direct:add-all-to-active-pdp-group" />
437
438                                         <log loggingLevel="INFO"
439                                                 message="SUBMIT request successfully executed for loop: ${header.loopName}" />
440                                         <to
441                                                 uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('SUBMIT request successfully executed','INFO',${exchangeProperty[loopObject]})" />
442                                         <to
443                                                 uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=endLog()" />
444                                         <doCatch>
445                                                 <exception>java.lang.Exception</exception>
446                                                 <handled>
447                                                         <constant>false</constant>
448                                                 </handled>
449                                                 <to
450                                                         uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=errorLog()" />
451                                                 <log loggingLevel="ERROR"
452                                                         message="SUBMIT request failed for loop: ${header.loopName}" />
453                                                 <to
454                                                         uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('SUBMIT request failed, Error reported: ${exception} - Body: ${exception.responseBody}','ERROR',${exchangeProperty[loopObject]})" />
455                                         </doCatch>
456                                 </doTry>
457                         </route>
458                 </put>
459                 <put uri="/v2/loop/delete/{loopName}">
460                         <route>
461                                 <removeHeaders pattern="*" excludePattern="loopName" />
462                                 <doTry>
463                                         <log loggingLevel="INFO"
464                                                 message="DELETE request for loop: ${header.loopName}" />
465                                         <to
466                                                 uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=startLog(*,'DELETE request')" />
467                                         <to
468                                                 uri="bean:org.onap.clamp.authorization.AuthorizationController?method=authorize(*,'cl','','update')" />
469                                         <to uri="direct:load-loop" />
470                                         <to
471                                                 uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('DELETE request','INFO',${exchangeProperty[loopObject]})" />
472                                         <to uri="direct:undeploy-loop" />
473                                         <to uri="direct:remove-all-policy-from-active-pdp-group" />
474                                         <split>
475                                                 <simple>${exchangeProperty[loopObject].getMicroServicePolicies()}
476                                                 </simple>
477                                                 <setProperty propertyName="microServicePolicy">
478                                                         <simple>${body}</simple>
479                                                 </setProperty>
480                                                 <log loggingLevel="INFO"
481                                                         message="Processing Micro Service Policy: ${exchangeProperty[microServicePolicy].getName()}" />
482                                                 <to uri="direct:delete-micro-service-policy" />
483                                         </split>
484
485                                         <log loggingLevel="INFO"
486                                                 message="Processing all OPERATIONAL policies defined in loop ${exchangeProperty[loopObject].getName()}" />
487                                         <split>
488                                                 <simple>${exchangeProperty[loopObject].getOperationalPolicies()}
489                                                 </simple>
490                                                 <setProperty propertyName="operationalPolicy">
491                                                         <simple>${body}</simple>
492                                                 </setProperty>
493                                                 <log loggingLevel="INFO"
494                                                         message="Processing Operational Policy: ${exchangeProperty[operationalPolicy].getName()}" />
495                                                 <to uri="direct:delete-operational-policy" />
496                                                 <log loggingLevel="INFO"
497                                                         message="Processing all GUARD policies defined in loop ${exchangeProperty[loopObject].getName()}" />
498                                                 <split>
499                                                         <simple>${exchangeProperty[operationalPolicy].createGuardPolicyPayloads().entrySet()}
500                                                         </simple>
501                                                         <setProperty propertyName="guardPolicy">
502                                                                 <simple>${body}</simple>
503                                                         </setProperty>
504                                                         <log loggingLevel="INFO"
505                                                                 message="Processing Guard Policy: ${exchangeProperty[guardPolicy].getKey()}" />
506                                                         <to uri="direct:delete-guard-policy" />
507                                                 </split>
508                                         </split>
509                                         <to
510                                                 uri="bean:org.onap.clamp.loop.log.LoopController?method=deleteLoop(${header.loopName})" />
511                                         <log loggingLevel="INFO"
512                                                 message="DELETE request successfully executed for loop: ${header.loopName}" />
513                                         <to
514                                                 uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('DELETE request successfully executed','INFO',${exchangeProperty[loopObject]})" />
515                                         <to
516                                                 uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=endLog()" />
517                                         <doCatch>
518                                                 <exception>java.lang.Exception</exception>
519                                                 <handled>
520                                                         <constant>false</constant>
521                                                 </handled>
522                                                 <to
523                                                         uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=errorLog()" />
524                                                 <log loggingLevel="ERROR"
525                                                         message="DELETE request failed for loop: ${header.loopName}" />
526                                                 <to
527                                                         uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('DELETE request failed, Error reported: ${exception} - Body: ${exception.responseBody}','ERROR',${exchangeProperty[loopObject]})" />
528                                         </doCatch>
529                                 </doTry>
530                         </route>
531                 </put>
532                 <get uri="/v2/loop/getstatus/{loopName}"
533                         outType="org.onap.clamp.loop.Loop" produces="application/json">
534                         <route>
535                                 <removeHeaders pattern="*" excludePattern="loopName" />
536                                 <doTry>
537                                         <log loggingLevel="INFO"
538                                                 message="GET STATUS request for loop: ${header.loopName}" />
539                                         <to
540                                                 uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=startLog(*, 'GET STATUS request')" />
541                                         <to
542                                                 uri="bean:org.onap.clamp.authorization.AuthorizationController?method=authorize(*,'cl','','read')" />
543                                         <to uri="direct:load-loop" />
544                                         <to
545                                                 uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('GET STATUS request','INFO',${exchangeProperty[loopObject]})" />
546                                         <doTry>
547                                                 <to uri="direct:update-policy-status-for-loop" />
548                                                 <to uri="direct:update-dcae-status-for-loop" />
549                                                 <to uri="direct:update-loop-state" />
550
551                                                 <to
552                                                         uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('Get Status request successfully executed','INFO',${exchangeProperty[loopObject]})" />
553                                                 <to
554                                                         uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=endLog()" />
555                                         </doTry>
556                                         <doCatch>
557                                                 <exception>java.lang.Exception</exception>
558                                                 <handled>
559                                                         <constant>false</constant>
560                                                 </handled>
561                                                 <to
562                                                         uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=errorLog()" />
563                                                 <log loggingLevel="ERROR"
564                                                         message="Get Status request failed for loop: ${header.loopName}" />
565                                                 <to
566                                                         uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('Get Status request failed, Error reported: ${exception} - Body: ${exception.responseBody}','ERROR',${exchangeProperty[loopObject]})" />
567                                         </doCatch>
568                                         <doFinally>
569                                                 <setBody>
570                                                         <simple>${exchangeProperty[loopObject]}</simple>
571                                                 </setBody>
572                                         </doFinally>
573                                 </doTry>
574                         </route>
575                 </get>
576
577                 <put uri="/v2/loop/addOperationaPolicy/{loopName}/policyModel/{policyType}/{policyVersion}" outType="org.onap.clamp.loop.Loop" produces="application/json">
578                         <route>
579                                 <removeHeaders pattern="*" excludePattern="loopName|policyType|policyVersion" />
580                                 <doTry>
581                                         <to
582                                                         uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=startLog(*, 'Add operational Policy')" />
583                                         <to
584                                                         uri="bean:org.onap.clamp.authorization.AuthorizationController?method=authorize(*,'cl','','update')" />
585                                         <to uri="direct:load-loop" />
586                                         <to
587                                                         uri="bean:org.onap.clamp.loop.LoopController?method=addOperationalPolicy(${header.loopName},${header.policyType},${header.policyVersion})" />
588                                         <to
589                                                         uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('ADD OperationalPolicy 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 loggingLevel="ERROR"
600                                                          message="ADD OperationalPolicy request failed for loop: ${header.loopName}" />
601                                                 <to
602                                                                 uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('ADD OperationalPolicy request failed','ERROR',${exchangeProperty[loopObject]})" />
603                                         </doCatch>
604                                 </doTry>
605                         </route>
606                 </put>
607                 <post
608                                 uri="/v2/loop/create/{loopName}?templateName={templateName}"
609                                 outType="org.onap.clamp.loop.Loop" consumes="application/json"
610                                 produces="application/json">
611                         <route>
612                                 <removeHeaders
613                                                 pattern="*"
614                                                 excludePattern="loopName|templateName" />
615                                 <doTry>
616                                         <to
617                                                         uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=startLog(*, 'Create Loop')" />
618                                         <to
619                                                         uri="bean:org.onap.clamp.authorization.AuthorizationController?method=authorize(*,'cl','','update')" />
620                                         <to
621                                                         uri="bean:org.onap.clamp.loop.LoopController?method=createLoop(${header.loopName}, ${header.templateName})" />
622                                         <to
623                                                         uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=endLog()" />
624                                         <doCatch>
625                                                 <exception>java.lang.Exception</exception>
626                                                 <handled>
627                                                         <constant>true</constant>
628                                                 </handled>
629                                                 <setHeader headerName="CamelHttpResponseCode">
630                                                         <constant>500</constant>
631                                                 </setHeader>
632                                                 <transform>
633                                                         <simple>ERROR: ${exception.message}</simple>
634                                         </transform>
635                                                 <to
636                                                                 uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=errorLog()" />
637                                         </doCatch>
638                                 </doTry>
639                         </route>
640                 </post>
641                 <get uri="/v2/dictionary"
642                         outType="org.onap.clamp.tosca.Dictionary" produces="application/json">
643                         <route>
644                                 <removeHeaders pattern="*" />
645                                 <doTry>
646                                         <to
647                                                 uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=startLog(*, 'GET ALL Dictionaries')" />
648                                         <to
649                                                 uri="bean:org.onap.clamp.authorization.AuthorizationController?method=authorize(*,'tosca','','read')" />
650                                         <to
651                                                 uri="bean:org.onap.clamp.tosca.DictionaryService?method=getAllDictionaries()" />
652                                         <to
653                                                 uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=endLog()" />
654                                         <doCatch>
655                                                 <exception>java.lang.Exception</exception>
656                                                 <handled>
657                                                         <constant>false</constant>
658                                                 </handled>
659                                                 <to
660                                                         uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=errorLog()" />
661                                         </doCatch>
662                                 </doTry>
663                         </route>
664                 </get>
665
666                 <get uri="/v2/dictionary/secondary/names"
667                         outType="java.lang.String[]" produces="application/json">
668                         <route>
669                                 <removeHeaders pattern="*" />
670                                 <doTry>
671                                         <to
672                                                 uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=startLog(*, 'GET ALL Secondary Dictionary Level Names')" />
673                                         <to
674                                                 uri="bean:org.onap.clamp.authorization.AuthorizationController?method=authorize(*,'tosca','','read')" />
675                                         <to
676                                                 uri="bean:org.onap.clamp.tosca.DictionaryService?method=getAllSecondaryLevelDictionaryNames()" />
677                                         <to
678                                                 uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=endLog()" />
679                                         <doCatch>
680                                                 <exception>java.lang.Exception</exception>
681                                                 <handled>
682                                                         <constant>false</constant>
683                                                 </handled>
684                                                 <to
685                                                         uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=errorLog()" />
686                                         </doCatch>
687                                 </doTry>
688                         </route>
689                 </get>
690                 <get uri="/v2/dictionary/{dictionaryName}"
691                         outType="org.onap.clamp.tosca.Dictionary" produces="application/json">
692                         <route>
693                                 <removeHeaders pattern="*"
694                                         excludePattern="dictionaryName" />
695                                 <doTry>
696                                         <to
697                                                 uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=startLog(*, 'GET ALL Dictionary Elements for a Dictionary Name')" />
698                                         <to
699                                                 uri="bean:org.onap.clamp.authorization.AuthorizationController?method=authorize(*,'tosca','','read')" />
700                                         <to
701                                                 uri="bean:org.onap.clamp.tosca.DictionaryService?method=getDictionary(${header.dictionaryName})" />
702                                         <to
703                                                 uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=endLog()" />
704                                         <doCatch>
705                                                 <exception>java.lang.Exception</exception>
706                                                 <handled>
707                                                         <constant>false</constant>
708                                                 </handled>
709                                                 <to
710                                                         uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=errorLog()" />
711                                         </doCatch>
712                                 </doTry>
713                         </route>
714                 </get>
715                 <put uri="/v2/dictionary" type="org.onap.clamp.tosca.Dictionary"
716                         outType="org.onap.clamp.tosca.Dictionary" consumes="application/json"
717                         produces="application/json">
718                         <route>
719                                 <doTry>
720                                         <to
721                                                 uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=startLog(*, 'Add New or Update Dictionary')" />
722                                         <to
723                                                 uri="bean:org.onap.clamp.authorization.AuthorizationController?method=authorize(*,'tosca','','update')" />
724                                         <setProperty propertyName="DictionaryObject">
725                                                 <simple>${body}</simple>
726                                         </setProperty>
727                                         <to
728                                                 uri="bean:org.onap.clamp.tosca.DictionaryService?method=saveOrUpdateDictionary(${exchangeProperty[DictionaryObject]})" />
729                                         <to
730                                                 uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=endLog()" />
731                                         <doCatch>
732                                                 <exception>java.lang.Exception</exception>
733                                                 <handled>
734                                                         <constant>false</constant>
735                                                 </handled>
736                                                 <to
737                                                         uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=errorLog()" />
738                                         </doCatch>
739                                 </doTry>
740                         </route>
741                 </put>
742
743                 <put uri="/v2/dictionary/{name}"
744                         type="org.onap.clamp.tosca.Dictionary"
745                         outType="org.onap.clamp.tosca.Dictionary" consumes="application/json"
746                         produces="application/json">
747                         <route>
748                                 <removeHeaders pattern="*" excludePattern="name" />
749                                 <doTry>
750                                         <to
751                                                 uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=startLog(*, 'Add New or Update Dictionary Element')" />
752                                         <to
753                                                 uri="bean:org.onap.clamp.authorization.AuthorizationController?method=authorize(*,'tosca','','update')" />
754                                         <setProperty propertyName="DictionaryObject">
755                                                 <simple>${body}</simple>
756                                         </setProperty>
757                                         <to
758                                                 uri="bean:org.onap.clamp.tosca.DictionaryService?method=saveOrUpdateDictionaryElement(${header.name}, ${exchangeProperty[DictionaryObject]})" />
759                                         <to
760                                                 uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=endLog()" />
761                                         <doCatch>
762                                                 <exception>java.lang.Exception</exception>
763                                                 <handled>
764                                                         <constant>false</constant>
765                                                 </handled>
766                                                 <to
767                                                         uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=errorLog()" />
768                                         </doCatch>
769                                 </doTry>
770                         </route>
771                 </put>
772
773                 <delete uri="/v2/dictionary/{name}" produces="application/json">
774                         <route>
775                                 <removeHeaders pattern="*" excludePattern="name" />
776                                 <doTry>
777                                         <to
778                                                 uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=startLog(*, 'Delete Dictionary')" />
779                                         <to
780                                                 uri="bean:org.onap.clamp.authorization.AuthorizationController?method=authorize(*,'tosca','','update')" />
781                                         <to
782                                                 uri="bean:org.onap.clamp.tosca.DictionaryService?method=deleteDictionary(${header.name})" />
783                                         <to
784                                                 uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=endLog()" />
785                                         <doCatch>
786                                                 <exception>java.lang.Exception</exception>
787                                                 <handled>
788                                                         <constant>false</constant>
789                                                 </handled>
790                                                 <to
791                                                         uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=errorLog()" />
792                                         </doCatch>
793                                 </doTry>
794                         </route>
795                 </delete>
796
797                 <delete uri="/v2/dictionary/{name}/elements/{shortName}"
798                         produces="application/json">
799                         <route>
800                                 <removeHeaders pattern="*"
801                                         excludePattern="name|shortName" />
802                                 <doTry>
803                                         <to
804                                                 uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=startLog(*, 'Delete Dictionary Element')" />
805                                         <to
806                                                 uri="bean:org.onap.clamp.authorization.AuthorizationController?method=authorize(*,'tosca','','update')" />
807                                         <to
808                                                 uri="bean:org.onap.clamp.tosca.DictionaryService?method=deleteDictionaryElement(${header.name}, ${header.shortName})" />
809                                         <to
810                                                 uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=endLog()" />
811                                         <doCatch>
812                                                 <exception>java.lang.Exception</exception>
813                                                 <handled>
814                                                         <constant>false</constant>
815                                                 </handled>
816                                                 <to
817                                                         uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=errorLog()" />
818                                         </doCatch>
819                                 </doTry>
820                         </route>
821                 </delete>
822
823                 <get uri="/v2/policyToscaModels"
824                         outType="org.onap.clamp.loop.template.PolicyModel"
825                         produces="application/json">
826                         <route>
827                                 <removeHeaders pattern="*" />
828                                 <doTry>
829                                         <to
830                                                 uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=startLog(*, 'GET ALL Tosca Policy Models')" />
831                                         <to
832                                                 uri="bean:org.onap.clamp.authorization.AuthorizationController?method=authorize(*,'tosca','','read')" />
833                                         <to
834                                                 uri="bean:org.onap.clamp.loop.template.PolicyModelsService?method=getAllPolicyModels()" />
835                                         <to
836                                                 uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=endLog()" />
837                                         <doCatch>
838                                                 <exception>java.lang.Exception</exception>
839                                                 <handled>
840                                                         <constant>true</constant>
841                                                 </handled>
842                                                 <setHeader headerName="CamelHttpResponseCode">
843                                                         <constant>500</constant>
844                                                 </setHeader>
845                                                 <transform>
846                                                         <simple>ERROR: ${exception.message}</simple>
847                                                 </transform>
848                                                 <to
849                                                         uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=errorLog()" />
850                                         </doCatch>
851                                 </doTry>
852                         </route>
853                 </get>
854                 <get uri="/v2/policyToscaModels/{policyModelType}/{policyModelVersion}"
855                         outType="org.onap.clamp.loop.template.PolicyModel"
856                         produces="application/json">
857                         <route>
858                                 <removeHeaders pattern="*"
859                                         excludePattern="policyModelType|policyModelVersion" />
860                                 <doTry>
861                                         <to
862                                                 uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=startLog(*, 'GET Tosca Policy Model by Name/Version')" />
863                                         <to
864                                                 uri="bean:org.onap.clamp.authorization.AuthorizationController?method=authorize(*,'tosca','','read')" />
865                                         <to
866                                                 uri="bean:org.onap.clamp.loop.template.PolicyModelsService?method=getPolicyModelByType(${header.policyModelType},${header.policyModelVersion})" />
867                                         <to
868                                                 uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=endLog()" />
869                                         <doCatch>
870                                                 <exception>java.lang.Exception</exception>
871                                                 <handled>
872                                                         <constant>true</constant>
873                                                 </handled>
874                                                 <setHeader headerName="CamelHttpResponseCode">
875                                                         <constant>500</constant>
876                                                 </setHeader>
877                                                 <transform>
878                                                         <simple>ERROR: ${exception.message}</simple>
879                                                 </transform>
880                                                 <to
881                                                         uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=errorLog()" />
882                                         </doCatch>
883                                 </doTry>
884                         </route>
885                 </get>
886                 <get uri="/v2/policyToscaModels/yaml/{policyModelType}/{policyModelVersion}"
887                         outType="java.lang.String" produces="application/json">
888                         <route>
889                                 <removeHeaders pattern="*"
890                                         excludePattern="policyModelType|policyModelVersion" />
891                                 <doTry>
892                                         <to
893                                                 uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=startLog(*, 'GET Tosca Policy Model Yaml String by Name/Version')" />
894                                         <to
895                                                 uri="bean:org.onap.clamp.authorization.AuthorizationController?method=authorize(*,'tosca','','read')" />
896                                         <to
897                                                 uri="bean:org.onap.clamp.loop.template.PolicyModelsService?method=getPolicyModelTosca(${header.policyModelType},${header.policyModelVersion})" />
898                                         <to
899                                                 uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=endLog()" />
900                                         <doCatch>
901                                                 <exception>java.lang.Exception</exception>
902                                                 <handled>
903                                                         <constant>true</constant>
904                                                 </handled>
905                                                 <setHeader headerName="CamelHttpResponseCode">
906                                                         <constant>500</constant>
907                                                 </setHeader>
908                                                 <transform>
909                                                         <simple>ERROR: ${exception.message}</simple>
910                                                 </transform>
911                                                 <to
912                                                         uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=errorLog()" />
913                                         </doCatch>
914                                 </doTry>
915                         </route>
916                 </get>
917
918                 <post uri="/v2/policyToscaModels"
919                         type="java.lang.String"
920                         outType="org.onap.clamp.loop.template.PolicyModel"
921                         consumes="plain/text" produces="application/json">
922                         <route>
923                                 <removeHeaders pattern="*"/>
924                                 <doTry>
925                                         <to
926                                                 uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=startLog(*, 'Upload New or Update Tosca Policy Model')" />
927                                         <to
928                                                 uri="bean:org.onap.clamp.authorization.AuthorizationController?method=authorize(*,'tosca','','update')" />
929                                         <setProperty propertyName="PolicyModelTosca">
930                                                 <simple>${body}</simple>
931                                         </setProperty>
932                                         <to
933                                                 uri="bean:org.onap.clamp.loop.template.PolicyModelsService?method=createNewPolicyModelFromTosca(${exchangeProperty[PolicyModelTosca]})" />
934                                         <to
935                                                 uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=endLog()" />
936                                         <doCatch>
937                                                 <exception>java.lang.Exception</exception>
938                                                 <handled>
939                                                         <constant>true</constant>
940                                                 </handled>
941                                                 <setHeader headerName="CamelHttpResponseCode">
942                                                         <constant>404</constant>
943                                                 </setHeader>
944                                                 <transform>
945                                                         <simple>ERROR: ${exception.message}</simple>
946                                                 </transform>
947                                                 <to
948                                                         uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=errorLog()" />
949                                         </doCatch>
950                                 </doTry>
951                         </route>
952                 </post>
953                 <put uri="/v2/policyToscaModels/{policyModelType}/{policyModelVersion}"
954                           type="java.lang.String"
955                           outType="org.onap.clamp.loop.template.PolicyModel"
956                           consumes="plain/text" produces="application/json">
957                         <route>
958                                 <removeHeaders pattern="*"
959                                                            excludePattern="policyModelType|policyModelVersion" />
960                                 <doTry>
961                                         <to
962                                                         uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=startLog(*, 'Upload New or Update Tosca Policy Model')" />
963                                         <to
964                                                         uri="bean:org.onap.clamp.authorization.AuthorizationController?method=authorize(*,'tosca','','update')" />
965                                         <setProperty propertyName="PolicyModelTosca">
966                                                 <simple>${body}</simple>
967                                         </setProperty>
968                                         <to
969                                                         uri="bean:org.onap.clamp.loop.template.PolicyModelsService?method=updatePolicyModelTosca(${header.policyModelType},${policyModelVersion},${exchangeProperty[PolicyModelTosca]})" />
970                                         <to
971                                                         uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=endLog()" />
972                                         <doCatch>
973                                                 <exception>java.lang.Exception</exception>
974                                                 <handled>
975                                                         <constant>true</constant>
976                                                 </handled>
977                                                 <setHeader headerName="CamelHttpResponseCode">
978                                                         <constant>404</constant>
979                                                 </setHeader>
980                                                 <transform>
981                                                         <simple>ERROR: ${exception.message}</simple>
982                                                 </transform>
983                                                 <to
984                                                                 uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=errorLog()" />
985                                         </doCatch>
986                                 </doTry>
987                         </route>
988                 </put>
989
990                 <get uri="/v2/templates"
991                         outType="org.onap.clamp.loop.template.LoopTemplate"
992                         produces="application/json">
993                         <route>
994                                 <removeHeaders pattern="*" />
995                                 <doTry>
996                                         <to
997                                                 uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=startLog(*, 'GET ALL Templates')" />
998                                         <to
999                                                 uri="bean:org.onap.clamp.authorization.AuthorizationController?method=authorize(*,'template','','read')" />
1000                                         <to
1001                                                 uri="bean:org.onap.clamp.loop.template.LoopTemplatesService?method=getAllLoopTemplates()" />
1002                                         <to
1003                                                 uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=endLog()" />
1004                                         <doCatch>
1005                                                 <exception>java.lang.Exception</exception>
1006                                                 <handled>
1007                                                         <constant>true</constant>
1008                                                 </handled>
1009                                                 <setHeader headerName="CamelHttpResponseCode">
1010                                                         <constant>500</constant>
1011                                                 </setHeader>
1012                                                 <transform>
1013                                                         <simple>ERROR: ${exception.message}</simple>
1014                                                 </transform>
1015                                                 <to
1016                                                         uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=errorLog()" />
1017                                         </doCatch>
1018                                 </doTry>
1019                         </route>
1020                 </get>
1021                 <get uri="/v2/templates/{templateName}"
1022                         outType="org.onap.clamp.loop.template.LoopTemplate"
1023                         produces="application/json">
1024                         <route>
1025                                 <removeHeaders pattern="*"
1026                                         excludePattern="templateName" />
1027                                 <doTry>
1028                                         <to
1029                                                 uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=startLog(*, 'GET a Template by NAME')" />
1030                                         <to
1031                                                 uri="bean:org.onap.clamp.authorization.AuthorizationController?method=authorize(*,'template','','read')" />
1032                                         <to
1033                                                 uri="bean:org.onap.clamp.loop.template.LoopTemplatesService?method=getLoopTemplate(${header.templateName})" />
1034                                         <to
1035                                                 uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=endLog()" />
1036                                         <doCatch>
1037                                                 <exception>java.lang.Exception</exception>
1038                                                 <handled>
1039                                                         <constant>true</constant>
1040                                                 </handled>
1041                                                 <setHeader headerName="CamelHttpResponseCode">
1042                                                         <constant>500</constant>
1043                                                 </setHeader>
1044                                                 <transform>
1045                                                         <simple>ERROR: ${exception.message}</simple>
1046                                                 </transform>
1047                                                 <to
1048                                                         uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=errorLog()" />
1049                                         </doCatch>
1050                                 </doTry>
1051                         </route>
1052                 </get>
1053                 <get uri="/v2/templates/names" outType="java.lang.String[]"
1054                         produces="application/json">
1055                         <route>
1056                                 <removeHeaders pattern="*" />
1057                                 <doTry>
1058                                         <to
1059                                                 uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=startLog(*, 'GET ALL Loop Template Names')" />
1060                                         <to
1061                                                 uri="bean:org.onap.clamp.authorization.AuthorizationController?method=authorize(*,'template','','read')" />
1062                                         <to
1063                                                 uri="bean:org.onap.clamp.loop.template.LoopTemplatesService?method=getLoopTemplateNames()" />
1064                                         <to
1065                                                 uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=endLog()" />
1066                                         <doCatch>
1067                                                 <exception>java.lang.Exception</exception>
1068                                                 <handled>
1069                                                         <constant>false</constant>
1070                                                 </handled>
1071                                                 <to
1072                                                         uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=errorLog()" />
1073                                         </doCatch>
1074                                 </doTry>
1075                         </route>
1076                 </get>
1077                 <get uri="/v2/templates/{templateName}/svgRepresentation"
1078                          outType="java.lang.String" produces="application/xml">
1079                         <route>
1080                                 <removeHeaders pattern="*" excludePattern="templateName" />
1081                                 <doTry>
1082                                         <to
1083                                                         uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=startLog(*, 'Get SVG Representation for Loop template')" />
1084                                         <to
1085                                                         uri="bean:org.onap.clamp.authorization.AuthorizationController?method=authorize(*,'template','','read')" />
1086                                         <to
1087                                                         uri="bean:org.onap.clamp.loop.template.LoopTemplatesService?method=getSvgRepresentation(${header.templateName})" />
1088                                         <to
1089                                                         uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=endLog()" />
1090                                         <doCatch>
1091                                                 <exception>java.lang.Exception</exception>
1092                                                 <handled>
1093                                                         <constant>false</constant>
1094                                                 </handled>
1095                                                 <to
1096                                                                 uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=errorLog()" />
1097                                         </doCatch>
1098                                 </doTry>
1099                         </route>
1100                 </get>
1101                 <get uri="/v2/clampInformation" outType="org.onap.clamp.clds.model.ClampInformation"
1102                          produces="application/json">
1103                         <to
1104                                         uri="bean:org.onap.clamp.authorization.AuthorizationController?method=getClampInformation()" />
1105                 </get>
1106         </rest>
1107 </rests>