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=refs%2Fchanges%2F37%2F133237%2F1;hp=ebb53e177965e82fd726680ccab9df6678ea92c1;hpb=66e8e039cdfe540c065c34d6a21412f1bf5305f2;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 ebb53e177..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,9 +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 + } }