Add extra methods to Provider interface 95/83895/1
authorliamfallon <liam.fallon@est.tech>
Mon, 1 Apr 2019 21:03:34 +0000 (21:03 +0000)
committerliamfallon <liam.fallon@est.tech>
Mon, 1 Apr 2019 21:03:34 +0000 (21:03 +0000)
This review provides the full specification of the Provider
interfce and stups the new implemented methods into the relevant
delegated providers.

Issue-ID: POLICY-1095
Change-Id: I5f297f8dbbe4131ce910fce95459425ac8b7c3f9
Signed-off-by: liamfallon <liam.fallon@est.tech>
models-pdp/src/main/java/org/onap/policy/models/pdp/persistence/provider/PdpProvider.java
models-provider/src/main/java/org/onap/policy/models/provider/PolicyModelsProvider.java
models-provider/src/main/java/org/onap/policy/models/provider/impl/DatabasePolicyModelsProviderImpl.java
models-provider/src/main/java/org/onap/policy/models/provider/impl/DummyPolicyModelsProviderImpl.java
models-provider/src/test/java/org/onap/policy/models/provider/impl/DatabasePolicyModelsProviderTest.java
models-provider/src/test/java/org/onap/policy/models/provider/impl/DummyBadProviderImpl.java
models-provider/src/test/java/org/onap/policy/models/provider/impl/DummyPolicyModelsProviderTest.java
models-tosca/src/main/java/org/onap/policy/models/tosca/authorative/provider/AuthorativeToscaProvider.java
models-tosca/src/main/java/org/onap/policy/models/tosca/simple/provider/SimpleToscaProvider.java
models-tosca/src/test/java/org/onap/policy/models/tosca/simple/provider/SimpleToscaProviderTest.java

index fe0576d..6af2d21 100644 (file)
 
 package org.onap.policy.models.pdp.persistence.provider;
 
+import java.util.ArrayList;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+
 import lombok.NonNull;
 
+import org.apache.commons.lang3.tuple.Pair;
 import org.onap.policy.models.base.PfModelException;
 import org.onap.policy.models.dao.PfDao;
+import org.onap.policy.models.pdp.concepts.PdpGroup;
 import org.onap.policy.models.pdp.concepts.PdpGroups;
+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;
 
 /**
  * This class provides the provision of information on PAP concepts in the database to callers.
@@ -36,15 +46,41 @@ public class PdpProvider {
      * Get PDP groups.
      *
      * @param dao the DAO to use to access the database
-     * @param pdpGroupFilter a filter for the get
+     * @param name the name of the policy to get, null to get all PDP groups
+     * @param version the version of the policy to get, null to get all versions of a PDP group
      * @return the PDP groups found
      * @throws PfModelException on errors getting PDP groups
      */
-    public PdpGroups getPdpGroups(@NonNull final PfDao dao, @NonNull final String pdpGroupFilter)
+    public PdpGroups getPdpGroups(@NonNull final PfDao dao, final String name, final String version)
             throws PfModelException {
         return new PdpGroups();
     }
 
+    /**
+     * Get latest PDP Groups.
+     *
+     * @param dao the DAO to use to access the database
+     * @param name the name of the PDP group to get, null to get all PDP groups
+     * @return the PDP groups found
+     * @throws PfModelException on errors getting policies
+     */
+    public PdpGroups getLatestPdpGroups(@NonNull final PfDao dao, final String name) throws PfModelException {
+        return new PdpGroups();
+    }
+
+    /**
+     * Get a filtered list of PDP groups.
+     *
+     * @param dao the DAO to use to access the database
+     * @param pdpType The PDP type filter for the returned PDP groups
+     * @param supportedPolicyTypes a list of policy type name/version pairs that the PDP groups must support.
+     * @return the PDP groups found
+     */
+    public PdpGroups getFilteredPdpGroups(@NonNull final PfDao dao, @NonNull final String pdpType,
+            @NonNull final List<Pair<String, String>> supportedPolicyTypes) {
+        return new PdpGroups();
+    }
+
     /**
      * Creates PDP groups.
      *
@@ -71,16 +107,76 @@ public class PdpProvider {
         return new PdpGroups();
     }
 
+
+    /**
+     * Update a PDP subgroup.
+     *
+     * @param dao the DAO to use to access the database
+     * @param pdpGroupName the name of the PDP group of the PDP subgroup
+     * @param pdpGroupVersion the version of the PDP group of the PDP subgroup
+     * @param pdpSubGroup the PDP subgroup to be updated
+     * @throws PfModelException on errors updating PDP subgroups
+     */
+    public void updatePdpSubGroup(@NonNull final PfDao dao, @NonNull final String pdpGroupName,
+            @NonNull final String pdpGroupVersion, @NonNull final PdpSubGroup pdpSubGroup) throws PfModelException {
+        // Not implemented yet
+    }
+
     /**
-     * Delete PDP groups.
+     * Delete a PDP group.
      *
      * @param dao the DAO to use to access the database
-     * @param pdpGroupFilter a filter for the get
-     * @return the PDP groups deleted
+     * @param name the name of the policy to get, null to get all PDP groups
+     * @param version the version of the policy to get, null to get all versions of a PDP group
+     * @return the PDP group deleted
      * @throws PfModelException on errors deleting PDP groups
      */
-    public PdpGroups deletePdpGroups(@NonNull final PfDao dao, @NonNull final String pdpGroupFilter)
+    public PdpGroup deletePdpGroup(@NonNull final PfDao dao, @NonNull final String name, @NonNull final String version)
             throws PfModelException {
-        return new PdpGroups();
+        return new PdpGroup();
+
+    }
+
+    /**
+     * Get PDP statistics.
+     *
+     * @param dao the DAO to use to access the database
+     * @param name the name of the PDP group to get statistics for, null to get all PDP groups
+     * @param version the version of the PDP group to get statistics for, null to get all versions of a PDP group
+     * @return the statistics found
+     * @throws PfModelException on errors getting statistics
+     */
+    public List<PdpStatistics> getPdpStatistics(@NonNull final PfDao dao, final String name, final String version)
+            throws PfModelException {
+        return new ArrayList<>();
+    }
+
+    /**
+     * Update PDP statistics for a PDP.
+     *
+     * @param dao the DAO to use to access the database
+     * @param pdpGroupName the name of the PDP group containing the PDP that the statistics are for
+     * @param pdpGroupVersion the version of the PDP group containing the PDP that the statistics are for
+     * @param pdpType the PDP type of the subgroup containing the PDP that the statistics are for
+     * @param pdpInstanceId the instance ID of the PDP to update statistics for
+     * @throws PfModelException on errors updating statistics
+     */
+    public void updatePdpStatistics(@NonNull final PfDao dao, @NonNull final String pdpGroupName,
+            @NonNull final String pdpGroupVersion, @NonNull final String pdpType, @NonNull final String pdpInstanceId,
+            @NonNull final PdpStatistics pdppStatistics)  throws PfModelException {
+        // Not implemented yet
+    }
+
+    /**
+     * Get deployed policies.
+     *
+     * @param dao the DAO to use to access the database
+     * @param name the name of the policy to get, null to get all policies
+     * @return the policies deployed as a map of policy lists keyed by PDP group
+     * @throws PfModelException on errors getting policies
+     */
+    public Map<PdpGroup, List<ToscaPolicy>> getDeployedPolicyList(@NonNull final PfDao dao, final String name)
+            throws PfModelException {
+        return new LinkedHashMap<>();
     }
 }
