<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 Loop')" />
					<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 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/deploy/{loopName}"
			outType="org.onap.clamp.loop.Loop"
			produces="application/json">
			<route>
				<removeHeaders
					pattern="*"
					excludePattern="loopName" />
				<doTry>
					<log
						loggingLevel="INFO"
						message="DCAE DEPLOY request for loop: ${header.loopName}" />
					<to
						uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=startLog(*, 'DCAE DEPLOY request')" />
					<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('DCAE DEPLOY request','INFO',${exchangeProperty[loopObject]})" />

					<to uri="direct:deploy-loop" />

					<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} - Body: ${exception.responseBody}','ERROR',${exchangeProperty[loopObject]})" />
					</doCatch>
				</doTry>
			</route>
		</put>
		<put
			uri="/v2/loop/refreshOpPolicyJsonSchema/{loopName}"
			outType="org.onap.clamp.loop.Loop"
			produces="application/json">
			<route>
				<removeHeaders
					pattern="*"
					excludePattern="loopName" />
				<doTry>
					<log
						loggingLevel="INFO"
						message="Refresh Operational Policy UI for loop: ${header.loopName}" />
					<to
						uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=startLog(*, 'REFRESH OP Policy UI request')" />
					<to
						uri="bean:org.onap.clamp.authorization.AuthorizationController?method=authorize(*,'cl','','update')" />
					<to uri="direct:load-loop" />
					<to
						uri="bean:org.onap.clamp.loop.LoopController?method=refreshOpPolicyJsonRepresentation(${header.loopName})" />
					<log
						loggingLevel="INFO"
						message="REFRESH request successfully executed for loop: ${header.loopName}" />
					<to
						uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('REFRESH 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="REFRESH request failed for loop: ${header.loopName}" />
						<to
							uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('REFRESH request failed, Error reported: ${exception} - Body: ${exception.responseBody}','ERROR',${exchangeProperty[loopObject]})" />
					</doCatch>
				</doTry>
			</route>
		</put>
		<put
			uri="/v2/loop/undeploy/{loopName}"
			outType="org.onap.clamp.loop.Loop"
			produces="application/json">
			<route>
				<removeHeaders
					pattern="*"
					excludePattern="loopName" />
				<doTry>
					<log
						loggingLevel="INFO"
						message="DCAE UNDEPLOY request for loop: ${header.loopName}" />
					<to
						uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=startLog(*, 'DCAE UNDEPLOY request')" />
					<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('DCAE UNDEPLOY request','INFO',${exchangeProperty[loopObject]})" />
					<to uri="direct:undeploy-loop" />

					<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} - Body: ${exception.responseBody}','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="STOP request for loop: ${header.loopName}" />
					<to
						uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=startLog(*,'STOP request')" />
					<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('STOP request','INFO',${exchangeProperty[loopObject]})" />

					<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} - Body: ${exception.responseBody}','ERROR',${exchangeProperty[loopObject]})" />
					</doCatch>
				</doTry>
			</route>
		</put>
		<put
			uri="/v2/loop/restart/{loopName}"
			outType="org.onap.clamp.loop.Loop"
			produces="application/json">
			<route>
				<removeHeaders
					pattern="*"
					excludePattern="loopName" />
				<doTry>
					<log
						loggingLevel="INFO"
						message="RESTART request for loop: ${header.loopName}" />
					<to
						uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=startLog(*,'RESTART request')" />
					<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('RESTART request','INFO',${exchangeProperty[loopObject]})" />

					<to uri="direct:add-all-to-active-pdp-group" />
					<log
						loggingLevel="INFO"
						message="RESTART request successfully executed for loop: ${header.loopName}" />
					<to
						uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('RESTART 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="RESTART request failed for loop: ${header.loopName}" />
						<to
							uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('RESTART request failed, Error reported: ${exception} - Body: ${exception.responseBody}','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="POLICY SUBMIT request for loop: ${header.loopName}" />
					<to
						uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=startLog(*, 'POLICY SUBMIT request')" />
					<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('POLICY 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>

					<delay>
						<constant>3000</constant>
					</delay>

					<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} - Body: ${exception.responseBody}','ERROR',${exchangeProperty[loopObject]})" />
					</doCatch>
				</doTry>
			</route>
		</put>
		<put uri="/v2/loop/delete/{loopName}">
			<route>
				<removeHeaders
					pattern="*"
					excludePattern="loopName" />
				<doTry>
					<log
						loggingLevel="INFO"
						message="DELETE request for loop: ${header.loopName}" />
					<to
						uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=startLog(*,'DELETE request')" />
					<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('DELETE request','INFO',${exchangeProperty[loopObject]})" />
					<to uri="direct:undeploy-loop" />
					<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} - Body: ${exception.responseBody}','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 STATUS request for loop: ${header.loopName}" />
					<to
						uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=startLog(*, 'GET STATUS request')" />
					<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('GET STATUS request','INFO',${exchangeProperty[loopObject]})" />
					<doTry>
						<to uri="direct:update-policy-status-for-loop" />
						<to uri="direct:update-dcae-status-for-loop" />
						<to uri="direct:update-loop-state" />

						<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()" />
					</doTry>
					<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} - Body: ${exception.responseBody}','ERROR',${exchangeProperty[loopObject]})" />
					</doCatch>
					<doFinally>
						<setBody>
							<simple>${exchangeProperty[loopObject]}</simple>
						</setBody>
					</doFinally>
				</doTry>
			</route>
		</get>
	</rest>
</rests>