diff options
author | Jim Hahn <jrh3@att.com> | 2019-10-14 11:34:15 -0400 |
---|---|---|
committer | Jim Hahn <jrh3@att.com> | 2019-10-15 09:48:59 -0400 |
commit | ada98e3bfe5906f238a058c4ef056603dd0dbe63 (patch) | |
tree | 17c01f4b7de1f1c4ac33451a111cf4af31d9f0e0 /models-pap/src/main | |
parent | 0a4dcfbe5612b64be111dee34e7c9e335eba8827 (diff) |
Add PAP Policy Notification classes
Added classes that PAP will use to publish to DMaaP to indicate policy
status changes (i.e., added/removed from PDPs).
Modified serialized name of the policy identified to match other uses
(e.g., PAP REST API calls).
Added policy type, per review comments.
Change-Id: I66131fa9ae0b63081f239e7f402b7fea65c434a5
Issue-ID: POLICY-1841
Signed-off-by: Jim Hahn <jrh3@att.com>
Diffstat (limited to 'models-pap/src/main')
-rw-r--r-- | models-pap/src/main/java/org/onap/policy/models/pap/concepts/PolicyNotification.java | 48 | ||||
-rw-r--r-- | models-pap/src/main/java/org/onap/policy/models/pap/concepts/PolicyStatus.java | 60 |
2 files changed, 108 insertions, 0 deletions
diff --git a/models-pap/src/main/java/org/onap/policy/models/pap/concepts/PolicyNotification.java b/models-pap/src/main/java/org/onap/policy/models/pap/concepts/PolicyNotification.java new file mode 100644 index 000000000..a9c22c463 --- /dev/null +++ b/models-pap/src/main/java/org/onap/policy/models/pap/concepts/PolicyNotification.java @@ -0,0 +1,48 @@ +/*- + * ============LICENSE_START======================================================= + * Copyright (C) 2019 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. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ + +package org.onap.policy.models.pap.concepts; + +import com.google.gson.annotations.SerializedName; +import java.util.ArrayList; +import java.util.List; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@NoArgsConstructor +public class PolicyNotification { + + /** + * Status of policies that are being added to PDPs. + */ + @SerializedName("added-policies") + private List<PolicyStatus> added = new ArrayList<>(); + + /** + * Status of policies that are being deleted from PDPs. + */ + @SerializedName("deleted-policies") + private List<PolicyStatus> deleted = new ArrayList<>(); + + + public PolicyNotification(List<PolicyStatus> added, List<PolicyStatus> deleted) { + this.added = added; + this.deleted = deleted; + } +} diff --git a/models-pap/src/main/java/org/onap/policy/models/pap/concepts/PolicyStatus.java b/models-pap/src/main/java/org/onap/policy/models/pap/concepts/PolicyStatus.java new file mode 100644 index 000000000..56d6c6909 --- /dev/null +++ b/models-pap/src/main/java/org/onap/policy/models/pap/concepts/PolicyStatus.java @@ -0,0 +1,60 @@ +/*- + * ============LICENSE_START======================================================= + * Copyright (C) 2019 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. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ + +package org.onap.policy.models.pap.concepts; + +import com.google.gson.annotations.SerializedName; +import lombok.Data; +import lombok.NoArgsConstructor; +import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicyIdentifier; +import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicyTypeIdentifier; + +@Data +@NoArgsConstructor +public class PolicyStatus { + + @SerializedName("policy-type") + private ToscaPolicyTypeIdentifier policyType; + + @SerializedName("policy") + private ToscaPolicyIdentifier policy; + + /** + * Number of PDPs that have successfully added/deleted the policy. + */ + @SerializedName("success-count") + private int successCount = 0; + + /** + * Number of PDPs that were unable to add/delete the policy. + */ + @SerializedName("failure-count") + private int failureCount = 0; + + /** + * Number of PDPs that have not completed the add/delete operation. + */ + @SerializedName("incomplete-count") + private int incompleteCount = 0; + + + public PolicyStatus(ToscaPolicyTypeIdentifier policyType, ToscaPolicyIdentifier policy) { + this.policyType = policyType; + this.policy = policy; + } +} |