X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=models-pdp%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Fpolicy%2Fmodels%2Fpdp%2Fconcepts%2FPdpStatus.java;h=c51c1b277e754fcdda85315d21c0e417763d3d06;hb=d19537308cbdce440c1faf819eb586983d0a67c9;hp=814d357328ca8ea5669b51236857e5e3c03e218a;hpb=fd6105c2b65f51e229040bd4f6587af048d222a8;p=policy%2Fmodels.git 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 814d35732..c51c1b277 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 @@ -1,7 +1,8 @@ /*- * ============LICENSE_START======================================================= - * Copyright (C) 2019 Nordix Foundation. - * Modifications Copyright (C) 2019 AT&T Intellectual Property. + * Copyright (C) 2019-2021 Nordix Foundation. + * Modifications Copyright (C) 2019, 2021 AT&T Intellectual Property. + * Modifications Copyright (C) 2023 Bell Canada. 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,14 +22,17 @@ package org.onap.policy.models.pdp.concepts; +import java.util.ArrayList; import java.util.List; +import lombok.EqualsAndHashCode; import lombok.Getter; import lombok.Setter; import lombok.ToString; +import org.onap.policy.models.base.PfUtils; 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.simple.concepts.ToscaPolicy; +import org.onap.policy.models.tosca.authorative.concepts.ToscaConceptIdentifier; /** * Class to represent the PDP_STATUS message that all the PDP's will send to PAP. @@ -37,23 +41,22 @@ import org.onap.policy.models.tosca.simple.concepts.ToscaPolicy; */ @Getter @Setter -@ToString +@ToString(callSuper = true) +@EqualsAndHashCode(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 supportedPolicyTypes; - private List policies; - private String instance; + + private List policies; private String deploymentInstanceInfo; private String properties; - private PdpStatistics statistics; private PdpResponseDetails response; /** @@ -63,4 +66,22 @@ public class PdpStatus extends PdpMessage { public PdpStatus() { super(PdpMessageType.PDP_STATUS); } + + /** + * Constructs the object, making a deep copy. + * + * @param source source from which to copy + */ + public PdpStatus(final PdpStatus source) { + super(source); + + this.pdpType = source.pdpType; + this.state = source.state; + this.healthy = source.healthy; + this.description = source.description; + this.policies = PfUtils.mapList(source.policies, ToscaConceptIdentifier::new, new ArrayList<>(0)); + this.deploymentInstanceInfo = source.deploymentInstanceInfo; + this.properties = source.properties; + this.response = (source.response == null ? null : new PdpResponseDetails(source.response)); + } }