Add Start/stop routes
[clamp.git] / src / main / resources / clds / camel / routes / flexible-flow.xml
index 33419c2..683737a 100644 (file)
@@ -78,6 +78,9 @@
 
        <route id="load-loop">
                <from uri="direct:load-loop" />
+               <setBody>
+                       <simple>${header.loopName}</simple>
+               </setBody>
                <setHeader headerName="LoopObject">
                        <method
                                ref="org.onap.clamp.loop.LoopService"
                                message="Loop not found in database: ${body}" />
                        <stop />
                </when>
-
        </route>
 
        <route id="create-micro-service-policy">
                <from uri="direct:create-micro-service-policy" />
+               
                <log
                        loggingLevel="INFO"
                        message="Creating Micro Service Policy: ${header.microServicePolicy.getName()}" />
                        <constant>application/json</constant>
                </setHeader>
                <setHeader headerName="CamelHttpUri">
-                       <simple>{{clamp.config.policy.url}}/policyTypes/${header.microServicePolicy.getModelType()}/versions/1.0.0/policies
+                       <simple>{{clamp.config.policy.url}}/policy/api/v1/policyTypes/${header.microServicePolicy.getModelType()}/versions/1.0.0/policies
                        </simple>
                </setHeader>
                <log
                        loggingLevel="INFO"
                        message="Endpoint to create microservice policy: ${header.CamelHttpMethod} ${header.CamelHttpUri}"></log>
                <toD
-                       uri="http4://policyhost:8085?throwExceptionOnFailure=${header.HttpQueryExceptionFlag}" />
+                       uri="http4://policyhost:8085?mapHttpMessageHeaders=false&amp;throwExceptionOnFailure=${header.RaiseHttpExceptionFlag}&amp;httpClient.connectTimeout=10000&amp;authUsername={{clamp.config.policy.userName}}&amp;authPassword={{clamp.config.policy.password}}" />
                <to
                        uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('MicroService policy created successfully','INFO',${header.LoopObject})" />
+               <to uri="direct:reset-raise-http-exception-flag" />
        </route>
        <route id="delete-micro-service-policy">
                <from uri="direct:delete-micro-service-policy" />
+               
                <log
                        loggingLevel="INFO"
                        message="Deleting Micro Service Policy: ${header.microServicePolicy.getName()}" />
                        <constant>DELETE</constant>
                </setHeader>
                <setHeader headerName="CamelHttpUri">
-                       <simple>{{clamp.config.policy.url}}/policyTypes/${header.microServicePolicy.getModelType()}/versions/1.0.0/policies/${header.microServicePolicy.getName()}
+                       <simple>{{clamp.config.policy.url}}/policy/api/v1/policyTypes/${header.microServicePolicy.getModelType()}/versions/1.0.0/policies/${header.microServicePolicy.getName()}
                        </simple>
                </setHeader>
                <log
                        loggingLevel="INFO"
                        message="Endpoint to delete microservice policy: ${header.CamelHttpMethod} ${header.CamelHttpUri}"></log>
                <toD
-                       uri="http4://policyhost:8085?throwExceptionOnFailure=${header.HttpQueryExceptionFlag}&amp;deleteWithBody=false&amp;mapHttpMessageBody=false&amp;mapHttpMessageFormUrlEncodedBody=false" />
+                       uri="http4://policyhost:8085?mapHttpMessageHeaders=false&amp;throwExceptionOnFailure=${header.RaiseHttpExceptionFlag}&amp;httpClient.connectTimeout=10000&amp;deleteWithBody=false&amp;mapHttpMessageBody=false&amp;mapHttpMessageFormUrlEncodedBody=false&amp;authUsername={{clamp.config.policy.userName}}&amp;authPassword={{clamp.config.policy.password}}" />
                <to
                        uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('MicroService policy deleted successfully','INFO',${header.LoopObject})" />
+               <to uri="direct:reset-raise-http-exception-flag" />
        </route>
 
        <route id="create-operational-policy">
                <from uri="direct:create-operational-policy" />
+               
                <log
                        loggingLevel="INFO"
                        message="Creating Operational Policy: ${header.operationalPolicy.getName()}" />
                        <constant>POST</constant>
                </setHeader>
                <setHeader headerName="Content-Type">
-                       <constant>application/json</constant>
+                       <constant>application/yaml; legacy-version</constant>
                </setHeader>
                <setHeader headerName="CamelHttpUri">
-                       <simple>{{clamp.config.policy.url}}/policyTypes/onap.policies.controloop.operational/versions/1.0.0/policies
+                       <simple>{{clamp.config.policy.url}}/policy/api/v1/policyTypes/onap.policies.controloop.operational/versions/1.0.0/policies
                        </simple>
                </setHeader>
                <log
                        loggingLevel="INFO"
                        message="Endpoint to create operational policy: ${header.CamelHttpMethod} ${header.CamelHttpUri}"></log>
                <toD
