aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/resources/clds/camel
diff options
context:
space:
mode:
authorsebdet <sebastien.determe@intl.att.com>2019-04-08 18:32:26 +0200
committersebdet <sebastien.determe@intl.att.com>2019-04-08 18:32:26 +0200
commit919ef9dc0a2f392868533e498897b12fe0faa321 (patch)
treef89f90164905eb593508a24248c127204bf9a6d9 /src/main/resources/clds/camel
parentef6583ce9b1d007ee6a43048f49a63067383a7ad (diff)
Create submit route
Create required components for Submit route in camel + unit tests + Policy payload generation + emulator feature for new policy api Issue-ID: CLAMP-303 Change-Id: If9033cfa3f4e346e2cbd7f891baff1f2c04a40a2 Signed-off-by: sebdet <sebastien.determe@intl.att.com>
Diffstat (limited to 'src/main/resources/clds/camel')
-rw-r--r--src/main/resources/clds/camel/rest/clamp-api-v2.xml81
-rw-r--r--src/main/resources/clds/camel/routes/flexible-flow.xml149
2 files changed, 201 insertions, 29 deletions
diff --git a/src/main/resources/clds/camel/rest/clamp-api-v2.xml b/src/main/resources/clds/camel/rest/clamp-api-v2.xml
index c17595e18..76f45881a 100644
--- a/src/main/resources/clds/camel/rest/clamp-api-v2.xml
+++ b/src/main/resources/clds/camel/rest/clamp-api-v2.xml
@@ -102,35 +102,82 @@
</setBody>
<log
loggingLevel="INFO"
- message="Loop name received: ${body}"></log>
+ message="Receive SUBMIT request for loop: ${body}" />
<to
uri="bean:org.onap.clamp.authorization.AuthorizationController?method=authorize(*,'cl','','update')" />
- <setHeader headerName="LoopObject">
- <method
- ref="org.onap.clamp.loop.LoopService"
- method="getLoop" />
- </setHeader>
- <split streaming="true">
+ <to uri="direct:load-loop" />
+ <log
+ loggingLevel="INFO"
+ message="Processing all MICRO-SERVICES policies defined in loop ${header.LoopObject.getName()}" />
+ <split>
<simple>${header.LoopObject.getMicroServicePolicies()}
</simple>
- <setHeader headerName="HttpQueryException">
+ <setHeader headerName="microServicePolicy">
+ <simple>${body}</simple>
+ </setHeader>
+ <log
+ loggingLevel="INFO"
+ message="Processing Micro Service Policy: ${header.microServicePolicy.getName()}" />
+ <setHeader headerName="HttpQueryExceptionFlag">
+ <simple resultType="java.lang.Boolean">false</simple>
+ </setHeader>
+ <to uri="direct:delete-micro-service-policy" />
+
+ <setHeader headerName="HttpQueryExceptionFlag">
+ <simple resultType="java.lang.Boolean">true</simple>
+ </setHeader>
+ <to uri="direct:create-micro-service-policy" />
+ </split>
+
+ <log
+ loggingLevel="INFO"
+ message="Processing all OPERATIONAL policies defined in loop ${header.LoopObject.getName()}" />
+ <split>
+ <simple>${header.LoopObject.getOperationalPolicies()}
+ </simple>
+ <setHeader headerName="operationalPolicy">
+ <simple>${body}</simple>
+ </setHeader>
+ <log
+ loggingLevel="INFO"
+ message="Processing Operational Policy: ${header.operationalPolicy.getName()}" />
+ <setHeader headerName="HttpQueryExceptionFlag">
<simple resultType="java.lang.Boolean">false</simple>
</setHeader>
- <to uri="direct:delete-micro-service"/>
-
- <setHeader headerName="HttpQueryException">
+ <to uri="direct:delete-operational-policy" />
+
+ <setHeader headerName="HttpQueryExceptionFlag">
<simple resultType="java.lang.Boolean">true</simple>
</setHeader>
- <setBody>
- <simple>${body.createPolicyPayload()}</simple>
- </setBody>
- <to uri="direct:create-micro-service"/>
+ <to uri="direct:create-operational-policy" />
+ <log
+ loggingLevel="INFO"
+ message="Processing all GUARD policies defined in loop ${header.LoopObject.getName()}" />
+ <split>
+ <simple>${header.operationalPolicy.createGuardPolicyPayloads().entrySet()}
+ </simple>
+ <setHeader headerName="guardPolicy">
+ <simple>${body}</simple>
+ </setHeader>
+ <log
+ loggingLevel="INFO"
+ message="Processing Guard Policy: ${header.guardPolicy.getKey()}" />
+
+ <setHeader headerName="HttpQueryExceptionFlag">
+ <simple resultType="java.lang.Boolean">false</simple>
+ </setHeader>
+ <to uri="direct:delete-guard-policy" />
+
+ <setHeader headerName="HttpQueryExceptionFlag">
+ <simple resultType="java.lang.Boolean">true</simple>
+ </setHeader>
+ <to uri="direct:create-guard-policy" />
+ </split>
</split>
</route>
</put>
- <put
- uri="/v2/loop/delete/{loopName}">
+ <put uri="/v2/loop/delete/{loopName}">
<route>
<to
uri="bean:org.onap.clamp.authorization.AuthorizationController?method=authorize(*,'cl','','update')" />
diff --git a/src/main/resources/clds/camel/routes/flexible-flow.xml b/src/main/resources/clds/camel/routes/flexible-flow.xml
index b8244990b..15a247b5d 100644
--- a/src/main/resources/clds/camel/routes/flexible-flow.xml
+++ b/src/main/resources/clds/camel/routes/flexible-flow.xml
@@ -75,43 +75,168 @@
</when>
</choice>
</route>
- <route id="delete-micro-service">
- <from uri="direct:delete-micro-service" />
+ <route id="load-loop">
+ <from uri="direct:load-loop" />
+ <setHeader headerName="LoopObject">
+ <method
+ ref="org.onap.clamp.loop.LoopService"
+ method="getLoop" />
+ </setHeader>
+
+ <when>
+ <simple>${header.LoopObject} == null</simple>
+ <setHeader headerName="CamelHttpResponseCode">
+ <constant>404</constant>
+ </setHeader>
+ <log
+ loggingLevel="WARNING"
+ 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()}" />
+ <setBody>
+ <simple>${header.microServicePolicy.createPolicyPayload()}
+ </simple>
+ </setBody>
<setHeader headerName="CamelHttpMethod">
- <constant>DELETE</constant>
+ <constant>POST</constant>
+ </setHeader>
+ <setHeader headerName="Content-Type">
+ <constant>application/json</constant>
</setHeader>
<setHeader headerName="CamelHttpUri">
- <simple>{{clamp.config.policy.url}}/policyTypes/${body.getModelType()}/versions/1.0.0/policies/${body.getName()}
+ <simple>{{clamp.config.policy.url}}/policyTypes/${header.microServicePolicy.getModelType()}/versions/1.0.0/policies
</simple>
</setHeader>
+ <log
+ loggingLevel="INFO"
+ message="Policy Endpoint for microservice: ${header.CamelHttpMethod} ${header.CamelHttpUri}"></log>
+ <toD
+ uri="http4://policyhost:8085?throwExceptionOnFailure=${header.HttpQueryExceptionFlag}" />
+ </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()}" />
<setBody>
<constant>null</constant>
</setBody>
- <!--<convertBodyTo type="org.onap.clamp.policy.microservice.MicroServicePolicy"/> -->
+ <setHeader headerName="CamelHttpMethod">
+ <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>
+ </setHeader>
<log
loggingLevel="INFO"
message="Policy Endpoint for microservice: ${header.CamelHttpMethod} ${header.CamelHttpUri}"></log>
<toD
- uri="http4://policyhost:8085?throwExceptionOnFailure=${header.HttpQueryException}" />
+ uri="http4://policyhost:8085?throwExceptionOnFailure=${header.HttpQueryExceptionFlag}&amp;deleteWithBody=false&amp;mapHttpMessageBody=false&amp;mapHttpMessageFormUrlEncodedBody=false" />
+ </route>
+
+ <route id="create-operational-policy">
+ <from uri="direct:create-operational-policy" />
+ <log
+ loggingLevel="INFO"
+ message="Creating Operational Policy: ${header.operationalPolicy.getName()}" />
+ <setBody>
+ <simple>${header.operationalPolicy.createPolicyPayload()}
+ </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}}/policyTypes/onap.policies.controloop.operational/versions/1.0.0/policies
+ </simple>
+ </setHeader>
+ <log
+ loggingLevel="INFO"
+ message="Policy Endpoint for operational ${header.CamelHttpMethod} ${header.CamelHttpUri}"></log>
+ <toD
+ uri="http4://policyhost:8085?throwExceptionOnFailure=${header.HttpQueryExceptionFlag}" />
+ </route>
+ <route id="delete-operational-policy">
+ <from uri="direct:delete-operational-policy" />
+ <log
+ loggingLevel="INFO"
+ message="Deleting Operational Policy: ${header.operationalPolicy.getName()}" />
+ <setBody>
+ <constant>null</constant>
+ </setBody>
+ <setHeader headerName="CamelHttpMethod">
+ <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>
+ </setHeader>
+ <log
+ loggingLevel="INFO"
+ message="Policy Endpoint for operational: ${header.CamelHttpMethod} ${header.CamelHttpUri}"></log>
+ <toD
+ uri="http4://policyhost:8085?throwExceptionOnFailure=${header.HttpQueryExceptionFlag}&amp;deleteWithBody=false&amp;mapHttpMessageBody=false&amp;mapHttpMessageFormUrlEncodedBody=false" />
</route>
- <route id="create-micro-service">
- <from uri="direct:create-micro-service" />
+ <route id="create-guard-policy">
+ <from uri="direct:create-guard-policy" />
+ <log
+ loggingLevel="INFO"
+ message="Creating Guard Policy: ${header.guardPolicy.getKey()}" />
+ <setBody>
+ <simple>${header.guardPolicy.getValue()}
+ </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}}/policyTypes/${body.getModelType()}/versions/1.0.0/policies
+ <simple>{{clamp.config.policy.url}}/policyTypes/onap.policies.controlloop.Guard/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>
+ message="Policy Endpoint for operational ${header.CamelHttpMethod} ${header.CamelHttpUri}"></log>
+ <toD
+ uri="http4://policyhost:8085?throwExceptionOnFailure=${header.HttpQueryExceptionFlag}" />
+ </route>
+ <route id="delete-guard-policy">
+ <from uri="direct:delete-guard-policy" />
+ <log
+ loggingLevel="INFO"
+ message="Deleting Guard Policy: ${header.guardPolicy.getKey()}" />
+ <setBody>
+ <constant>null</constant>
+ </setBody>
+ <setHeader headerName="CamelHttpMethod">
+ <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>
+ </setHeader>
+ <log
+ loggingLevel="INFO"
+ message="Policy Endpoint for operational: ${header.CamelHttpMethod} ${header.CamelHttpUri}"></log>
<toD
- uri="http4://policyhost:8085?throwExceptionOnFailure=${header.HttpQueryException}" />
+ uri="http4://policyhost:8085?throwExceptionOnFailure=${header.HttpQueryExceptionFlag}&amp;deleteWithBody=false&amp;mapHttpMessageBody=false&amp;mapHttpMessageFormUrlEncodedBody=false" />
</route>
</routes> \ No newline at end of file