index a8d8483..b0494ff 100644 (file)
 
 package org.onap.policy.models.provider;
 
+import java.util.List;
 import java.util.Map;
 
 import lombok.NonNull;
 
+import org.apache.commons.lang3.tuple.Pair;
 import org.onap.policy.models.base.PfModelException;
+import org.onap.policy.models.pdp.concepts.PdpGroup;
 import org.onap.policy.models.pdp.concepts.PdpGroups;
+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;
+import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicyType;
 import org.onap.policy.models.tosca.authorative.concepts.ToscaServiceTemplate;
 import org.onap.policy.models.tosca.legacy.concepts.LegacyGuardPolicyInput;
 import org.onap.policy.models.tosca.legacy.concepts.LegacyGuardPolicyOutput;
@@ -48,13 +55,40 @@ public interface PolicyModelsProvider extends AutoCloseable {
     /**
      * Get policy types.
      *
-     * @param name the name of the policy type to get.
-     * @param version the version of the policy type to get.
+     * @param name the name of the policy type to get, set to null to get all policy types
+     * @param version the version of the policy type to get, set to null to get all versions
      * @return the policy types found
      * @throws PfModelException on errors getting policy types
      */
-    public ToscaServiceTemplate getPolicyTypes(@NonNull final String name, @NonNull final String version)
-            throws PfModelException;
+    public ToscaServiceTemplate getPolicyTypes(final String name, final String version) throws PfModelException;
+
+    /**
+     * Get policy types.
+     *
+     * @param name the name of the policy type to get, set to null to get all policy types
+     * @param version the version of the policy type to get, set to null to get all versions
+     * @return the policy types found
+     * @throws PfModelException on errors getting policy types
+     */
+    public List<ToscaPolicyType> getPolicyTypeList(final String name, final String version) throws PfModelException;
+
+    /**
+     * Get latest policy types.
+     *
+     * @param name the name of the policy type to get, set to null to get all policy types
+     * @return the policy types found
+     * @throws PfModelException on errors getting policy types
+     */
+    public ToscaServiceTemplate getLatestPolicyTypes(final String name) throws PfModelException;
+
+    /**
+     * Get latest policy types.
+     *
+     * @param name the name of the policy type to get, set to null to get all policy types
+     * @return the policy types found
+     * @throws PfModelException on errors getting policy types
+     */
+    public List<ToscaPolicyType> getLatestPolicyTypeList(final String name) throws PfModelException;
 
     /**
      * Create policy types.
@@ -77,26 +111,62 @@ public interface PolicyModelsProvider extends AutoCloseable {
             throws PfModelException;
 
     /**
-     * Delete policy types.
+     * Delete policy type.
      *
      * @param name the name of the policy type to delete.
      * @param version the version of the policy type to delete.
-     * @return the TOSCA service template containing the policy types that were deleted
+     * @return the TOSCA service template containing the policy type that was deleted
      * @throws PfModelException on errors deleting policy types
      */
-    public ToscaServiceTemplate deletePolicyTypes(@NonNull final String name, @NonNull final String version)
+    public ToscaServiceTemplate deletePolicyType(@NonNull final String name, @NonNull final String version)
             throws PfModelException;
 
     /**
      * Get policies.
      *
-     * @param name the name of the policy to get.
-     * @param version the version of the policy to get.
+     * @param name the name of the policy to get, null to get all policies
+     * @param version the version of the policy to get, null to get all versions of a policy
      * @return the policies found
      * @throws PfModelException on errors getting policies
      */
-    public ToscaServiceTemplate getPolicies(@NonNull final String name, @NonNull final String version)
-            throws PfModelException;
+    public ToscaServiceTemplate getPolicies(final String name, final String version) throws PfModelException;
+
+    /**
+     * Get policies.
+     *
+     * @param name the name of the policy to get, null to get all policies
+     * @param version the version of the policy to get, null to get all versions of a policy
+     * @return the policies found
+     * @throws PfModelException on errors getting policies
+     */
+    public List<ToscaPolicy> getPolicyList(final String name, final String version) throws PfModelException;
+
+    /**
+     * Get policies for a policy type name.
+     *
+     * @param policyTypeName the name of the policy type for which to get policies
+     * @return the policies found
+     * @throws PfModelException on errors getting policies
+     */
+    public List<ToscaPolicy> getPolicyList4PolicyType(@NonNull final String policyTypeName) throws PfModelException;
+
+    /**
+     * Get latest policies.
+     *
+     * @param name the name of the policy to get, null to get all policies
+     * @return the policies found
+     * @throws PfModelException on errors getting policies
+     */
+    public ToscaServiceTemplate getLatestPolicies(final String name) throws PfModelException;
+
+    /**
+     * Get latest policies.
+     *
+     * @param name the name of the policy to get, null to get all policies
+     * @return the policies found
+     * @throws PfModelException on errors getting policies
+     */
+    public List<ToscaPolicy> getLatestPolicyList(final String name) throws PfModelException;
 
     /**
      * Create policies.
@@ -108,7 +178,6 @@ public interface PolicyModelsProvider extends AutoCloseable {
     public ToscaServiceTemplate createPolicies(@NonNull final ToscaServiceTemplate serviceTemplate)
             throws PfModelException;
 
-
     /**
      * Update policies.
      *
@@ -120,14 +189,14 @@ public interface PolicyModelsProvider extends AutoCloseable {
             throws PfModelException;
 
     /**
-     * Delete policies.
+     * Delete policy.
      *
      * @param name the name of the policy to delete.
      * @param version the version of the policy to delete.
-     * @return the TOSCA service template containing the policy types that were deleted
-     * @throws PfModelException on errors deleting policies
+     * @return the TOSCA service template containing the policy that was deleted
+     * @throws PfModelException on errors deleting a policy
      */
-    public ToscaServiceTemplate deletePolicies(@NonNull final String name, @NonNull final String version)
+    public ToscaServiceTemplate deletePolicy(@NonNull final String name, @NonNull final String version)
             throws PfModelException;
 
     /**
@@ -210,11 +279,31 @@ public interface PolicyModelsProvider extends AutoCloseable {
     /**
      * Get PDP groups.
      *
-     * @param pdpGroupFilter a filter for the get
+     * @param name the name of the policy to get, null to get all PDP groups
+     * @param version the version of the policy to get, null to get all versions of a PDP group
      * @return the PDP groups found
      * @throws PfModelException on errors getting PDP groups
      */
-    public PdpGroups getPdpGroups(@NonNull final String pdpGroupFilter) throws PfModelException;
+    public PdpGroups getPdpGroups(final String name, final String version) throws PfModelException;
+
+    /**
+     * Get latest PDP Groups.
+     *
+     * @param name the name of the PDP group to get, null to get all PDP groups
+     * @return the PDP groups found
+     * @throws PfModelException on errors getting policies
+     */
+    public PdpGroups getLatestPdpGroups(final String name) throws PfModelException;
+
+    /**
+     * Get a filtered list of PDP groups.
+     *
+     * @param pdpType The PDP type filter for the returned PDP groups
+     * @param supportedPolicyTypes a list of policy type name/version pairs that the PDP groups must support.
+     * @return the PDP groups found
+     */
+    public PdpGroups getFilteredPdpGroups(@NonNull final String pdpType,
+            @NonNull final List<Pair<String, String>> supportedPolicyTypes);
 
     /**
      * Creates PDP groups.
@@ -234,12 +323,57 @@ public interface PolicyModelsProvider extends AutoCloseable {
      */
     public PdpGroups updatePdpGroups(@NonNull final PdpGroups pdpGroups) throws PfModelException;
 
+
+    /**
+     * Update a PDP subgroup.
+     *
+     * @param pdpGroupName the name of the PDP group of the PDP subgroup
+     * @param pdpGroupVersion the version of the PDP group of the PDP subgroup
+     * @param pdpSubGroup the PDP subgroup to be updated
+     * @throws PfModelException on errors updating PDP subgroups
+     */
+    public void updatePdpSubGroup(@NonNull final String pdpGroupName, @NonNull final String pdpGroupVersion,
+            @NonNull final PdpSubGroup pdpSubGroup) throws PfModelException;
+
     /**
-     * Delete PDP groups.
+     * Delete a PDP group.
      *
-     * @param pdpGroupFilter a filter for the get
-     * @return the PDP groups deleted
+     * @param name the name of the policy to get, null to get all PDP groups
+     * @param version the version of the policy to get, null to get all versions of a PDP group
+     * @return the PDP group deleted
      * @throws PfModelException on errors deleting PDP groups
      */
-    public PdpGroups deletePdpGroups(@NonNull final String pdpGroupFilter) throws PfModelException;
+    public PdpGroup deletePdpGroup(@NonNull final String name, @NonNull final String version) throws PfModelException;
+
+    /**
+     * Get PDP statistics.
+     *
+     * @param name the name of the PDP group to get statistics for, null to get all PDP groups
+     * @param version the version of the PDP group to get statistics for, null to get all versions of a PDP group
+     * @return the statistics found
+     * @throws PfModelException on errors getting statistics
+     */
+    public List<PdpStatistics> getPdpStatistics(final String name, final String version) throws PfModelException;
+
+    /**
+     * Update PDP statistics for a PDP.
+     *
+     * @param pdpGroupName the name of the PDP group containing the PDP that the statistics are for
+     * @param pdpGroupVersion the version of the PDP group containing the PDP that the statistics are for
+     * @param pdpType the PDP type of the subgroup containing the PDP that the statistics are for
+     * @param pdpInstanceId the instance ID of the PDP to update statistics for
+     * @throws PfModelException on errors updating statistics
+     */
+    public void updatePdpStatistics(@NonNull final String pdpGroupName, @NonNull final String pdpGroupVersion,
+            @NonNull final String pdpType, @NonNull final String pdpInstanceId,
+            @NonNull final PdpStatistics pdppStatistics) throws PfModelException;
+
+    /**
+     * Get deployed policies.
+     *
+     * @param name the name of the policy to get, null to get all policies
+     * @return the policies deployed as a map of policy lists keyed by PDP group
+     * @throws PfModelException on errors getting policies
+     */
+    public Map<PdpGroup, List<ToscaPolicy>> getDeployedPolicyList(final String name) throws PfModelException;
 }
