<rests xmlns="http://camel.apache.org/schema/spring"> <rest> <get uri="/v2/loop/getAllNames" outType="java.lang.String[]" produces="application/json"> <route> <removeHeaders pattern="*" /> <doTry> <to uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=startLog(*, 'Get All ClosedLoop')" /> <to uri="bean:org.onap.clamp.authorization.AuthorizationController?method=authorize(*,'cl','','read')" /> <to uri="bean:org.onap.clamp.loop.LoopController?method=getLoopNames()" /> <to uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=endLog()" /> <doCatch> <exception>java.lang.Exception</exception> <handled> <constant>false</constant> </handled> <to uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=errorLog()" /> </doCatch> </doTry> </route> </get> <get uri="/v2/loop/{loopName}" outType="org.onap.clamp.loop.Loop" produces="application/json"> <route> <removeHeaders pattern="*" excludePattern="loopName" /> <doTry> <to uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=startLog(*, 'Get Closed Loop')" /> <to uri="bean:org.onap.clamp.authorization.AuthorizationController?method=authorize(*,'cl','','read')" /> <to uri="bean:org.onap.clamp.loop.LoopController?method=getLoop(${header.loopName})" /> <to uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=endLog()" /> <doCatch> <exception>java.lang.Exception</exception> <handled> <constant>false</constant> </handled> <to uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=errorLog()" /> </doCatch> </doTry> </route> </get> <get uri="/v2/loop/svgRepresentation/{loopName}" outType="java.lang.String" produces="application/xml"> <route> <removeHeaders pattern="*" excludePattern="loopName" /> <doTry> <to uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=startLog(*, 'Get SVG Representation')" /> <to uri="bean:org.onap.clamp.authorization.AuthorizationController?method=authorize(*,'cl','','read')" /> <to uri="bean:org.onap.clamp.loop.LoopController?method=getSVGRepresentation(${header.loopName})" /> <to uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=endLog()" /> <doCatch> <exception>java.lang.Exception</exception> <handled> <constant>false</constant> </handled> <to uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=errorLog()" /> </doCatch> </doTry> </route> </get> <post uri="/v2/loop/updateGlobalProperties/{loopName}" type="com.google.gson.JsonObject" consumes="application/json" outType="org.onap.clamp.loop.Loop" produces="application/json"> <route> <removeHeaders pattern="*" excludePattern="loopName" /> <doTry> <to uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=startLog(*, 'Update the global properties')" /> <to uri="bean:org.onap.clamp.authorization.AuthorizationController?method=authorize(*,'cl','','update')" /> <setHeader headerName="GlobalPropertiesJson"> <simple>${body}</simple> </setHeader> <to uri="direct:load-loop" /> <to uri="bean:org.onap.clamp.loop.LoopController?method=updateGlobalPropertiesJson(${header.loopName},${header.GlobalPropertiesJson})" /> <to uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('Global Properties UPDATED','INFO',${exchangeProperty[loopObject]})" /> <to uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=endLog()" /> <doCatch> <exception>java.lang.Exception</exception> <handled> <constant>false</constant> </handled> <to uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=errorLog()" /> </doCatch> </doTry> </route> </post> <post uri="/v2/loop/updateOperationalPolicies/{loopName}" type="com.google.gson.JsonArray" consumes="application/json" outType="org.onap.clamp.loop.Loop" produces="application/json"> <route> <removeHeaders pattern="*" excludePattern="loopName" /> <doTry> <to uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=startLog(*, 'Update operational policies')" /> <to uri="bean:org.onap.clamp.authorization.AuthorizationController?method=authorize(*,'cl','','update')" /> <setHeader headerName="OperationalPoliciesArray"> <simple>${body}</simple> </setHeader> <to uri="direct:load-loop" /> <to uri="bean:org.onap.clamp.loop.LoopController?method=updateOperationalPolicies(${header.loopName},${header.OperationalPoliciesArray})" /> <to uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('Operational and Guard policies UPDATED','INFO',${exchangeProperty[loopObject]})" /> <to uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=endLog()" /> <doCatch> <exception>java.lang.Exception</exception> <handled> <constant>false</constant> </handled> <to uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=errorLog()" /> </doCatch> </doTry> </route> </post> <post uri="/v2/loop/updateMicroservicePolicy/{loopName}" type="org.onap.clamp.policy.microservice.MicroServicePolicy" consumes="application/json" outType="org.onap.clamp.policy.microservice.MicroServicePolicy" produces="application/json"> <route> <removeHeaders pattern="*" excludePattern="loopName" /> <doTry> <to uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=startLog(*, 'Update Microservice policies')" /> <to uri="bean:org.onap.clamp.authorization.AuthorizationController?method=authorize(*,'cl','','update')" /> <setProperty propertyName="MicroServicePolicyObject"> <simple>${body}</simple> </setProperty> <to uri="direct:load-loop" /> <to uri="bean:org.onap.clamp.loop.LoopController?method=updateMicroservicePolicy(${header.loopName},${exchangeProperty[MicroServicePolicyObject]})" /> <to uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('Micro Service policies UPDATED','INFO',${exchangeProperty[loopObject]})" /> <to uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=endLog()" /> <doCatch> <exception>java.lang.Exception</exception> <handled> <constant>false</constant> </handled> <to uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=errorLog()" /> </doCatch> </doTry> </route> </post> <put uri="/v2/loop/deployLoop/{loopName}" outType="org.onap.clamp.loop.Loop" produces="application/json"> <route> <removeHeaders pattern="*" excludePattern="loopName" /> <doTry> <to uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=startLog(*, 'DEPLOY the closed loop')" /> <to uri="bean:org.onap.clamp.authorization.AuthorizationController?method=authorize(*,'cl','','update')" /> <to uri="direct:load-loop" /> <to uri="direct:get-status-from-policy" /> <to uri="direct:get-status-from-dcae" /> <log loggingLevel="INFO" message="Policy deployment status: ${exchangeProperty[policyStatus]}"></log> <choice> <when> <simple> ${exchangeProperty[policyStatus]} == 'SUBMITTED' and ${exchangeProperty[dcaeStatus]} == 'NOT_DEPLOYED' </simple> <to uri="direct:deploy-loop" /> </when> <otherwise> <log loggingLevel="INFO" message="Closed Loop is in state ${exchangeProperty[policyStatus]}, it can only be deployed when in state SUBMIT" /> <to uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('Closed Loop is in state ${exchangeProperty[policyStatus]}, it can only be deployed when in state SUBMIT','ERROR',${exchangeProperty[loopObject]})" /> </otherwise> </choice> <log loggingLevel="INFO" message="DEPLOY request successfully executed for loop: ${header.loopName}" /> <to uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('DEPLOY request successfully executed','INFO',${exchangeProperty[loopObject]})" /> <to uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=endLog()" /> <doCatch> <exception>java.lang.Exception</exception> <handled> <constant>false</constant> </handled> <to uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=errorLog()" /> <log loggingLevel="ERROR" message="DEPLOY request failed for loop: ${header.loopName}" /> <to uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('DEPLOY request failed, Error reported: ${exception}','ERROR',${exchangeProperty[loopObject]})" /> </doCatch> </doTry> </route> </put> <put uri="/v2/loop/undeployLoop/{loopName}" outType="org.onap.clamp.loop.Loop" produces="application/json"> <route> <removeHeaders pattern="*" excludePattern="loopName" /> <doTry> <to uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=startLog(*, 'Undeploy the closed loop')" /> <to uri="bean:org.onap.clamp.authorization.AuthorizationController?method=authorize(*,'cl','','update')" /> <to uri="direct:load-loop" /> <to uri="direct:get-status-from-dcae" /> <choice> <when> <simple> ${exchangeProperty[dcaeStatus]} == 'DEPLOYED' </simple> <to uri="direct:undeploy-loop" /> </when> <otherwise> <log loggingLevel="INFO" message="Closed Loop is in state ${exchangeProperty[dcaeStatus]}, it can only be undeployed when in state DEPLOYED" /> <to uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('Closed Loop is in state ${exchangeProperty[dcaeStatus]}, it can only be deployed when in state DEPLOYED','ERROR',${exchangeProperty[loopObject]})" /> </otherwise> </choice> <log loggingLevel="INFO" message="UNDEPLOY request successfully executed for loop: ${header.loopName}" /> <to uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('UNDEPLOY request successfully executed','INFO',${exchangeProperty[loopObject]})" /> <to uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=endLog()" /> <doCatch> <exception>java.lang.Exception</exception> <handled> <constant>false</constant> </handled> <to uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=errorLog()" /> <log loggingLevel="ERROR" message="UNDEPLOY request failed for loop: ${header.loopName}" /> <to uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('UNDEPLOY request failed, Error reported: ${exception}','ERROR',${exchangeProperty[loopObject]})" /> </doCatch> </doTry> </route> </put> <put uri="/v2/loop/stop/{loopName}" outType="org.onap.clamp.loop.Loop" produces="application/json"> <route> <removeHeaders pattern="*" excludePattern="loopName" /> <doTry> <log loggingLevel="INFO" message="Receive STOP request for loop: ${header.loopName}" /> <to uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=startLog('Stop the closed loop')" /> <to uri="bean:org.onap.clamp.authorization.AuthorizationController?method=authorize(*,'cl','','update')" /> <to uri="direct:load-loop" /> <to uri="direct:remove-all-policy-from-active-pdp-group" /> <log loggingLevel="INFO" message="STOP request successfully executed for loop: ${header.loopName}" /> <to uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('STOP request successfully executed','INFO',${exchangeProperty[loopObject]})" /> <to uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=endLog()" /> <doCatch> <exception>java.lang.Exception</exception> <handled> <constant>false</constant> </handled> <to uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=errorLog()" /> <log loggingLevel="ERROR" message="STOP request failed for loop: $${header.loopName}" /> <to uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('STOP request failed, Error reported: ${exception}','ERROR',${exchangeProperty[loopObject]})" /> </doCatch> </doTry> </route> </put> <put uri="/v2/loop/start/{loopName}" outType="org.onap.clamp.loop.Loop" produces="application/json"> <route> <removeHeaders pattern="*" excludePattern="loopName" /> <doTry> <log loggingLevel="INFO" message="Receive START request for loop: ${header.loopName}" /> <to uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=startLog('Start the closed loop')" /> <to uri="bean:org.onap.clamp.authorization.AuthorizationController?method=authorize(*,'cl','','update')" /> <to uri="direct:load-loop" /> <to uri="direct:add-all-to-active-pdp-group" /> <log loggingLevel="INFO" message="START request successfully executed for loop: ${header.loopName}" /> <to uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('START request successfully executed','INFO',${exchangeProperty[loopObject]})" /> <to uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=endLog()" /> <doCatch> <exception>java.lang.Exception</exception> <handled> <constant>false</constant> </handled> <to uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=errorLog()" /> <log loggingLevel="ERROR" message="START request failed for loop: ${header.loopName}" /> <to uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('START request failed, Error reported: ${exception}','INFO',${exchangeProperty[loopObject]})" /> </doCatch> </doTry> </route> </put> <put uri="/v2/loop/submit/{loopName}" outType="org.onap.clamp.loop.Loop" produces="application/json"> <route> <removeHeaders pattern="*" excludePattern="loopName" /> <doTry> <log loggingLevel="INFO" message="Receive SUBMIT request for loop: ${header.loopName}" /> <to uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=startLog(*, 'Submit the closed loop')" /> <to uri="bean:org.onap.clamp.authorization.AuthorizationController?method=authorize(*,'cl','','update')" /> <to uri="direct:load-loop" /> <to uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('Receive SUBMIT request','INFO',${exchangeProperty[loopObject]})" /> <setProperty propertyName="raiseHttpExceptionFlag"> <simple resultType="java.lang.Boolean">false</simple> </setProperty> <to uri="direct:remove-all-policy-from-active-pdp-group" /> <log loggingLevel="INFO" message="Processing all MICRO-SERVICES policies defined in loop ${exchangeProperty[loopObject].getName()}" /> <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> <to uri="direct:delete-micro-service-policy" /> <to uri="direct:create-micro-service-policy" /> </split> <log loggingLevel="INFO" message="Processing all OPERATIONAL policies defined in loop ${exchangeProperty[loopObject].getName()}" /> <split> <simple>${exchangeProperty[loopObject].getOperationalPolicies()} </simple> <setProperty propertyName="operationalPolicy"> <simple>${body}</simple> </setProperty> <log loggingLevel="INFO" message="Processing Operational Policy: ${exchangeProperty[operationalPolicy].getName()}" /> <setProperty propertyName="raiseHttpExceptionFlag"> <simple resultType="java.lang.Boolean">false</simple> </setProperty> <to uri="direct:delete-operational-policy" /> <to uri="direct:create-operational-policy" /> <log loggingLevel="INFO" message="Processing all GUARD policies defined in loop ${exchangeProperty[loopObject].getName()}" /> <split> <simple>${exchangeProperty[operationalPolicy].createGuardPolicyPayloads().entrySet()} </simple> <setProperty propertyName="guardPolicy"> <simple>${body}</simple> </setProperty> <log loggingLevel="INFO" message="Processing Guard Policy: ${exchangeProperty[guardPolicy].getKey()}" /> <setProperty propertyName="raiseHttpExceptionFlag"> <simple resultType="java.lang.Boolean">false</simple> </setProperty> <to uri="direct:delete-guard-policy" /> <to uri="direct:create-guard-policy" /> </split> </split> <to uri="direct:add-all-to-active-pdp-group" /> <log loggingLevel="INFO" message="SUBMIT request successfully executed for loop: ${header.loopName}" /> <to uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('SUBMIT request successfully executed','INFO',${exchangeProperty[loopObject]})" /> <to uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=endLog()" /> <doCatch> <exception>java.lang.Exception</exception> <handled> <constant>false</constant> </handled> <to uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=errorLog()" /> <log loggingLevel="ERROR" message="SUBMIT request failed for loop: ${header.loopName}" /> <to uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('SUBMIT request failed, Error reported: ${exception}','ERROR',${exchangeProperty[loopObject]})" /> </doCatch> </doTry> </route> </put> <put uri="/v2/loop/delete/{loopName}"> <route> <removeHeaders pattern="*" excludePattern="loopName" /> <doTry> <log loggingLevel="INFO" message="Receive DELETE request for loop: ${header.loopName}" /> <to uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=startLog('Delete the closed loop')" /> <to uri="bean:org.onap.clamp.authorization.AuthorizationController?method=authorize(*,'cl','','update')" /> <to uri="direct:load-loop" /> <to uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('Receive DELETE request','INFO',${exchangeProperty[loopObject]})" /> <to uri="direct:remove-all-policy-from-active-pdp-group" /> <split> <simple>${exchangeProperty[loopObject].getMicroServicePolicies()} </simple> <setProperty propertyName="microServicePolicy"> <simple>${body}</simple> </setProperty> <log loggingLevel="INFO" message="Processing Micro Service Policy: ${exchangeProperty[microServicePolicy].getName()}" /> <to uri="direct:delete-micro-service-policy" /> </split> <log loggingLevel="INFO" message="Processing all OPERATIONAL policies defined in loop ${exchangeProperty[loopObject].getName()}" /> <split> <simple>${exchangeProperty[loopObject].getOperationalPolicies()} </simple> <setProperty propertyName="operationalPolicy"> <simple>${body}</simple> </setProperty> <log loggingLevel="INFO" message="Processing Operational Policy: ${exchangeProperty[operationalPolicy].getName()}" /> <to uri="direct:delete-operational-policy" /> <log loggingLevel="INFO" message="Processing all GUARD policies defined in loop ${exchangeProperty[loopObject].getName()}" /> <split> <simple>${exchangeProperty[operationalPolicy].createGuardPolicyPayloads().entrySet()} </simple> <setProperty propertyName="guardPolicy"> <simple>${body}</simple> </setProperty> <log loggingLevel="INFO" message="Processing Guard Policy: ${exchangeProperty[guardPolicy].getKey()}" /> <to uri="direct:delete-guard-policy" /> </split> </split> <to uri="bean:org.onap.clamp.loop.log.LoopService?method=deleteLoop(${header.loopName})" /> <log loggingLevel="INFO" message="DELETE request successfully executed for loop: ${header.loopName}" /> <to uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('DELETE request successfully executed','INFO',${exchangeProperty[loopObject]})" /> <to uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=endLog()" /> <doCatch> <exception>java.lang.Exception</exception> <handled> <constant>false</constant> </handled> <to uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=errorLog()" /> <log loggingLevel="ERROR" message="DELETE request failed for loop: ${header.loopName}" /> <to uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('DELETE request failed, Error reported: ${exception}','ERROR',${exchangeProperty[loopObject]})" /> </doCatch> </doTry> </route> </put> <get uri="/v2/loop/getstatus/{loopName}" outType="org.onap.clamp.loop.Loop" produces="application/json"> <route> <removeHeaders pattern="*" excludePattern="loopName" /> <doTry> <log loggingLevel="INFO" message="Get current status for loop: ${header.loopName}" /> <to uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=startLog(*, 'Get the closed loop status')" /> <to uri="bean:org.onap.clamp.authorization.AuthorizationController?method=authorize(*,'cl','','read')" /> <to uri="direct:load-loop" /> <to uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('Receive GET STATUS request','INFO',${exchangeProperty[loopObject]})" /> <setProperty propertyName="raiseHttpExceptionFlag"> <simple resultType="java.lang.Boolean">false</simple> </setProperty> <to uri="direct:get-status-from-policy" /> <to uri="direct:get-status-from-dcae" /> <to uri="bean:org.onap.clamp.loop.LoopOperation?method=updateLoopStatus(${exchangeProperty[loopObject]},${exchangeProperty[policyStatus]}, ${exchangeProperty[dcaeStatus]})" /> <log loggingLevel="INFO" message="Get Status request successfully executed. The new state is: ${body}" /> <to uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('Get Status request successfully executed','INFO',${exchangeProperty[loopObject]})" /> <to uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=endLog()" /> <doCatch> <exception>java.lang.Exception</exception> <handled> <constant>false</constant> </handled> <to uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=errorLog()" /> <log loggingLevel="ERROR" message="Get Status request failed for loop: ${header.loopName}" /> <to uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('Get Status request failed, Error reported: ${exception}','ERROR',${exchangeProperty[loopObject]})" /> </doCatch> <doFinally> <to uri="bean:org.onap.clamp.loop.LoopController?method=getLoop(${header.loopName})" /> </doFinally> </doTry> </route> </get> </rest> </rests>