Introduce Camel route
[clamp.git] / src / main / resources / clds / camel / routes / flexible-flow.xml
index 2103b4a..b824499 100644 (file)
 <routes xmlns="http://camel.apache.org/schema/spring">
-               <route id="submit">
-                               <from uri="direct:processSubmit" />
-                               <choice>
-                                               <when>
-                                                               <simple> ${exchangeProperty.actionCd} == 'SUBMIT' || ${exchangeProperty.actionCd} == 'RESUBMIT'</simple>
-                                                               <to uri="bean:org.onap.clamp.clds.client.CldsEventDelegate?method=addEvent(*,'INITIATED')" />
-                                                               <to uri="bean:org.onap.clamp.clds.client.TcaPolicyDelegate" />
-                                                               <to uri="bean:org.onap.clamp.clds.client.HolmesPolicyDelegate" />
-                                                               <delay>
-                                                                               <constant>30000</constant>
-                                                               </delay>
-                                                               <to uri="bean:org.onap.clamp.clds.client.OperationalPolicyDelegate" />
-                                                               <to uri="bean:org.onap.clamp.clds.client.GuardPolicyDelegate" />
-                                                               <to uri="bean:org.onap.clamp.clds.client.CldsEventDelegate?method=addEvent(*,'COMPLETED')" />
-                                               </when>
-                                               <when>
-                                                               <simple> ${exchangeProperty.actionCd} == 'DELETE'</simple>
-                                                               <to uri="bean:org.onap.clamp.clds.client.CldsEventDelegate?method=addEvent(*,'INITIATED')" />
-                                                               <to uri="bean:org.onap.clamp.clds.client.TcaPolicyDeleteDelegate" />
-                                                               <to uri="bean:org.onap.clamp.clds.client.HolmesPolicyDeleteDelegate" />
-                                                               <delay>
-                                                                               <constant>30000</constant>
-                                                               </delay>
-                                                               <to
-                                                                               uri="bean:org.onap.clamp.clds.client.OperationalPolicyDeleteDelegate" />
-                                                               <to uri="bean:org.onap.clamp.clds.client.GuardPolicyDeleteDelegate" />
-                                                               <to uri="bean:org.onap.clamp.clds.client.ModelDeleteDelegate" />
-                                                               <to uri="bean:org.onap.clamp.clds.client.CldsEventDelegate?method=addEvent(*,'COMPLETED')" />
-                                               </when>
-                                               <when>
-                                                               <simple> ${exchangeProperty.actionCd} == 'UPDATE'</simple>
-                                                               <to uri="bean:org.onap.clamp.clds.client.CldsEventDelegate?method=addEvent(*,'INITIATED')" />
-                                                               <to uri="bean:org.onap.clamp.clds.client.TcaPolicyDelegate" />
-                                                               <to uri="bean:org.onap.clamp.clds.client.HolmesPolicyDelegate" />
-                                                               <delay>
-                                                                               <constant>30000</constant>
-                                                               </delay>
-                                                               <to uri="bean:org.onap.clamp.clds.client.OperationalPolicyDelegate" />
-                                                               <to uri="bean:org.onap.clamp.clds.client.GuardPolicyDelegate" />
-                                                               <to uri="bean:org.onap.clamp.clds.client.CldsEventDelegate?method=addEvent(*,'COMPLETED')" />
-                                               </when>
-                                               <when>
-                                                               <simple> ${exchangeProperty.actionCd} == 'STOP'</simple>
-                                                               <to uri="bean:org.onap.clamp.clds.client.CldsEventDelegate?method=addEvent(*,'INITIATED')" />
-                                                               <to
-                                                                               uri="bean:org.onap.clamp.clds.client.OperationalPolicyDeleteDelegate" />
-                                                               <to uri="bean:org.onap.clamp.clds.client.GuardPolicyDeleteDelegate" />
-                                                               <to uri="bean:org.onap.clamp.clds.client.CldsEventDelegate?method=addEvent(*,'COMPLETED')" />
-                                               </when>
-                                               <when>
-                                                               <simple> ${exchangeProperty.actionCd} == 'RESTART'</simple>
-                                                               <to uri="bean:org.onap.clamp.clds.client.CldsEventDelegate?method=addEvent(*,'INITIATED')" />
-                                                               <to uri="bean:org.onap.clamp.clds.client.GuardPolicyDelegate" />
-                                                               <to uri="bean:org.onap.clamp.clds.client.OperationalPolicyDelegate" />
-                                                               <to uri="bean:org.onap.clamp.clds.client.CldsEventDelegate?method=addEvent(*,'COMPLETED')" />
-                                               </when>
-                               </choice>
-               </route>
+       <route id="submit">
+               <from uri="direct:processSubmit" />
+               <choice>
+                       <when>
+                               <simple> ${exchangeProperty.actionCd} == 'SUBMIT' ||
+                                       ${exchangeProperty.actionCd} == 'RESUBMIT'
+                               </simple>
+                               <to
+                                       uri="bean:org.onap.clamp.clds.client.CldsEventDelegate?method=addEvent(*,'INITIATED')" />
+                               <to uri="bean:org.onap.clamp.clds.client.TcaPolicyDelegate" />
+                               <to uri="bean:org.onap.clamp.clds.client.HolmesPolicyDelegate" />
+                               <delay>
+                                       <constant>30000</constant>
+                               </delay>
+                               <to
+                                       uri="bean:org.onap.clamp.clds.client.OperationalPolicyDelegate" />
+                               <to uri="bean:org.onap.clamp.clds.client.GuardPolicyDelegate" />
+                               <to
+                                       uri="bean:org.onap.clamp.clds.client.CldsEventDelegate?method=addEvent(*,'COMPLETED')" />
+                       </when>
+                       <when>
+                               <simple> ${exchangeProperty.actionCd} == 'DELETE'</simple>
+                               <to
+                                       uri="bean:org.onap.clamp.clds.client.CldsEventDelegate?method=addEvent(*,'INITIATED')" />
+                               <to uri="bean:org.onap.clamp.clds.client.TcaPolicyDeleteDelegate" />
+                               <to
+                                       uri="bean:org.onap.clamp.clds.client.HolmesPolicyDeleteDelegate" />
+                               <delay>
+                                       <constant>30000</constant>
+                               </delay>
+                               <to
+                                       uri="bean:org.onap.clamp.clds.client.OperationalPolicyDeleteDelegate" />
+                               <to
+                                       uri="bean:org.onap.clamp.clds.client.GuardPolicyDeleteDelegate" />
+                               <to uri="bean:org.onap.clamp.clds.client.ModelDeleteDelegate" />
+                               <to
+                                       uri="bean:org.onap.clamp.clds.client.CldsEventDelegate?method=addEvent(*,'COMPLETED')" />
+                       </when>
+                       <when>
+                               <simple> ${exchangeProperty.actionCd} == 'UPDATE'</simple>
+                               <to
+                                       uri="bean:org.onap.clamp.clds.client.CldsEventDelegate?method=addEvent(*,'INITIATED')" />
+                               <to uri="bean:org.onap.clamp.clds.client.TcaPolicyDelegate" />
+                               <to uri="bean:org.onap.clamp.clds.client.HolmesPolicyDelegate" />
+                               <delay>
+                                       <constant>30000</constant>
+                               </delay>
+                               <to
+                                       uri="bean:org.onap.clamp.clds.client.OperationalPolicyDelegate" />
+                               <to uri="bean:org.onap.clamp.clds.client.GuardPolicyDelegate" />
+                               <to
+                                       uri="bean:org.onap.clamp.clds.client.CldsEventDelegate?method=addEvent(*,'COMPLETED')" />
+                       </when>
+                       <when>
+                               <simple> ${exchangeProperty.actionCd} == 'STOP'</simple>
+                               <to
+                                       uri="bean:org.onap.clamp.clds.client.CldsEventDelegate?method=addEvent(*,'INITIATED')" />
+                               <to
+                                       uri="bean:org.onap.clamp.clds.client.OperationalPolicyDeleteDelegate" />
+                               <to
+                                       uri="bean:org.onap.clamp.clds.client.GuardPolicyDeleteDelegate" />
+                               <to
+                                       uri="bean:org.onap.clamp.clds.client.CldsEventDelegate?method=addEvent(*,'COMPLETED')" />
+                       </when>
+                       <when>
+                               <simple> ${exchangeProperty.actionCd} == 'RESTART'</simple>
+                               <to
+                                       uri="bean:org.onap.clamp.clds.client.CldsEventDelegate?method=addEvent(*,'INITIATED')" />
+                               <to uri="bean:org.onap.clamp.clds.client.GuardPolicyDelegate" />
+                               <to
+                                       uri="bean:org.onap.clamp.clds.client.OperationalPolicyDelegate" />
+                               <to
+                                       uri="bean:org.onap.clamp.clds.client.CldsEventDelegate?method=addEvent(*,'COMPLETED')" />
+                       </when>
+               </choice>
+       </route>
+       <route id="delete-micro-service">
+               <from uri="direct:delete-micro-service" />
+
+               <setHeader headerName="CamelHttpMethod">
+                       <constant>DELETE</constant>
+               </setHeader>
+               <setHeader headerName="CamelHttpUri">
+                       <simple>{{clamp.config.policy.url}}/policyTypes/${body.getModelType()}/versions/1.0.0/policies/${body.getName()}
+                       </simple>
+               </setHeader>
+               <setBody>
+                       <constant>null</constant>
+               </setBody>
+               <!--<convertBodyTo type="org.onap.clamp.policy.microservice.MicroServicePolicy"/> -->
+               <log
+                       loggingLevel="INFO"
+                       message="Policy Endpoint for microservice: ${header.CamelHttpMethod} ${header.CamelHttpUri}"></log>
+               <toD
+                       uri="http4://policyhost:8085?throwExceptionOnFailure=${header.HttpQueryException}" />
+
+       </route>
+       <route id="create-micro-service">
+               <from uri="direct:create-micro-service" />
+
+               <setHeader headerName="CamelHttpMethod">
+                       <constant>POST</constant>
+               </setHeader>
+               <setHeader headerName="CamelHttpUri">
+                       <simple>{{clamp.config.policy.url}}/policyTypes/${body.getModelType()}/versions/1.0.0/policies
+                       </simple>
+               </setHeader>
+               <!--<convertBodyTo type="org.onap.clamp.policy.microservice.MicroServicePolicy"/> -->
+               <log
+                       loggingLevel="INFO"
+                       message="Policy Endpoint for microservice: ${header.CamelHttpMethod} ${header.CamelHttpUri}"></log>
+               <toD
+                       uri="http4://policyhost:8085?throwExceptionOnFailure=${header.HttpQueryException}" />
+       </route>
 
 </routes>
\ No newline at end of file