X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=main%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Fpolicy%2Fapi%2Fmain%2Frest%2Fprovider%2FLegacyOperationalPolicyProvider.java;fp=main%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Fpolicy%2Fapi%2Fmain%2Frest%2Fprovider%2FLegacyOperationalPolicyProvider.java;h=8319de413879e528fe22c28fdf8430bfe263f278;hb=5b4fbae502f73a4ad58135a58ef348b704cc6ad3;hp=ac8fa2693d1cc7d12dbd0fa8ca3dde588100cab3;hpb=9b4c685930a76acf43bd5cad5bf2a127a38ed656;p=policy%2Fapi.git diff --git a/main/src/main/java/org/onap/policy/api/main/rest/provider/LegacyOperationalPolicyProvider.java b/main/src/main/java/org/onap/policy/api/main/rest/provider/LegacyOperationalPolicyProvider.java index ac8fa269..8319de41 100644 --- a/main/src/main/java/org/onap/policy/api/main/rest/provider/LegacyOperationalPolicyProvider.java +++ b/main/src/main/java/org/onap/policy/api/main/rest/provider/LegacyOperationalPolicyProvider.java @@ -24,9 +24,11 @@ package org.onap.policy.api.main.rest.provider; import java.util.ArrayList; import java.util.List; - +import java.util.Map; import javax.ws.rs.core.Response; +import org.apache.commons.lang3.tuple.Pair; +import org.onap.policy.models.base.PfConceptKey; import org.onap.policy.models.base.PfModelException; import org.onap.policy.models.pdp.concepts.PdpGroup; import org.onap.policy.models.pdp.concepts.PdpGroupFilter; @@ -42,7 +44,8 @@ public class LegacyOperationalPolicyProvider extends CommonModelProvider { private static final String INVALID_POLICY_VERSION = "legacy policy version is not an integer"; private static final String LEGACY_MINOR_PATCH_SUFFIX = ".0.0"; - + private static final PfConceptKey LEGACY_OPERATIONAL_TYPE = + new PfConceptKey("onap.policies.controlloop.Operational", "1.0.0"); /** * Default constructor. @@ -68,6 +71,22 @@ public class LegacyOperationalPolicyProvider extends CommonModelProvider { return modelsProvider.getOperationalPolicy(policyId, policyVersion); } + /** + * Retrieves a list of deployed operational policies in each pdp group. + * + * @param policyId the ID of the policy + * + * @return a list of deployed policies in each pdp group + * + * @throws PfModelException the PfModel parsing exception + */ + public Map, List> fetchDeployedOperationalPolicies(String policyId) + throws PfModelException { + + return collectDeployedPolicies( + policyId, LEGACY_OPERATIONAL_TYPE, modelsProvider::getOperationalPolicy, List::add, new ArrayList<>()); + } + /** * Creates a new operational policy. *