-                       uri="http4://policyhost:8085?throwExceptionOnFailure=${header.HttpQueryExceptionFlag}" />
+                       uri="http4://policyhost:8085?mapHttpMessageHeaders=false&amp;throwExceptionOnFailure=${header.RaiseHttpExceptionFlag}&amp;httpClient.connectTimeout=10000&amp;authUsername={{clamp.config.policy.userName}}&amp;authPassword={{clamp.config.policy.password}}" />
                <to
                        uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('Operational policy created successfully','INFO',${header.LoopObject})" />
+               <to uri="direct:reset-raise-http-exception-flag" />
        </route>
        <route id="delete-operational-policy">
                <from uri="direct:delete-operational-policy" />
+               
                <log
                        loggingLevel="INFO"
                        message="Deleting Operational Policy: ${header.operationalPolicy.getName()}" />
                        <constant>DELETE</constant>
                </setHeader>
                <setHeader headerName="CamelHttpUri">
-                       <simple>{{clamp.config.policy.url}}/policyTypes/onap.policies.controloop.operational/versions/1.0.0/policies/${header.operationalPolicy.getName()}
+                       <simple>{{clamp.config.policy.url}}/policy/api/v1/policyTypes/onap.policies.controloop.operational/versions/1.0.0/policies/${header.operationalPolicy.getName()}
                        </simple>
                </setHeader>
                <log
                        loggingLevel="INFO"
                        message="Endpoint to delete operational policy: ${header.CamelHttpMethod} ${header.CamelHttpUri}"></log>
                <toD
-                       uri="http4://policyhost:8085?throwExceptionOnFailure=${header.HttpQueryExceptionFlag}&amp;deleteWithBody=false&amp;mapHttpMessageBody=false&amp;mapHttpMessageFormUrlEncodedBody=false" />
+                       uri="http4://policyhost:8085?mapHttpMessageHeaders=false&amp;throwExceptionOnFailure=${header.RaiseHttpExceptionFlag}&amp;httpClient.connectTimeout=10000&amp;deleteWithBody=false&amp;mapHttpMessageBody=false&amp;mapHttpMessageFormUrlEncodedBody=false&amp;authUsername={{clamp.config.policy.userName}}&amp;authPassword={{clamp.config.policy.password}}" />
                <to
                        uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('Operational policy deleted successfully','INFO',${header.LoopObject})" />
+               <to uri="direct:reset-raise-http-exception-flag" />
        </route>
 
        <route id="create-guard-policy">
                <from uri="direct:create-guard-policy" />
+               
                <log
                        loggingLevel="INFO"
                        message="Creating Guard Policy: ${header.guardPolicy.getKey()}" />
                        <constant>application/json</constant>
                </setHeader>
                <setHeader headerName="CamelHttpUri">
-                       <simple>{{clamp.config.policy.url}}/policyTypes/onap.policies.controlloop.Guard/versions/1.0.0/policies
+                       <simple>{{clamp.config.policy.url}}/policy/api/v1/policyTypes/onap.policies.controlloop.Guard/versions/1.0.0/policies
                        </simple>
                </setHeader>
                <log
                        loggingLevel="INFO"
                        message="Endpoint to create guard policy: ${header.CamelHttpMethod} ${header.CamelHttpUri}"></log>
                <toD
-                       uri="http4://policyhost:8085?throwExceptionOnFailure=${header.HttpQueryExceptionFlag}" />
+                       uri="http4://policyhost:8085?mapHttpMessageHeaders=false&amp;throwExceptionOnFailure=${header.RaiseHttpExceptionFlag}&amp;httpClient.connectTimeout=10000&amp;authUsername={{clamp.config.policy.userName}}&amp;authPassword={{clamp.config.policy.password}}" />
                <to
                        uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('Guard policy created successfully','INFO',${header.LoopObject})" />
+               <to uri="direct:reset-raise-http-exception-flag" />
        </route>
        <route id="delete-guard-policy">
                <from uri="direct:delete-guard-policy" />
+               
                <log
                        loggingLevel="INFO"
                        message="Deleting Guard Policy: ${header.guardPolicy.getKey()}" />
                        <constant>DELETE</constant>
                </setHeader>
                <setHeader headerName="CamelHttpUri">