index 9a32feb..ee8ed73 100644 (file)
@@ -23,22 +23,29 @@ package org.onap.policy.models.provider.impl;
 import java.sql.Connection;
 import java.sql.DriverManager;
 import java.util.Base64;
+import java.util.List;
 import java.util.Map;
 
 import javax.ws.rs.core.Response;
 
 import lombok.NonNull;
 
+import org.apache.commons.lang3.tuple.Pair;
 import org.onap.policy.models.base.PfModelException;
 import org.onap.policy.models.base.PfModelRuntimeException;
 import org.onap.policy.models.dao.DaoParameters;
 import org.onap.policy.models.dao.PfDao;
 import org.onap.policy.models.dao.PfDaoFactory;
 import org.onap.policy.models.dao.impl.DefaultPfDao;
+import org.onap.policy.models.pdp.concepts.PdpGroup;
 import org.onap.policy.models.pdp.concepts.PdpGroups;
+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;
 import org.onap.policy.models.provider.PolicyModelsProvider;
 import org.onap.policy.models.provider.PolicyModelsProviderParameters;
+import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicy;
+import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicyType;
 import org.onap.policy.models.tosca.authorative.concepts.ToscaServiceTemplate;
 import org.onap.policy.models.tosca.authorative.provider.AuthorativeToscaProvider;
 import org.onap.policy.models.tosca.legacy.concepts.LegacyGuardPolicyInput;
@@ -137,12 +144,29 @@ public class DatabasePolicyModelsProviderImpl implements PolicyModelsProvider {
     }
 
     @Override
