diff options
author | jhh <jorge.hernandez-herrero@att.com> | 2022-10-31 11:31:50 -0500 |
---|---|---|
committer | Jorge Hernandez <jorge.hernandez-herrero@att.com> | 2022-11-02 13:52:10 +0000 |
commit | 409ce4e33af338c36f97aa1b529ef7d38741b035 (patch) | |
tree | 4230dc6563f73ab1d33d55710a3fa43220ed82d6 /controlloop/common/rules-test/src | |
parent | bc039f47bab7041e7475915fbf90a81e0d22f8d0 (diff) |
Support usage for SON policy/models templates.
Issue-ID: POLICY-4427
Signed-off-by: jhh <jorge.hernandez-herrero@att.com>
Change-Id: I22706cdbd45c49946435aff15bc5ec5f7408296b
(cherry picked from commit 427669c39ca10bf2d1343d7f5dc2c39ad9ca3b23)
Diffstat (limited to 'controlloop/common/rules-test/src')
-rw-r--r-- | controlloop/common/rules-test/src/main/java/org/onap/policy/controlloop/common/rules/test/Rules.java | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/controlloop/common/rules-test/src/main/java/org/onap/policy/controlloop/common/rules/test/Rules.java b/controlloop/common/rules-test/src/main/java/org/onap/policy/controlloop/common/rules/test/Rules.java index 09eb58d5a..111f00800 100644 --- a/controlloop/common/rules-test/src/main/java/org/onap/policy/controlloop/common/rules/test/Rules.java +++ b/controlloop/common/rules-test/src/main/java/org/onap/policy/controlloop/common/rules/test/Rules.java @@ -2,7 +2,7 @@ * ============LICENSE_START======================================================= * ONAP * ================================================================================ - * Copyright (C) 2020-2021 AT&T Intellectual Property. All rights reserved. + * Copyright (C) 2020-2022 AT&T Intellectual Property. All rights reserved. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -232,6 +232,16 @@ public class Rules { throw new CoderException(new FileNotFoundException(policyPath)); } + if (policyPath.startsWith("policies/")) { + // using policy/models examples where policies are wrapped with the ToscaServiceTemplate + // for API component provisioning + logger.info("retrieving policy from policy models examples"); + ToscaServiceTemplate template = coder.decode(policyJson, ToscaServiceTemplate.class); + if (template.getToscaTopologyTemplate().getPolicies().size() == 1) { + return template.getToscaTopologyTemplate().getPolicies().get(0).values().iterator().next(); + } + } + return coder.decode(policyJson, ToscaPolicy.class); } |