diff options
2 files changed, 16 insertions, 11 deletions
diff --git a/models-tosca/src/main/java/org/onap/policy/models/tosca/legacy/mapping/LegacyGuardPolicyMapper.java b/models-tosca/src/main/java/org/onap/policy/models/tosca/legacy/mapping/LegacyGuardPolicyMapper.java index 1c414ee17..a664010b8 100644 --- a/models-tosca/src/main/java/org/onap/policy/models/tosca/legacy/mapping/LegacyGuardPolicyMapper.java +++ b/models-tosca/src/main/java/org/onap/policy/models/tosca/legacy/mapping/LegacyGuardPolicyMapper.java @@ -115,7 +115,7 @@ public class LegacyGuardPolicyMapper final LegacyGuardPolicyOutput legacyGuardPolicyOutput = new LegacyGuardPolicyOutput(); legacyGuardPolicyOutput.setType(toscaPolicy.getType().getName()); - legacyGuardPolicyOutput.setVersion(toscaPolicy.getType().getVersion()); + legacyGuardPolicyOutput.setVersion(toscaPolicy.getKey().getVersion()); if (toscaPolicy.getMetadata() == null) { String errorMessage = "no metadata defined on TOSCA policy"; @@ -123,14 +123,11 @@ public class LegacyGuardPolicyMapper throw new PfModelRuntimeException(Response.Status.BAD_REQUEST, errorMessage); } - final Map<String, Object> metadata = new LinkedHashMap<>(); - for (Entry<String, String> metadataEntry : toscaPolicy.getMetadata().entrySet()) { - if (POLICY_VERSION.equals(metadataEntry.getKey())) { - metadata.put(POLICY_VERSION, Integer.parseInt(metadataEntry.getValue())); - } else { - metadata.put(metadataEntry.getKey(), metadataEntry.getValue()); - } - } + final Map<String, Object> metadata = new LinkedHashMap<>(toscaPolicy.getMetadata()); + + // if version exists, convert it to int + metadata.computeIfPresent(POLICY_VERSION, (key,val) -> Integer.parseInt(val.toString())); + legacyGuardPolicyOutput.setMetadata(metadata); if (toscaPolicy.getProperties() == null) { diff --git a/models-tosca/src/test/java/org/onap/policy/models/tosca/legacy/mapping/LegacyGuardPolicyMapperTest.java b/models-tosca/src/test/java/org/onap/policy/models/tosca/legacy/mapping/LegacyGuardPolicyMapperTest.java index f2fb53d60..6d32c6d0b 100644 --- a/models-tosca/src/test/java/org/onap/policy/models/tosca/legacy/mapping/LegacyGuardPolicyMapperTest.java +++ b/models-tosca/src/test/java/org/onap/policy/models/tosca/legacy/mapping/LegacyGuardPolicyMapperTest.java @@ -21,11 +21,13 @@ package org.onap.policy.models.tosca.legacy.mapping; import static org.assertj.core.api.Assertions.assertThatThrownBy; +import static org.junit.Assert.assertEquals; import java.util.LinkedHashMap; - +import java.util.Map; import org.junit.Test; import org.onap.policy.models.base.PfConceptKey; +import org.onap.policy.models.tosca.legacy.concepts.LegacyGuardPolicyOutput; import org.onap.policy.models.tosca.simple.concepts.JpaToscaPolicies; import org.onap.policy.models.tosca.simple.concepts.JpaToscaPolicy; import org.onap.policy.models.tosca.simple.concepts.JpaToscaServiceTemplate; @@ -44,7 +46,7 @@ public class LegacyGuardPolicyMapperTest { serviceTemplate.setTopologyTemplate(new JpaToscaTopologyTemplate()); serviceTemplate.getTopologyTemplate().setPolicies(new JpaToscaPolicies()); - JpaToscaPolicy policy = new JpaToscaPolicy(new PfConceptKey("PolicyName", "0.0.1")); + JpaToscaPolicy policy = new JpaToscaPolicy(new PfConceptKey("PolicyName", "2.0.0")); serviceTemplate.getTopologyTemplate().getPolicies().getConceptMap().put(policy.getKey(), policy); assertThatThrownBy(() -> { @@ -55,5 +57,11 @@ public class LegacyGuardPolicyMapperTest { assertThatThrownBy(() -> { new LegacyGuardPolicyMapper().fromToscaServiceTemplate(serviceTemplate); }).hasMessageContaining("no properties defined on TOSCA policy"); + + policy.setProperties(new LinkedHashMap<>()); + Map<String, LegacyGuardPolicyOutput> guardPolicyMap = + new LegacyGuardPolicyMapper().fromToscaServiceTemplate(serviceTemplate); + LegacyGuardPolicyOutput guardPolicy = guardPolicyMap.values().iterator().next(); + assertEquals("2.0.0", guardPolicy.getVersion()); } } |