* ============LICENSE_START=======================================================
* ONAP Policy Model
* ================================================================================
- * Copyright (C) 2020 Nordix Foundation.
+ * Copyright (C) 2020-2021 Nordix Foundation.
+ * Modifications Copyright (C) 2021 AT&T Intellectual Property. 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.
package org.onap.policy.models.tosca.authorative.concepts;
+import java.util.ArrayList;
+import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
+import lombok.NonNull;
+import lombok.ToString;
@Data
@EqualsAndHashCode(callSuper = true)
@NoArgsConstructor
-public class ToscaNodeTemplate extends ToscaEntity {
- private String type;
- private Map<String, Object> properties;
+@ToString(callSuper = true)
+public class ToscaNodeTemplate extends ToscaWithTypeAndObjectProperties {
private List<Map<String, ToscaRequirement>> requirements;
private Map<String, ToscaCapabilityAssignment> capabilities;
+
+ /**
+ * Copy constructor.
+ *
+ * @param copyObject the obejct to copy from.
+ */
+ public ToscaNodeTemplate(@NonNull ToscaNodeTemplate copyObject) {
+ super(copyObject);
+
+ this.requirements = (copyObject.requirements != null ? new ArrayList<>(copyObject.requirements) : null);
+ this.capabilities = (copyObject.capabilities != null ? new LinkedHashMap<>(copyObject.capabilities) : null);
+ }
}