diff options
author | sebdet <sebastien.determe@intl.att.com> | 2019-04-08 18:32:26 +0200 |
---|---|---|
committer | sebdet <sebastien.determe@intl.att.com> | 2019-04-08 18:32:26 +0200 |
commit | 919ef9dc0a2f392868533e498897b12fe0faa321 (patch) | |
tree | f89f90164905eb593508a24248c127204bf9a6d9 /src/main/resources/clds/camel | |
parent | ef6583ce9b1d007ee6a43048f49a63067383a7ad (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.xml | 81 | ||||
-rw-r--r-- | src/main/resources/clds/camel/routes/flexible-flow.xml | 149 |
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}&deleteWithBody=false&mapHttpMessageBody=false&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}&deleteWithBody=false&mapHttpMessageBody=false&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}&deleteWithBody=false&mapHttpMessageBody=false&mapHttpMessageFormUrlEncodedBody=false" /> </route> </routes>
\ No newline at end of file |