Remove annotations in models
[policy/models.git] / models-tosca / src / main / java / org / onap / policy / models / tosca / authorative / concepts / ToscaServiceTemplate.java
index e83d173..1914280 100644 (file)
@@ -3,7 +3,7 @@
  * ONAP Policy Model
  * ================================================================================
  * Copyright (C) 2019 AT&T Intellectual Property. All rights reserved.
- * Modifications Copyright (C) 2019-2020 Nordix Foundation.
+ * Modifications Copyright (C) 2019-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.
 package org.onap.policy.models.tosca.authorative.concepts;
 
 import com.google.gson.annotations.SerializedName;
-import io.swagger.annotations.ApiModelProperty;
+import java.util.LinkedHashMap;
 import java.util.Map;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+import lombok.NonNull;
 
 /**
  * Class to represent TOSCA service template matching input/output from/to client.
@@ -36,32 +38,26 @@ import lombok.EqualsAndHashCode;
  */
 @Data
 @EqualsAndHashCode(callSuper = true)
+@NoArgsConstructor
 public class ToscaServiceTemplate extends ToscaEntity {
-    @ApiModelProperty(name = "tosca_definitions_version")
     @SerializedName("tosca_definitions_version")
     private String toscaDefinitionsVersion;
 
-    @ApiModelProperty(name = "data_types")
     @SerializedName("data_types")
     private Map<String, ToscaDataType> dataTypes;
 
-    @ApiModelProperty(name = "capability_types")
     @SerializedName("capability_types")
     private Map<String, ToscaCapabilityType> capabilityTypes;
 
-    @ApiModelProperty(name = "node_types")
     @SerializedName("node_types")
     private Map<String, ToscaNodeType> nodeTypes;
 
-    @ApiModelProperty(name = "relationship_types")
     @SerializedName("relationship_types")
     private Map<String, ToscaRelationshipType> relationshipTypes;
 
-    @ApiModelProperty(name = "policy_types")
     @SerializedName("policy_types")
     private Map<String, ToscaPolicyType> policyTypes;
 
-    @ApiModelProperty(name = "topology_template")
     @SerializedName("topology_template")
     private ToscaTopologyTemplate toscaTopologyTemplate;
 
@@ -72,4 +68,37 @@ public class ToscaServiceTemplate extends ToscaEntity {
     public Map<ToscaEntityKey, ToscaPolicyType> getPolicyTypesAsMap() {
         return ToscaEntity.getEntityMapAsMap(policyTypes);
     }
+
+    /**
+     * Copy constructor.
+     *
+     * @param copyObject the obejct to copy from.
+     */
+    public ToscaServiceTemplate(@NonNull ToscaServiceTemplate copyObject) {
+        super(copyObject);
+
+        this.toscaDefinitionsVersion = copyObject.toscaDefinitionsVersion;
+
+        // @formatter:off
+        this.dataTypes         = (copyObject.dataTypes         != null
+                ? new LinkedHashMap<>(copyObject.dataTypes)
+                : null);
+        this.capabilityTypes   = (copyObject.capabilityTypes   != null
+                ? new LinkedHashMap<>(copyObject.capabilityTypes)
+                : null);
+        this.nodeTypes         = (copyObject.nodeTypes         != null
+                ? new LinkedHashMap<>(copyObject.nodeTypes)
+                : null);
+        this.relationshipTypes = (copyObject.relationshipTypes != null
+                ? new LinkedHashMap<>(copyObject.relationshipTypes)
+                : null);
+        this.policyTypes       = (copyObject.policyTypes       != null
+                ? new LinkedHashMap<>(copyObject.policyTypes)
+                : null);
+        // @formatter:on
+
+        this.toscaTopologyTemplate =
+                (copyObject.toscaTopologyTemplate != null ? new ToscaTopologyTemplate(copyObject.toscaTopologyTemplate)
+                        : null);
+    }
 }