-                       <simple>{{clamp.config.policy.url}}/policyTypes/onap.policies.controlloop.Guard/versions/1.0.0/policies/${header.guardPolicy.getKey()}
+                       <simple>{{clamp.config.policy.url}}/policy/api/v1/policyTypes/onap.policies.controlloop.Guard/versions/1.0.0/policies/${header.guardPolicy.getKey()}
                        </simple>
                </setHeader>
                <log
                        loggingLevel="INFO"
                        message="Endpoint to delete guard policy: ${header.CamelHttpMethod} ${header.CamelHttpUri}"></log>
                <toD
-                       uri="http4://policyhost:8085?throwExceptionOnFailure=${header.HttpQueryExceptionFlag}&amp;deleteWithBody=false&amp;mapHttpMessageBody=false&amp;mapHttpMessageFormUrlEncodedBody=false" />
+                       uri="http4://policyhost:8085?throwExceptionOnFailure=${header.RaiseHttpExceptionFlag}&amp;httpClient.connectTimeout=10000&amp;deleteWithBody=false&amp;mapHttpMessageBody=false&amp;mapHttpMessageFormUrlEncodedBody=false&amp;authUsername={{clamp.config.policy.userName}}&amp;authPassword={{clamp.config.policy.password}}" />
                <to
                        uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('Guard policy deleted successfully','INFO',${header.LoopObject})" />
+               <to uri="direct:reset-raise-http-exception-flag" />
+       </route>
+       <route id="add-all-to-active-pdp-group">
+               <from uri="direct:add-all-to-active-pdp-group" />
+               
+               <log
+                       loggingLevel="INFO"
+                       message="Adding loop policies to PDP Group: ${header.LoopObject.getName()}" />
+               <setBody>
+                       <simple>${header.LoopObject.createPoliciesPayloadPdpGroup()}
+                       </simple>
+               </setBody>
+               <setHeader headerName="CamelHttpMethod">
+                       <constant>POST</constant>
+               </setHeader>
+               <setHeader headerName="Content-Type">
+                       <constant>application/json</constant>
+               </setHeader>
+               <setHeader headerName="CamelHttpUri">
+                       <simple>{{clamp.config.policy.url}}/policy/pap/v1/pdps
+                       </simple>
+               </setHeader>
+               <log
+                       loggingLevel="INFO"
+                       message="Endpoint to add policies to PDP Group: ${header.CamelHttpMethod} ${header.CamelHttpUri}"></log>
+               <toD
+                       uri="http4://policyhost:8085?mapHttpMessageHeaders=false&amp;throwExceptionOnFailure=${header.RaiseHttpExceptionFlag}&amp;httpClient.connectTimeout=10000&amp;authUsername={{clamp.config.policy.userName}}&amp;authPassword={{clamp.config.policy.password}}" />
+               <to
+                       uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('Policies pushed to PDP Group successfully','INFO',${header.LoopObject})" />
+               <to uri="direct:reset-raise-http-exception-flag" />
        </route>
 
+       <route id="remove-all-policy-from-active-pdp-group">
+               <from uri="direct:remove-all-policy-from-active-pdp-group" />
+               <log
+                       loggingLevel="INFO"
+                       message="Removing policies from active PDP group for loop: ${header.LoopObject.getName()}" />
+               <split>
+                       <simple>${header.LoopObject.listPolicyNamesPdpGroup()}</simple>
+                       <setHeader headerName="PolicyName">
+                               <simple>${body}</simple>
+                       </setHeader>
+                       <setBody>
+                               <constant>null</constant>
+                       </setBody>
+                       <setHeader headerName="CamelHttpMethod">
+                               <constant>DELETE</constant>
+                       </setHeader>
+                       <setHeader headerName="CamelHttpUri">
+                               <simple>{{clamp.config.policy.url}}/pdps/policies/${header.PolicyName}/versions/1.0.0
+                               </simple>
+                       </setHeader>
+                       <log
+                               loggingLevel="INFO"
+                               message="Endpoint to delete policy from PDP Group: ${header.CamelHttpMethod} ${header.CamelHttpUri}"></log>
+                       <toD
+                               uri="http4://policyhost:8085?mapHttpMessageHeaders=false&amp;throwExceptionOnFailure=${header.RaiseHttpExceptionFlag}&amp;httpClient.connectTimeout=10000&amp;authUsername={{clamp.config.policy.userName}}&amp;authPassword={{clamp.config.policy.password}}" />
+                       <to
+                               uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog(${header.PolicyName}' Policy removed from PDP Group successfully','INFO',${header.LoopObject})" />
+               </split>
+               <to uri="direct:reset-raise-http-exception-flag" />
+       </route>
+
+       <route id="reset-raise-http-exception-flag">
+               <from uri="direct:reset-raise-http-exception-flag" />
+               <setHeader headerName="RaiseHttpExceptionFlag">
+                       <simple resultType="java.lang.Boolean">true</simple>
+               </setHeader>
+       </route>
 </routes>
\ No newline at end of file