-    public ToscaServiceTemplate getPolicyTypes(@NonNull final String name, @NonNull final String version)
-            throws PfModelException {
+    public ToscaServiceTemplate getPolicyTypes(final String name, final String version) throws PfModelException {
         assertInitilized();
         return new AuthorativeToscaProvider().getPolicyTypes(pfDao, name, version);
     }
 
+    @Override
+    public List<ToscaPolicyType> getPolicyTypeList(final String name, final String version) throws PfModelException {
+        assertInitilized();
+        return new AuthorativeToscaProvider().getPolicyTypeList(pfDao, name, version);
+    }
+
+    @Override
+    public ToscaServiceTemplate getLatestPolicyTypes(final String name) throws PfModelException {
+        assertInitilized();
+        return new AuthorativeToscaProvider().getLatestPolicyTypes(pfDao, name);
+    }
+
+    @Override
+    public List<ToscaPolicyType> getLatestPolicyTypeList(final String name) throws PfModelException {
+        assertInitilized();
+        return new AuthorativeToscaProvider().getLatestPolicyTypeList(pfDao, name);
+    }
+
     @Override
     public ToscaServiceTemplate createPolicyTypes(@NonNull final ToscaServiceTemplate serviceTemplate)
             throws PfModelException {
@@ -158,19 +182,42 @@ public class DatabasePolicyModelsProviderImpl implements PolicyModelsProvider {
     }
 
     @Override
-    public ToscaServiceTemplate deletePolicyTypes(@NonNull final String name, @NonNull final String version)
+    public ToscaServiceTemplate deletePolicyType(@NonNull final String name, @NonNull final String version)
             throws PfModelException {
         assertInitilized();
-        return new AuthorativeToscaProvider().deletePolicyTypes(pfDao, name, version);
+        return new AuthorativeToscaProvider().deletePolicyType(pfDao, name, version);
     }
 
     @Override
-    public ToscaServiceTemplate getPolicies(@NonNull final String name, @NonNull final String version)
-            throws PfModelException {
+    public ToscaServiceTemplate getPolicies(final String name, final String version) throws PfModelException {
         assertInitilized();
         return new AuthorativeToscaProvider().getPolicies(pfDao, name, version);
     }
 
+    @Override
+    public List<ToscaPolicy> getPolicyList(final String name, final String version) throws PfModelException {
+        assertInitilized();
+        return new AuthorativeToscaProvider().getPolicyList(pfDao, name, version);
+    }
+
+    @Override
+    public List<ToscaPolicy> getPolicyList4PolicyType(@NonNull final String policyTypeName) throws PfModelException {
+        assertInitilized();
+        return new AuthorativeToscaProvider().getPolicyList4PolicyType(pfDao, policyTypeName);
+    }
+
+    @Override
+    public ToscaServiceTemplate getLatestPolicies(final String name) throws PfModelException {
+        assertInitilized();
+        return new AuthorativeToscaProvider().getLatestPolicies(pfDao, name);
+    }
+
+    @Override
+    public List<ToscaPolicy> getLatestPolicyList(final String name) throws PfModelException {
+        assertInitilized();
+        return new AuthorativeToscaProvider().getLatestPolicyList(pfDao, name);
+    }
+
     @Override
     public ToscaServiceTemplate createPolicies(@NonNull final ToscaServiceTemplate serviceTemplate)
             throws PfModelException {
@@ -186,10 +233,10 @@ public class DatabasePolicyModelsProviderImpl implements PolicyModelsProvider {
     }
 
     @Override
-    public ToscaServiceTemplate deletePolicies(@NonNull final String name, @NonNull final String version)
+    public ToscaServiceTemplate deletePolicy(@NonNull final String name, @NonNull final String version)
             throws PfModelException {
         assertInitilized();
-        return new AuthorativeToscaProvider().deletePolicies(pfDao, name, version);
+        return new AuthorativeToscaProvider().deletePolicy(pfDao, name, version);
     }
 
     @Override
@@ -246,27 +293,68 @@ public class DatabasePolicyModelsProviderImpl implements PolicyModelsProvider {
     }
 
     @Override
-    public PdpGroups getPdpGroups(@NonNull String pdpGroupFilter) throws PfModelException {
+    public PdpGroups getPdpGroups(final String name, final String version) throws PfModelException {
+        assertInitilized();
+        return new PdpProvider().getPdpGroups(pfDao, name, version);
+    }
+
+    @Override
+    public PdpGroups getLatestPdpGroups(final String name) throws PfModelException {
         assertInitilized();
-        return new PdpProvider().getPdpGroups(pfDao, pdpGroupFilter);
+        return new PdpProvider().getLatestPdpGroups(pfDao, name);
     }
 
     @Override
-    public PdpGroups createPdpGroups(@NonNull PdpGroups pdpGroups) throws PfModelException {
+    public PdpGroups getFilteredPdpGroups(@NonNull final String pdpType,
+            @NonNull final List<Pair<String, String>> supportedPolicyTypes) {
+        assertInitilized();
+        return new PdpProvider().getFilteredPdpGroups(pfDao, pdpType, supportedPolicyTypes);
+    }
+
+    @Override
+    public PdpGroups createPdpGroups(@NonNull final PdpGroups pdpGroups) throws PfModelException {
         assertInitilized();
         return new PdpProvider().createPdpGroups(pfDao, pdpGroups);
     }
 
     @Override
-    public PdpGroups updatePdpGroups(@NonNull PdpGroups pdpGroups) throws PfModelException {
+    public PdpGroups updatePdpGroups(@NonNull final PdpGroups pdpGroups) throws PfModelException {
         assertInitilized();
         return new PdpProvider().updatePdpGroups(pfDao, pdpGroups);
     }
 
     @Override
-    public PdpGroups deletePdpGroups(@NonNull String pdpGroupFilter) throws PfModelException {
+    public void updatePdpSubGroup(@NonNull final String pdpGroupName, @NonNull final String pdpGroupVersion,
+            @NonNull final PdpSubGroup pdpSubGroup) throws PfModelException {
+        assertInitilized();
+        new PdpProvider().updatePdpSubGroup(pfDao, pdpGroupName, pdpGroupVersion, pdpSubGroup);
+    }
+
+    @Override
+    public PdpGroup deletePdpGroup(@NonNull final String name, @NonNull final String version) throws PfModelException {
+        assertInitilized();
+        return new PdpProvider().deletePdpGroup(pfDao, name, version);
+    }
+
+    @Override
+    public List<PdpStatistics> getPdpStatistics(final String name, final String version) throws PfModelException {
+        assertInitilized();
+        return new PdpProvider().getPdpStatistics(pfDao, name, version);
+    }
+
+    @Override
+    public void updatePdpStatistics(@NonNull final String pdpGroupName, @NonNull final String pdpGroupVersion,
+            @NonNull final String pdpType, @NonNull final String pdpInstanceId,
+            @NonNull final PdpStatistics pdppStatistics)  throws PfModelException {
+        assertInitilized();
+        new PdpProvider().updatePdpStatistics(pfDao, pdpGroupName, pdpGroupVersion, pdpType, pdpInstanceId,
+                pdppStatistics);
+    }
+
+    @Override
+    public Map<PdpGroup, List<ToscaPolicy>> getDeployedPolicyList(final String name) throws PfModelException {
         assertInitilized();
-        return new PdpProvider().deletePdpGroups(pfDao, pdpGroupFilter);
+        return new PdpProvider().getDeployedPolicyList(pfDao, name);
     }
 
     /**
index 8881ed0..3db8e5e 100644 (file)
 
 package org.onap.policy.models.provider.impl;
 
+import java.util.ArrayList;
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 
 import javax.ws.rs.core.Response;
 import lombok.NonNull;
 
+import org.apache.commons.lang3.tuple.Pair;
 import org.onap.policy.common.utils.coder.StandardCoder;
 import org.onap.policy.common.utils.resources.ResourceUtils;
 import org.onap.policy.models.base.PfModelException;
 import org.onap.policy.models.base.PfModelRuntimeException;
+import org.onap.policy.models.pdp.concepts.PdpGroup;
 import org.onap.policy.models.pdp.concepts.PdpGroups;
+import org.onap.policy.models.pdp.concepts.PdpStatistics;
+import org.onap.policy.models.pdp.concepts.PdpSubGroup;
 import org.onap.policy.models.provider.PolicyModelsProvider;
 import org.onap.policy.models.provider.PolicyModelsProviderParameters;
+import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicy;
+import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicyType;
 import org.onap.policy.models.tosca.authorative.concepts.ToscaServiceTemplate;
 import org.onap.policy.models.tosca.legacy.concepts.LegacyGuardPolicyInput;
 import org.onap.policy.models.tosca.legacy.concepts.LegacyGuardPolicyOutput;
@@ -64,11 +72,25 @@ public class DummyPolicyModelsProviderImpl implements PolicyModelsProvider {
     }
 
     @Override
-    public ToscaServiceTemplate getPolicyTypes(@NonNull final String name, @NonNull final String version)
-            throws PfModelException {
+    public ToscaServiceTemplate getPolicyTypes(final String name, final String version) throws PfModelException {
         return getDummyResponse("dummyimpl/DummyToscaPolicyTypeGetResponse.json");
     }
 
+    @Override
+    public List<ToscaPolicyType> getPolicyTypeList(final String name, final String version) throws PfModelException {
+        return new ArrayList<>();
+    }
+
+    @Override
+    public ToscaServiceTemplate getLatestPolicyTypes(final String name) throws PfModelException {
+        return null;
+    }
+
+    @Override
+    public List<ToscaPolicyType> getLatestPolicyTypeList(final String name) throws PfModelException {
+        return new ArrayList<>();
+    }
+
     @Override
     public ToscaServiceTemplate createPolicyTypes(@NonNull final ToscaServiceTemplate serviceTemplate)
             throws PfModelException {
@@ -82,17 +104,36 @@ public class DummyPolicyModelsProviderImpl implements PolicyModelsProvider {
     }
 
     @Override
-    public ToscaServiceTemplate deletePolicyTypes(@NonNull final String name, @NonNull final String version)
+    public ToscaServiceTemplate deletePolicyType(@NonNull final String name, @NonNull final String version)
             throws PfModelException {
         return getDummyResponse("dummyimpl/DummyToscaPolicyTypeDeleteResponse.json");
     }
 
     @Override
-    public ToscaServiceTemplate getPolicies(@NonNull final String name, @NonNull final String version)
-            throws PfModelException {
+    public ToscaServiceTemplate getPolicies(final String name, final String version) throws PfModelException {
         return getDummyResponse("dummyimpl/DummyToscaPolicyGetResponse.json");
     }
 
+    @Override
+    public List<ToscaPolicy> getPolicyList(final String name, final String version) throws PfModelException {
+        return new ArrayList<>();
+    }
+
+    @Override
+    public List<ToscaPolicy> getPolicyList4PolicyType(@NonNull final String policyTypeName) throws PfModelException {
+        return new ArrayList<>();
+    }
+
+    @Override
+    public ToscaServiceTemplate getLatestPolicies(final String name) throws PfModelException {
+        return null;
+    }
+
+    @Override
+    public List<ToscaPolicy> getLatestPolicyList(final String name) throws PfModelException {
+        return new ArrayList<>();
+    }
+
     @Override
     public ToscaServiceTemplate createPolicies(@NonNull final ToscaServiceTemplate serviceTemplate)
             throws PfModelException {
@@ -106,7 +147,7 @@ public class DummyPolicyModelsProviderImpl implements PolicyModelsProvider {
     }
 
     @Override
-    public ToscaServiceTemplate deletePolicies(@NonNull final String name, @NonNull final String version)
+    public ToscaServiceTemplate deletePolicy(@NonNull final String name, @NonNull final String version)
             throws PfModelException {
         return getDummyResponse("dummyimpl/DummyToscaPolicyDeleteResponse.json");
     }
@@ -158,23 +199,57 @@ public class DummyPolicyModelsProviderImpl implements PolicyModelsProvider {
     }
 
     @Override
-    public PdpGroups getPdpGroups(@NonNull String pdpGroupFilter) throws PfModelException {
-        return new PdpGroups();
+    public PdpGroups getPdpGroups(final String name, final String version) throws PfModelException {
+        return null;
+    }
+
+    @Override
+    public PdpGroups getLatestPdpGroups(final String name) throws PfModelException {
+        return null;
+    }
+
+    @Override
+    public PdpGroups getFilteredPdpGroups(@NonNull final String pdpType,
+            @NonNull final List<Pair<String, String>> supportedPolicyTypes) {
+        return null;
+    }
+
+    @Override
+    public PdpGroups createPdpGroups(@NonNull final PdpGroups pdpGroups) throws PfModelException {
+        return null;
+    }
+
+    @Override
+    public PdpGroups updatePdpGroups(@NonNull final PdpGroups pdpGroups) throws PfModelException {
+        return null;
+    }
+
+    @Override
+    public void updatePdpSubGroup(@NonNull final String pdpGroupName, @NonNull final String pdpGroupVersion,
+            @NonNull final PdpSubGroup pdpSubGroup) throws PfModelException {
+        // Not implemented
+    }
+
+    @Override
+    public PdpGroup deletePdpGroup(@NonNull final String name, @NonNull final String version) throws PfModelException {
+        return null;
     }
 
     @Override
-    public PdpGroups createPdpGroups(@NonNull PdpGroups pdpGroups) throws PfModelException {
-        return new PdpGroups();
+    public List<PdpStatistics> getPdpStatistics(final String name, final String version) throws PfModelException {
+        return new ArrayList<>();
     }
 
     @Override
-    public PdpGroups updatePdpGroups(@NonNull PdpGroups pdpGroups) throws PfModelException {
-        return new PdpGroups();
+    public void updatePdpStatistics(@NonNull final String pdpGroupName, @NonNull final String pdpGroupVersion,
+            @NonNull final String pdpType, @NonNull final String pdpInstanceId,
+            @NonNull final PdpStatistics pdppStatistics)  throws PfModelException {
+        // Not implemented
     }
 
     @Override
-    public PdpGroups deletePdpGroups(@NonNull String pdpGroupFilter) throws PfModelException {
-        return new PdpGroups();
+    public Map<PdpGroup, List<ToscaPolicy>> getDeployedPolicyList(final String name) throws PfModelException {
+        return null;
     }
 
     /**
index 7eb7122..d925333 100644 (file)
@@ -139,15 +139,15 @@ public class DatabasePolicyModelsProviderTest {
         }).hasMessage("serviceTemplate is marked @NonNull but is null");
 
         assertThatThrownBy(() -> {
-            databaseProvider.deletePolicyTypes(null, null);
+            databaseProvider.deletePolicyType(null, null);
         }).hasMessage("name is marked @NonNull but is null");
 
         assertThatThrownBy(() -> {
-            databaseProvider.deletePolicyTypes("aaa", null);
+            databaseProvider.deletePolicyType("aaa", null);
         }).hasMessage("version is marked @NonNull but is null");
 
         assertThatThrownBy(() -> {
-            databaseProvider.deletePolicyTypes(null, "aaa");
+            databaseProvider.deletePolicyType(null, "aaa");
         }).hasMessage("name is marked @NonNull but is null");
 
         assertThatThrownBy(() -> {
@@ -171,15 +171,15 @@ public class DatabasePolicyModelsProviderTest {
         }).hasMessage("serviceTemplate is marked @NonNull but is null");
 
         assertThatThrownBy(() -> {
-            databaseProvider.deletePolicies(null, null);
+            databaseProvider.deletePolicy(null, null);
         }).hasMessage("name is marked @NonNull but is null");
 
         assertThatThrownBy(() -> {
-            databaseProvider.deletePolicies(null, "aaa");
+            databaseProvider.deletePolicy(null, "aaa");
         }).hasMessage("name is marked @NonNull but is null");
 
         assertThatThrownBy(() -> {
-            databaseProvider.deletePolicies("aaa", null);
+            databaseProvider.deletePolicy("aaa", null);
         }).hasMessage("version is marked @NonNull but is null");
 
         assertThatThrownBy(() -> {
@@ -214,10 +214,6 @@ public class DatabasePolicyModelsProviderTest {
             databaseProvider.deleteGuardPolicy(null);
         }).hasMessage("policyId is marked @NonNull but is null");
 
-        assertThatThrownBy(() -> {
-            databaseProvider.getPdpGroups(null);
-        }).hasMessage("pdpGroupFilter is marked @NonNull but is null");
-
         assertThatThrownBy(() -> {
             databaseProvider.createPdpGroups(null);
         }).hasMessage("pdpGroups is marked @NonNull but is null");
@@ -227,8 +223,8 @@ public class DatabasePolicyModelsProviderTest {
         }).hasMessage("pdpGroups is marked @NonNull but is null");
 
         assertThatThrownBy(() -> {
-            databaseProvider.deletePdpGroups(null);
-        }).hasMessage("pdpGroupFilter is marked @NonNull but is null");
+            databaseProvider.deletePdpGroup(null, null);
+        }).hasMessage("name is marked @NonNull but is null");
 
         databaseProvider.close();
 
@@ -263,7 +259,7 @@ public class DatabasePolicyModelsProviderTest {
             }).hasMessage("no policy types specified on service template");
 
             assertThatThrownBy(() -> {
-                databaseProvider.deletePolicyTypes("name", "version");
+                databaseProvider.deletePolicyType("name", "version");
             }).hasMessage("policy type not found: name:version");
 
             assertThatThrownBy(() -> {
@@ -279,7 +275,7 @@ public class DatabasePolicyModelsProviderTest {
             }).hasMessage("topology template not specified on service template");
 
             assertThatThrownBy(() -> {
-                databaseProvider.deletePolicies("name", "version");
+                databaseProvider.deletePolicy("name", "version");
             }).hasMessage("policy not found: name:version");
 
             assertThatThrownBy(() -> {
@@ -314,10 +310,10 @@ public class DatabasePolicyModelsProviderTest {
                 databaseProvider.deleteGuardPolicy("policy_id");
             }).hasMessage("no policy found for policy ID: policy_id");
 
-            assertNotNull(databaseProvider.getPdpGroups("filter"));
+            assertNotNull(databaseProvider.getPdpGroups("name", "version"));
             assertNotNull(databaseProvider.createPdpGroups(new PdpGroups()));
             assertNotNull(databaseProvider.updatePdpGroups(new PdpGroups()));
-            assertNotNull(databaseProvider.deletePdpGroups("filter"));
+            assertNotNull(databaseProvider.deletePdpGroup("name", "version"));
 
         } catch (Exception exc) {
             LOGGER.warn("test should not throw an exception", exc);
index a9a0d13..9320df5 100644 (file)
 
 package org.onap.policy.models.provider.impl;
 
+import java.util.List;
 import java.util.Map;
 
 import javax.ws.rs.core.Response;
 
 import lombok.NonNull;
 
+import org.apache.commons.lang3.tuple.Pair;
 import org.onap.policy.models.base.PfModelException;
 import org.onap.policy.models.base.PfModelRuntimeException;
+import org.onap.policy.models.pdp.concepts.PdpGroup;
 import org.onap.policy.models.pdp.concepts.PdpGroups;
+import org.onap.policy.models.pdp.concepts.PdpStatistics;
+import org.onap.policy.models.pdp.concepts.PdpSubGroup;
 import org.onap.policy.models.provider.PolicyModelsProvider;
+import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicy;
+import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicyType;
 import org.onap.policy.models.tosca.authorative.concepts.ToscaServiceTemplate;
 import org.onap.policy.models.tosca.legacy.concepts.LegacyGuardPolicyInput;
 import org.onap.policy.models.tosca.legacy.concepts.LegacyGuardPolicyOutput;
@@ -69,7 +76,7 @@ public class DummyBadProviderImpl implements PolicyModelsProvider {
     }
 
     @Override
-    public ToscaServiceTemplate deletePolicyTypes(final String name, final String version) throws PfModelException {
+    public ToscaServiceTemplate deletePolicyType(final String name, final String version) throws PfModelException {
         return null;
     }
 
@@ -91,7 +98,7 @@ public class DummyBadProviderImpl implements PolicyModelsProvider {
     }
 
     @Override
-    public ToscaServiceTemplate deletePolicies(final String name, final String version) throws PfModelException {
+    public ToscaServiceTemplate deletePolicy(final String name, final String version) throws PfModelException {
         return null;
     }
 
@@ -140,7 +147,7 @@ public class DummyBadProviderImpl implements PolicyModelsProvider {
     }
 
     @Override
-    public PdpGroups getPdpGroups(@NonNull String pdpGroupFilter) throws PfModelException {
+    public PdpGroups getPdpGroups(String name, String version) throws PfModelException {
         return null;
     }
 
@@ -155,7 +162,73 @@ public class DummyBadProviderImpl implements PolicyModelsProvider {
     }
 
     @Override
-    public PdpGroups deletePdpGroups(@NonNull String pdpGroupFilter) throws PfModelException {
+    public PdpGroup deletePdpGroup(@NonNull String name, @NonNull String verison) throws PfModelException {
+        return null;
+    }
+
+    @Override
+    public List<ToscaPolicyType> getPolicyTypeList(String name, String version) throws PfModelException {
+        return null;
+    }
+
+    @Override
+    public ToscaServiceTemplate getLatestPolicyTypes(String name) throws PfModelException {
+        return null;
+    }
+
+    @Override
+    public List<ToscaPolicyType> getLatestPolicyTypeList(String name) throws PfModelException {
+        return null;
+    }
+
+    @Override
+    public List<ToscaPolicy> getPolicyList(String name, String version) throws PfModelException {
+        return null;
+    }
+
+    @Override
+    public List<ToscaPolicy> getPolicyList4PolicyType(@NonNull String policyTypeName) throws PfModelException {
+        return null;
+    }
+
+    @Override
+    public ToscaServiceTemplate getLatestPolicies(String name) throws PfModelException {
+        return null;
+    }
+
+    @Override
+    public List<ToscaPolicy> getLatestPolicyList(String name) throws PfModelException {
+        return null;
+    }
+
+    @Override
+    public PdpGroups getLatestPdpGroups(String name) throws PfModelException {
+        return null;
+    }
+
+    @Override
+    public PdpGroups getFilteredPdpGroups(@NonNull String pdpType,
+            @NonNull List<Pair<String, String>> supportedPolicyTypes) {
+        return null;
+    }
+
+    @Override
+    public void updatePdpSubGroup(@NonNull String pdpGroupName, @NonNull String pdpGroupVersion,
+            @NonNull PdpSubGroup pdpSubGroup) throws PfModelException {
+    }
+
+    @Override
+    public List<PdpStatistics> getPdpStatistics(String name, String version) throws PfModelException {
+        return null;
+    }
+
+    @Override
+    public void updatePdpStatistics(@NonNull String pdpGroupName, @NonNull String pdpGroupVersion,
+            @NonNull String pdpType, @NonNull String pdpInstanceId, @NonNull PdpStatistics pdppStatistics) {
+    }
+
+    @Override
+    public Map<PdpGroup, List<ToscaPolicy>> getDeployedPolicyList(String name) throws PfModelException {
         return null;
     }
 }
index 3e13d85..a0b4857 100644 (file)
@@ -23,6 +23,7 @@ package org.onap.policy.models.provider.impl;
 import static org.assertj.core.api.Assertions.assertThatThrownBy;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
 import static org.junit.Assert.fail;
 
 import org.junit.Test;
@@ -73,12 +74,12 @@ public class DummyPolicyModelsProviderTest {
         assertNotNull(dummyProvider.getPolicyTypes("name", "version"));
         assertNotNull(dummyProvider.createPolicyTypes(new ToscaServiceTemplate()));
         assertNotNull(dummyProvider.updatePolicyTypes(new ToscaServiceTemplate()));
-        assertNotNull(dummyProvider.deletePolicyTypes("name", "version"));
+        assertNotNull(dummyProvider.deletePolicyType("name", "version"));
 
         assertNotNull(dummyProvider.getPolicies("name", "version"));
         assertNotNull(dummyProvider.createPolicies(new ToscaServiceTemplate()));
         assertNotNull(dummyProvider.updatePolicies(new ToscaServiceTemplate()));
-        assertNotNull(dummyProvider.deletePolicies("name", "version"));
+        assertNotNull(dummyProvider.deletePolicy("name", "version"));
 
         assertNotNull(dummyProvider.getOperationalPolicy("policy_id"));
         assertNotNull(dummyProvider.createOperationalPolicy(new LegacyOperationalPolicy()));
@@ -90,36 +91,11 @@ public class DummyPolicyModelsProviderTest {
         assertNotNull(dummyProvider.updateGuardPolicy(new LegacyGuardPolicyInput()));
         assertNotNull(dummyProvider.deleteGuardPolicy("policy_id"));
 
-        assertNotNull(dummyProvider.getPdpGroups("filter"));
-        assertNotNull(dummyProvider.createPdpGroups(new PdpGroups()));
-        assertNotNull(dummyProvider.updatePdpGroups(new PdpGroups()));
-        assertNotNull(dummyProvider.deletePdpGroups("filter"));
+        assertNull(dummyProvider.getPdpGroups("name", "version"));
+        assertNull(dummyProvider.createPdpGroups(new PdpGroups()));
+        assertNull(dummyProvider.updatePdpGroups(new PdpGroups()));
+        assertNull(dummyProvider.deletePdpGroup("name", "version"));
 
-        assertThatThrownBy(() -> {
-            dummyProvider.getPolicyTypes(null, null);
-        }).hasMessage("name is marked @NonNull but is null");
-        assertThatThrownBy(() -> {
-            dummyProvider.createPolicyTypes(null);
-        }).hasMessage("serviceTemplate is marked @NonNull but is null");
-        assertThatThrownBy(() -> {
-            dummyProvider.updatePolicyTypes(null);
-        }).hasMessage("serviceTemplate is marked @NonNull but is null");
-        assertThatThrownBy(() -> {
-            dummyProvider.deletePolicyTypes(null, null);
-        }).hasMessage("name is marked @NonNull but is null");
-
-        assertThatThrownBy(() -> {
-            dummyProvider.getPolicies(null, null);
-        }).hasMessage("name is marked @NonNull but is null");
-        assertThatThrownBy(() -> {
-            dummyProvider.createPolicies(null);
-        }).hasMessage("serviceTemplate is marked @NonNull but is null");
-        assertThatThrownBy(() -> {
-            dummyProvider.updatePolicies(null);
-        }).hasMessage("serviceTemplate is marked @NonNull but is null");
-        assertThatThrownBy(() -> {
-            dummyProvider.deletePolicies(null, null);
-        }).hasMessage("name is marked @NonNull but is null");
 
         assertThatThrownBy(() -> {
             dummyProvider.getOperationalPolicy(null);
@@ -147,9 +123,6 @@ public class DummyPolicyModelsProviderTest {
             dummyProvider.deleteGuardPolicy(null);
         }).hasMessage("policyId is marked @NonNull but is null");
 
-        assertThatThrownBy(() -> {
-            dummyProvider.getPdpGroups(null);
-        }).hasMessage("pdpGroupFilter is marked @NonNull but is null");
         assertThatThrownBy(() -> {
             dummyProvider.createPdpGroups(null);
         }).hasMessage("pdpGroups is marked @NonNull but is null");
@@ -157,8 +130,8 @@ public class DummyPolicyModelsProviderTest {
             dummyProvider.updatePdpGroups(null);
         }).hasMessage("pdpGroups is marked @NonNull but is null");
         assertThatThrownBy(() -> {
-            dummyProvider.deletePdpGroups(null);
-        }).hasMessage("pdpGroupFilter is marked @NonNull but is null");
+            dummyProvider.deletePdpGroup(null, null);
+        }).hasMessage("name is marked @NonNull but is null");
 
         dummyProvider.close();
     }
index 0201bbe..e9e92d3 100644 (file)
 
 package org.onap.policy.models.tosca.authorative.provider;
 
+import java.util.ArrayList;
+import java.util.List;
+
 import lombok.NonNull;
 
 import org.onap.policy.models.base.PfConceptKey;
 import org.onap.policy.models.base.PfModelException;
 import org.onap.policy.models.dao.PfDao;
+import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicy;
+import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicyType;
 import org.onap.policy.models.tosca.authorative.concepts.ToscaServiceTemplate;
 import org.onap.policy.models.tosca.simple.concepts.JpaToscaServiceTemplate;
 import org.onap.policy.models.tosca.simple.provider.SimpleToscaProvider;
@@ -44,12 +49,52 @@ public class AuthorativeToscaProvider {
      * @return the policy types found
      * @throws PfModelException on errors getting policy types
      */
-    public ToscaServiceTemplate getPolicyTypes(@NonNull final PfDao dao, @NonNull final String name,
-            @NonNull final String version) throws PfModelException {
+    public ToscaServiceTemplate getPolicyTypes(@NonNull final PfDao dao, final String name, final String version)
+            throws PfModelException {
 
         return new SimpleToscaProvider().getPolicyTypes(dao, new PfConceptKey(name, version)).toAuthorative();
     }
 
+    /**
+     * Get policy types.
+     *
+     * @param dao the DAO to use to access the database
+     * @param name the name of the policy type to get, set to null to get all policy types
+     * @param version the version of the policy type to get, set to null to get all versions
+     * @return the policy types found
+     * @throws PfModelException on errors getting policy types
+     */
+    public List<ToscaPolicyType> getPolicyTypeList(@NonNull final PfDao dao, final String name, final String version)
+            throws PfModelException {
+        return new ArrayList<>();
+    }
+
+    /**
+     * Get latest policy types.
+     *
+     * @param dao the DAO to use to access the database
+     * @param name the name of the policy type to get, set to null to get all policy types
+     * @return the policy types found
+     * @throws PfModelException on errors getting policy types
+     */
+    public ToscaServiceTemplate getLatestPolicyTypes(@NonNull final PfDao dao, final String name)
+            throws PfModelException {
+        return null;
+    }
+
+    /**
+     * Get latest policy types.
+     *
+     * @param dao the DAO to use to access the database
+     * @param name the name of the policy type to get, set to null to get all policy types
+     * @return the policy types found
+     * @throws PfModelException on errors getting policy types
+     */
+    public List<ToscaPolicyType> getLatestPolicyTypeList(@NonNull final PfDao dao, final String name)
+            throws PfModelException {
+        return new ArrayList<>();
+    }
+
     /**
      * Create policy types.
      *
@@ -81,18 +126,18 @@ public class AuthorativeToscaProvider {
     }
 
     /**
-     * Delete policy types.
+     * Delete policy type.
      *
      * @param dao the DAO to use to access the database
      * @param name the name of the policy type to delete.
      * @param version the version of the policy type to delete.
-     * @return the TOSCA service template containing the policy types that were deleted
+     * @return the TOSCA service template containing the policy type that was deleted
      * @throws PfModelException on errors deleting policy types
      */
-    public ToscaServiceTemplate deletePolicyTypes(@NonNull final PfDao dao, @NonNull final String name,
+    public ToscaServiceTemplate deletePolicyType(@NonNull final PfDao dao, @NonNull final String name,
             @NonNull final String version) throws PfModelException {
 
-        return new SimpleToscaProvider().deletePolicyTypes(dao, new PfConceptKey(name, version)).toAuthorative();
+        return new SimpleToscaProvider().deletePolicyType(dao, new PfConceptKey(name, version)).toAuthorative();
     }
 
     /**
@@ -110,6 +155,57 @@ public class AuthorativeToscaProvider {
         return new SimpleToscaProvider().getPolicies(dao, new PfConceptKey(name, version)).toAuthorative();
     }
 
+    /**
+     * Get policies.
+     *
+     * @param dao the DAO to use to access the database
+     * @param name the name of the policy to get, null to get all policies
+     * @param version the version of the policy to get, null to get all versions of a policy
+     * @return the policies found
+     * @throws PfModelException on errors getting policies
+     */
+    public List<ToscaPolicy> getPolicyList(@NonNull final PfDao dao, final String name, final String version)
+            throws PfModelException {
+        return new ArrayList<>();
+    }
+
+    /**
+     * Get policies for a policy type name.
+     *
+     * @param dao the DAO to use to access the database
+     * @param policyTypeName the name of the policy type for which to get policies
+     * @return the policies found
+     * @throws PfModelException on errors getting policies
+     */
+    public List<ToscaPolicy> getPolicyList4PolicyType(@NonNull final PfDao dao, @NonNull final String policyTypeName)
+            throws PfModelException {
+        return new ArrayList<>();
+    }
+
+    /**
+     * Get latest policies.
+     *
+     * @param dao the DAO to use to access the database
+     * @param name the name of the policy to get, null to get all policies
+     * @return the policies found
+     * @throws PfModelException on errors getting policies
+     */
+    public ToscaServiceTemplate getLatestPolicies(@NonNull final PfDao dao, final String name) throws PfModelException {
+        return null;
+    }
+
+    /**
+     * Get latest policies.
+     *
+     * @param dao the DAO to use to access the database
+     * @param name the name of the policy to get, null to get all policies
+     * @return the policies found
+     * @throws PfModelException on errors getting policies
+     */
+    public List<ToscaPolicy> getLatestPolicyList(@NonNull final PfDao dao, final String name) throws PfModelException  {
+        return new ArrayList<>();
+    }
+
     /**
      * Create policies.
      *
@@ -141,17 +237,17 @@ public class AuthorativeToscaProvider {
     }
 
     /**
-     * Delete policies.
+     * Delete policy.
      *
      * @param dao the DAO to use to access the database
      * @param name the name of the policy to delete.
      * @param version the version of the policy to delete.
-     * @return the TOSCA service template containing the policies that were deleted
+     * @return the TOSCA service template containing the policy that weas deleted
      * @throws PfModelException on errors deleting policies
      */
-    public ToscaServiceTemplate deletePolicies(@NonNull final PfDao dao, @NonNull final String name,
+    public ToscaServiceTemplate deletePolicy(@NonNull final PfDao dao, @NonNull final String name,
             @NonNull final String version) throws PfModelException {
 
-        return new SimpleToscaProvider().deletePolicies(dao, new PfConceptKey(name, version)).toAuthorative();
+        return new SimpleToscaProvider().deletePolicy(dao, new PfConceptKey(name, version)).toAuthorative();
     }
 }
index 6e356d0..e7e8160 100644 (file)
@@ -143,7 +143,7 @@ public class SimpleToscaProvider {
      * @return the TOSCA service template containing the policy types that were deleted
      * @throws PfModelException on errors deleting policy types
      */
-    public JpaToscaServiceTemplate deletePolicyTypes(@NonNull final PfDao dao,
+    public JpaToscaServiceTemplate deletePolicyType(@NonNull final PfDao dao,
             @NonNull final PfConceptKey policyTypeKey)
             throws PfModelException {
 
@@ -251,7 +251,7 @@ public class SimpleToscaProvider {
      * @return the TOSCA service template containing the policies that were deleted
      * @throws PfModelException on errors deleting policies
      */
-    public JpaToscaServiceTemplate deletePolicies(@NonNull final PfDao dao, @NonNull final PfConceptKey policyKey)
+    public JpaToscaServiceTemplate deletePolicy(@NonNull final PfDao dao, @NonNull final PfConceptKey policyKey)
             throws PfModelException {
 
         JpaToscaServiceTemplate serviceTemplate = getPolicies(dao, policyKey);
index ebbebce..0d486e3 100644 (file)
@@ -213,21 +213,21 @@ public class SimpleToscaProviderTest {
     @Test
     public void testPoliciesDelete() throws Exception {
         try {
-            new SimpleToscaProvider().deletePolicies(null, null);
+            new SimpleToscaProvider().deletePolicy(null, null);
             fail("test should throw an exception here");
         } catch (Exception exc) {
             assertEquals("dao is marked @NonNull but is null", exc.getMessage());
         }
 
         try {
-            new SimpleToscaProvider().deletePolicies(null, new PfConceptKey());
+            new SimpleToscaProvider().deletePolicy(null, new PfConceptKey());
             fail("test should throw an exception here");
         } catch (Exception exc) {
             assertEquals("dao is marked @NonNull but is null", exc.getMessage());
         }
 
         try {
-            new SimpleToscaProvider().deletePolicies(pfDao, null);
+            new SimpleToscaProvider().deletePolicy(pfDao, null);
             fail("test should throw an exception here");
         } catch (Exception exc) {
             assertEquals("policyKey is marked @NonNull but is null", exc.getMessage());
@@ -249,7 +249,7 @@ public class SimpleToscaProviderTest {
         PfConceptKey policyKey = new PfConceptKey("onap.restart.tca:1.0.0");
 
         JpaToscaServiceTemplate deletedServiceTemplate =
-                new SimpleToscaProvider().deletePolicies(pfDao, new PfConceptKey(policyKey));
+                new SimpleToscaProvider().deletePolicy(pfDao, new PfConceptKey(policyKey));
 
         assertEquals(originalServiceTemplate.getTopologyTemplate().getPolicies().get(policyKey),
                 deletedServiceTemplate.getTopologyTemplate().getPolicies().get(policyKey));