diff options
Diffstat (limited to 'models-pdp/src/main')
10 files changed, 56 insertions, 189 deletions
diff --git a/models-pdp/src/main/java/org/onap/policy/models/pdp/concepts/PdpGroupFilter.java b/models-pdp/src/main/java/org/onap/policy/models/pdp/concepts/PdpGroupFilter.java index f7a47ccd7..b49bedefe 100644 --- a/models-pdp/src/main/java/org/onap/policy/models/pdp/concepts/PdpGroupFilter.java +++ b/models-pdp/src/main/java/org/onap/policy/models/pdp/concepts/PdpGroupFilter.java @@ -29,6 +29,8 @@ import lombok.NonNull; import org.onap.policy.models.base.PfObjectFiler; import org.onap.policy.models.pdp.enums.PdpState; +import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicyIdentifier; +import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicyTypeIdentifier; /** * Filter class for searches for {@link PdpGroup} instances. diff --git a/models-pdp/src/main/java/org/onap/policy/models/pdp/concepts/PdpMessage.java b/models-pdp/src/main/java/org/onap/policy/models/pdp/concepts/PdpMessage.java index 6160027ed..a48724e34 100644 --- a/models-pdp/src/main/java/org/onap/policy/models/pdp/concepts/PdpMessage.java +++ b/models-pdp/src/main/java/org/onap/policy/models/pdp/concepts/PdpMessage.java @@ -29,7 +29,8 @@ import lombok.ToString; import org.onap.policy.models.pdp.enums.PdpMessageType; /** - * Class to represent the base class for various messages that will ve exchanged between PAP and PDP. + * Class to represent the base class for various messages that will be exchanged between + * PAP and PDP. * * @author Ram Krishna Verma (ram.krishna.verma@est.tech) */ @@ -50,6 +51,24 @@ public class PdpMessage { private long timestampMs = System.currentTimeMillis(); /** + * PDP name, or {@code null} for state-change broadcast messages. + */ + private String name; + + /** + * Group associated with the PDP. For state-change messages, this may be {@code null}, + * if the {@link #name} is provided. + */ + private String pdpGroup; + + /** + * Group associated with the PDP. For state-change messages, this may be {@code null}, + * if the {@link #name} is provided. + */ + private String pdpSubgroup; + + + /** * Constructor for instantiating PdpMessage class with message name. * * @param messageName the message name @@ -57,4 +76,17 @@ public class PdpMessage { public PdpMessage(final PdpMessageType messageName) { this.messageName = messageName; } + + /** + * Constructs the object, making a deep copy. Does <i>not</i> copy the request id or + * the time stamp. + * + * @param source source from which to copy + */ + public PdpMessage(final PdpMessage source) { + this.messageName = source.messageName; + this.name = source.name; + this.pdpGroup = source.pdpGroup; + this.pdpSubgroup = source.pdpSubgroup; + } } diff --git a/models-pdp/src/main/java/org/onap/policy/models/pdp/concepts/PdpStateChange.java b/models-pdp/src/main/java/org/onap/policy/models/pdp/concepts/PdpStateChange.java index d8f938bbc..fe953cb65 100644 --- a/models-pdp/src/main/java/org/onap/policy/models/pdp/concepts/PdpStateChange.java +++ b/models-pdp/src/main/java/org/onap/policy/models/pdp/concepts/PdpStateChange.java @@ -35,13 +35,10 @@ import org.onap.policy.models.pdp.enums.PdpState; */ @Getter @Setter -@ToString +@ToString(callSuper = true) public class PdpStateChange extends PdpMessage { - private String name; private PdpState state; - private String pdpGroup; - private String pdpSubgroup; /** * Constructor for instantiating PdpStateChange class with message name. @@ -57,11 +54,8 @@ public class PdpStateChange extends PdpMessage { * @param source source from which to copy */ public PdpStateChange(PdpStateChange source) { - super(PdpMessageType.PDP_STATE_CHANGE); + super(source); - this.name = source.name; this.state = source.state; - this.pdpGroup = source.pdpGroup; - this.pdpSubgroup = source.pdpSubgroup; } } diff --git a/models-pdp/src/main/java/org/onap/policy/models/pdp/concepts/PdpStatus.java b/models-pdp/src/main/java/org/onap/policy/models/pdp/concepts/PdpStatus.java index d0fef4503..5858b6acd 100644 --- a/models-pdp/src/main/java/org/onap/policy/models/pdp/concepts/PdpStatus.java +++ b/models-pdp/src/main/java/org/onap/policy/models/pdp/concepts/PdpStatus.java @@ -22,14 +22,14 @@ package org.onap.policy.models.pdp.concepts; import java.util.List; - import lombok.Getter; import lombok.Setter; import lombok.ToString; - import org.onap.policy.models.pdp.enums.PdpHealthStatus; import org.onap.policy.models.pdp.enums.PdpMessageType; import org.onap.policy.models.pdp.enums.PdpState; +import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicyIdentifier; +import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicyTypeIdentifier; /** * Class to represent the PDP_STATUS message that all the PDP's will send to PAP. @@ -38,20 +38,20 @@ import org.onap.policy.models.pdp.enums.PdpState; */ @Getter @Setter -@ToString +@ToString(callSuper = true) public class PdpStatus extends PdpMessage { - private String name; - private String version; private String pdpType; private PdpState state; private PdpHealthStatus healthy; + + /** + * Description of the PDP or the PDP type. May be left {@code null}. + */ private String description; - private String pdpGroup; - private String pdpSubgroup; + private List<ToscaPolicyTypeIdentifier> supportedPolicyTypes; private List<ToscaPolicyIdentifier> policies; - private String instance; private String deploymentInstanceInfo; private String properties; private PdpStatistics statistics; diff --git a/models-pdp/src/main/java/org/onap/policy/models/pdp/concepts/PdpSubGroup.java b/models-pdp/src/main/java/org/onap/policy/models/pdp/concepts/PdpSubGroup.java index b4f469388..4e5843678 100644 --- a/models-pdp/src/main/java/org/onap/policy/models/pdp/concepts/PdpSubGroup.java +++ b/models-pdp/src/main/java/org/onap/policy/models/pdp/concepts/PdpSubGroup.java @@ -31,6 +31,8 @@ import lombok.Setter; import lombok.ToString; import org.onap.policy.models.base.PfUtils; +import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicyIdentifier; +import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicyTypeIdentifier; /** * Class to represent a group of all PDP's of the same pdp type running for a particular domain. diff --git a/models-pdp/src/main/java/org/onap/policy/models/pdp/concepts/PdpUpdate.java b/models-pdp/src/main/java/org/onap/policy/models/pdp/concepts/PdpUpdate.java index 200515cc4..a28bd7640 100644 --- a/models-pdp/src/main/java/org/onap/policy/models/pdp/concepts/PdpUpdate.java +++ b/models-pdp/src/main/java/org/onap/policy/models/pdp/concepts/PdpUpdate.java @@ -36,14 +36,15 @@ import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicy; */ @Getter @Setter -@ToString +@ToString(callSuper = true) public class PdpUpdate extends PdpMessage { - private String name; + /** + * Description of the PDP group. + */ private String description; - private String pdpGroup; - private String pdpSubgroup; - private long pdpHeartbeatIntervalMs; + + private Long pdpHeartbeatIntervalMs; private List<ToscaPolicy> policies; /** @@ -60,12 +61,9 @@ public class PdpUpdate extends PdpMessage { * @param source source from which to copy */ public PdpUpdate(PdpUpdate source) { - super(PdpMessageType.PDP_UPDATE); + super(source); - this.name = source.name; this.description = source.description; - this.pdpGroup = source.pdpGroup; - this.pdpSubgroup = source.pdpSubgroup; this.pdpHeartbeatIntervalMs = source.pdpHeartbeatIntervalMs; this.policies = (source.policies == null ? null : source.policies.stream().map(ToscaPolicy::new).collect(Collectors.toList())); diff --git a/models-pdp/src/main/java/org/onap/policy/models/pdp/concepts/ToscaPolicyIdentifier.java b/models-pdp/src/main/java/org/onap/policy/models/pdp/concepts/ToscaPolicyIdentifier.java deleted file mode 100644 index 245806c71..000000000 --- a/models-pdp/src/main/java/org/onap/policy/models/pdp/concepts/ToscaPolicyIdentifier.java +++ /dev/null @@ -1,50 +0,0 @@ -/* - * ============LICENSE_START======================================================= - * ONAP Policy Models - * ================================================================================ - * 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.pdp.concepts; - -import lombok.Data; -import lombok.NoArgsConstructor; -import lombok.NonNull; - -/** - * Identifies a policy. Both the name and version must be non-null. - */ -@Data -@NoArgsConstructor -public class ToscaPolicyIdentifier { - - @NonNull - private String name; - - @NonNull - private String version; - - - public ToscaPolicyIdentifier(@NonNull String name, @NonNull String version) { - this.name = name; - this.version = version; - } - - public ToscaPolicyIdentifier(ToscaPolicyIdentifier source) { - this.name = source.name; - this.version = source.version; - } -} diff --git a/models-pdp/src/main/java/org/onap/policy/models/pdp/concepts/ToscaPolicyIdentifierOptVersion.java b/models-pdp/src/main/java/org/onap/policy/models/pdp/concepts/ToscaPolicyIdentifierOptVersion.java deleted file mode 100644 index bd6b26ede..000000000 --- a/models-pdp/src/main/java/org/onap/policy/models/pdp/concepts/ToscaPolicyIdentifierOptVersion.java +++ /dev/null @@ -1,58 +0,0 @@ -/* - * ============LICENSE_START======================================================= - * ONAP Policy Models - * ================================================================================ - * 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.pdp.concepts; - -import lombok.Data; -import lombok.NoArgsConstructor; -import lombok.NonNull; - -/** - * Policy identifier with an optional version; only the "name" is required. - */ -@Data -@NoArgsConstructor -public class ToscaPolicyIdentifierOptVersion { - - @NonNull - private String name; - - private String version; - - - public ToscaPolicyIdentifierOptVersion(@NonNull String name, String version) { - this.name = name; - this.version = version; - } - - public ToscaPolicyIdentifierOptVersion(ToscaPolicyIdentifierOptVersion source) { - this.name = source.name; - this.version = source.version; - } - - /** - * Determines if the version is null/missing. - * - * @return {@code true} if the version is null/missing, {@code false} - */ - public boolean isNullVersion() { - return (version == null); - } -} diff --git a/models-pdp/src/main/java/org/onap/policy/models/pdp/concepts/ToscaPolicyTypeIdentifier.java b/models-pdp/src/main/java/org/onap/policy/models/pdp/concepts/ToscaPolicyTypeIdentifier.java deleted file mode 100644 index cf989f3ae..000000000 --- a/models-pdp/src/main/java/org/onap/policy/models/pdp/concepts/ToscaPolicyTypeIdentifier.java +++ /dev/null @@ -1,50 +0,0 @@ -/* - * ============LICENSE_START======================================================= - * ONAP Policy Models - * ================================================================================ - * 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.pdp.concepts; - -import lombok.Data; -import lombok.NoArgsConstructor; -import lombok.NonNull; - -/** - * Identifies a policy type. Both the name and version must be non-null. - */ -@Data -@NoArgsConstructor -public class ToscaPolicyTypeIdentifier { - - @NonNull - private String name; - - @NonNull - private String version; - - - public ToscaPolicyTypeIdentifier(@NonNull String name, @NonNull String version) { - this.name = name; - this.version = version; - } - - public ToscaPolicyTypeIdentifier(ToscaPolicyTypeIdentifier source) { - this.name = source.name; - this.version = source.version; - } -} diff --git a/models-pdp/src/main/java/org/onap/policy/models/pdp/persistence/concepts/JpaPdpSubGroup.java b/models-pdp/src/main/java/org/onap/policy/models/pdp/persistence/concepts/JpaPdpSubGroup.java index 2a9343902..1937cbfbb 100644 --- a/models-pdp/src/main/java/org/onap/policy/models/pdp/persistence/concepts/JpaPdpSubGroup.java +++ b/models-pdp/src/main/java/org/onap/policy/models/pdp/persistence/concepts/JpaPdpSubGroup.java @@ -28,7 +28,6 @@ import java.util.LinkedHashMap; import java.util.List; import java.util.Map; import java.util.Map.Entry; - import javax.persistence.CollectionTable; import javax.persistence.Column; import javax.persistence.ElementCollection; @@ -39,11 +38,9 @@ import javax.persistence.InheritanceType; import javax.persistence.JoinColumn; import javax.persistence.OneToMany; import javax.persistence.Table; - import lombok.Data; import lombok.EqualsAndHashCode; import lombok.NonNull; - import org.onap.policy.common.utils.validation.Assertions; import org.onap.policy.common.utils.validation.ParameterValidationUtils; import org.onap.policy.models.base.PfAuthorative; @@ -58,8 +55,8 @@ import org.onap.policy.models.base.PfValidationResult; import org.onap.policy.models.base.PfValidationResult.ValidationResult; import org.onap.policy.models.pdp.concepts.Pdp; import org.onap.policy.models.pdp.concepts.PdpSubGroup; -import org.onap.policy.models.pdp.concepts.ToscaPolicyIdentifier; -import org.onap.policy.models.pdp.concepts.ToscaPolicyTypeIdentifier; +import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicyIdentifier; +import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicyTypeIdentifier; /** * Class to represent a PDP subgroup in the database. |