diff options
author | Jim Hahn <jrh3@att.com> | 2021-01-07 09:07:05 -0500 |
---|---|---|
committer | Jim Hahn <jrh3@att.com> | 2021-01-08 16:12:22 -0500 |
commit | e926efbc4d5dde8ade1a5521f5be1294079df057 (patch) | |
tree | e00047d50e27dc24a146b9f4fa10486a98dd3c86 /models-provider/src/main/java | |
parent | e6bea18abd1a1b4ddf7203508832e6a3f9380598 (diff) |
Add PDP-Policy deployment table to DB
Added a table to record the PDP policy deployment status, which is
required for making PAP stateless.
Issue-ID: POLICY-2648
Change-Id: Ibe40ce00aca7a600051edcac49e55651c1c0164f
Signed-off-by: Jim Hahn <jrh3@att.com>
Diffstat (limited to 'models-provider/src/main/java')
3 files changed, 56 insertions, 2 deletions
diff --git a/models-provider/src/main/java/org/onap/policy/models/provider/PolicyModelsProvider.java b/models-provider/src/main/java/org/onap/policy/models/provider/PolicyModelsProvider.java index 1e8fd24ff..65876629c 100644 --- a/models-provider/src/main/java/org/onap/policy/models/provider/PolicyModelsProvider.java +++ b/models-provider/src/main/java/org/onap/policy/models/provider/PolicyModelsProvider.java @@ -2,6 +2,7 @@ * ============LICENSE_START======================================================= * Copyright (C) 2019-2020 Nordix Foundation. * Modifications Copyright (C) 2020 Bell Canada. All rights reserved. + * Modifications Copyright (C) 2021 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. @@ -21,6 +22,7 @@ package org.onap.policy.models.provider; +import java.util.Collection; import java.util.Date; import java.util.List; import lombok.NonNull; @@ -28,6 +30,7 @@ import org.onap.policy.models.base.PfModelException; import org.onap.policy.models.pdp.concepts.Pdp; import org.onap.policy.models.pdp.concepts.PdpGroup; import org.onap.policy.models.pdp.concepts.PdpGroupFilter; +import org.onap.policy.models.pdp.concepts.PdpPolicyStatus; import org.onap.policy.models.pdp.concepts.PdpStatistics; import org.onap.policy.models.pdp.concepts.PdpSubGroup; import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicy; @@ -367,4 +370,25 @@ public interface PolicyModelsProvider extends AutoCloseable { * @throws PfModelException on errors deleting PDP statistics */ public List<PdpStatistics> deletePdpStatistics(@NonNull String name, Date timestamp) throws PfModelException; + + /** + * Gets the policy deployments for a PDP group. + * + * @param groupName the name of the PDP group of interest, null to get results for all + * PDP groups + * @return the deployments found + * @throws PfModelException on errors getting PDP groups + */ + public List<PdpPolicyStatus> getGroupPolicyStatus(@NonNull final String groupName) + throws PfModelException; + + /** + * Creates, updates, and deletes collections of policy status. + * + * @param createObjs the objects to create + * @param updateObjs the objects to update + * @param deleteObjs the objects to delete + */ + public void cudPolicyStatus(Collection<PdpPolicyStatus> createObjs, + Collection<PdpPolicyStatus> updateObjs, Collection<PdpPolicyStatus> deleteObjs); } diff --git a/models-provider/src/main/java/org/onap/policy/models/provider/impl/DatabasePolicyModelsProviderImpl.java b/models-provider/src/main/java/org/onap/policy/models/provider/impl/DatabasePolicyModelsProviderImpl.java index c80ca3194..f7c58cf19 100644 --- a/models-provider/src/main/java/org/onap/policy/models/provider/impl/DatabasePolicyModelsProviderImpl.java +++ b/models-provider/src/main/java/org/onap/policy/models/provider/impl/DatabasePolicyModelsProviderImpl.java @@ -1,7 +1,7 @@ /*- * ============LICENSE_START======================================================= * Copyright (C) 2019-2021 Nordix Foundation. - * Modifications Copyright (C) 2019-2020 AT&T Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2019-2021 AT&T Intellectual Property. All rights reserved. * Modifications Copyright (C) 2020 Bell Canada. All rights reserved. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); @@ -22,6 +22,7 @@ package org.onap.policy.models.provider.impl; +import java.util.Collection; import java.util.Date; import java.util.List; import java.util.Properties; @@ -37,6 +38,7 @@ import org.onap.policy.models.dao.impl.DefaultPfDao; import org.onap.policy.models.pdp.concepts.Pdp; import org.onap.policy.models.pdp.concepts.PdpGroup; import org.onap.policy.models.pdp.concepts.PdpGroupFilter; +import org.onap.policy.models.pdp.concepts.PdpPolicyStatus; import org.onap.policy.models.pdp.concepts.PdpStatistics; import org.onap.policy.models.pdp.concepts.PdpSubGroup; import org.onap.policy.models.pdp.persistence.provider.PdpProvider; @@ -345,6 +347,20 @@ public class DatabasePolicyModelsProviderImpl implements PolicyModelsProvider { return new PdpStatisticsProvider().deletePdpStatistics(pfDao, name, timestamp); } + @Override + public List<PdpPolicyStatus> getGroupPolicyStatus(@NonNull String groupName) + throws PfModelException { + assertInitialized(); + return new PdpProvider().getGroupPolicyStatus(pfDao, groupName); + } + + @Override + public void cudPolicyStatus(Collection<PdpPolicyStatus> createObjs, + Collection<PdpPolicyStatus> updateObjs, Collection<PdpPolicyStatus> deleteObjs) { + assertInitialized(); + new PdpProvider().cudPolicyStatus(pfDao, createObjs, updateObjs, deleteObjs); + } + /** * Check if the model provider is initialized. */ diff --git a/models-provider/src/main/java/org/onap/policy/models/provider/impl/DummyPolicyModelsProviderImpl.java b/models-provider/src/main/java/org/onap/policy/models/provider/impl/DummyPolicyModelsProviderImpl.java index 1d892272c..f0b968c10 100644 --- a/models-provider/src/main/java/org/onap/policy/models/provider/impl/DummyPolicyModelsProviderImpl.java +++ b/models-provider/src/main/java/org/onap/policy/models/provider/impl/DummyPolicyModelsProviderImpl.java @@ -1,7 +1,7 @@ /*- * ============LICENSE_START======================================================= * Copyright (C) 2019-2020 Nordix Foundation. - * Copyright (C) 2019 AT&T Intellectual Property. All rights reserved. + * Copyright (C) 2019, 2021 AT&T Intellectual Property. All rights reserved. * Modifications Copyright (C) 2020 Bell Canada. All rights reserved. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); @@ -23,6 +23,7 @@ package org.onap.policy.models.provider.impl; import java.util.ArrayList; +import java.util.Collection; import java.util.Date; import java.util.List; import javax.ws.rs.core.Response; @@ -34,6 +35,7 @@ import org.onap.policy.models.base.PfModelRuntimeException; import org.onap.policy.models.pdp.concepts.Pdp; import org.onap.policy.models.pdp.concepts.PdpGroup; import org.onap.policy.models.pdp.concepts.PdpGroupFilter; +import org.onap.policy.models.pdp.concepts.PdpPolicyStatus; import org.onap.policy.models.pdp.concepts.PdpStatistics; import org.onap.policy.models.pdp.concepts.PdpSubGroup; import org.onap.policy.models.provider.PolicyModelsProvider; @@ -238,6 +240,18 @@ public class DummyPolicyModelsProviderImpl implements PolicyModelsProvider { return new ArrayList<>(); } + @Override + public List<PdpPolicyStatus> getGroupPolicyStatus(String groupName) throws PfModelException { + // Not implemented + return new ArrayList<>(); + } + + @Override + public void cudPolicyStatus(Collection<PdpPolicyStatus> createObjs, Collection<PdpPolicyStatus> updateObjs, + Collection<PdpPolicyStatus> deleteObjs) { + // Not implemented + } + /** * Return a ToscaServicetemplate dummy response. * |