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=5b1566d8b649b536bfeafa466d6c72d25f0af281;hb=3f8536f2a89f9e34f5705def915d7ecfe3bfa5bd;hp=eb0758e61b2f6fbbbe2d0a376ab13d5f02e89f63;hpb=66e8e039cdfe540c065c34d6a21412f1bf5305f2;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 eb0758e61..5b1566d8b 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,6 +1,6 @@ /*- * ============LICENSE_START======================================================= - * Copyright (C) 2019 Nordix Foundation. + * Copyright (C) 2019-2020 Nordix Foundation. * Modifications Copyright (C) 2019 AT&T Intellectual Property. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); @@ -21,14 +21,18 @@ package org.onap.policy.models.pdp.concepts; +import java.util.ArrayList; import java.util.List; + 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.authorative.concepts.ToscaPolicy; +import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicyIdentifier; /** * Class to represent the PDP_STATUS message that all the PDP's will send to PAP. @@ -37,20 +41,19 @@ import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicy; */ @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 supportedPolicyTypes; - private List policies; - private String instance; + + private List policies; private String deploymentInstanceInfo; private String properties; private PdpStatistics statistics; @@ -63,4 +66,23 @@ 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, ToscaPolicyIdentifier::new, new ArrayList<>(0)); + this.deploymentInstanceInfo = source.deploymentInstanceInfo; + this.properties = source.properties; + this.statistics = (source.statistics == null ? null : new PdpStatistics(source.statistics)); + this.response = (source.response == null ? null : new PdpResponseDetails(source.response)); + } }