Fix the policy synchro 70/103770/1
authorsebdet <sebastien.determe@intl.att.com>
Tue, 17 Mar 2020 00:21:59 +0000 (17:21 -0700)
committersebdet <sebastien.determe@intl.att.com>
Tue, 17 Mar 2020 00:21:59 +0000 (17:21 -0700)
Fix the periodic policy synchro issue due to wrong format expected.

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

src/main/java/org/onap/clamp/clds/client/PolicyEngineServices.java
src/main/java/org/onap/clamp/policy/microservice/MicroServicePolicy.java
src/main/resources/clds/camel/routes/policy-flows.xml
src/test/resources/http-cache/example/policy/api/v1/policytypes&#63;connectionTimeToLive=5000/.file

index 44abc9d..2358671 100644 (file)
@@ -27,12 +27,10 @@ import com.att.eelf.configuration.EELFLogger;
 import com.att.eelf.configuration.EELFManager;
 import com.google.gson.JsonArray;
 import com.google.gson.JsonObject;
-import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.LinkedHashMap;
 import java.util.LinkedList;
 import java.util.List;
-import java.util.Map;
 import org.apache.camel.CamelContext;
 import org.apache.camel.Exchange;
 import org.apache.camel.builder.ExchangeBuilder;
@@ -118,15 +116,12 @@ public class PolicyEngineServices {
             return;
         }
 
-        List<LinkedHashMap<String, Object>> policyTypesList = (List<LinkedHashMap<String, Object>>) loadedYaml
+        LinkedHashMap<String, Object> policyTypesMap = (LinkedHashMap<String, Object>) loadedYaml
                 .get("policy_types");
-        policyTypesList.parallelStream().forEach(policyType -> {
-            Map.Entry<String, Object> policyTypeEntry =
-                    (Map.Entry<String, Object>) new ArrayList(policyType.entrySet()).get(0);
-
+        policyTypesMap.entrySet().parallelStream().forEach(entryPolicyType -> {
             policyModelsService.createPolicyInDbIfNeeded(
-                    createPolicyModelFromPolicyEngine(policyTypeEntry.getKey(),
-                            ((String) ((LinkedHashMap<String, Object>) policyTypeEntry.getValue()).get("version"))));
+                    createPolicyModelFromPolicyEngine(entryPolicyType.getKey(),
+                            ((String) ((LinkedHashMap<String, Object>) entryPolicyType.getValue()).get("version"))));
         });
     }
 
index 47b3a4f..b3bd7e8 100644 (file)
@@ -152,8 +152,8 @@ public class MicroServicePolicy extends Policy implements Serializable {
 
     @Override
     public void updateJsonRepresentation(ToscaConverterWithDictionarySupport toscaConverter) {
-        toscaConverter.convertToscaToJsonSchemaObject(this.getPolicyModel().getPolicyModelTosca(),
-                this.getPolicyModel().getPolicyModelType());
+        this.setJsonRepresentation(toscaConverter.convertToscaToJsonSchemaObject(this.getPolicyModel().getPolicyModelTosca(),
+                this.getPolicyModel().getPolicyModelType()));
     }
 
     public Boolean getShared() {
index 48e518d..7b52f22 100644 (file)
                                                                </simple>
                                                </setHeader>
                                                <log loggingLevel="INFO"
-                                                               message="Endpoint to get all policy models: {{clamp.config.policy.pap.url}}/policy/api/v1/policytypes"></log>
+                                                               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"/>                
                                                                </simple>
                                                </setHeader>
                                                <log loggingLevel="INFO"
-                                                               message="Endpoint to get policy model: {{clamp.config.policy.pap.url}}/policy/api/v1/policytypes/${exchangeProperty[policyModelName]}/versions/${exchangeProperty[policyModelVersion]}"></log>
+                                                               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"/>
index 0cce9c3..6f24f3c 100644 (file)
@@ -1,34 +1,34 @@
-tosca_definitions_version: tosca_simple_yaml_1_0_0
+tosca_definitions_version: tosca_simple_yaml_1_1_0
 policy_types:
-  onap.policies.controlloop.operational.common.Drools:
+  onap.policies.controlloop.operational.common.Drools:
       version: 1.0.0
       description: Operational Policy for Control Loops using the Drools PDP
       derived_from: onapy.policies.controlloop.Operational
       properties:
         # Omitted for brevity, see Section 1
 
-  onap.policies.controlloop.operational.common.Apex:
+  onap.policies.controlloop.operational.common.Apex:
       version: 1.0.0
       description: Operational Policy for Control Loops using the APEX PDP
       derived_from: onap.policies.controlloop.Operational
       properties:
         # Omitted for brevity, see Section 1
 
-  onap.policies.controlloop.guard.common.FrequencyLimiter:
+  onap.policies.controlloop.guard.common.FrequencyLimiter:
       version: 1.0.0
       description: Supports limiting the frequency of actions being taken by a Actor.
       derived_from: onap.policies.controlloop.Guard
       properties:
         # Omitted for brevity, see Section 1
 
-  onap.policies.controlloop.guard.common.Blacklist:
+  onap.policies.controlloop.guard.common.Blacklist:
       version: 1.0.0
       description: Supports blacklist of VNF's from performing control loop actions on.
       derived_from: onap.policies.controlloop.Guard
       properties:
         # Omitted for brevity, see Section 1
 
-  onap.policies.controlloop.guard.common.MinMax:
+  onap.policies.controlloop.guard.common.MinMax:
       version: 2.0.0
       description: Supports Min/Max number of VF Modules
       derived_from: onap.policies.controlloop.Guard