Remove policy from PEF when removing op policy 86/106086/1
authorsebdet <sebastien.determe@intl.att.com>
Thu, 16 Apr 2020 10:09:24 +0000 (12:09 +0200)
committersebdet <sebastien.determe@intl.att.com>
Thu, 16 Apr 2020 10:09:24 +0000 (12:09 +0200)
The operational policy must be removed from the PEF when the user remove an operational policy (at least attempt to purge the PEF)

Issue-ID: CLAMP-824
Signed-off-by: sebdet <sebastien.determe@intl.att.com>
Change-Id: I442c0890c391d43e8fcbdb89189d6ad2581db3af

src/main/java/org/onap/clamp/loop/Loop.java
src/main/java/org/onap/clamp/loop/LoopController.java
src/main/java/org/onap/clamp/loop/LoopService.java
src/main/resources/clds/camel/rest/clamp-api-v2.xml
src/main/resources/clds/camel/routes/policy-flows.xml
ui-react/src/api/LoopService.js
ui-react/src/components/dialogs/Loop/ModifyLoopModal.js

index 19a17db..0813313 100644 (file)
@@ -330,6 +330,36 @@ public class Loop extends AuditEntity implements Serializable {
         }
     }
 
+    /**
+     * Return the operationalPolicy object with the opPolicyName.
+     *
+     * @param opPolicyName The operationalPolicy name
+     * @return The OperationalPolicy object found in loop object
+     */
+    public OperationalPolicy getOperationalPolicy(String opPolicyName) {
+        for (OperationalPolicy operationalPolicy : this.getOperationalPolicies()) {
+            if (operationalPolicy.getName().equals(opPolicyName)) {
+                return operationalPolicy;
+            }
+        }
+        return null;
+    }
+
+    /**
+     * Return the microServicePolicy object with the msPolicyName.
+     *
+     * @param msPolicyName The microServicePolicy name
+     * @return The MicroServicePolicy object found in loop object
+     */
+    public MicroServicePolicy getMicroServicePolicy(String msPolicyName) {
+        for (MicroServicePolicy microServicePolicy : this.getMicroServicePolicies()) {
+            if (microServicePolicy.getName().equals(msPolicyName)) {
+                return microServicePolicy;
+            }
+        }
+        return null;
+    }
+
     /**
      * Generate the loop name.
      *
index a2a4463..fad93bc 100644 (file)
@@ -137,11 +137,11 @@ public class LoopController {
     }
 
     /**
-     * This method remove an operational policy to a loop instance.
+     * This method removes an operational policy from a loop instance.
      *
      * @param loopName      The loop name
      * @param policyType    The policy model type
-     * @param policyVersion The policy model  version
+     * @param policyVersion The policy model version
      * @return The loop modified
      */
     public Loop removeOperationalPolicy(String loopName, String policyType, String policyVersion) {
index 6658c5a..ca3681b 100644 (file)
@@ -131,7 +131,7 @@ public class LoopService {
      *
      * @param loopName      The loop name
      * @param policyType    The policy model type
-     * @param policyVersion The policy model  version
+     * @param policyVersion The policy model version
      * @return The loop modified
      */
     Loop removeOperationalPolicy(String loopName, String policyType, String policyVersion) {
index 7706267..fc7dbd4 100644 (file)
                                </doTry>
                        </route>
                </put>
-               <put uri="/v2/loop/removeOperationaPolicy/{loopName}/policyModel/{policyType}/{policyVersion}" outType="org.onap.clamp.loop.Loop" produces="application/json">
+               <put uri="/v2/loop/removeOperationaPolicy/{loopName}/policyModel/{policyType}/{policyVersion}/{policyName}" outType="org.onap.clamp.loop.Loop" produces="application/json">
                        <route>
-                               <removeHeaders pattern="*" excludePattern="loopName|policyType|policyVersion" />
+                               <removeHeaders pattern="*" excludePattern="loopName|policyType|policyVersion|policyName" />
                                <doTry>
                                        <to
                                                        uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=startLog(*, 'REMOVE operational Policy')" />
                                        <to
                                                        uri="bean:org.onap.clamp.authorization.AuthorizationController?method=authorize(*,'cl','','update')" />
                                        <to uri="direct:load-loop" />
+                                       <setProperty propertyName="policyName">
+                                               <simple>${header.policyName}</simple>
+                                       </setProperty>
+                                       <setProperty propertyName="policy">
+                                               <simple>${exchangeProperty[loopObject].getOperationalPolicy(header.policyName)}</simple>
+                                       </setProperty>
+                                       <setProperty propertyName="raiseHttpExceptionFlag">
+                                               <simple resultType="java.lang.Boolean">false</simple>
+                                       </setProperty>
+                                       <to uri="direct:remove-one-policy-from-active-pdp-group" />
+                                       <setProperty propertyName="raiseHttpExceptionFlag">
+                                               <simple resultType="java.lang.Boolean">false</simple>
+                                       </setProperty>
+                                       <to uri="direct:delete-policy" />
                                        <to
                                                        uri="bean:org.onap.clamp.loop.LoopController?method=removeOperationalPolicy(${header.loopName},${header.policyType},${header.policyVersion})" />
                                        <to
index ef68a54..59772c2 100644 (file)
-
 <routes xmlns="http://camel.apache.org/schema/spring">
-               <route id="verify-one-policy">
-                               <from uri="direct:verify-one-policy"/>
-                               <setProperty propertyName="raiseHttpExceptionFlag">
-                                               <simple resultType="java.lang.Boolean">false</simple>
-                               </setProperty>
-                               <to uri="direct:get-policy"/>
-                               <when>
-                                               <simple> ${header.CamelHttpResponseCode} != 200 </simple>
-                                               <setProperty propertyName="policyFound">
-                                                               <simple resultType="java.lang.Boolean">false</simple>
-                                               </setProperty>
-                                               <log loggingLevel="WARN"
-                                                               message="At least one policy has not been found on policy engine: ${exchangeProperty[policyName]}"/>
-                               </when>
-                               <setProperty propertyName="raiseHttpExceptionFlag">
-                                               <simple resultType="java.lang.Boolean">false</simple>
-                               </setProperty>
-                               <to uri="direct:get-deployment-policy"/>
-                               <when>
-                                               <simple> ${header.CamelHttpResponseCode} != 200 </simple>
-                                               <setProperty propertyName="policyDeployed">
-                                                               <simple resultType="java.lang.Boolean">false</simple>
-                                               </setProperty>
-                                               <log loggingLevel="WARN"
-                                                               message="At least one policy has not been deployed on policy engine: ${exchangeProperty[policyName]}"/>
-                               </when>
-                               <setProperty propertyName="newPolicyState">
-                                               <simple>${exchangeProperty[policyComponent].computeState(*)}</simple>
-                               </setProperty>
-               </route>
+    <route id="verify-one-policy">
+        <from uri="direct:verify-one-policy"/>
+        <setProperty propertyName="raiseHttpExceptionFlag">
+            <simple resultType="java.lang.Boolean">false</simple>
+        </setProperty>
+        <to uri="direct:get-policy"/>
+        <when>
+            <simple>${header.CamelHttpResponseCode} != 200</simple>
+            <setProperty propertyName="policyFound">
+                <simple resultType="java.lang.Boolean">false</simple>
+            </setProperty>
+            <log loggingLevel="WARN"
+                 message="At least one policy has not been found on policy engine: ${exchangeProperty[policyName]}"/>
+        </when>
+        <setProperty propertyName="raiseHttpExceptionFlag">
+            <simple resultType="java.lang.Boolean">false</simple>
+        </setProperty>
+        <to uri="direct:get-deployment-policy"/>
+        <when>
+            <simple>${header.CamelHttpResponseCode} != 200</simple>
+            <setProperty propertyName="policyDeployed">
+                <simple resultType="java.lang.Boolean">false</simple>
+            </setProperty>
+            <log loggingLevel="WARN"
+                 message="At least one policy has not been deployed on policy engine: ${exchangeProperty[policyName]}"/>
+        </when>
+        <setProperty propertyName="newPolicyState">
+            <simple>${exchangeProperty[policyComponent].computeState(*)}</simple>
+        </setProperty>
+    </route>
 
-               <route id="get-policy">
-                               <from uri="direct:get-policy"/>
-                               <doTry>
-                                               <log loggingLevel="INFO"
-                                                               message="Getting Policy: ${exchangeProperty[policyName]}"/>
-                                               <to
-                                                               uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeLog('Policy', 'Get Policy')"/>
-                                               <setHeader headerName="CamelHttpMethod">
-                                                               <constant>GET</constant>
-                                               </setHeader>
-                                               <setHeader headerName="X-ONAP-RequestID">
-                                                               <simple>${exchangeProperty[X-ONAP-RequestID]}
-                                                               </simple>
-                                               </setHeader>
-                                               <setHeader headerName="X-ONAP-InvocationID">
-                                                               <simple>${exchangeProperty[X-ONAP-InvocationID]}
-                                                               </simple>
-                                               </setHeader>
-                                               <setHeader headerName="X-ONAP-PartnerName">
-                                                               <simple>${exchangeProperty[X-ONAP-PartnerName]}
-                                                               </simple>
-                                               </setHeader>
-                                               <log loggingLevel="INFO"
-                                                               message="Endpoint to get policy: {{clamp.config.policy.api.url}}/policy/api/v1/policytypes/${exchangeProperty[policyType]}/versions/${exchangeProperty[policyTypeVersion]}/policies/${exchangeProperty[policyName]}/versions/${exchangeProperty[policyVersion]}"></log>
-                                               <toD
-                                                               uri="{{clamp.config.policy.api.url}}/policy/api/v1/policytypes/${exchangeProperty[policyType]}/versions/${exchangeProperty[policyTypeVersion]}/policies/${exchangeProperty[policyName]}/versions/${exchangeProperty[policyVersion]}?bridgeEndpoint=true&amp;useSystemProperties=true&amp;throwExceptionOnFailure=${exchangeProperty[raiseHttpExceptionFlag]}&amp;authMethod=Basic&amp;authUsername={{clamp.config.policy.api.userName}}&amp;authPassword={{clamp.config.policy.api.password}}&amp;connectionTimeToLive=5000&amp;httpClient.connectTimeout=10000&amp;httpClient.socketTimeout=20000&amp;authenticationPreemptive=true&amp;connectionClose=true"/>
-                                               <doFinally>
-                                                               <to uri="direct:reset-raise-http-exception-flag"/>
-                                                               <to
-                                                                               uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeReturnLog()"/>
-                                                               <setProperty propertyName="logMessage">
-                                                                               <simple>${exchangeProperty[policyName]} GET
-                                                                                               Policy status
-                                                                               </simple>
-                                                               </setProperty>
-                                                               <setProperty propertyName="logComponent">
-                                                                               <simple>POLICY</simple>
-                                                               </setProperty>
-                                                               <to uri="direct:dump-loop-log-http-response"/>
-                                               </doFinally>
-                               </doTry>
-               </route>
+    <route id="get-policy">
+        <from uri="direct:get-policy"/>
+        <doTry>
+            <log loggingLevel="INFO"
+                 message="Getting Policy: ${exchangeProperty[policyName]}"/>
+            <to
+                    uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeLog('Policy', 'Get Policy')"/>
+            <setHeader headerName="CamelHttpMethod">
+                <constant>GET</constant>
+            </setHeader>
+            <setHeader headerName="X-ONAP-RequestID">
+                <simple>${exchangeProperty[X-ONAP-RequestID]}
+                </simple>
+            </setHeader>
+            <setHeader headerName="X-ONAP-InvocationID">
+                <simple>${exchangeProperty[X-ONAP-InvocationID]}
+                </simple>
+            </setHeader>
+            <setHeader headerName="X-ONAP-PartnerName">
+                <simple>${exchangeProperty[X-ONAP-PartnerName]}
+                </simple>
+            </setHeader>
+            <log loggingLevel="INFO"
+                 message="Endpoint to get policy: {{clamp.config.policy.api.url}}/policy/api/v1/policytypes/${exchangeProperty[policyType]}/versions/${exchangeProperty[policyTypeVersion]}/policies/${exchangeProperty[policyName]}/versions/${exchangeProperty[policyVersion]}"></log>
+            <toD
+                    uri="{{clamp.config.policy.api.url}}/policy/api/v1/policytypes/${exchangeProperty[policyType]}/versions/${exchangeProperty[policyTypeVersion]}/policies/${exchangeProperty[policyName]}/versions/${exchangeProperty[policyVersion]}?bridgeEndpoint=true&amp;useSystemProperties=true&amp;throwExceptionOnFailure=${exchangeProperty[raiseHttpExceptionFlag]}&amp;authMethod=Basic&amp;authUsername={{clamp.config.policy.api.userName}}&amp;authPassword={{clamp.config.policy.api.password}}&amp;connectionTimeToLive=5000&amp;httpClient.connectTimeout=10000&amp;httpClient.socketTimeout=20000&amp;authenticationPreemptive=true&amp;connectionClose=true"/>
+            <doFinally>
+                <to uri="direct:reset-raise-http-exception-flag"/>
+                <to
+                        uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeReturnLog()"/>
+                <setProperty propertyName="logMessage">
+                    <simple>${exchangeProperty[policyName]} GET
+                        Policy status
+                    </simple>
+                </setProperty>
+                <setProperty propertyName="logComponent">
+                    <simple>POLICY</simple>
+                </setProperty>
+                <to uri="direct:dump-loop-log-http-response"/>
+            </doFinally>
+        </doTry>
+    </route>
 
-               <route id="get-deployment-policy">
-                               <from uri="direct:get-deployment-policy"/>
-                               <doTry>
-                                               <log loggingLevel="INFO"
-                                                               message="Getting the policy deployment in PDP: ${exchangeProperty[policyName]}"/>
-                                               <to
-                                                               uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeLog('Policy', 'Getting the policy deployment in PDP')"/>
-                                               <setHeader headerName="CamelHttpMethod">
-                                                               <constant>GET</constant>
-                                               </setHeader>
-                                               <setHeader headerName="X-ONAP-RequestID">
-                                                               <simple>${exchangeProperty[X-ONAP-RequestID]}
-                                                               </simple>
-                                               </setHeader>
-                                               <setHeader headerName="X-ONAP-InvocationID">
-                                                               <simple>${exchangeProperty[X-ONAP-InvocationID]}
-                                                               </simple>
-                                               </setHeader>
-                                               <setHeader headerName="X-ONAP-PartnerName">
-                                                               <simple>${exchangeProperty[X-ONAP-PartnerName]}
-                                                               </simple>
-                                               </setHeader>
-                                               <log loggingLevel="INFO"
-                                                               message="Endpoint to get policy deployment status: {{clamp.config.policy.pap.url}}/policy/pap/v1/policies/deployed/${exchangeProperty[policyName]}/1.0.0"></log>
-                                               <toD
-                                                               uri="{{clamp.config.policy.pap.url}}/policy/pap/v1/policies/deployed/${exchangeProperty[policyName]}/1.0.0?bridgeEndpoint=true&amp;useSystemProperties=true&amp;throwExceptionOnFailure=${exchangeProperty[raiseHttpExceptionFlag]}&amp;authMethod=Basic&amp;authUsername={{clamp.config.policy.api.userName}}&amp;authPassword={{clamp.config.policy.api.password}}&amp;connectionTimeToLive=5000&amp;httpClient.connectTimeout=10000&amp;httpClient.socketTimeout=20000&amp;authenticationPreemptive=true&amp;connectionClose=true"/>
-                                               <doFinally>
-                                                               <to uri="direct:reset-raise-http-exception-flag"/>
-                                                               <to
-                                                                               uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeReturnLog()"/>
-                                                               <setProperty propertyName="logMessage">
-                                                                               <simple>${exchangeProperty[policyName]} GET Policy deployment
-                                                                                               status
-                                                                               </simple>
-                                                               </setProperty>
-                                                               <setProperty propertyName="logComponent">
-                                                                               <simple>POLICY</simple>
-                                                               </setProperty>
-                                                               <to uri="direct:dump-loop-log-http-response"/>
-                                               </doFinally>
-                               </doTry>
-               </route>
-               <route id="get-all-policy-models">
-                               <from uri="direct:get-all-policy-models"/>
-                               <doTry>
-                                               <log loggingLevel="INFO" message="Getting all the policy models"/>
-                                               <to
-                                                               uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeLog('Policy', 'Getting all the policy models')"/>
-                                               <setHeader headerName="CamelHttpMethod">
-                                                               <constant>GET</constant>
-                                               </setHeader>
-                                               <setHeader headerName="X-ONAP-RequestID">
-                                                               <simple>${exchangeProperty[X-ONAP-RequestID]}
-                                                               </simple>
-                                               </setHeader>
-                                               <setHeader headerName="X-ONAP-InvocationID">
-                                                               <simple>${exchangeProperty[X-ONAP-InvocationID]}
-                                                               </simple>
-                                               </setHeader>
-                                               <setHeader headerName="X-ONAP-PartnerName">
-                                                               <simple>${exchangeProperty[X-ONAP-PartnerName]}
-                                                               </simple>
-                                               </setHeader>
-                                               <log loggingLevel="INFO"
-                                                               message="Endpoint to get all policy models: {{clamp.config.policy.api.url}}/policy/api/v1/policytypes"></log>
-                                               <toD
-                                                               uri="{{clamp.config.policy.api.url}}/policy/api/v1/policytypes?bridgeEndpoint=true&amp;useSystemProperties=true&amp;throwExceptionOnFailure=${exchangeProperty[raiseHttpExceptionFlag]}&amp;authMethod=Basic&amp;authUsername={{clamp.config.policy.api.userName}}&amp;authPassword={{clamp.config.policy.api.password}}&amp;connectionTimeToLive=5000&amp;httpClient.connectTimeout=10000&amp;httpClient.socketTimeout=20000&amp;authenticationPreemptive=true&amp;connectionClose=true"/>
-                                               <convertBodyTo type="java.lang.String"/>                
-                                               <doFinally>
-                                                               <to uri="direct:reset-raise-http-exception-flag"/>
-                                                               <to
-                                                                               uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeReturnLog()"/>
-                                               </doFinally>
-                               </doTry>
-               </route>
-               <route id="get-policy-model">
-                               <from uri="direct:get-policy-model"/>
-                               <doTry>
-                                               <log loggingLevel="INFO"
-                                                               message="Getting the policy model: ${exchangeProperty[policyModelName]}/${exchangeProperty[policyModelVersion]}"/>
-                                               <to
-                                                               uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeLog('Policy', 'Getting the policy model')"/>
-                                               <setHeader headerName="CamelHttpMethod">
-                                                               <constant>GET</constant>
-                                               </setHeader>
-                                               <setHeader headerName="X-ONAP-RequestID">
-                                                               <simple>${exchangeProperty[X-ONAP-RequestID]}
-                                                               </simple>
-                                               </setHeader>
-                                               <setHeader headerName="X-ONAP-InvocationID">
-                                                               <simple>${exchangeProperty[X-ONAP-InvocationID]}
-                                                               </simple>
-                                               </setHeader>
-                                               <setHeader headerName="X-ONAP-PartnerName">
-                                                               <simple>${exchangeProperty[X-ONAP-PartnerName]}
-                                                               </simple>
-                                               </setHeader>
-                                               <log loggingLevel="INFO"
-                                                               message="Endpoint to get policy model: {{clamp.config.policy.api.url}}/policy/api/v1/policytypes/${exchangeProperty[policyModelName]}/versions/${exchangeProperty[policyModelVersion]}"></log>
-                                               <toD
-                                                               uri="{{clamp.config.policy.api.url}}/policy/api/v1/policytypes/${exchangeProperty[policyModelName]}/versions/${exchangeProperty[policyModelVersion]}?bridgeEndpoint=true&amp;useSystemProperties=true&amp;throwExceptionOnFailure=${exchangeProperty[raiseHttpExceptionFlag]}&amp;authMethod=Basic&amp;authUsername={{clamp.config.policy.api.userName}}&amp;authPassword={{clamp.config.policy.api.password}}&amp;connectionTimeToLive=5000&amp;httpClient.connectTimeout=10000&amp;httpClient.socketTimeout=20000&amp;authenticationPreemptive=true&amp;connectionClose=true"/>
-                                               <convertBodyTo type="java.lang.String"/>
-                                               <doFinally>
-                                                               <to uri="direct:reset-raise-http-exception-flag"/>
-                                                               <to
-                                                                               uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeReturnLog()"/>
-                                               </doFinally>
-                               </doTry>
-               </route>
-               <route id="create-policy">
-                       <from uri="direct:create-policy"/>
-                       <doTry>
-                               <log loggingLevel="INFO"
-                                        message="Creating Policy: ${exchangeProperty[policy].getName()}"/>
-                               <to
-                                               uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeLog('Policy', 'Create Policy')"/>
-                               <setBody>
-                                       <simple>${exchangeProperty[policy].createPolicyPayload()}
-                                       </simple>
-                               </setBody>
-                               <setHeader headerName="CamelHttpMethod">
-                                       <constant>POST</constant>
-                               </setHeader>
-                               <setHeader headerName="Content-Type">
-                                       <constant>application/json</constant>
-                               </setHeader>
-                               <setHeader headerName="X-ONAP-RequestID">
-                                       <simple>${exchangeProperty[X-ONAP-RequestID]}
-                                       </simple>
-                               </setHeader>
-                               <setHeader headerName="X-ONAP-InvocationID">
-                                       <simple>${exchangeProperty[X-ONAP-InvocationID]}
-                                       </simple>
-                               </setHeader>
-                               <setHeader headerName="X-ONAP-PartnerName">
-                                       <simple>${exchangeProperty[X-ONAP-PartnerName]}
-                                       </simple>
-                               </setHeader>
-                               <log loggingLevel="INFO"
-                                        message="Endpoint to create policy: {{clamp.config.policy.api.url}}/policy/api/v1/policytypes/${exchangeProperty[policy].getPolicyModel().getPolicyModelType()}/versions/${exchangeProperty[policy].getPolicyModel().getVersion()}/policies"></log>
-                               <toD
-                                               uri="{{clamp.config.policy.api.url}}/policy/api/v1/policytypes/${exchangeProperty[policy].getPolicyModel().getPolicyModelType()}/versions/${exchangeProperty[policy].getPolicyModel().getVersion()}/policies?bridgeEndpoint=true&amp;useSystemProperties=true&amp;mapHttpMessageHeaders=false&amp;throwExceptionOnFailure=${exchangeProperty[raiseHttpExceptionFlag]}&amp;authUsername={{clamp.config.policy.api.userName}}&amp;authPassword={{clamp.config.policy.api.password}}&amp;connectionTimeToLive=5000&amp;httpClient.connectTimeout=10000&amp;httpClient.socketTimeout=20000&amp;authenticationPreemptive=true&amp;connectionClose=true"/>
-                               <doFinally>
-                                       <to uri="direct:reset-raise-http-exception-flag"/>
-                                       <to
-                                                       uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeReturnLog()"/>
-                                       <setProperty propertyName="logMessage">
-                                               <simple>${exchangeProperty[policy].getName()} creation
-                                                       status
-                                               </simple>
-                                       </setProperty>
-                                       <setProperty propertyName="logComponent">
-                                               <simple>POLICY</simple>
-                                       </setProperty>
-                                       <to uri="direct:dump-loop-log-http-response"/>
-                               </doFinally>
-                       </doTry>
-               </route>
+    <route id="get-deployment-policy">
+        <from uri="direct:get-deployment-policy"/>
+        <doTry>
+            <log loggingLevel="INFO"
+                 message="Getting the policy deployment in PDP: ${exchangeProperty[policyName]}"/>
+            <to
+                    uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeLog('Policy', 'Getting the policy deployment in PDP')"/>
+            <setHeader headerName="CamelHttpMethod">
+                <constant>GET</constant>
+            </setHeader>
+            <setHeader headerName="X-ONAP-RequestID">
+                <simple>${exchangeProperty[X-ONAP-RequestID]}
+                </simple>
+            </setHeader>
+            <setHeader headerName="X-ONAP-InvocationID">
+                <simple>${exchangeProperty[X-ONAP-InvocationID]}
+                </simple>
+            </setHeader>
+            <setHeader headerName="X-ONAP-PartnerName">
+                <simple>${exchangeProperty[X-ONAP-PartnerName]}
+                </simple>
+            </setHeader>
+            <log loggingLevel="INFO"
+                 message="Endpoint to get policy deployment status: {{clamp.config.policy.pap.url}}/policy/pap/v1/policies/deployed/${exchangeProperty[policyName]}/1.0.0"></log>
+            <toD
+                    uri="{{clamp.config.policy.pap.url}}/policy/pap/v1/policies/deployed/${exchangeProperty[policyName]}/1.0.0?bridgeEndpoint=true&amp;useSystemProperties=true&amp;throwExceptionOnFailure=${exchangeProperty[raiseHttpExceptionFlag]}&amp;authMethod=Basic&amp;authUsername={{clamp.config.policy.api.userName}}&amp;authPassword={{clamp.config.policy.api.password}}&amp;connectionTimeToLive=5000&amp;httpClient.connectTimeout=10000&amp;httpClient.socketTimeout=20000&amp;authenticationPreemptive=true&amp;connectionClose=true"/>
+            <doFinally>
+                <to uri="direct:reset-raise-http-exception-flag"/>
+                <to
+                        uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeReturnLog()"/>
+                <setProperty propertyName="logMessage">
+                    <simple>${exchangeProperty[policyName]} GET Policy deployment
+                        status
+                    </simple>
+                </setProperty>
+                <setProperty propertyName="logComponent">
+                    <simple>POLICY</simple>
+                </setProperty>
+                <to uri="direct:dump-loop-log-http-response"/>
+            </doFinally>
+        </doTry>
+    </route>
+    <route id="get-all-policy-models">
+        <from uri="direct:get-all-policy-models"/>
+        <doTry>
+            <log loggingLevel="INFO" message="Getting all the policy models"/>
+            <to
+                    uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeLog('Policy', 'Getting all the policy models')"/>
+            <setHeader headerName="CamelHttpMethod">
+                <constant>GET</constant>
+            </setHeader>
+            <setHeader headerName="X-ONAP-RequestID">
+                <simple>${exchangeProperty[X-ONAP-RequestID]}
+                </simple>
+            </setHeader>
+            <setHeader headerName="X-ONAP-InvocationID">
+                <simple>${exchangeProperty[X-ONAP-InvocationID]}
+                </simple>
+            </setHeader>
+            <setHeader headerName="X-ONAP-PartnerName">
+                <simple>${exchangeProperty[X-ONAP-PartnerName]}
+                </simple>
+            </setHeader>
+            <log loggingLevel="INFO"
+                 message="Endpoint to get all policy models: {{clamp.config.policy.api.url}}/policy/api/v1/policytypes"></log>
+            <toD
+                    uri="{{clamp.config.policy.api.url}}/policy/api/v1/policytypes?bridgeEndpoint=true&amp;useSystemProperties=true&amp;throwExceptionOnFailure=${exchangeProperty[raiseHttpExceptionFlag]}&amp;authMethod=Basic&amp;authUsername={{clamp.config.policy.api.userName}}&amp;authPassword={{clamp.config.policy.api.password}}&amp;connectionTimeToLive=5000&amp;httpClient.connectTimeout=10000&amp;httpClient.socketTimeout=20000&amp;authenticationPreemptive=true&amp;connectionClose=true"/>
+            <convertBodyTo type="java.lang.String"/>
+            <doFinally>
+                <to uri="direct:reset-raise-http-exception-flag"/>
+                <to
+                        uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeReturnLog()"/>
+            </doFinally>
+        </doTry>
+    </route>
+    <route id="get-policy-model">
+        <from uri="direct:get-policy-model"/>
+        <doTry>
+            <log loggingLevel="INFO"
+                 message="Getting the policy model: ${exchangeProperty[policyModelName]}/${exchangeProperty[policyModelVersion]}"/>
+            <to
+                    uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeLog('Policy', 'Getting the policy model')"/>
+            <setHeader headerName="CamelHttpMethod">
+                <constant>GET</constant>
+            </setHeader>
+            <setHeader headerName="X-ONAP-RequestID">
+                <simple>${exchangeProperty[X-ONAP-RequestID]}
+                </simple>
+            </setHeader>
+            <setHeader headerName="X-ONAP-InvocationID">
+                <simple>${exchangeProperty[X-ONAP-InvocationID]}
+                </simple>
+            </setHeader>
+            <setHeader headerName="X-ONAP-PartnerName">
+                <simple>${exchangeProperty[X-ONAP-PartnerName]}
+                </simple>
+            </setHeader>
+            <log loggingLevel="INFO"
+                 message="Endpoint to get policy model: {{clamp.config.policy.api.url}}/policy/api/v1/policytypes/${exchangeProperty[policyModelName]}/versions/${exchangeProperty[policyModelVersion]}"></log>
+            <toD
+                    uri="{{clamp.config.policy.api.url}}/policy/api/v1/policytypes/${exchangeProperty[policyModelName]}/versions/${exchangeProperty[policyModelVersion]}?bridgeEndpoint=true&amp;useSystemProperties=true&amp;throwExceptionOnFailure=${exchangeProperty[raiseHttpExceptionFlag]}&amp;authMethod=Basic&amp;authUsername={{clamp.config.policy.api.userName}}&amp;authPassword={{clamp.config.policy.api.password}}&amp;connectionTimeToLive=5000&amp;httpClient.connectTimeout=10000&amp;httpClient.socketTimeout=20000&amp;authenticationPreemptive=true&amp;connectionClose=true"/>
+            <convertBodyTo type="java.lang.String"/>
+            <doFinally>
+                <to uri="direct:reset-raise-http-exception-flag"/>
+                <to
+                        uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeReturnLog()"/>
+            </doFinally>
+        </doTry>
+    </route>
+    <route id="create-policy">
+        <from uri="direct:create-policy"/>
+        <doTry>
+            <log loggingLevel="INFO"
+                 message="Creating Policy: ${exchangeProperty[policy].getName()}"/>
+            <to
+                    uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeLog('Policy', 'Create Policy')"/>
+            <setBody>
+                <simple>${exchangeProperty[policy].createPolicyPayload()}
+                </simple>
+            </setBody>
+            <setHeader headerName="CamelHttpMethod">
+                <constant>POST</constant>
+            </setHeader>
+            <setHeader headerName="Content-Type">
+                <constant>application/json</constant>
+            </setHeader>
+            <setHeader headerName="X-ONAP-RequestID">
+                <simple>${exchangeProperty[X-ONAP-RequestID]}
+                </simple>
+            </setHeader>
+            <setHeader headerName="X-ONAP-InvocationID">
+                <simple>${exchangeProperty[X-ONAP-InvocationID]}
+                </simple>
+            </setHeader>
+            <setHeader headerName="X-ONAP-PartnerName">
+                <simple>${exchangeProperty[X-ONAP-PartnerName]}
+                </simple>
+            </setHeader>
+            <log loggingLevel="INFO"
+                 message="Endpoint to create policy: {{clamp.config.policy.api.url}}/policy/api/v1/policytypes/${exchangeProperty[policy].getPolicyModel().getPolicyModelType()}/versions/${exchangeProperty[policy].getPolicyModel().getVersion()}/policies"></log>
+            <toD
+                    uri="{{clamp.config.policy.api.url}}/policy/api/v1/policytypes/${exchangeProperty[policy].getPolicyModel().getPolicyModelType()}/versions/${exchangeProperty[policy].getPolicyModel().getVersion()}/policies?bridgeEndpoint=true&amp;useSystemProperties=true&amp;mapHttpMessageHeaders=false&amp;throwExceptionOnFailure=${exchangeProperty[raiseHttpExceptionFlag]}&amp;authUsername={{clamp.config.policy.api.userName}}&amp;authPassword={{clamp.config.policy.api.password}}&amp;connectionTimeToLive=5000&amp;httpClient.connectTimeout=10000&amp;httpClient.socketTimeout=20000&amp;authenticationPreemptive=true&amp;connectionClose=true"/>
+            <doFinally>
+                <to uri="direct:reset-raise-http-exception-flag"/>
+                <to
+                        uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeReturnLog()"/>
+                <setProperty propertyName="logMessage">
+                    <simple>${exchangeProperty[policy].getName()} creation
+                        status
+                    </simple>
+                </setProperty>
+                <setProperty propertyName="logComponent">
+                    <simple>POLICY</simple>
+                </setProperty>
+                <to uri="direct:dump-loop-log-http-response"/>
+            </doFinally>
+        </doTry>
+    </route>
 
-               <route id="delete-policy">
-                       <from uri="direct:delete-policy"/>
-                       <doTry>
-                               <log loggingLevel="INFO"
-                                        message="Deleting Policy: ${exchangeProperty[policy].getName()}"/>
-                               <to
-                                               uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeLog('Policy', 'Delete Policy')"/>
-                               <setBody>
-                                       <constant>null</constant>
-                               </setBody>
-                               <setHeader headerName="CamelHttpMethod">
-                                       <constant>DELETE</constant>
-                               </setHeader>
-                               <setHeader headerName="X-ONAP-RequestID">
-                                       <simple>${exchangeProperty[X-ONAP-RequestID]}
-                                       </simple>
-                               </setHeader>
-                               <setHeader headerName="X-ONAP-InvocationID">
-                                       <simple>${exchangeProperty[X-ONAP-InvocationID]}
-                                       </simple>
-                               </setHeader>
-                               <setHeader headerName="X-ONAP-PartnerName">
-                                       <simple>${exchangeProperty[X-ONAP-PartnerName]}
-                                       </simple>
-                               </setHeader>
-                               <choice>
-                                       <when>
-                                               <simple>${exchangeProperty[policy].isLegacy()} == true</simple>
-                                               <setProperty propertyName="policyVersion">
-                                                       <simple>1</simple>
-                                               </setProperty>
-                                       </when>
-                                       <otherwise>
-                                               <setProperty propertyName="policyVersion">
-                                                       <simple>1.0.0</simple>
-                                               </setProperty>
-                                       </otherwise>
-                               </choice>
-                               <log loggingLevel="INFO"
-                                        message="Endpoint to delete policy: {{clamp.config.policy.api.url}}/policy/api/v1/policytypes/${exchangeProperty[policy].getPolicyModel().getPolicyModelType()}/versions/${exchangeProperty[policy].getPolicyModel().getVersion()}/policies/${exchangeProperty[policy].getName()}/versions/${exchangeProperty[policyVersion]}"></log>
-                               <toD
-                                               uri="{{clamp.config.policy.api.url}}/policy/api/v1/policytypes/${exchangeProperty[policy].getPolicyModel().getPolicyModelType()}/versions/${exchangeProperty[policy].getPolicyModel().getVersion()}/policies/${exchangeProperty[policy].getName()}/versions/${exchangeProperty[policyVersion]}?bridgeEndpoint=true&amp;useSystemProperties=true&amp;mapHttpMessageHeaders=false&amp;throwExceptionOnFailure=${exchangeProperty[raiseHttpExceptionFlag]}&amp;deleteWithBody=false&amp;mapHttpMessageBody=false&amp;mapHttpMessageFormUrlEncodedBody=false&amp;authUsername={{clamp.config.policy.api.userName}}&amp;authPassword={{clamp.config.policy.api.password}}&amp;connectionTimeToLive=5000&amp;httpClient.connectTimeout=10000&amp;httpClient.socketTimeout=20000&amp;authenticationPreemptive=true&amp;connectionClose=true"/>
+    <route id="delete-policy">
+        <from uri="direct:delete-policy"/>
+        <doTry>
+            <log loggingLevel="INFO"
+                 message="Deleting Policy: ${exchangeProperty[policy].getName()}"/>
+            <to
+                    uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeLog('Policy', 'Delete Policy')"/>
+            <setBody>
+                <constant>null</constant>
+            </setBody>
+            <setHeader headerName="CamelHttpMethod">
+                <constant>DELETE</constant>
+            </setHeader>
+            <setHeader headerName="X-ONAP-RequestID">
+                <simple>${exchangeProperty[X-ONAP-RequestID]}
+                </simple>
+            </setHeader>
+            <setHeader headerName="X-ONAP-InvocationID">
+                <simple>${exchangeProperty[X-ONAP-InvocationID]}
+                </simple>
+            </setHeader>
+            <setHeader headerName="X-ONAP-PartnerName">
+                <simple>${exchangeProperty[X-ONAP-PartnerName]}
+                </simple>
+            </setHeader>
+            <choice>
+                <when>
+                    <simple>${exchangeProperty[policy].isLegacy()} == true</simple>
+                    <setProperty propertyName="policyVersion">
+                        <simple>1</simple>
+                    </setProperty>
+                </when>
+                <otherwise>
+                    <setProperty propertyName="policyVersion">
+                        <simple>1.0.0</simple>
+                    </setProperty>
+                </otherwise>
+            </choice>
+            <log loggingLevel="INFO"
+                 message="Endpoint to delete policy: {{clamp.config.policy.api.url}}/policy/api/v1/policytypes/${exchangeProperty[policy].getPolicyModel().getPolicyModelType()}/versions/${exchangeProperty[policy].getPolicyModel().getVersion()}/policies/${exchangeProperty[policy].getName()}/versions/${exchangeProperty[policyVersion]}"></log>
+            <toD
+                    uri="{{clamp.config.policy.api.url}}/policy/api/v1/policytypes/${exchangeProperty[policy].getPolicyModel().getPolicyModelType()}/versions/${exchangeProperty[policy].getPolicyModel().getVersion()}/policies/${exchangeProperty[policy].getName()}/versions/${exchangeProperty[policyVersion]}?bridgeEndpoint=true&amp;useSystemProperties=true&amp;mapHttpMessageHeaders=false&amp;throwExceptionOnFailure=${exchangeProperty[raiseHttpExceptionFlag]}&amp;deleteWithBody=false&amp;mapHttpMessageBody=false&amp;mapHttpMessageFormUrlEncodedBody=false&amp;authUsername={{clamp.config.policy.api.userName}}&amp;authPassword={{clamp.config.policy.api.password}}&amp;connectionTimeToLive=5000&amp;httpClient.connectTimeout=10000&amp;httpClient.socketTimeout=20000&amp;authenticationPreemptive=true&amp;connectionClose=true"/>
 
-                               <doFinally>
-                                       <to uri="direct:reset-raise-http-exception-flag"/>
-                                       <to
-                                                       uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeReturnLog()"/>
-                                       <setProperty propertyName="logMessage">
-                                               <simple>${exchangeProperty[policy].getName()} removal
-                                                       status
-                                               </simple>
-                                       </setProperty>
-                                       <setProperty propertyName="logComponent">
-                                               <simple>POLICY</simple>
-                                       </setProperty>
-                                       <to uri="direct:dump-loop-log-http-response"/>
-                               </doFinally>
-                       </doTry>
-               </route>
-               <route id="create-guard-policy">
-                               <from uri="direct:create-guard-policy"/>
-                               <doTry>
-                                               <log loggingLevel="INFO"
-                                                               message="Creating Guard Policy: ${exchangeProperty[guardPolicy].getKey()}"/>
-                                               <to
-                                                               uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeLog('Policy', 'Create Guard Policy')"/>
-                                               <setBody>
-                                                               <simple>${exchangeProperty[guardPolicy].getValue()}
-                                                               </simple>
-                                               </setBody>
-                                               <setHeader headerName="CamelHttpMethod">
-                                                               <constant>POST</constant>
-                                               </setHeader>
-                                               <setHeader headerName="Content-Type">
-                                                               <constant>application/json</constant>
-                                               </setHeader>
-                                               <setHeader headerName="X-ONAP-RequestID">
-                                                               <simple>${exchangeProperty[X-ONAP-RequestID]}
-                                                               </simple>
-                                               </setHeader>
-                                               <setHeader headerName="X-ONAP-InvocationID">
-                                                               <simple>${exchangeProperty[X-ONAP-InvocationID]}
-                                                               </simple>
-                                               </setHeader>
-                                               <setHeader headerName="X-ONAP-PartnerName">
-                                                               <simple>${exchangeProperty[X-ONAP-PartnerName]}
-                                                               </simple>
-                                               </setHeader>
-                                               <log loggingLevel="INFO"
-                                                               message="Endpoint to create guard policy: {{clamp.config.policy.api.url}}/policy/api/v1/policytypes/onap.policies.controlloop.Guard/versions/1.0.0/policies"></log>
-                                               <toD
-                                                               uri="{{clamp.config.policy.api.url}}/policy/api/v1/policytypes/onap.policies.controlloop.Guard/versions/1.0.0/policies?bridgeEndpoint=true&amp;useSystemProperties=true&amp;mapHttpMessageHeaders=false&amp;throwExceptionOnFailure=${exchangeProperty[raiseHttpExceptionFlag]}&amp;authUsername={{clamp.config.policy.api.userName}}&amp;authPassword={{clamp.config.policy.api.password}}&amp;connectionTimeToLive=5000&amp;httpClient.connectTimeout=10000&amp;httpClient.socketTimeout=20000&amp;authenticationPreemptive=true&amp;connectionClose=true"/>
-                                               <doFinally>
-                                                               <to uri="direct:reset-raise-http-exception-flag"/>
-                                                               <to
-                                                                               uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeReturnLog()"/>
-                                                               <setProperty propertyName="logMessage">
-                                                                               <simple>${exchangeProperty[guardPolicy].getKey()} creation status
-                                                                               </simple>
-                                                               </setProperty>
-                                                               <setProperty propertyName="logComponent">
-                                                                               <simple>POLICY</simple>
-                                                               </setProperty>
-                                                               <to uri="direct:dump-loop-log-http-response"/>
-                                               </doFinally>
-                               </doTry>
-               </route>
+            <doFinally>
+                <to uri="direct:reset-raise-http-exception-flag"/>
+                <to
+                        uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeReturnLog()"/>
+                <setProperty propertyName="logMessage">
+                    <simple>${exchangeProperty[policy].getName()} removal
+                        status
+                    </simple>
+                </setProperty>
+                <setProperty propertyName="logComponent">
+                    <simple>POLICY</simple>
+                </setProperty>
+                <to uri="direct:dump-loop-log-http-response"/>
+            </doFinally>
+        </doTry>
+    </route>
+    <route id="create-guard-policy">
+        <from uri="direct:create-guard-policy"/>
+        <doTry>
+            <log loggingLevel="INFO"
+                 message="Creating Guard Policy: ${exchangeProperty[guardPolicy].getKey()}"/>
+            <to
+                    uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeLog('Policy', 'Create Guard Policy')"/>
+            <setBody>
+                <simple>${exchangeProperty[guardPolicy].getValue()}
+                </simple>
+            </setBody>
+            <setHeader headerName="CamelHttpMethod">
+                <constant>POST</constant>
+            </setHeader>
+            <setHeader headerName="Content-Type">
+                <constant>application/json</constant>
+            </setHeader>
+            <setHeader headerName="X-ONAP-RequestID">
+                <simple>${exchangeProperty[X-ONAP-RequestID]}
+                </simple>
+            </setHeader>
+            <setHeader headerName="X-ONAP-InvocationID">
+                <simple>${exchangeProperty[X-ONAP-InvocationID]}
+                </simple>
+            </setHeader>
+            <setHeader headerName="X-ONAP-PartnerName">
+                <simple>${exchangeProperty[X-ONAP-PartnerName]}
+                </simple>
+            </setHeader>
+            <log loggingLevel="INFO"
+                 message="Endpoint to create guard policy: {{clamp.config.policy.api.url}}/policy/api/v1/policytypes/onap.policies.controlloop.Guard/versions/1.0.0/policies"></log>
+            <toD
+                    uri="{{clamp.config.policy.api.url}}/policy/api/v1/policytypes/onap.policies.controlloop.Guard/versions/1.0.0/policies?bridgeEndpoint=true&amp;useSystemProperties=true&amp;mapHttpMessageHeaders=false&amp;throwExceptionOnFailure=${exchangeProperty[raiseHttpExceptionFlag]}&amp;authUsername={{clamp.config.policy.api.userName}}&amp;authPassword={{clamp.config.policy.api.password}}&amp;connectionTimeToLive=5000&amp;httpClient.connectTimeout=10000&amp;httpClient.socketTimeout=20000&amp;authenticationPreemptive=true&amp;connectionClose=true"/>
+            <doFinally>
+                <to uri="direct:reset-raise-http-exception-flag"/>
+                <to
+                        uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeReturnLog()"/>
+                <setProperty propertyName="logMessage">
+                    <simple>${exchangeProperty[guardPolicy].getKey()} creation status
+                    </simple>
+                </setProperty>
+                <setProperty propertyName="logComponent">
+                    <simple>POLICY</simple>
+                </setProperty>
+                <to uri="direct:dump-loop-log-http-response"/>
+            </doFinally>
+        </doTry>
+    </route>
 
-               <route id="delete-guard-policy">
-                               <from uri="direct:delete-guard-policy"/>
-                               <doTry>
-                                               <log loggingLevel="INFO"
-                                                               message="Deleting Guard Policy: ${exchangeProperty[guardPolicy].getKey()}"/>
-                                               <to
-                                                               uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeLog('Policy', 'Delete Guard Policy')"/>
-                                               <setBody>
-                                                               <constant>null</constant>
-                                               </setBody>
-                                               <setHeader headerName="CamelHttpMethod">
-                                                               <constant>DELETE</constant>
-                                               </setHeader>
-                                               <setHeader headerName="X-ONAP-RequestID">
-                                                               <simple>${exchangeProperty[X-ONAP-RequestID]}
-                                                               </simple>
-                                               </setHeader>
-                                               <setHeader headerName="X-ONAP-InvocationID">
-                                                               <simple>${exchangeProperty[X-ONAP-InvocationID]}
-                                                               </simple>
-                                               </setHeader>
-                                               <setHeader headerName="X-ONAP-PartnerName">
-                                                               <simple>${exchangeProperty[X-ONAP-PartnerName]}
-                                                               </simple>
-                                               </setHeader>
-                                               <log loggingLevel="INFO"
-                                                               message="Endpoint to delete guard policy: {{clamp.config.policy.api.url}}/policy/api/v1/policytypes/onap.policies.controlloop.Guard/versions/1.0.0/policies/${exchangeProperty[guardPolicy].getKey()}/versions/1"></log>
-                                               <toD
-                                                               uri="{{clamp.config.policy.api.url}}/policy/api/v1/policytypes/onap.policies.controlloop.Guard/versions/1.0.0/policies/${exchangeProperty[guardPolicy].getKey()}/versions/1?bridgeEndpoint=true&amp;useSystemProperties=true&amp;throwExceptionOnFailure=${exchangeProperty[raiseHttpExceptionFlag]}&amp;deleteWithBody=false&amp;mapHttpMessageBody=false&amp;mapHttpMessageFormUrlEncodedBody=false&amp;authUsername={{clamp.config.policy.api.userName}}&amp;authPassword={{clamp.config.policy.api.password}}&amp;connectionTimeToLive=5000&amp;httpClient.connectTimeout=10000&amp;httpClient.socketTimeout=20000&amp;authenticationPreemptive=true&amp;connectionClose=true"/>
+    <route id="delete-guard-policy">
+        <from uri="direct:delete-guard-policy"/>
+        <doTry>
+            <log loggingLevel="INFO"
+                 message="Deleting Guard Policy: ${exchangeProperty[guardPolicy].getKey()}"/>
+            <to
+                    uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeLog('Policy', 'Delete Guard Policy')"/>
+            <setBody>
+                <constant>null</constant>
+            </setBody>
+            <setHeader headerName="CamelHttpMethod">
+                <constant>DELETE</constant>
+            </setHeader>
+            <setHeader headerName="X-ONAP-RequestID">
+                <simple>${exchangeProperty[X-ONAP-RequestID]}
+                </simple>
+            </setHeader>
+            <setHeader headerName="X-ONAP-InvocationID">
+                <simple>${exchangeProperty[X-ONAP-InvocationID]}
+                </simple>
+            </setHeader>
+            <setHeader headerName="X-ONAP-PartnerName">
+                <simple>${exchangeProperty[X-ONAP-PartnerName]}
+                </simple>
+            </setHeader>
+            <log loggingLevel="INFO"
+                 message="Endpoint to delete guard policy: {{clamp.config.policy.api.url}}/policy/api/v1/policytypes/onap.policies.controlloop.Guard/versions/1.0.0/policies/${exchangeProperty[guardPolicy].getKey()}/versions/1"></log>
+            <toD
+                    uri="{{clamp.config.policy.api.url}}/policy/api/v1/policytypes/onap.policies.controlloop.Guard/versions/1.0.0/policies/${exchangeProperty[guardPolicy].getKey()}/versions/1?bridgeEndpoint=true&amp;useSystemProperties=true&amp;throwExceptionOnFailure=${exchangeProperty[raiseHttpExceptionFlag]}&amp;deleteWithBody=false&amp;mapHttpMessageBody=false&amp;mapHttpMessageFormUrlEncodedBody=false&amp;authUsername={{clamp.config.policy.api.userName}}&amp;authPassword={{clamp.config.policy.api.password}}&amp;connectionTimeToLive=5000&amp;httpClient.connectTimeout=10000&amp;httpClient.socketTimeout=20000&amp;authenticationPreemptive=true&amp;connectionClose=true"/>
 
-                                               <doFinally>
-                                                               <to uri="direct:reset-raise-http-exception-flag"/>
-                                                               <to
-                                                                               uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeReturnLog()"/>
-                                                               <setProperty propertyName="logMessage">
-                                                                               <simple>${exchangeProperty[guardPolicy].getKey()} removal status
-                                                                               </simple>
-                                                               </setProperty>
-                                                               <setProperty propertyName="logComponent">
-                                                                               <simple>POLICY</simple>
-                                                               </setProperty>
-                                                               <to uri="direct:dump-loop-log-http-response"/>
-                                               </doFinally>
-                               </doTry>
-               </route>
+            <doFinally>
+                <to uri="direct:reset-raise-http-exception-flag"/>
+                <to
+                        uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeReturnLog()"/>
+                <setProperty propertyName="logMessage">
+                    <simple>${exchangeProperty[guardPolicy].getKey()} removal status
+                    </simple>
+                </setProperty>
+                <setProperty propertyName="logComponent">
+                    <simple>POLICY</simple>
+                </setProperty>
+                <to uri="direct:dump-loop-log-http-response"/>
+            </doFinally>
+        </doTry>
+    </route>
 
-               <route id="add-all-to-active-pdp-group">
-                               <from uri="direct:add-all-to-active-pdp-group"/>
-                               <doTry>
-                                               <log loggingLevel="INFO"
-                                                               message="Adding loop policies to PDP Group: ${exchangeProperty[loopObject].getName()}"/>
-                                               <to
-                                                               uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeLog('Policy', 'Add policies to PDP group')"/>
-                                               <setBody>
-                                                               <simple>${exchangeProperty[loopObject].getComponent("POLICY").createPoliciesPayloadPdpGroup(exchangeProperty[loopObject],"POST")}
-                                                               </simple>
-                                               </setBody>
-                                               <setHeader headerName="CamelHttpMethod">
-                                                               <constant>POST</constant>
-                                               </setHeader>
-                                               <setHeader headerName="Content-Type">
-                                                               <constant>application/json</constant>
-                                               </setHeader>
-                                               <setHeader headerName="X-ONAP-RequestID">
-                                                               <simple>${exchangeProperty[X-ONAP-RequestID]}
-                                                               </simple>
-                                               </setHeader>
-                                               <setHeader headerName="X-ONAP-InvocationID">
-                                                               <simple>${exchangeProperty[X-ONAP-InvocationID]}
-                                                               </simple>
-                                               </setHeader>
-                                               <setHeader headerName="X-ONAP-PartnerName">
-                                                               <simple>${exchangeProperty[X-ONAP-PartnerName]}
-                                                               </simple>
-                                               </setHeader>
-                                               <log loggingLevel="INFO"
-                                                               message="Endpoint to add policies to PDP Group: {{clamp.config.policy.pap.url}}/policy/pap/v1/pdps/deployments/batch"></log>
-                                               <toD
-                                                               uri="{{clamp.config.policy.pap.url}}/policy/pap/v1/pdps/deployments/batch?bridgeEndpoint=true&amp;throwExceptionOnFailure=${exchangeProperty[raiseHttpExceptionFlag]}&amp;useSystemProperties=true&amp;authUsername={{clamp.config.policy.pap.userName}}&amp;authPassword={{clamp.config.policy.pap.password}}&amp;connectionTimeToLive=5000&amp;httpClient.connectTimeout=10000&amp;httpClient.socketTimeout=20000&amp;authenticationPreemptive=true&amp;connectionClose=true"/>
+    <route id="add-all-to-active-pdp-group">
+        <from uri="direct:add-all-to-active-pdp-group"/>
+        <doTry>
+            <log loggingLevel="INFO"
+                 message="Adding loop policies to PDP Group: ${exchangeProperty[loopObject].getName()}"/>
+            <to
+                    uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeLog('Policy', 'Add policies to PDP group')"/>
+            <setBody>
+                <simple>
+                    ${exchangeProperty[loopObject].getComponent("POLICY").createPoliciesPayloadPdpGroup(exchangeProperty[loopObject],"POST")}
+                </simple>
+            </setBody>
+            <setHeader headerName="CamelHttpMethod">
+                <constant>POST</constant>
+            </setHeader>
+            <setHeader headerName="Content-Type">
+                <constant>application/json</constant>
+            </setHeader>
+            <setHeader headerName="X-ONAP-RequestID">
+                <simple>${exchangeProperty[X-ONAP-RequestID]}
+                </simple>
+            </setHeader>
+            <setHeader headerName="X-ONAP-InvocationID">
+                <simple>${exchangeProperty[X-ONAP-InvocationID]}
+                </simple>
+            </setHeader>
+            <setHeader headerName="X-ONAP-PartnerName">
+                <simple>${exchangeProperty[X-ONAP-PartnerName]}
+                </simple>
+            </setHeader>
+            <log loggingLevel="INFO"
+                 message="Endpoint to add policies to PDP Group: {{clamp.config.policy.pap.url}}/policy/pap/v1/pdps/deployments/batch"></log>
+            <toD
+                    uri="{{clamp.config.policy.pap.url}}/policy/pap/v1/pdps/deployments/batch?bridgeEndpoint=true&amp;throwExceptionOnFailure=${exchangeProperty[raiseHttpExceptionFlag]}&amp;useSystemProperties=true&amp;authUsername={{clamp.config.policy.pap.userName}}&amp;authPassword={{clamp.config.policy.pap.password}}&amp;connectionTimeToLive=5000&amp;httpClient.connectTimeout=10000&amp;httpClient.socketTimeout=20000&amp;authenticationPreemptive=true&amp;connectionClose=true"/>
 
-                                               <doFinally>
-                                                               <to uri="direct:reset-raise-http-exception-flag"/>
-                                                               <to
-                                                                               uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeReturnLog()"/>
-                                                               <setProperty propertyName="logMessage">
-                                                                               <simple>PDP Group push ALL status</simple>
-                                                               </setProperty>
-                                                               <setProperty propertyName="logComponent">
-                                                                               <simple>POLICY</simple>
-                                                               </setProperty>
-                                                               <to uri="direct:dump-loop-log-http-response"/>
-                                               </doFinally>
-                               </doTry>
-               </route>
+            <doFinally>
+                <to uri="direct:reset-raise-http-exception-flag"/>
+                <to
+                        uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeReturnLog()"/>
+                <setProperty propertyName="logMessage">
+                    <simple>PDP Group push ALL status</simple>
+                </setProperty>
+                <setProperty propertyName="logComponent">
+                    <simple>POLICY</simple>
+                </setProperty>
+                <to uri="direct:dump-loop-log-http-response"/>
+            </doFinally>
+        </doTry>
+    </route>
 
-               <route id="remove-all-policy-from-active-pdp-group">
-                               <from uri="direct:remove-all-policy-from-active-pdp-group"/>
-                       <doTry>
-                               <log loggingLevel="INFO"
-                                        message="Removing loop policies from PDP Group: ${exchangeProperty[loopObject].getName()}"/>
-                               <to
-                                               uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeLog('Policy', 'Remove policies from PDP group')"/>
-                               <setBody>
-                                       <simple>${exchangeProperty[loopObject].getComponent("POLICY").createPoliciesPayloadPdpGroup(exchangeProperty[loopObject],"DELETE")}
-                                       </simple>
-                               </setBody>
-                               <setHeader headerName="CamelHttpMethod">
-                                       <constant>POST</constant>
-                               </setHeader>
-                               <setHeader headerName="Content-Type">
-                                       <constant>application/json</constant>
-                               </setHeader>
-                               <setHeader headerName="X-ONAP-RequestID">
-                                       <simple>${exchangeProperty[X-ONAP-RequestID]}
-                                       </simple>
-                               </setHeader>
-                               <setHeader headerName="X-ONAP-InvocationID">
-                                       <simple>${exchangeProperty[X-ONAP-InvocationID]}
-                                       </simple>
-                               </setHeader>
-                               <setHeader headerName="X-ONAP-PartnerName">
-                                       <simple>${exchangeProperty[X-ONAP-PartnerName]}
-                                       </simple>
-                               </setHeader>
-                               <log loggingLevel="INFO"
-                                        message="Endpoint to remove policies from PDP Group: {{clamp.config.policy.pap.url}}/policy/pap/v1/pdps/deployments/batch"></log>
-                               <toD
-                                               uri="{{clamp.config.policy.pap.url}}/policy/pap/v1/pdps/deployments/batch?bridgeEndpoint=true&amp;throwExceptionOnFailure=${exchangeProperty[raiseHttpExceptionFlag]}&amp;useSystemProperties=true&amp;authUsername={{clamp.config.policy.pap.userName}}&amp;authPassword={{clamp.config.policy.pap.password}}&amp;connectionTimeToLive=5000&amp;httpClient.connectTimeout=10000&amp;httpClient.socketTimeout=20000&amp;authenticationPreemptive=true&amp;connectionClose=true"/>
+    <route id="remove-all-policy-from-active-pdp-group">
+        <from uri="direct:remove-all-policy-from-active-pdp-group"/>
+        <doTry>
+            <log loggingLevel="INFO"
+                 message="Removing loop policies from PDP Group: ${exchangeProperty[loopObject].getName()}"/>
+            <to
+                    uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeLog('Policy', 'Remove policies from PDP group')"/>
+            <setBody>
+                <simple>
+                    ${exchangeProperty[loopObject].getComponent("POLICY").createPoliciesPayloadPdpGroup(exchangeProperty[loopObject],"DELETE")}
+                </simple>
+            </setBody>
+            <setHeader headerName="CamelHttpMethod">
+                <constant>POST</constant>
+            </setHeader>
+            <setHeader headerName="Content-Type">
+                <constant>application/json</constant>
+            </setHeader>
+            <setHeader headerName="X-ONAP-RequestID">
+                <simple>${exchangeProperty[X-ONAP-RequestID]}
+                </simple>
+            </setHeader>
+            <setHeader headerName="X-ONAP-InvocationID">
+                <simple>${exchangeProperty[X-ONAP-InvocationID]}
+                </simple>
+            </setHeader>
+            <setHeader headerName="X-ONAP-PartnerName">
+                <simple>${exchangeProperty[X-ONAP-PartnerName]}
+                </simple>
+            </setHeader>
+            <log loggingLevel="INFO"
+                 message="Endpoint to remove policies from PDP Group: {{clamp.config.policy.pap.url}}/policy/pap/v1/pdps/deployments/batch"></log>
+            <toD
+                    uri="{{clamp.config.policy.pap.url}}/policy/pap/v1/pdps/deployments/batch?bridgeEndpoint=true&amp;throwExceptionOnFailure=${exchangeProperty[raiseHttpExceptionFlag]}&amp;useSystemProperties=true&amp;authUsername={{clamp.config.policy.pap.userName}}&amp;authPassword={{clamp.config.policy.pap.password}}&amp;connectionTimeToLive=5000&amp;httpClient.connectTimeout=10000&amp;httpClient.socketTimeout=20000&amp;authenticationPreemptive=true&amp;connectionClose=true"/>
 
-                               <doFinally>
-                                       <to uri="direct:reset-raise-http-exception-flag"/>
-                                       <to
-                                                       uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeReturnLog()"/>
-                                       <setProperty propertyName="logMessage">
-                                               <simple>PDP Group remove ALL status</simple>
-                                       </setProperty>
-                                       <setProperty propertyName="logComponent">
-                                               <simple>POLICY</simple>
-                                       </setProperty>
-                                       <to uri="direct:dump-loop-log-http-response"/>
-                               </doFinally>
-                       </doTry>
-               </route>
-               <route id="get-all-pdp-groups">
-                               <from uri="direct:get-all-pdp-groups"/>
-                               <doTry>
-                                               <log loggingLevel="INFO"
-                                                               message="Getting the list of PDP Groups"/>
-                                               <to
-                                                               uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeLog('Policy', 'Getting the PDP Group list')"/>
-                                               <setHeader headerName="CamelHttpMethod">
-                                                               <constant>GET</constant>
-                                               </setHeader>
-                                               <setHeader headerName="X-ONAP-RequestID">
-                                                               <simple>${exchangeProperty[X-ONAP-RequestID]}
-                                                               </simple>
-                                               </setHeader>
-                                               <setHeader headerName="X-ONAP-InvocationID">
-                                                               <simple>${exchangeProperty[X-ONAP-InvocationID]}
-                                                               </simple>
-                                               </setHeader>
-                                               <setHeader headerName="X-ONAP-PartnerName">
-                                                               <simple>${exchangeProperty[X-ONAP-PartnerName]}
-                                                               </simple>
-                                               </setHeader>
-                                               <log loggingLevel="INFO"
-                                                               message="Endpoint to get policy model: {{clamp.config.policy.pap.url}}/policy/pap/v1/pdps"></log>
-                                               <toD
-                                                               uri="{{clamp.config.policy.pap.url}}/policy/pap/v1/pdps?bridgeEndpoint=true&amp;useSystemProperties=true&amp;throwExceptionOnFailure=${exchangeProperty[raiseHttpExceptionFlag]}&amp;authMethod=Basic&amp;authUsername={{clamp.config.policy.api.userName}}&amp;authPassword={{clamp.config.policy.api.password}}&amp;connectionTimeToLive=5000&amp;httpClient.connectTimeout=10000&amp;httpClient.socketTimeout=20000&amp;authenticationPreemptive=true&amp;connectionClose=true"/>
-                                               <convertBodyTo type="java.lang.String" />
-                                               <doFinally>
-                                                               <to uri="direct:reset-raise-http-exception-flag"/>
-                                                               <to
-                                                                               uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeReturnLog()"/>
-                                               </doFinally>
-                               </doTry>
-               </route>
+            <doFinally>
+                <to uri="direct:reset-raise-http-exception-flag"/>
+                <to
+                        uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeReturnLog()"/>
+                <setProperty propertyName="logMessage">
+                    <simple>PDP Group remove ALL status</simple>
+                </setProperty>
+                <setProperty propertyName="logComponent">
+                    <simple>POLICY</simple>
+                </setProperty>
+                <to uri="direct:dump-loop-log-http-response"/>
+            </doFinally>
+        </doTry>
+    </route>
+    <route id="get-all-pdp-groups">
+        <from uri="direct:get-all-pdp-groups"/>
+        <doTry>
+            <log loggingLevel="INFO"
+                 message="Getting the list of PDP Groups"/>
+            <to
+                    uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeLog('Policy', 'Getting the PDP Group list')"/>
+            <setHeader headerName="CamelHttpMethod">
+                <constant>GET</constant>
+            </setHeader>
+            <setHeader headerName="X-ONAP-RequestID">
+                <simple>${exchangeProperty[X-ONAP-RequestID]}
+                </simple>
+            </setHeader>
+            <setHeader headerName="X-ONAP-InvocationID">
+                <simple>${exchangeProperty[X-ONAP-InvocationID]}
+                </simple>
+            </setHeader>
+            <setHeader headerName="X-ONAP-PartnerName">
+                <simple>${exchangeProperty[X-ONAP-PartnerName]}
+                </simple>
+            </setHeader>
+            <log loggingLevel="INFO"
+                 message="Endpoint to get policy model: {{clamp.config.policy.pap.url}}/policy/pap/v1/pdps"></log>
+            <toD
+                    uri="{{clamp.config.policy.pap.url}}/policy/pap/v1/pdps?bridgeEndpoint=true&amp;useSystemProperties=true&amp;throwExceptionOnFailure=${exchangeProperty[raiseHttpExceptionFlag]}&amp;authMethod=Basic&amp;authUsername={{clamp.config.policy.api.userName}}&amp;authPassword={{clamp.config.policy.api.password}}&amp;connectionTimeToLive=5000&amp;httpClient.connectTimeout=10000&amp;httpClient.socketTimeout=20000&amp;authenticationPreemptive=true&amp;connectionClose=true"/>
+            <convertBodyTo type="java.lang.String"/>
+            <doFinally>
+                <to uri="direct:reset-raise-http-exception-flag"/>
+                <to
+                        uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeReturnLog()"/>
+            </doFinally>
+        </doTry>
+    </route>
+    <route id="remove-one-policy-from-active-pdp-group">
+        <from uri="direct:remove-one-policy-from-active-pdp-group"/>
+        <doTry>
+            <log loggingLevel="INFO"
+                 message="Removing policy from active PDP group for loop: ${exchangeProperty[loopObject].getName()}"/>
+            <to
+                    uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeLog('Policy', 'Removing one policy PDP group')"/>
+            <setBody>
+                <constant>null</constant>
+            </setBody>
+            <setHeader headerName="CamelHttpMethod">
+                <constant>DELETE</constant>
+            </setHeader>
+            <setHeader headerName="X-ONAP-RequestID">
+                <simple>${exchangeProperty[X-ONAP-RequestID]}
+                </simple>
+            </setHeader>
+            <setHeader headerName="X-ONAP-InvocationID">
+                <simple>${exchangeProperty[X-ONAP-InvocationID]}
+                </simple>
+            </setHeader>
+            <setHeader headerName="X-ONAP-PartnerName">
+                <simple>${exchangeProperty[X-ONAP-PartnerName]}
+                </simple>
+            </setHeader>
+            <log loggingLevel="INFO"
+                 message="Endpoint to delete policy from PDP Group: {{clamp.config.policy.pap.url}}/pdps/policies/${exchangeProperty[policyName]}/versions/1.0.0"></log>
+            <toD
+                    uri="{{clamp.config.policy.pap.url}}/policy/pap/v1/pdps/policies/${exchangeProperty[policyName]}/versions/1.0.0?bridgeEndpoint=true&amp;useSystemProperties=true&amp;mapHttpMessageHeaders=false&amp;throwExceptionOnFailure=${exchangeProperty[raiseHttpExceptionFlag]}&amp;authUsername={{clamp.config.policy.pap.userName}}&amp;authPassword={{clamp.config.policy.pap.password}}&amp;connectionTimeToLive=5000&amp;httpClient.connectTimeout=10000&amp;httpClient.socketTimeout=20000&amp;authenticationPreemptive=true&amp;connectionClose=true"/>
+            <setProperty propertyName="logMessage">
+                <simple>${exchangeProperty[policyName]} PDP Group removal status
+                </simple>
+            </setProperty>
+            <setProperty propertyName="logComponent">
+                <simple>POLICY</simple>
+            </setProperty>
+            <to uri="direct:dump-loop-log-http-response"/>
+            <doCatch>
+                <exception>java.lang.Exception</exception>
+                <handled>
+                    <constant>false</constant>
+                </handled>
+                <setProperty propertyName="logMessage">
+                    <simple>PDP Group removal, Error reported: ${exception}</simple>
+                </setProperty>
+                <setProperty propertyName="logComponent">
+                    <simple>POLICY</simple>
+                </setProperty>
+                <to uri="direct:dump-loop-log-http-response"/>
+            </doCatch>
+            <doFinally>
+                <to uri="direct:reset-raise-http-exception-flag"/>
+                <to
+                        uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeReturnLog()"/>
+            </doFinally>
+        </doTry>
+    </route>
 </routes>
\ No newline at end of file
index 698ee28..f10d187 100644 (file)
@@ -240,8 +240,8 @@ export default class LoopService {
                        });
        }
 
-       static removeOperationalPolicyType(loopName, policyType, policyVersion) {
-               return fetch('/restservices/clds/v2/loop/removeOperationaPolicy/' + loopName + '/policyModel/' + policyType +'/' + policyVersion , {
+       static removeOperationalPolicyType(loopName, policyType, policyVersion, policyName) {
+               return fetch('/restservices/clds/v2/loop/removeOperationaPolicy/' + loopName + '/policyModel/' + policyType +'/' + policyVersion + '/' + policyName , {
                        method: 'PUT',
                        headers: {
                                "Content-Type": "application/json"
index 1802e43..11e9353 100644 (file)
@@ -78,6 +78,10 @@ export default class ModifyLoopModal extends React.Component {
                                cellStyle: cellStyle,
                                headerStyle: headerStyle
                        },
+                       { title: "Policy Name", field: "policyName",
+               cellStyle: cellStyle,
+                headerStyle: headerStyle
+            },
                        { title: "Version", field: "version",
                                cellStyle: cellStyle,
                                headerStyle: headerStyle
@@ -90,7 +94,7 @@ export default class ModifyLoopModal extends React.Component {
                                cellStyle: cellStyle,
                                headerStyle: headerStyle
                        },
-             { title: "Add", field: "updatedDate", editable: 'never',
+             { title: "Created Date", field: "createdDate", editable: 'never',
                cellStyle: cellStyle,
                headerStyle: headerStyle
              }
@@ -128,7 +132,9 @@ export default class ModifyLoopModal extends React.Component {
                var operationalPolicies = this.state.loopCache.getOperationalPolicies();
                var selectedPolicyModels = [];
                for (var policy in operationalPolicies) {
-                       selectedPolicyModels.push(operationalPolicies[policy]["policyModel"]);
+                   var newRow = operationalPolicies[policy]["policyModel"];
+                   newRow.add("policyName", operationalPolicies[policy].name);
+                       selectedPolicyModels.push(newRow);
                }
 
                PolicyToscaService.getToscaPolicyModels().then(allToscaModels => {
@@ -167,7 +173,7 @@ export default class ModifyLoopModal extends React.Component {
        }
 
        handleRemove() {
-               LoopService.removeOperationalPolicyType(this.state.loopCache.getLoopName(),this.state.selectedRowData.policyModelType,this.state.selectedRowData.version);
+               LoopService.removeOperationalPolicyType(this.state.loopCache.getLoopName(),this.state.selectedRowData.policyModelType,this.state.selectedRowData.version,this.state.selectedRowData.policyName);
                this.props.loadLoopFunction(this.state.loopCache.getLoopName());
                this.handleClose();
        }
@@ -203,7 +209,7 @@ export default class ModifyLoopModal extends React.Component {
                                        <Tab eventKey="remove" title="Remove Operational Policies">
                                                <Modal.Body>
                                                        <MaterialTable
-                                                       title={"Already added Tosca Policy Models"}
+                                                       title={"Tosca Policy Models already added"}
                                                        data={this.state.selectedPolicyModelsData}
                                                        columns={this.state.toscaColumns}
                                                        icons={this.state.tableIcons}