Add delete support
[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                                 <to
9                                         uri="bean:org.onap.clamp.authorization.AuthorizationController?method=authorize(*,'cl','','read')" />
10                                 <to
11                                         uri="bean:org.onap.clamp.loop.LoopController?method=getLoopNames()" />
12                         </route>
13                 </get>
14                 <get
15                         uri="/v2/loop/{loopName}"
16                         outType="org.onap.clamp.loop.Loop"
17                         produces="application/json">
18                         <route>
19                                 <to
20                                         uri="bean:org.onap.clamp.authorization.AuthorizationController?method=authorize(*,'cl','','read')" />
21                                 <to
22                                         uri="bean:org.onap.clamp.loop.LoopController?method=getLoop(${header.loopName})" />
23                         </route>
24                 </get>
25                 <get
26                         uri="/v2/loop/svgRepresentation/{loopName}"
27                         outType="java.lang.String"
28                         produces="application/xml">
29                         <route>
30                                 <to
31                                         uri="bean:org.onap.clamp.authorization.AuthorizationController?method=authorize(*,'cl','','read')" />
32                                 <to
33                                         uri="bean:org.onap.clamp.loop.LoopController?method=getSVGRepresentation(${header.loopName})" />
34                         </route>
35                 </get>
36
37                 <post
38                         uri="/v2/loop/updateGlobalProperties/{loopName}"
39                         type="com.google.gson.JsonObject"
40                         consumes="application/json"
41                         outType="org.onap.clamp.loop.Loop"
42                         produces="application/json">
43                         <route>
44                                 <to
45                                         uri="bean:org.onap.clamp.authorization.AuthorizationController?method=authorize(*,'cl','','update')" />
46                                 <to
47                                         uri="bean:org.onap.clamp.loop.LoopController?method=updateGlobalPropertiesJson(${header.loopName},${body})" />
48                         </route>
49                 </post>
50                 <post
51                         uri="/v2/loop/updateOperationalPolicies/{loopName}"
52                         type="com.google.gson.JsonArray"
53                         consumes="application/json"
54                         outType="org.onap.clamp.loop.Loop"
55                         produces="application/json">
56                         <route>
57                                 <to
58                                         uri="bean:org.onap.clamp.authorization.AuthorizationController?method=authorize(*,'cl','','update')" />
59                                 <to
60                                         uri="bean:org.onap.clamp.loop.LoopController?method=updateOperationalPolicies(${header.loopName},${body})" />
61                         </route>
62                 </post>
63                 <post
64                         uri="/v2/loop/updateMicroservicePolicy/{loopName}"
65                         type="org.onap.clamp.policy.microservice.MicroServicePolicy"
66                         consumes="application/json"
67                         outType="org.onap.clamp.policy.microservice.MicroServicePolicy"
68                         produces="application/json">
69                         <route>
70                                 <to
71                                         uri="bean:org.onap.clamp.authorization.AuthorizationController?method=authorize(*,'cl','','update')" />
72                                 <to
73                                         uri="bean:org.onap.clamp.loop.LoopController?method=updateMicroservicePolicy(${header.loopName},${body})" />
74                         </route>
75                 </post>
76                 <put
77                         uri="/v2/loop/deployLoop/{loopName}"
78                         outType="org.onap.clamp.loop.Loop"
79                         produces="application/json">
80                         <route>
81                                 <to
82                                         uri="bean:org.onap.clamp.authorization.AuthorizationController?method=authorize(*,'cl','','update')" />
83                                 <to
84                                         uri="bean:org.onap.clamp.operation.LoopOperation?method=deployLoop(*,${header.loopName})" />
85                         </route>
86                 </put>
87                 <put
88                         uri="/v2/loop/undeployLoop/{loopName}"
89                         outType="org.onap.clamp.loop.Loop"
90                         produces="application/json">
91                         <route>
92                                 <to
93                                         uri="bean:org.onap.clamp.authorization.AuthorizationController?method=authorize(*,'cl','','update')" />
94                                 <to
95                                         uri="bean:org.onap.clamp.operation.LoopOperation?method=unDeployLoop(${header.loopName})" />
96                         </route>
97                 </put>
98                 <put uri="/v2/loop/submit/{loopName}">
99                         <route>
100                                 <log
101                                         loggingLevel="INFO"
102                                         message="Receive SUBMIT request for loop: ${header.loopName}" />
103                                 <to
104                                         uri="bean:org.onap.clamp.authorization.AuthorizationController?method=authorize(*,'cl','','update')" />
105                                 <setBody>
106                                         <simple>${header.loopName}</simple>
107                                 </setBody>
108                                 <to uri="direct:load-loop" />
109                                 <to
110                                         uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('Receive SUBMIT request','INFO',${header.LoopObject})" />
111                                 <log
112                                         loggingLevel="INFO"
113                                         message="Processing all MICRO-SERVICES policies defined in loop ${header.LoopObject.getName()}" />
114                                 <split>
115                                         <simple>${header.LoopObject.getMicroServicePolicies()}
116                                         </simple>
117                                         <setHeader headerName="microServicePolicy">
118                                                 <simple>${body}</simple>
119                                         </setHeader>
120                                         <log
121                                                 loggingLevel="INFO"
122                                                 message="Processing Micro Service Policy: ${header.microServicePolicy.getName()}" />
123                                         <setHeader headerName="RaiseHttpExceptionFlag">
124                                                 <simple resultType="java.lang.Boolean">false</simple>
125                                         </setHeader>
126                                         <to uri="direct:delete-micro-service-policy" />
127
128                                         <setHeader headerName="RaiseHttpExceptionFlag">
129                                                 <simple resultType="java.lang.Boolean">true</simple>
130                                         </setHeader>
131                                         <to uri="direct:create-micro-service-policy" />
132                                 </split>
133
134                                 <log
135                                         loggingLevel="INFO"
136                                         message="Processing all OPERATIONAL policies defined in loop ${header.LoopObject.getName()}" />
137                                 <split>
138                                         <simple>${header.LoopObject.getOperationalPolicies()}
139                                         </simple>
140                                         <setHeader headerName="operationalPolicy">
141                                                 <simple>${body}</simple>
142                                         </setHeader>
143                                         <log
144                                                 loggingLevel="INFO"
145                                                 message="Processing Operational Policy: ${header.operationalPolicy.getName()}" />
146                                         <setHeader headerName="RaiseHttpExceptionFlag">
147                                                 <simple resultType="java.lang.Boolean">false</simple>
148                                         </setHeader>
149                                         <to uri="direct:delete-operational-policy" />
150
151                                         <setHeader headerName="RaiseHttpExceptionFlag">
152                                                 <simple resultType="java.lang.Boolean">true</simple>
153                                         </setHeader>
154                                         <to uri="direct:create-operational-policy" />
155                                         <log
156                                                 loggingLevel="INFO"
157                                                 message="Processing all GUARD policies defined in loop ${header.LoopObject.getName()}" />
158                                         <split>
159                                                 <simple>${header.operationalPolicy.createGuardPolicyPayloads().entrySet()}
160                                                 </simple>
161                                                 <setHeader headerName="guardPolicy">
162                                                         <simple>${body}</simple>
163                                                 </setHeader>
164                                                 <log
165                                                         loggingLevel="INFO"
166                                                         message="Processing Guard Policy: ${header.guardPolicy.getKey()}" />
167
168                                                 <setHeader headerName="RaiseHttpExceptionFlag">
169                                                         <simple resultType="java.lang.Boolean">false</simple>
170                                                 </setHeader>
171                                                 <to uri="direct:delete-guard-policy" />
172
173                                                 <setHeader headerName="RaiseHttpExceptionFlag">
174                                                         <simple resultType="java.lang.Boolean">true</simple>
175                                                 </setHeader>
176                                                 <to uri="direct:create-guard-policy" />
177                                         </split>
178                                 </split>
179                                 <setHeader headerName="RaiseHttpExceptionFlag">
180                                         <simple resultType="java.lang.Boolean">true</simple>
181                                 </setHeader>
182                                 <to uri="direct:create-pdp-group-policy" />
183                                 
184                                 <log
185                                         loggingLevel="INFO"
186                                         message="SUBMIT request successfully executed for loop: ${body}" />
187                                 <to
188                                         uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('SUBMIT request successfully executed','INFO',${header.LoopObject})" />
189                         </route>
190                 </put>
191                 <put uri="/v2/loop/delete/{loopName}">
192                         <route>
193                                 <log
194                                         loggingLevel="INFO"
195                                         message="Receive DELETE request for loop: ${header.loopName}" />
196                                 <to
197                                         uri="bean:org.onap.clamp.authorization.AuthorizationController?method=authorize(*,'cl','','update')" />
198                                 <setBody>
199                                         <simple>${header.loopName}</simple>
200                                 </setBody>
201                                 <to uri="direct:load-loop" />
202                                 <to
203                                         uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('Receive DELETE request','INFO',${header.LoopObject})" />
204                                 <split>
205                                         <simple>${header.LoopObject.getMicroServicePolicies()}
206                                         </simple>
207                                         <setHeader headerName="microServicePolicy">
208                                                 <simple>${body}</simple>
209                                         </setHeader>
210                                         <log
211                                                 loggingLevel="INFO"
212                                                 message="Processing Micro Service Policy: ${header.microServicePolicy.getName()}" />
213                                         <setHeader headerName="RaiseHttpExceptionFlag">
214                                                 <simple resultType="java.lang.Boolean">true</simple>
215                                         </setHeader>
216                                         <to uri="direct:delete-micro-service-policy" />
217                                 </split>
218
219                                 <log
220                                         loggingLevel="INFO"
221                                         message="Processing all OPERATIONAL policies defined in loop ${header.LoopObject.getName()}" />
222                                 <split>
223                                         <simple>${header.LoopObject.getOperationalPolicies()}
224                                         </simple>
225                                         <setHeader headerName="operationalPolicy">
226                                                 <simple>${body}</simple>
227                                         </setHeader>
228                                         <log
229                                                 loggingLevel="INFO"
230                                                 message="Processing Operational Policy: ${header.operationalPolicy.getName()}" />
231                                         <setHeader headerName="RaiseHttpExceptionFlag">
232                                                 <simple resultType="java.lang.Boolean">true</simple>
233                                         </setHeader>
234                                         <to uri="direct:delete-operational-policy" />
235                                         <log
236                                                 loggingLevel="INFO"
237                                                 message="Processing all GUARD policies defined in loop ${header.LoopObject.getName()}" />
238                                         <split>
239                                                 <simple>${header.operationalPolicy.createGuardPolicyPayloads().entrySet()}
240                                                 </simple>
241                                                 <setHeader headerName="guardPolicy">
242                                                         <simple>${body}</simple>
243                                                 </setHeader>
244                                                 <log
245                                                         loggingLevel="INFO"
246                                                         message="Processing Guard Policy: ${header.guardPolicy.getKey()}" />
247
248                                                 <setHeader headerName="RaiseHttpExceptionFlag">
249                                                         <simple resultType="java.lang.Boolean">true</simple>
250                                                 </setHeader>
251                                                 <to uri="direct:delete-guard-policy" />
252                                         </split>
253                                 </split>
254                                 <to  uri="bean:org.onap.clamp.loop.log.LoopService?method=deleteLoop(${header.loopName})" />
255                                 <log
256                                         loggingLevel="INFO"
257                                         message="DELETE request successfully executed for loop: ${body}" />
258                                 <to
259                                         uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('DELETE request successfully executed','INFO',${header.LoopObject})" />
260                         </route>
261                 </put>
262         </rest>
263 </rests>
264