X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=models-tosca%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Fpolicy%2Fmodels%2Ftosca%2Fauthorative%2Fconcepts%2FToscaTopologyTemplate.java;h=45b4b2076203855b9370bc88418e7912a64339fc;hb=80311ac0dedb0868d3837029c6e4b5fcb984efb2;hp=74ebf07e0bd7aa9e6494e22a88ace194b73d6b50;hpb=10c11e142feb1d040612fed695aaf76d007294da;p=policy%2Fmodels.git diff --git a/models-tosca/src/main/java/org/onap/policy/models/tosca/authorative/concepts/ToscaTopologyTemplate.java b/models-tosca/src/main/java/org/onap/policy/models/tosca/authorative/concepts/ToscaTopologyTemplate.java index 74ebf07e0..45b4b2076 100644 --- a/models-tosca/src/main/java/org/onap/policy/models/tosca/authorative/concepts/ToscaTopologyTemplate.java +++ b/models-tosca/src/main/java/org/onap/policy/models/tosca/authorative/concepts/ToscaTopologyTemplate.java @@ -3,6 +3,7 @@ * ONAP Policy Model * ================================================================================ * Copyright (C) 2019 AT&T Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2020-2021 Nordix Foundation. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -22,9 +23,14 @@ package org.onap.policy.models.tosca.authorative.concepts; +import com.google.gson.annotations.SerializedName; +import java.util.ArrayList; +import java.util.LinkedHashMap; import java.util.List; import java.util.Map; import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.NonNull; /** * Class to represent TOSCA topology template matching input/output from/to client. @@ -32,13 +38,33 @@ import lombok.Data; * @author Chenfei Gao (cgao@research.att.com) */ @Data +@NoArgsConstructor public class ToscaTopologyTemplate { - private String description; + private Map inputs; + + @SerializedName("node_templates") + private Map nodeTemplates; + private List> policies; public Map getPoliciesAsMap() { return ToscaEntity.getEntityListMapAsMap(policies); } + + /** + * Copy constructor. + * + * @param copyObject the obejct to copy from. + */ + public ToscaTopologyTemplate(@NonNull ToscaTopologyTemplate copyObject) { + this.description = copyObject.description; + + // @formatter:off + this.inputs = (copyObject.inputs != null ? new LinkedHashMap<>(copyObject.inputs) : null); + this.nodeTemplates = (copyObject.nodeTemplates != null ? new LinkedHashMap<>(copyObject.nodeTemplates) : null); + this.policies = (copyObject.policies != null ? new ArrayList<>(copyObject.policies) : null); + // @formatter:on + } }