From 393e00b78140a27232d961fcdae70b99af2cdbbe Mon Sep 17 00:00:00 2001 From: "a.sreekumar" Date: Wed, 29 Jan 2020 09:50:33 +0000 Subject: Remove content section from ToscaPolicy properties in APEX Currently APEX specific information is placed under properties|content in ToscaPolicy. Avoid keeping under "content" and keep the information directly under properties. Change-Id: Ic437271c9a2d71104013b5568af5525df4a4bb56 Issue-ID: POLICY-2332 Signed-off-by: a.sreekumar --- .../services/onappf/handler/ApexEngineHandler.java | 23 ++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) (limited to 'services/services-onappf/src/main/java') diff --git a/services/services-onappf/src/main/java/org/onap/policy/apex/services/onappf/handler/ApexEngineHandler.java b/services/services-onappf/src/main/java/org/onap/policy/apex/services/onappf/handler/ApexEngineHandler.java index 8150ff9c5..72987de0a 100644 --- a/services/services-onappf/src/main/java/org/onap/policy/apex/services/onappf/handler/ApexEngineHandler.java +++ b/services/services-onappf/src/main/java/org/onap/policy/apex/services/onappf/handler/ApexEngineHandler.java @@ -29,6 +29,7 @@ import java.util.ArrayList; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; +import java.util.Map.Entry; import org.onap.policy.apex.model.basicmodel.concepts.ApexException; import org.onap.policy.apex.model.enginemodel.concepts.AxEngineModel; import org.onap.policy.apex.service.engine.main.ApexMain; @@ -46,6 +47,8 @@ import org.slf4j.LoggerFactory; * @author Ajith Sreekumar (ajith.sreekumar@est.tech) */ public class ApexEngineHandler { + private static final String POLICY_TYPE_IMPL = "policy_type_impl"; + private static final Logger LOGGER = LoggerFactory.getLogger(ApexEngineHandler.class); private ApexMain apexMain; @@ -88,17 +91,21 @@ public class ApexEngineHandler { throws ApexStarterException { Map policyArgsMap = new LinkedHashMap<>(); for (ToscaPolicy policy : policies) { - Object properties = policy.getProperties().get("content"); final StandardCoder standardCoder = new StandardCoder(); - String policyModel; + String policyModel = ""; String apexConfig; + JsonObject apexConfigJsonObject = new JsonObject(); try { - JsonObject body = standardCoder.decode(standardCoder.encode(properties), JsonObject.class); - final JsonObject engineServiceParameters = body.get("engineServiceParameters").getAsJsonObject(); - policyModel = standardCoder.encode(engineServiceParameters.get("policy_type_impl")); - engineServiceParameters.remove("policy_type_impl"); - apexConfig = standardCoder.encode(body); - } catch (final CoderException e) { + for (Entry property : policy.getProperties().entrySet()) { + JsonObject body = standardCoder.decode(standardCoder.encode(property.getValue()), JsonObject.class); + if ("engineServiceParameters".equals(property.getKey())) { + policyModel = standardCoder.encode(body.get(POLICY_TYPE_IMPL)); + body.remove(POLICY_TYPE_IMPL); + } + apexConfigJsonObject.add(property.getKey(), body); + } + apexConfig = standardCoder.encode(apexConfigJsonObject); + } catch (CoderException e) { throw new ApexStarterException(e); } -- cgit 1.2.3-korg