diff options
author | liamfallon <liam.fallon@est.tech> | 2019-05-16 16:28:39 +0000 |
---|---|---|
committer | liamfallon <liam.fallon@est.tech> | 2019-05-16 16:28:39 +0000 |
commit | 4e60bb128db2a72224a84c73735c0162960a44b6 (patch) | |
tree | 60359faf4458352f657cd0cc84c57355bddf39fc /models-tosca/src/main/java/org/onap | |
parent | fe226fad65b116c85f95f55e22cae72ba3e0a37b (diff) |
Allow policy type prefix on policy guard policy id
In order to identify the policy type of a guard policy,
we need to have the first part of the policy id as the
policy type identifier prefix.
Issue-ID: POLICY-1776
Change-Id: I1d6a3c4b122d978ff7ef40ce76ced7f160ebd4fa
Signed-off-by: liamfallon <liam.fallon@est.tech>
Diffstat (limited to 'models-tosca/src/main/java/org/onap')
-rw-r--r-- | models-tosca/src/main/java/org/onap/policy/models/tosca/legacy/mapping/LegacyGuardPolicyMapper.java | 23 |
1 files changed, 19 insertions, 4 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 8fd883722..1c414ee17 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 @@ -56,17 +56,17 @@ public class LegacyGuardPolicyMapper private static final Map<String, PfConceptKey> GUARD_POLICY_TYPE_MAP = new LinkedHashMap<>(); static { - GUARD_POLICY_TYPE_MAP.put("guard.frequency.scaleout", + GUARD_POLICY_TYPE_MAP.put("guard.frequency.", new PfConceptKey("onap.policies.controlloop.guard.FrequencyLimiter:1.0.0")); - GUARD_POLICY_TYPE_MAP.put("guard.minmax.scaleout", + GUARD_POLICY_TYPE_MAP.put("guard.minmax.", new PfConceptKey("onap.policies.controlloop.guard.MinMax:1.0.0")); - GUARD_POLICY_TYPE_MAP.put("guard.blacklist", + GUARD_POLICY_TYPE_MAP.put("guard.blacklist.", new PfConceptKey("onap.policies.controlloop.guard.Blacklist:1.0.0")); } @Override public JpaToscaServiceTemplate toToscaServiceTemplate(final LegacyGuardPolicyInput legacyGuardPolicyInput) { - PfConceptKey guardPolicyType = GUARD_POLICY_TYPE_MAP.get(legacyGuardPolicyInput.getPolicyId()); + PfConceptKey guardPolicyType = getGuardPolicyType(legacyGuardPolicyInput); if (guardPolicyType == null) { String errorMessage = "policy type for guard policy \"" + legacyGuardPolicyInput.getPolicyId() + "\" unknown"; @@ -151,4 +151,19 @@ public class LegacyGuardPolicyMapper return legacyGuardPolicyOutputMap; } + + private PfConceptKey getGuardPolicyType(final LegacyGuardPolicyInput legacyGuardPolicyInput) { + final String policyId = legacyGuardPolicyInput.getPolicyId(); + if (policyId == null) { + return null; + } + + for (Entry<String, PfConceptKey> guardPolicyTypeEntry : GUARD_POLICY_TYPE_MAP.entrySet()) { + if (policyId.startsWith(guardPolicyTypeEntry.getKey())) { + return guardPolicyTypeEntry.getValue(); + } + } + + return null; + } } |