<routes xmlns="http://camel.apache.org/schema/spring"> <route id="deploy-loop"> <from uri="direct:deploy-loop" /> <choice> <when> <simple>${exchangeProperty['loopObject'].getLoopTemplate().getBlueprint()} != null </simple> <to uri="direct:deploy-loop-single-blueprint" /> </when> <when> <simple>${exchangeProperty['loopObject'].getLoopTemplate().getBlueprint()} == null </simple> <to uri="direct:deploy-loop-multi-blueprint" /> </when> </choice> </route> <route id="deploy-loop-multi-blueprint"> <from uri="direct:deploy-loop-multi-blueprint" /> <doTry> <log loggingLevel="INFO" message="Deploying the blueprints for loop: ${exchangeProperty[loopObject].getName()}" /> <to uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeLog('DCAE', 'Deploying the loop with multiple blueprints')" /> <split> <simple>${exchangeProperty[loopObject].getMicroServicePolicies()} </simple> <setProperty propertyName="microServicePolicy"> <simple>${body}</simple> </setProperty> <log loggingLevel="INFO" message="Processing Micro Service Policy: ${exchangeProperty[microServicePolicy].getName()}" /> <setProperty propertyName="raiseHttpExceptionFlag"> <simple resultType="java.lang.Boolean">false</simple> </setProperty> <setBody> <method ref="org.onap.clamp.loop.components.external.DcaeComponent" method="getDeployPayload(${exchangeProperty[loopObject]},${exchangeProperty[microServicePolicy].getName()})" /> </setBody> <setProperty propertyName="dcaeDeploymentId"> <method ref="org.onap.clamp.loop.components.external.DcaeComponent" method="generateDeploymentId()" /> </setProperty> <setHeader headerName="CamelHttpMethod"> <constant>PUT</constant> </setHeader> <setHeader headerName="Content-Type"> <constant>application/json</constant> </setHeader> <setHeader headerName="X-ONAP-RequestID"> <simple>${exchangeProperty[X-ONAP-RequestID]} </simple> </setHeader> <setHeader headerName="X-ONAP-InvocationID"> <simple>${exchangeProperty[X-ONAP-InvocationID]} </simple> </setHeader> <setHeader headerName="X-ONAP-PartnerName"> <simple>${exchangeProperty[X-ONAP-PartnerName]} </simple> </setHeader> <log loggingLevel="INFO" message="Endpoint to deploy loop: {{clamp.config.dcae.deployment.url}}/dcae-deployments/${exchangeProperty[dcaeDeploymentId]}"></log> <toD uri="{{clamp.config.dcae.deployment.url}}/dcae-deployments/${exchangeProperty[dcaeDeploymentId]}?bridgeEndpoint=true&useSystemProperties=true&mapHttpMessageHeaders=false&throwExceptionOnFailure=${exchangeProperty[raiseHttpExceptionFlag]}&authUsername={{clamp.config.dcae.deployment.userName}}&authPassword={{clamp.config.dcae.deployment.password}}&connectionTimeToLive=5000&httpClient.connectTimeout=10000&httpClient.socketTimeout=300000&authenticationPreemptive=true&connectionClose=true" /> <convertBodyTo type="java.lang.String" /> <setProperty propertyName="dcaeResponse"> <method ref="org.onap.clamp.loop.components.external.DcaeComponent" method="convertDcaeResponse(${body})" /> </setProperty> <setProperty propertyName="dcaeStatusUrl"> <method ref="org.onap.clamp.loop.components.external.DcaeComponent" method="getStatusUrl(${exchangeProperty[dcaeResponse]})" /> </setProperty> <to uri="bean:org.onap.clamp.policy.microservice.MicroServicePolicyService?method=updateDcaeDeploymentFields(${exchangeProperty[microServicePolicy]},${exchangeProperty[dcaeDeploymentId]},${exchangeProperty[dcaeStatusUrl]})" /> </split> <doCatch> <exception>java.lang.Exception</exception> <handled> <constant>false</constant> </handled> <setProperty propertyName="logMessage"> <simple>DEPLOY micro service failed (MicroService name:${exchangeProperty[microServicePolicy].getName()}), Dep-id:${exchangeProperty[dcaeDeploymentId]}, StatusUrl:${exchangeProperty[dcaeStatusUrl]}) </simple> </setProperty> <setProperty propertyName="logComponent"> <simple>DCAE</simple> </setProperty> <to uri="direct:dump-loop-log-http-response" /> </doCatch> <doFinally> <to uri="direct:reset-raise-http-exception-flag" /> <to uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeReturnLog()" /> </doFinally> </doTry> </route> <route id="deploy-loop-single-blueprint"> <from uri="direct:deploy-loop-single-blueprint" /> <doTry> <log loggingLevel="INFO" message="Deploying the loop: ${exchangeProperty[loopObject].getName()}" /> <to uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeLog('DCAE', 'Deploying the loop')" /> <setBody> <method ref="org.onap.clamp.loop.components.external.DcaeComponent" method="getDeployPayload(${exchangeProperty[loopObject]})" /> </setBody> <setProperty propertyName="dcaeDeploymentId"> <method ref="org.onap.clamp.loop.components.external.DcaeComponent" method="generateDeploymentId()" /> </setProperty> <setHeader headerName="CamelHttpMethod"> <constant>PUT</constant> </setHeader> <setHeader headerName="Content-Type"> <constant>application/json</constant> </setHeader> <setHeader headerName="X-ONAP-RequestID"> <simple>${exchangeProperty[X-ONAP-RequestID]} </simple> </setHeader> <setHeader headerName="X-ONAP-InvocationID"> <simple>${exchangeProperty[X-ONAP-InvocationID]} </simple> </setHeader> <setHeader headerName="X-ONAP-PartnerName"> <simple>${exchangeProperty[X-ONAP-PartnerName]} </simple> </setHeader> <log loggingLevel="INFO" message="Endpoint to deploy loop: {{clamp.config.dcae.deployment.url}}/dcae-deployments/${exchangeProperty[dcaeDeploymentId]}"></log> <toD uri="{{clamp.config.dcae.deployment.url}}/dcae-deployments/${exchangeProperty[dcaeDeploymentId]}?bridgeEndpoint=true&useSystemProperties=true&mapHttpMessageHeaders=false&throwExceptionOnFailure=${exchangeProperty[raiseHttpExceptionFlag]}&authUsername={{clamp.config.dcae.deployment.userName}}&authPassword={{clamp.config.dcae.deployment.password}}&connectionTimeToLive=5000&httpClient.connectTimeout=10000&httpClient.socketTimeout=300000&authenticationPreemptive=true&connectionClose=true" /> <convertBodyTo type="java.lang.String" /> <setProperty propertyName="dcaeResponse"> <method ref="org.onap.clamp.loop.components.external.DcaeComponent" method="convertDcaeResponse(${body})" /> </setProperty> <setProperty propertyName="dcaeStatusUrl"> <method ref="org.onap.clamp.loop.components.external.DcaeComponent" method="getStatusUrl(${exchangeProperty[dcaeResponse]})" /> </setProperty> <to uri="bean:org.onap.clamp.loop.LoopService?method=updateDcaeDeploymentFields(${exchangeProperty[loopObject]},${exchangeProperty[dcaeDeploymentId]},${exchangeProperty[dcaeStatusUrl]})" /> <doFinally> <to uri="direct:reset-raise-http-exception-flag" /> <to uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeReturnLog()" /> <setProperty propertyName="logMessage"> <simple>DEPLOY loop status (Dep-id:${exchangeProperty[dcaeDeploymentId]}, StatusUrl:${exchangeProperty[dcaeStatusUrl]}) </simple> </setProperty> <setProperty propertyName="logComponent"> <simple>DCAE</simple> </setProperty> <to uri="direct:dump-loop-log-http-response" /> </doFinally> </doTry> </route> <route id="undeploy-loop"> <from uri="direct:undeploy-loop" /> <choice> <when> <simple>${exchangeProperty['loopObject'].getLoopTemplate().getBlueprint()} != null </simple> <to uri="direct:undeploy-loop-single-blueprint" /> </when> <when> <simple>${exchangeProperty['loopObject'].getLoopTemplate().getBlueprint()} == null </simple> <to uri="direct:undeploy-loop-multi-blueprint" /> </when> </choice> </route> <route id="undeploy-loop-multi-blueprint"> <from uri="direct:undeploy-loop-multi-blueprint" /> <doTry> <log loggingLevel="INFO" message="Undeploying the blueprints for loop: ${exchangeProperty[loopObject].getName()}" /> <to uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeLog('DCAE', 'Undeploying the loop with multiple blueprints')" /> <split> <simple>${exchangeProperty[loopObject].getMicroServicePolicies()} </simple> <setProperty propertyName="microServicePolicy"> <simple>${body}</simple> </setProperty> <log loggingLevel="INFO" message="Processing Micro Service Policy: ${exchangeProperty[microServicePolicy].getName()}" /> <choice> <when> <simple>${exchangeProperty[microServicePolicy].getDcaeDeploymentId()} != null </simple> <setBody> <method ref="org.onap.clamp.loop.components.external.DcaeComponent" method="getUndeployPayload(${exchangeProperty[microServicePolicy]})" /> </setBody> <setHeader headerName="CamelHttpMethod"> <constant>DELETE</constant> </setHeader> <setHeader headerName="Content-Type"> <constant>application/json</constant> </setHeader> <setHeader headerName="X-ONAP-RequestID"> <simple>${exchangeProperty[X-ONAP-RequestID]} </simple> </setHeader> <setHeader headerName="X-ONAP-InvocationID"> <simple>${exchangeProperty[X-ONAP-InvocationID]} </simple> </setHeader> <setHeader headerName="X-ONAP-PartnerName"> <simple>${exchangeProperty[X-ONAP-PartnerName]} </simple> </setHeader> <log loggingLevel="INFO" message="Endpoint to undeploy loop: {{clamp.config.dcae.deployment.url}}/dcae-deployments/${exchangeProperty[microServicePolicy].getDcaeDeploymentId()}"></log> <toD uri="{{clamp.config.dcae.deployment.url}}/dcae-deployments/${exchangeProperty[microServicePolicy].getDcaeDeploymentId()}?bridgeEndpoint=true&useSystemProperties=true&mapHttpMessageHeaders=false&throwExceptionOnFailure=${exchangeProperty[raiseHttpExceptionFlag]}&authUsername={{clamp.config.dcae.deployment.userName}}&authPassword={{clamp.config.dcae.deployment.password}}&connectionTimeToLive=5000&httpClient.connectTimeout=10000&httpClient.socketTimeout=300000&authenticationPreemptive=true&connectionClose=true" /> <convertBodyTo type="java.lang.String" /> <setProperty propertyName="dcaeResponse"> <method ref="org.onap.clamp.loop.components.external.DcaeComponent" method="convertDcaeResponse(${body})" /> </setProperty> <setProperty propertyName="dcaeStatusUrl"> <method ref="org.onap.clamp.loop.components.external.DcaeComponent" method="getStatusUrl(${exchangeProperty[dcaeResponse]})" /> </setProperty> <to uri="bean:org.onap.clamp.policy.microservice.MicroServicePolicyService?method=updateDcaeDeploymentFields(${exchangeProperty[microServicePolicy]},${exchangeProperty[microServicePolicy].getDcaeDeploymentId()},${exchangeProperty[dcaeStatusUrl]})" /> </when> <otherwise> <log loggingLevel="WARNING" message="Cannot Undeploy for the micro service: ${exchangeProperty[microServicePolicy].getName()}, the Deployment ID does not exist !" /> <to uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('Cannot Undeploy for the micro service: ${exchangeProperty[microServicePolicy].getName()}, the Deployment ID does not exist !','WARNING',${exchangeProperty[loopObject]})" /> </otherwise> </choice> </split> <doCatch> <exception>java.lang.Exception</exception> <handled> <constant>false</constant> </handled> <setProperty propertyName="logMessage"> <simple>UNDEPLOY micro service failed (MicroService name:${exchangeProperty[microServicePolicy].getName()}) </simple> </setProperty> <setProperty propertyName="logComponent"> <simple>DCAE</simple> </setProperty> <to uri="direct:dump-loop-log-http-response" /> </doCatch> <doFinally> <to uri="direct:reset-raise-http-exception-flag" /> <to uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeReturnLog()" /> </doFinally> </doTry> </route> <route id="undeploy-loop-single-blueprint"> <from uri="direct:undeploy-loop-single-blueprint" /> <log loggingLevel="INFO" message="Undeploying the loop: ${exchangeProperty[loopObject].getName()} : ${exchangeProperty[loopObject].getDcaeDeploymentId()}" /> <to uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeLog('DCAE', 'Undeploying the loop')" /> <choice> <when> <simple>${exchangeProperty[loopObject].getDcaeDeploymentId()} != null </simple> <doTry> <setBody> <method ref="org.onap.clamp.loop.components.external.DcaeComponent" method="getUndeployPayload(${exchangeProperty[loopObject]})" /> </setBody> <setHeader headerName="CamelHttpMethod"> <constant>DELETE</constant> </setHeader> <setHeader headerName="Content-Type"> <constant>application/json</constant> </setHeader> <setHeader headerName="X-ONAP-RequestID"> <simple>${exchangeProperty[X-ONAP-RequestID]} </simple> </setHeader> <setHeader headerName="X-ONAP-InvocationID"> <simple>${exchangeProperty[X-ONAP-InvocationID]} </simple> </setHeader> <setHeader headerName="X-ONAP-PartnerName"> <simple>${exchangeProperty[X-ONAP-PartnerName]} </simple> </setHeader> <log loggingLevel="INFO" message="Endpoint to undeploy loop: {{clamp.config.dcae.deployment.url}}/dcae-deployments/${exchangeProperty[loopObject].getDcaeDeploymentId()}"></log> <toD uri="{{clamp.config.dcae.deployment.url}}/dcae-deployments/${exchangeProperty[loopObject].getDcaeDeploymentId()}?bridgeEndpoint=true&useSystemProperties=true&mapHttpMessageHeaders=false&throwExceptionOnFailure=${exchangeProperty[raiseHttpExceptionFlag]}&authUsername={{clamp.config.dcae.deployment.userName}}&authPassword={{clamp.config.dcae.deployment.password}}&connectionTimeToLive=5000&httpClient.connectTimeout=10000&httpClient.socketTimeout=300000&authenticationPreemptive=true&connectionClose=true" /> <convertBodyTo type="java.lang.String" /> <setProperty propertyName="dcaeResponse"> <method ref="org.onap.clamp.loop.components.external.DcaeComponent" method="convertDcaeResponse(${body})" /> </setProperty> <setProperty propertyName="dcaeStatusUrl"> <method ref="org.onap.clamp.loop.components.external.DcaeComponent" method="getStatusUrl(${exchangeProperty[dcaeResponse]})" /> </setProperty> <to uri="bean:org.onap.clamp.loop.LoopService?method=updateDcaeDeploymentFields(${exchangeProperty[loopObject]},${exchangeProperty[loopObject].getDcaeDeploymentId()},${exchangeProperty[dcaeStatusUrl]})" /> <doFinally> <to uri="direct:reset-raise-http-exception-flag" /> <to uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeReturnLog()" /> <setProperty propertyName="logMessage"> <simple>UNDEPLOY loop status</simple> </setProperty> <setProperty propertyName="logComponent"> <simple>DCAE</simple> </setProperty> <to uri="direct:dump-loop-log-http-response" /> </doFinally> </doTry> </when> <otherwise> <log loggingLevel="WARNING" message="Cannot Undeploy for the loop: ${exchangeProperty[loopObject].getName()}, the Deployment ID does not exist !" /> <to uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('Cannot Undeploy for the loop: ${exchangeProperty[loopObject].getName()}, the Deployment ID does not exist !','WARNING',${exchangeProperty[loopObject]})" /> </otherwise> </choice> </route> <route id="get-dcae-deployment-status"> <from uri="direct:get-dcae-deployment-status" /> <log loggingLevel="INFO" message="Getting DCAE deployment status for loop: ${exchangeProperty[loopObject].getName()}" /> <to uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeLog('DCAE', 'Getting Deployment status')" /> <doTry> <setHeader headerName="CamelHttpMethod"> <constant>GET</constant> </setHeader> <setHeader headerName="X-ONAP-RequestID"> <simple>${exchangeProperty[X-ONAP-RequestID]} </simple> </setHeader> <setHeader headerName="X-ONAP-InvocationID"> <simple>${exchangeProperty[X-ONAP-InvocationID]} </simple> </setHeader> <setHeader headerName="X-ONAP-PartnerName"> <simple>${exchangeProperty[X-ONAP-PartnerName]} </simple> </setHeader> <log loggingLevel="INFO" message="Endpoint to query Closed Loop status: ${exchangeProperty[loopObject].getDcaeDeploymentStatusUrl()}"></log> <toD uri="${exchangeProperty[loopObject].getDcaeDeploymentStatusUrl()}?bridgeEndpoint=true&useSystemProperties=true&throwExceptionOnFailure=${exchangeProperty[raiseHttpExceptionFlag]}&authMethod=Basic&authUsername={{clamp.config.dcae.deployment.userName}}&authPassword={{clamp.config.dcae.deployment.password}}&connectionTimeToLive=5000&httpClient.connectTimeout=10000&httpClient.socketTimeout=30000&authenticationPreemptive=true&connectionClose=true" /> <doFinally> <to uri="direct:reset-raise-http-exception-flag" /> <to uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeReturnLog()" /> <setProperty propertyName="logMessage"> <simple>DCAE deployment status</simple> </setProperty> <setProperty propertyName="logComponent"> <simple>DCAE</simple> </setProperty> <to uri="direct:dump-loop-log-http-response" /> </doFinally> </doTry> </route> <route id="get-dcae-blueprint-inventory"> <from uri="direct:get-dcae-blueprint-inventory" /> <log loggingLevel="INFO" message="Getting DCAE blueprint id in inventory" /> <to uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeLog('DCAE', 'Getting blueprint id in inventory')" /> <doTry> <setHeader headerName="CamelHttpMethod"> <constant>GET</constant> </setHeader> <setHeader headerName="X-ONAP-RequestID"> <simple>${exchangeProperty[X-ONAP-RequestID]} </simple> </setHeader> <setHeader headerName="X-ONAP-InvocationID"> <simple>${exchangeProperty[X-ONAP-InvocationID]} </simple> </setHeader> <setHeader headerName="X-ONAP-PartnerName"> <simple>${exchangeProperty[X-ONAP-PartnerName]} </simple> </setHeader> <log loggingLevel="INFO" message="Endpoint to query Dcae inventory Loop status: {{clamp.config.dcae.inventory.url}}/dcae-service-types?${header[CamelHttpQuery]}"></log> <toD uri="{{clamp.config.dcae.inventory.url}}/dcae-service-types?asdcResourceId=${exchangeProperty[blueprintResourceId]}&asdcServiceId=${exchangeProperty[blueprintServiceId]}&typeName=${exchangeProperty[blueprintName]}&bridgeEndpoint=true&useSystemProperties=true&throwExceptionOnFailure=${exchangeProperty[raiseHttpExceptionFlag]}&authMethod=Basic&authUsername={{clamp.config.dcae.deployment.userName}}&authPassword={{clamp.config.dcae.deployment.password}}&connectionTimeToLive=5000&httpClient.connectTimeout=10000&httpClient.socketTimeout=30000&authenticationPreemptive=true&connectionClose=true" /> <convertBodyTo type="java.lang.String" /> <doFinally> <to uri="direct:reset-raise-http-exception-flag" /> <to uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeReturnLog()" /> </doFinally> </doTry> </route> <route id="get-all-dcae-blueprint-inventory"> <from uri="direct:get-all-dcae-blueprint-inventory" /> <log loggingLevel="INFO" message="Getting all DCAE blueprint from inventory" /> <to uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeLog('DCAE', 'Getting all blueprint from inventory')" /> <doTry> <setHeader headerName="CamelHttpMethod"> <constant>GET</constant> </setHeader> <setHeader headerName="X-ONAP-RequestID"> <simple>${exchangeProperty[X-ONAP-RequestID]} </simple> </setHeader> <setHeader headerName="X-ONAP-InvocationID"> <simple>${exchangeProperty[X-ONAP-InvocationID]} </simple> </setHeader> <setHeader headerName="X-ONAP-PartnerName"> <simple>${exchangeProperty[X-ONAP-PartnerName]} </simple> </setHeader> <log loggingLevel="INFO" message="Endpoint to query Blueprints from DCAE inventory: {{clamp.config.dcae.inventory.url}}/dcae-service-types?${header[CamelHttpQuery]}"></log> <toD uri="{{clamp.config.dcae.inventory.url}}/dcae-service-types;bridgeEndpoint=true&useSystemProperties=true&throwExceptionOnFailure=${exchangeProperty[raiseHttpExceptionFlag]}&authMethod=Basic&authUsername={{clamp.config.dcae.deployment.userName}}&authPassword={{clamp.config.dcae.deployment.password}}&connectionTimeToLive=5000&httpClient.connectTimeout=10000&httpClient.socketTimeout=30000&authenticationPreemptive=true&connectionClose=true" /> <convertBodyTo type="java.lang.String" /> <setProperty propertyName="dcaeResponseList"> <method ref="org.onap.clamp.loop.components.external.DcaeComponent" method="convertToDcaeInventoryResponse(${body})" /> </setProperty> <split> <simple>${exchangeProperty[dcaeResponseList]}</simple> <convertBodyTo type="org.onap.clamp.clds.model.dcae.DcaeInventoryResponse" /> <setProperty propertyName="dcaeResponse"> <simple>${body}</simple> </setProperty> <to uri="bean:org.onap.clamp.clds.model.dcae.DcaeInventoryCache?method=addDcaeInventoryResponse(${exchangeProperty[dcaeResponse]})" /> </split> <doFinally> <to uri="direct:reset-raise-http-exception-flag" /> <to uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeReturnLog()" /> </doFinally> </doTry> </route> </routes>