Fix bug in operational policy
[clamp.git] / src / main / resources / clds / camel / rest / clamp-api-v2.xml
index 1f92726..fe3f6bd 100644 (file)
                                                </split>
                                        </split>
                                        <to
-                                               uri="bean:org.onap.clamp.loop.log.LoopService?method=deleteLoop(${header.loopName})" />
+                                               uri="bean:org.onap.clamp.loop.log.LoopController?method=deleteLoop(${header.loopName})" />
                                        <log loggingLevel="INFO"
                                                message="DELETE request successfully executed for loop: ${header.loopName}" />
                                        <to
                        </route>
                </get>
 
-               <put uri="/v2/loop/addOperationaPolicy/{loopName}/policyModel/{policyType}/{policyVersion}"
-                        outType="org.onap.clamp.loop.Loop" produces="application/json">
+               <put uri="/v2/loop/addOperationaPolicy/{loopName}/policyModel/{policyType}/{policyVersion}" outType="org.onap.clamp.loop.Loop" produces="application/json">
                        <route>
-                               <removeHeaders pattern="*" excludePattern="loopName" />
+                               <removeHeaders pattern="*" excludePattern="loopName|policyType|policyVersion" />
                                <doTry>
-                                       <log loggingLevel="INFO"
-                                                message="ADD OperationalPolicy request for loop: ${header.loopName}" />
                                        <to
-                                                       uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=startLog(*, 'ADD OperationalPolicy request')" />
+                                                       uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=startLog(*, 'Add operational Policy')" />
                                        <to
-                                                       uri="bean:org.onap.clamp.authorization.AuthorizationController?method=authorize(*,'cl','','write')" />
+                                                       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('ADD OperationalPolicy request','INFO',${exchangeProperty[loopObject]})" />
-                                       <doTry>
-                                               <to
-                                                               uri="bean:org.onap.clamp.loop.LoopService?method=addOperationalPolicy(${loopName},${policyType},${policyVersion})" />
-
-                                               <to
-                                                               uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('ADD OperationalPolicy request successfully executed','INFO',${exchangeProperty[loopObject]})" />
-                                               <to
-                                                               uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=endLog()" />
-                                       </doTry>
+                                                       uri="bean:org.onap.clamp.loop.LoopController?method=addOperationalPolicy(${header.loopName},${header.policyType},${header.policyVersion})" />
+                                       <to
+                                                       uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('ADD OperationalPolicy request successfully executed','INFO',${exchangeProperty[loopObject]})" />
+                                       <to
+                                                       uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=endLog()" />
                                        <doCatch>
                                                <exception>java.lang.Exception</exception>
                                                <handled>
                                                <log loggingLevel="ERROR"
                                                         message="ADD OperationalPolicy request failed for loop: ${header.loopName}" />
                                                <to
-                                                               uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('ADD OperationalPolicy request, Error reported: ${exception} - Body: ${exception.responseBody}','ERROR',${exchangeProperty[loopObject]})" />
+                                                               uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('ADD OperationalPolicy request failed','ERROR',${exchangeProperty[loopObject]})" />
                                        </doCatch>
-                                       <doFinally>
-                                               <setBody>
-                                                       <simple>${exchangeProperty[loopObject]}</simple>
-                                               </setBody>
-                                       </doFinally>
                                </doTry>
                        </route>
                </put>
-
+               <post
+                               uri="/v2/loop/create/{loopName}?templateName={templateName}"
+                               outType="org.onap.clamp.loop.Loop" consumes="application/json"
+                               produces="application/json">
+                       <route>
+                               <removeHeaders
+                                               pattern="*"
+                                               excludePattern="loopName|templateName" />
+                               <doTry>
+                                       <to
+                                                       uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=startLog(*, 'Create Loop')" />
+                                       <to
+                                                       uri="bean:org.onap.clamp.authorization.AuthorizationController?method=authorize(*,'cl','','update')" />
+                                       <to
+                                                       uri="bean:org.onap.clamp.loop.LoopController?method=createLoop(${header.loopName}, ${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>
+               </post>
                <get uri="/v2/dictionary"
                        outType="org.onap.clamp.tosca.Dictionary" produces="application/json">
                        <route>
                                </doTry>
                        </route>
                </get>
+               <get uri="/v2/templates/{templateName}/svgRepresentation"
+                        outType="java.lang.String" produces="application/xml">
+                       <route>
+                               <removeHeaders pattern="*" excludePattern="templateName" />
+                               <doTry>
+                                       <to
+                                                       uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=startLog(*, 'Get SVG Representation for Loop template')" />
+                                       <to
+                                                       uri="bean:org.onap.clamp.authorization.AuthorizationController?method=authorize(*,'template','','read')" />
+                                       <to
+                                                       uri="bean:org.onap.clamp.loop.template.LoopTemplatesService?method=getSvgRepresentation(${header.templateName})" />
+                                       <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/clampInformation" outType="org.onap.clamp.clds.model.ClampInformation"
                         produces="application/json">
                        <to