summaryrefslogtreecommitdiffstats
path: root/models-pdp/src/main
diff options
context:
space:
mode:
Diffstat (limited to 'models-pdp/src/main')
-rw-r--r--models-pdp/src/main/java/org/onap/policy/models/pdp/concepts/PolicyIdent.java30
-rw-r--r--models-pdp/src/main/java/org/onap/policy/models/pdp/concepts/PolicyIdentOptVersion.java41
-rw-r--r--models-pdp/src/main/java/org/onap/policy/models/pdp/concepts/PolicyTypeIdent.java30
-rw-r--r--models-pdp/src/main/java/org/onap/policy/models/pdp/persistence/provider/PdpProvider.java110
4 files changed, 152 insertions, 59 deletions
diff --git a/models-pdp/src/main/java/org/onap/policy/models/pdp/concepts/PolicyIdent.java b/models-pdp/src/main/java/org/onap/policy/models/pdp/concepts/PolicyIdent.java
index 6d6b6fedd..a62d90090 100644
--- a/models-pdp/src/main/java/org/onap/policy/models/pdp/concepts/PolicyIdent.java
+++ b/models-pdp/src/main/java/org/onap/policy/models/pdp/concepts/PolicyIdent.java
@@ -20,31 +20,31 @@
package org.onap.policy.models.pdp.concepts;
+import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.NonNull;
-import org.onap.policy.models.base.PfConceptKey;
-import org.onap.policy.models.base.PfValidationResult;
-import org.onap.policy.models.base.Validated;
/**
* Identifies a policy. Both the name and version must be non-null.
*/
-@NonNull
+@Data
@NoArgsConstructor
-public class PolicyIdent extends PfConceptKey {
- private static final long serialVersionUID = 1L;
- private static final Validated validator = new Validated();
+public class PolicyIdent {
- public PolicyIdent(String name, String version) {
- super(name, version);
- }
+ @NonNull
+ private String name;
- public PolicyIdent(PolicyIdent source) {
- super(source);
+ @NonNull
+ private String version;
+
+
+ public PolicyIdent(@NonNull String name, @NonNull String version) {
+ this.name = name;
+ this.version = version;
}
- @Override
- public PfValidationResult validate(PfValidationResult result) {
- return super.validate(validator.validateNotNull(this, result));
+ public PolicyIdent(PolicyIdent source) {
+ this.name = source.name;
+ this.version = source.version;
}
}
diff --git a/models-pdp/src/main/java/org/onap/policy/models/pdp/concepts/PolicyIdentOptVersion.java b/models-pdp/src/main/java/org/onap/policy/models/pdp/concepts/PolicyIdentOptVersion.java
index a68a271f2..f86a3c46d 100644
--- a/models-pdp/src/main/java/org/onap/policy/models/pdp/concepts/PolicyIdentOptVersion.java
+++ b/models-pdp/src/main/java/org/onap/policy/models/pdp/concepts/PolicyIdentOptVersion.java
@@ -20,42 +20,39 @@
package org.onap.policy.models.pdp.concepts;
+import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.NonNull;
-import org.onap.policy.models.base.PfConceptKey;
-import org.onap.policy.models.base.PfKey;
-import org.onap.policy.models.base.PfValidationResult;
-import org.onap.policy.models.base.Validated;
/**
* Policy identifier with an optional version; only the "name" is required.
*/
-@NonNull
+@Data
@NoArgsConstructor
-public class PolicyIdentOptVersion extends PfConceptKey {
- private static final long serialVersionUID = 1L;
- private static final Validated validator = new Validated();
+public class PolicyIdentOptVersion {
+ @NonNull
+ private String name;
+
+ private String version;
+
+
+ public PolicyIdentOptVersion(@NonNull String name, String version) {
+ this.name = name;
+ this.version = version;
+ }
public PolicyIdentOptVersion(PolicyIdentOptVersion source) {
- super(source);
+ this.name = source.name;
+ this.version = source.version;
}
/**
- * Validates the object.
+ * Determines if the version is null/missing.
*
- * @param resultIn where to place any errors
- * @return a validation result
+ * @return {@code true} if the version is null/missing, {@code false}
*/
- public PfValidationResult validate(@NonNull final PfValidationResult resultIn) {
- PfValidationResult result = resultIn;
-
- String name = getName();
- if (PfConceptKey.NULL_KEY_NAME.equals(name)) {
- validator.addError(this, "name", result, "null");
- }
- result = validator.validateText(this, "name", name, PfKey.NAME_REGEXP, result);
-
- return validator.validateText(this, "version", getVersion(), PfKey.VERSION_REGEXP, result);
+ public boolean isNullVersion() {
+ return (version == null);
}
}
diff --git a/models-pdp/src/main/java/org/onap/policy/models/pdp/concepts/PolicyTypeIdent.java b/models-pdp/src/main/java/org/onap/policy/models/pdp/concepts/PolicyTypeIdent.java
index ef67de86e..44ca168f5 100644
--- a/models-pdp/src/main/java/org/onap/policy/models/pdp/concepts/PolicyTypeIdent.java
+++ b/models-pdp/src/main/java/org/onap/policy/models/pdp/concepts/PolicyTypeIdent.java
@@ -20,31 +20,31 @@
package org.onap.policy.models.pdp.concepts;
+import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.NonNull;
-import org.onap.policy.models.base.PfConceptKey;
-import org.onap.policy.models.base.PfValidationResult;
-import org.onap.policy.models.base.Validated;
/**
* Identifies a policy type. Both the name and version must be non-null.
*/
-@NonNull
+@Data
@NoArgsConstructor
-public class PolicyTypeIdent extends PfConceptKey {
- private static final long serialVersionUID = 1L;
- private static final Validated validator = new Validated();
+public class PolicyTypeIdent {
- public PolicyTypeIdent(String name, String version) {
- super(name, version);
- }
+ @NonNull
+ private String name;
- public PolicyTypeIdent(PolicyTypeIdent source) {
- super(source);
+ @NonNull
+ private String version;
+
+
+ public PolicyTypeIdent(@NonNull String name, @NonNull String version) {
+ this.name = name;
+ this.version = version;
}
- @Override
- public PfValidationResult validate(PfValidationResult result) {
- return super.validate(validator.validateNotNull(this, result));
+ public PolicyTypeIdent(PolicyTypeIdent source) {
+ this.name = source.name;
+ this.version = source.version;
}
}
diff --git a/models-pdp/src/main/java/org/onap/policy/models/pdp/persistence/provider/PdpProvider.java b/models-pdp/src/main/java/org/onap/policy/models/pdp/persistence/provider/PdpProvider.java
index fe0576dfe..6af2d211b 100644
--- a/models-pdp/src/main/java/org/onap/policy/models/pdp/persistence/provider/PdpProvider.java
+++ b/models-pdp/src/main/java/org/onap/policy/models/pdp/persistence/provider/PdpProvider.java
@@ -20,11 +20,21 @@
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,16 +46,42 @@ 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.
*
* @param dao the DAO to use to access the database
@@ -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<>();
}
}