Fix the new tosca converter
Fix the metadata section analysis and make the tosca parser more configurable (in applications.properties)
Issue-ID: CLAMP-580
Signed-off-by: sebdet <sebastien.determe@intl.att.com>
Change-Id: I9068bd9dc89861c640660a7f78fae2cb70bdc178
Signed-off-by: sebdet <sebastien.determe@intl.att.com>
diff --git a/src/test/resources/application.properties b/src/test/resources/application.properties
index 0e45353..ea17836 100644
--- a/src/test/resources/application.properties
+++ b/src/test/resources/application.properties
@@ -168,4 +168,6 @@
clamp.config.cds.password=ccsdkapps
## Tosca converter
-clamp.config.tosca.converter.templates=classpath:/clds/tosca_updates/templates.json
\ No newline at end of file
+clamp.config.tosca.converter.json.schema.templates=classpath:/clds/tosca-converter/templates.json
+clamp.config.tosca.converter.default.datatypes=classpath:/clds/tosca-converter/default-tosca-types.yaml
+clamp.config.tosca.converter.dictionary.support.enabled=true
\ No newline at end of file
diff --git a/src/test/resources/clds/camel/rest/clamp-api-v2.xml b/src/test/resources/clds/camel/rest/clamp-api-v2.xml
deleted file mode 100644
index b0a8d2f..0000000
--- a/src/test/resources/clds/camel/rest/clamp-api-v2.xml
+++ /dev/null
@@ -1,984 +0,0 @@
-<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>
-
- <get uri="/v2/dictionary"
- outType="org.onap.clamp.tosca.Dictionary" produces="application/json">
- <route>
- <removeHeaders pattern="*" />
- <doTry>
- <to
- uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=startLog(*, 'GET ALL Dictionaries')" />
- <to
- uri="bean:org.onap.clamp.authorization.AuthorizationController?method=authorize(*,'tosca','','read')" />
- <to
- uri="bean:org.onap.clamp.tosca.DictionaryService?method=getAllDictionaries()" />
- <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/dictionary/secondary/names"
- outType="java.lang.String[]" produces="application/json">
- <route>
- <removeHeaders pattern="*" />
- <doTry>
- <to
- uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=startLog(*, 'GET ALL Secondary Dictionary Level Names')" />
- <to
- uri="bean:org.onap.clamp.authorization.AuthorizationController?method=authorize(*,'tosca','','read')" />
- <to
- uri="bean:org.onap.clamp.tosca.DictionaryService?method=getAllSecondaryLevelDictionaryNames()" />
- <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/dictionary/{dictionaryName}"
- outType="org.onap.clamp.tosca.Dictionary" produces="application/json">
- <route>
- <removeHeaders pattern="*"
- excludePattern="dictionaryName" />
- <doTry>
- <to
- uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=startLog(*, 'GET ALL Dictionary Elements for a Dictionary Name')" />
- <to
- uri="bean:org.onap.clamp.authorization.AuthorizationController?method=authorize(*,'tosca','','read')" />
- <to
- uri="bean:org.onap.clamp.tosca.DictionaryService?method=getDictionary(${header.dictionaryName})" />
- <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>
- <put uri="/v2/dictionary" type="org.onap.clamp.tosca.Dictionary"
- outType="org.onap.clamp.tosca.Dictionary" consumes="application/json"
- produces="application/json">
- <route>
- <doTry>
- <to
- uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=startLog(*, 'Add New or Update Dictionary')" />
- <to
- uri="bean:org.onap.clamp.authorization.AuthorizationController?method=authorize(*,'tosca','','update')" />
- <setProperty propertyName="DictionaryObject">
- <simple>${body}</simple>
- </setProperty>
- <to
- uri="bean:org.onap.clamp.tosca.DictionaryService?method=saveOrUpdateDictionary(${exchangeProperty[DictionaryObject]})" />
- <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>
- </put>
-
- <put uri="/v2/dictionary/{name}"
- type="org.onap.clamp.tosca.Dictionary"
- outType="org.onap.clamp.tosca.Dictionary" consumes="application/json"
- produces="application/json">
- <route>
- <removeHeaders pattern="*" excludePattern="name" />
- <doTry>
- <to
- uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=startLog(*, 'Add New or Update Dictionary Element')" />
- <to
- uri="bean:org.onap.clamp.authorization.AuthorizationController?method=authorize(*,'tosca','','update')" />
- <setProperty propertyName="DictionaryObject">
- <simple>${body}</simple>
- </setProperty>
- <to
- uri="bean:org.onap.clamp.tosca.DictionaryService?method=saveOrUpdateDictionaryElement(${header.name}, ${exchangeProperty[DictionaryObject]})" />
- <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>
- </put>
-
- <delete uri="/v2/dictionary/{name}" produces="application/json">
- <route>
- <removeHeaders pattern="*" excludePattern="name" />
- <doTry>
- <to
- uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=startLog(*, 'Delete Dictionary')" />
- <to
- uri="bean:org.onap.clamp.authorization.AuthorizationController?method=authorize(*,'tosca','','update')" />
- <to
- uri="bean:org.onap.clamp.tosca.DictionaryService?method=deleteDictionary(${header.name})" />
- <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>
- </delete>
-
- <delete uri="/v2/dictionary/{name}/elements/{shortName}"
- produces="application/json">
- <route>
- <removeHeaders pattern="*"
- excludePattern="name|shortName" />
- <doTry>
- <to
- uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=startLog(*, 'Delete Dictionary Element')" />
- <to
- uri="bean:org.onap.clamp.authorization.AuthorizationController?method=authorize(*,'tosca','','update')" />
- <to
- uri="bean:org.onap.clamp.tosca.DictionaryService?method=deleteDictionaryElement(${header.name}, ${header.shortName})" />
- <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>
- </delete>
-
- <get uri="/v2/policyToscaModels"
- outType="org.onap.clamp.loop.template.PolicyModel"
- produces="application/json">
- <route>
- <removeHeaders pattern="*" />
- <doTry>
- <to
- uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=startLog(*, 'GET ALL Tosca Policy Models')" />
- <to
- uri="bean:org.onap.clamp.authorization.AuthorizationController?method=authorize(*,'tosca','','read')" />
- <to
- uri="bean:org.onap.clamp.loop.template.PolicyModelsService?method=getAllPolicyModels()" />
- <to
- uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=endLog()" />
- <doCatch>
- <exception>java.lang.Exception</exception>
- <handled>
- <constant>true</constant>
- </handled>
- <setHeader headerName="CamelHttpResponseCode">
- <constant>500</constant>
- </setHeader>
- <transform>
- <simple>ERROR: ${exception.message}</simple>
- </transform>
- <to
- uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=errorLog()" />
- </doCatch>
- </doTry>
- </route>
- </get>
- <get uri="/v2/policyToscaModels/{policyModelType}"
- outType="org.onap.clamp.loop.template.PolicyModel"
- produces="application/json">
- <route>
- <removeHeaders pattern="*"
- excludePattern="policyModelType" />
- <doTry>
- <to
- uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=startLog(*, 'GET Tosca Policy Model by Name')" />
- <to
- uri="bean:org.onap.clamp.authorization.AuthorizationController?method=authorize(*,'tosca','','read')" />
- <to
- uri="bean:org.onap.clamp.loop.template.PolicyModelsService?method=getPolicyModelByType(${header.policyModelType})" />
- <to
- uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=endLog()" />
- <doCatch>
- <exception>java.lang.Exception</exception>
- <handled>
- <constant>true</constant>
- </handled>
- <setHeader headerName="CamelHttpResponseCode">
- <constant>500</constant>
- </setHeader>
- <transform>
- <simple>ERROR: ${exception.message}</simple>
- </transform>
- <to
- uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=errorLog()" />
- </doCatch>
- </doTry>
- </route>
- </get>
- <get uri="/v2/policyToscaModels/yaml/{policyModelType}"
- outType="java.lang.String" produces="application/json">
- <route>
- <removeHeaders pattern="*"
- excludePattern="policyModelType" />
- <doTry>
- <to
- uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=startLog(*, 'GET Tosca Policy Model Yaml String by Name')" />
- <to
- uri="bean:org.onap.clamp.authorization.AuthorizationController?method=authorize(*,'tosca','','read')" />
- <to
- uri="bean:org.onap.clamp.loop.template.PolicyModelsService?method=getPolicyModelTosca(${header.policyModelType})" />
- <to
- uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=endLog()" />
- <doCatch>
- <exception>java.lang.Exception</exception>
- <handled>
- <constant>true</constant>
- </handled>
- <setHeader headerName="CamelHttpResponseCode">
- <constant>500</constant>
- </setHeader>
- <transform>
- <simple>ERROR: ${exception.message}</simple>
- </transform>
- <to
- uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=errorLog()" />
- </doCatch>
- </doTry>
- </route>
- </get>
-
- <put uri="/v2/policyToscaModels/{policyModelType}"
- type="java.lang.String"
- outType="org.onap.clamp.loop.template.PolicyModel"
- consumes="plain/text" produces="application/json">
- <route>
- <removeHeaders pattern="*"
- excludePattern="policyModelType" />
- <doTry>
- <to
- uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=startLog(*, 'Upload New or Update Tosca Policy Model')" />
- <to
- uri="bean:org.onap.clamp.authorization.AuthorizationController?method=authorize(*,'tosca','','update')" />
- <setProperty propertyName="PolicyModelObject">
- <simple>${body}</simple>
- </setProperty>
- <to
- uri="bean:org.onap.clamp.loop.template.PolicyModelsService?method=saveOrUpdateByPolicyModelType(${header.policyModelType},${exchangeProperty[PolicyModelObject]})" />
- <to
- uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=endLog()" />
- <doCatch>
- <exception>java.lang.Exception</exception>
- <handled>
- <constant>true</constant>
- </handled>
- <setHeader headerName="CamelHttpResponseCode">
- <constant>404</constant>
- </setHeader>
- <transform>
- <simple>ERROR: ${exception.message}</simple>
- </transform>
- <to
- uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=errorLog()" />
- </doCatch>
- </doTry>
- </route>
- </put>
-
-
- <get uri="/v2/templates"
- outType="org.onap.clamp.loop.template.LoopTemplate"
- produces="application/json">
- <route>
- <removeHeaders pattern="*" />
- <doTry>
- <to
- uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=startLog(*, 'GET ALL Templates')" />
- <to
- uri="bean:org.onap.clamp.authorization.AuthorizationController?method=authorize(*,'template','','read')" />
- <to
- uri="bean:org.onap.clamp.loop.template.LoopTemplatesService?method=getAllLoopTemplates()" />
- <to
- uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=endLog()" />
- <doCatch>
- <exception>java.lang.Exception</exception>
- <handled>
- <constant>true</constant>
- </handled>
- <setHeader headerName="CamelHttpResponseCode">
- <constant>500</constant>
- </setHeader>
- <transform>
- <simple>ERROR: ${exception.message}</simple>
- </transform>
- <to
- uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=errorLog()" />
- </doCatch>
- </doTry>
- </route>
- </get>
- <get uri="/v2/templates/{templateName}"
- outType="org.onap.clamp.loop.template.LoopTemplate"
- produces="application/json">
- <route>
- <removeHeaders pattern="*"
- excludePattern="templateName" />
- <doTry>
- <to
- uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=startLog(*, 'GET a Template by NAME')" />
- <to
- uri="bean:org.onap.clamp.authorization.AuthorizationController?method=authorize(*,'template','','read')" />
- <to
- uri="bean:org.onap.clamp.loop.template.LoopTemplatesService?method=getLoopTemplate(${header.templateName})" />
- <to
- uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=endLog()" />
- <doCatch>
- <exception>java.lang.Exception</exception>
- <handled>
- <constant>true</constant>
- </handled>
- <setHeader headerName="CamelHttpResponseCode">
- <constant>500</constant>
- </setHeader>
- <transform>
- <simple>ERROR: ${exception.message}</simple>
- </transform>
- <to
- uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=errorLog()" />
- </doCatch>
- </doTry>
- </route>
- </get>
- <get uri="/v2/templates/names" 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 Template Names')" />
- <to
- uri="bean:org.onap.clamp.authorization.AuthorizationController?method=authorize(*,'template','','read')" />
- <to
- uri="bean:org.onap.clamp.loop.template.LoopTemplatesService?method=getLoopTemplateNames()" />
- <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>
- </rest>
-</rests>
diff --git "a/src/test/resources/http-cache/example/policy/api/v1/policytypes/onap.policies.controlloop.operational.common.Apex/versions/1.0.0&\04363;connectionTimeToLive=5000/.file" "b/src/test/resources/http-cache/example/policy/api/v1/policytypes/onap.policies.controlloop.operational.common.Apex/versions/1.0.0&\04363;connectionTimeToLive=5000/.file"
index 44f5587..64ba559 100644
--- "a/src/test/resources/http-cache/example/policy/api/v1/policytypes/onap.policies.controlloop.operational.common.Apex/versions/1.0.0&\04363;connectionTimeToLive=5000/.file"
+++ "b/src/test/resources/http-cache/example/policy/api/v1/policytypes/onap.policies.controlloop.operational.common.Apex/versions/1.0.0&\04363;connectionTimeToLive=5000/.file"
@@ -91,7 +91,7 @@
description: The resource the operation should be performed on.
required: true
metadata:
- clamp_possible_values: <string:see clamp project for syntax>
+ clamp_possible_values: test
payload:
type: map
description: Name/value pairs of payload information passed by Policy to the actor
@@ -116,7 +116,7 @@
description: The definition of the operation to be performed.
required: true
metadata:
- clamp_possible_values: <string:see clamp project for syntax>
+ clamp_possible_values: test
timeout:
type: integer
description: The amount of time for the actor to perform the operation.
diff --git "a/src/test/resources/http-cache/example/policy/api/v1/policytypes/onap.policies.controlloop.operational.common.Drools/versions/1.0.0&\04363;connectionTimeToLive=5000/.file" "b/src/test/resources/http-cache/example/policy/api/v1/policytypes/onap.policies.controlloop.operational.common.Drools/versions/1.0.0&\04363;connectionTimeToLive=5000/.file"
index 72897be..1c082b1 100644
--- "a/src/test/resources/http-cache/example/policy/api/v1/policytypes/onap.policies.controlloop.operational.common.Drools/versions/1.0.0&\04363;connectionTimeToLive=5000/.file"
+++ "b/src/test/resources/http-cache/example/policy/api/v1/policytypes/onap.policies.controlloop.operational.common.Drools/versions/1.0.0&\04363;connectionTimeToLive=5000/.file"
@@ -79,7 +79,7 @@
description: The resource the operation should be performed on.
required: true
metadata:
- clamp_possible_values: <string:see clamp project for syntax>
+ clamp_possible_values: test
payload:
type: map
description: Name/value pairs of payload information passed by Policy to the actor
@@ -104,7 +104,7 @@
description: The definition of the operation to be performed.
required: true
metadata:
- clamp_possible_values: <string:see clamp project for syntax>
+ clamp_possible_values: test
timeout:
type: integer
description: The amount of time for the actor to perform the operation.
diff --git a/src/test/resources/tosca/new-converter/tca-with-metadata.json b/src/test/resources/tosca/new-converter/tca-with-metadata.json
new file mode 100644
index 0000000..1b95f8c
--- /dev/null
+++ b/src/test/resources/tosca/new-converter/tca-with-metadata.json
@@ -0,0 +1,222 @@
+{
+ "title": "onap.policies.monitoring.cdap.tca.hi.lo.app",
+ "type": "object",
+ "required": [],
+ "properties": {
+ "tca_policy": {
+ "type": "object",
+ "description": "TCA Policy JSON",
+ "properties": {
+ "onap.datatypes.monitoring.tca_policy": {
+ "title": "onap.datatypes.monitoring.tca_policy",
+ "type": "object",
+ "required": [
+ "domain",
+ "metricsPerEventName"
+ ],
+ "properties": {
+ "domain": {
+ "type": "string",
+ "description": "Domain name to which TCA needs to be applied",
+ "default": "measurementsForVfScaling",
+ "const": "measurementsForVfScaling"
+ },
+ "metricsPerEventName": {
+ "type": "array",
+ "description": "Contains eventName and threshold details that need to be applied to given eventName",
+ "items": {
+ "title": "onap.datatypes.monitoring.metricsPerEventName",
+ "type": "object",
+ "required": [
+ "controlLoopSchemaType",
+ "eventName",
+ "policyName",
+ "policyScope",
+ "policyVersion",
+ "thresholds",
+ "context",
+ "signature"
+ ],
+ "properties": {
+ "controlLoopSchemaType": {
+ "type": "string",
+ "description": "Specifies Control Loop Schema Type for the event Name e.g. VNF, VM",
+ "enum": [
+ "VM",
+ "VNF"
+ ]
+ },
+ "eventName": {
+ "type": "string",
+ "description": "Event name to which thresholds need to be applied"
+ },
+ "policyName": {
+ "type": "string",
+ "description": "TCA Policy Scope Name"
+ },
+ "policyScope": {
+ "type": "string",
+ "description": "TCA Policy Scope"
+ },
+ "policyVersion": {
+ "type": "string",
+ "description": "TCA Policy Scope Version"
+ },
+ "thresholds": {
+ "type": "array",
+ "description": "Thresholds associated with eventName",
+ "items": {
+ "title": "onap.datatypes.monitoring.thresholds",
+ "type": "object",
+ "required": [
+ "closedLoopControlName",
+ "closedLoopEventStatus",
+ "direction",
+ "fieldPath",
+ "severity",
+ "thresholdValue",
+ "version"
+ ],
+ "properties": {
+ "closedLoopControlName": {
+ "type": "string",
+ "description": "Closed Loop Control Name associated with the threshold"
+ },
+ "closedLoopEventStatus": {
+ "type": "string",
+ "description": "Closed Loop Event Status of the threshold",
+ "enum": [
+ "ONSET",
+ "ABATED"
+ ]
+ },
+ "direction": {
+ "type": "string",
+ "description": "Direction of the threshold",
+ "enum": [
+ "LESS",
+ "LESS_OR_EQUAL",
+ "GREATER",
+ "GREATER_OR_EQUAL",
+ "EQUAL"
+ ]
+ },
+ "fieldPath": {
+ "type": "string",
+ "description": "Json field Path as per CEF message which needs to be analyzed for TCA",
+ "enum": [
+ "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsDelta",
+ "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedOctetsDelta",
+ "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedUnicastPacketsDelta",
+ "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedMulticastPacketsDelta",
+ "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsDelta",
+ "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedDiscardedPacketsDelta",
+ "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedErrorPacketsDelta",
+ "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsAccumulated",
+ "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedOctetsAccumulated",
+ "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedUnicastPacketsAccumulated",
+ "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedMulticastPacketsAccumulated",
+ "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsAccumulated",
+ "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedDiscardedPacketsAccumulated",
+ "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedErrorPacketsAccumulated",
+ "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedTotalPacketsDelta",
+ "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedOctetsDelta",
+ "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedUnicastPacketsDelta",
+ "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedMulticastPacketsDelta",
+ "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedBroadcastPacketsDelta",
+ "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedDiscardedPacketsDelta",
+ "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedErrorPacketsDelta",
+ "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedTotalPacketsAccumulated",
+ "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedOctetsAccumulated",
+ "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedUnicastPacketsAccumulated",
+ "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedMulticastPacketsAccumulated",
+ "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedBroadcastPacketsAccumulated",
+ "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedDiscardedPacketsAccumulated",
+ "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedErrorPacketsAccumulated",
+ "$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuIdle",
+ "$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageInterrupt",
+ "$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageNice",
+ "$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSoftIrq",
+ "$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSteal",
+ "$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSystem",
+ "$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuWait",
+ "$.event.measurementsForVfScalingFields.cpuUsageArray[*].percentUsage",
+ "$.event.measurementsForVfScalingFields.meanRequestLatency",
+ "$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryBuffered",
+ "$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryCached",
+ "$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryConfigured",
+ "$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryFree",
+ "$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryUsed",
+ "$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value"
+ ]
+ },
+ "severity": {
+ "type": "string",
+ "description": "Threshold Event Severity",
+ "enum": [
+ "CRITICAL",
+ "MAJOR",
+ "MINOR",
+ "WARNING",
+ "NORMAL"
+ ]
+ },
+ "thresholdValue": {
+ "type": "integer",
+ "description": "Threshold value for the field Path inside CEF message"
+ },
+ "version": {
+ "type": "string",
+ "description": "Version number associated with the threshold"
+ }
+ }
+ }
+ },
+ "context": {
+ "type": "string",
+ "description": "TCA Policy Dummy Context",
+ "enum": [
+ "PROD"
+ ],
+ "options": {
+ "enum_titles": [
+ "PROD"
+ ]
+ }
+ },
+ "signature": {
+ "title": "onap.datatypes.monitoring.Dummy_Signature",
+ "type": "object",
+ "required": [
+ "filter_clause"
+ ],
+ "properties": {
+ "filter_clause": {
+ "type": "qbldr",
+ "description": "Filter Clause",
+ "minLength": 1,
+ "qschema": {
+ "filters": [
+ {
+ "type": "string",
+ "minLength": 1,
+ "id": "alarmCondition",
+ "label": "alarmCondition",
+ "operators": [
+ "equals"
+ ]
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/test/resources/tosca/new-converter/tca-with-metadata.yaml b/src/test/resources/tosca/new-converter/tca-with-metadata.yaml
new file mode 100644
index 0000000..c0d2a86
--- /dev/null
+++ b/src/test/resources/tosca/new-converter/tca-with-metadata.yaml
@@ -0,0 +1,184 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+policy_types:
+ onap.policies.Monitoring:
+ derived_from: tosca.policies.Root
+ description: a base policy type for all policies that governs monitoring provisioning
+ onap.policies.monitoring.cdap.tca.hi.lo.app:
+ derived_from: onap.policies.Monitoring
+ version: 1.0.0
+ properties:
+ tca_policy:
+ type: map
+ description: TCA Policy JSON
+ entry_schema:
+ type: onap.datatypes.monitoring.tca_policy
+ metadata:
+ policy_model_type: onap.policies.monitoring.cdap.tca.hi.lo.app
+ acronym: tca
+
+data_types:
+ onap.datatypes.monitoring.metricsPerEventName:
+ derived_from: tosca.datatypes.Root
+ properties:
+ controlLoopSchemaType:
+ type: string
+ required: true
+ description: Specifies Control Loop Schema Type for the event Name e.g. VNF, VM
+ constraints:
+ - valid_values:
+ - VM
+ - VNF
+ eventName:
+ type: string
+ required: true
+ description: Event name to which thresholds need to be applied
+ policyName:
+ type: string
+ required: true
+ description: TCA Policy Scope Name
+ policyScope:
+ type: string
+ required: true
+ description: TCA Policy Scope
+ policyVersion:
+ type: string
+ required: true
+ description: TCA Policy Scope Version
+ thresholds:
+ type: list
+ required: true
+ description: Thresholds associated with eventName
+ entry_schema:
+ type: onap.datatypes.monitoring.thresholds
+ context:
+ type: string
+ required: true
+ description: TCA Policy Dummy Context
+ metadata:
+ clamp_possible_values: "Dictionary:Context"
+
+ signature:
+ type: onap.datatypes.monitoring.Dummy_Signature
+ description: Signature
+ required: true
+
+ onap.datatypes.monitoring.Dummy_Signature:
+ derived_from: tosca.datatypes.Root
+ properties:
+ filter_clause:
+ type: string
+ description: Filter Clause
+ required: true
+ metadata:
+ clamp_possible_values: "Dictionary:EventDictionary#Operators"
+
+ onap.datatypes.monitoring.tca_policy:
+ derived_from: tosca.datatypes.Root
+ properties:
+ domain:
+ type: string
+ required: true
+ description: Domain name to which TCA needs to be applied
+ default: measurementsForVfScaling
+ constraints:
+ - equal: measurementsForVfScaling
+ metricsPerEventName:
+ type: list
+ required: true
+ description: Contains eventName and threshold details that need to be applied to given eventName
+ entry_schema:
+ type: onap.datatypes.monitoring.metricsPerEventName
+ onap.datatypes.monitoring.thresholds:
+ derived_from: tosca.datatypes.Root
+ properties:
+ closedLoopControlName:
+ type: string
+ required: true
+ description: Closed Loop Control Name associated with the threshold
+ closedLoopEventStatus:
+ type: string
+ required: true
+ description: Closed Loop Event Status of the threshold
+ constraints:
+ - valid_values:
+ - ONSET
+ - ABATED
+ direction:
+ type: string
+ required: true
+ description: Direction of the threshold
+ constraints:
+ - valid_values:
+ - LESS
+ - LESS_OR_EQUAL
+ - GREATER
+ - GREATER_OR_EQUAL
+ - EQUAL
+ fieldPath:
+ type: string
+ required: true
+ description: Json field Path as per CEF message which needs to be analyzed for TCA
+ constraints:
+ - valid_values:
+ - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsDelta
+ - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedOctetsDelta
+ - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedUnicastPacketsDelta
+ - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedMulticastPacketsDelta
+ - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsDelta
+ - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedDiscardedPacketsDelta
+ - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedErrorPacketsDelta
+ - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsAccumulated
+ - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedOctetsAccumulated
+ - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedUnicastPacketsAccumulated
+ - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedMulticastPacketsAccumulated
+ - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsAccumulated
+ - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedDiscardedPacketsAccumulated
+ - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedErrorPacketsAccumulated
+ - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedTotalPacketsDelta
+ - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedOctetsDelta
+ - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedUnicastPacketsDelta
+ - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedMulticastPacketsDelta
+ - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedBroadcastPacketsDelta
+ - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedDiscardedPacketsDelta
+ - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedErrorPacketsDelta
+ - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedTotalPacketsAccumulated
+ - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedOctetsAccumulated
+ - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedUnicastPacketsAccumulated
+ - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedMulticastPacketsAccumulated
+ - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedBroadcastPacketsAccumulated
+ - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedDiscardedPacketsAccumulated
+ - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedErrorPacketsAccumulated
+ - $.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuIdle
+ - $.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageInterrupt
+ - $.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageNice
+ - $.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSoftIrq
+ - $.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSteal
+ - $.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSystem
+ - $.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuWait
+ - $.event.measurementsForVfScalingFields.cpuUsageArray[*].percentUsage
+ - $.event.measurementsForVfScalingFields.meanRequestLatency
+ - $.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryBuffered
+ - $.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryCached
+ - $.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryConfigured
+ - $.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryFree
+ - $.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryUsed
+ - $.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value
+ severity:
+ type: string
+ required: true
+ description: Threshold Event Severity
+ constraints:
+ - valid_values:
+ - CRITICAL
+ - MAJOR
+ - MINOR
+ - WARNING
+ - NORMAL
+ thresholdValue:
+ type: integer
+ required: true
+ description: Threshold value for the field Path inside CEF message
+ version:
+ type: string
+ required: true
+ description: Version number associated with the threshold