summaryrefslogtreecommitdiffstats
path: root/models-tosca/src/main/java
diff options
context:
space:
mode:
authorJim Hahn <jrh3@att.com>2019-08-26 12:20:27 -0400
committerJim Hahn <jrh3@att.com>2019-08-27 11:49:30 -0400
commitfd809717ca774dfabeddd3984fbbbbdfd029601e (patch)
treea4070c2529b0be1899ece44e3687b72ed32505a4 /models-tosca/src/main/java
parenta930b0105c2e45a657427cfcb41fc0330d0c2e99 (diff)
Replace copyTo methods with copy constructors
Deleted the copyTo() method from PfConcepts and replaced uses with deep-copy constructors. Also added mapMap() and makeCopy() methods to PfUtils to facilitate. Change-Id: Id6391bb806ef0dfab6c1089278bf2b514c7e303e Issue-ID: POLICY-1600 Signed-off-by: Jim Hahn <jrh3@att.com>
Diffstat (limited to 'models-tosca/src/main/java')
-rw-r--r--models-tosca/src/main/java/org/onap/policy/models/tosca/simple/concepts/JpaToscaDataType.java38
-rw-r--r--models-tosca/src/main/java/org/onap/policy/models/tosca/simple/concepts/JpaToscaDataTypes.java4
-rw-r--r--models-tosca/src/main/java/org/onap/policy/models/tosca/simple/concepts/JpaToscaEntityType.java32
-rw-r--r--models-tosca/src/main/java/org/onap/policy/models/tosca/simple/concepts/JpaToscaEventFilter.java22
-rw-r--r--models-tosca/src/main/java/org/onap/policy/models/tosca/simple/concepts/JpaToscaModel.java17
-rw-r--r--models-tosca/src/main/java/org/onap/policy/models/tosca/simple/concepts/JpaToscaPolicies.java4
-rw-r--r--models-tosca/src/main/java/org/onap/policy/models/tosca/simple/concepts/JpaToscaPolicy.java37
-rw-r--r--models-tosca/src/main/java/org/onap/policy/models/tosca/simple/concepts/JpaToscaPolicyType.java49
-rw-r--r--models-tosca/src/main/java/org/onap/policy/models/tosca/simple/concepts/JpaToscaPolicyTypes.java4
-rw-r--r--models-tosca/src/main/java/org/onap/policy/models/tosca/simple/concepts/JpaToscaProperty.java40
-rw-r--r--models-tosca/src/main/java/org/onap/policy/models/tosca/simple/concepts/JpaToscaServiceTemplate.java27
-rw-r--r--models-tosca/src/main/java/org/onap/policy/models/tosca/simple/concepts/JpaToscaTimeInterval.java21
-rw-r--r--models-tosca/src/main/java/org/onap/policy/models/tosca/simple/concepts/JpaToscaTopologyTemplate.java21
-rw-r--r--models-tosca/src/main/java/org/onap/policy/models/tosca/simple/concepts/JpaToscaTrigger.java37
14 files changed, 63 insertions, 290 deletions
diff --git a/models-tosca/src/main/java/org/onap/policy/models/tosca/simple/concepts/JpaToscaDataType.java b/models-tosca/src/main/java/org/onap/policy/models/tosca/simple/concepts/JpaToscaDataType.java
index 7e2b641a2..e9590072e 100644
--- a/models-tosca/src/main/java/org/onap/policy/models/tosca/simple/concepts/JpaToscaDataType.java
+++ b/models-tosca/src/main/java/org/onap/policy/models/tosca/simple/concepts/JpaToscaDataType.java
@@ -28,18 +28,14 @@ import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
-
import javax.persistence.ElementCollection;
import javax.persistence.Entity;
import javax.persistence.Inheritance;
import javax.persistence.InheritanceType;
import javax.persistence.Table;
-
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NonNull;
-
-import org.onap.policy.common.utils.validation.Assertions;
import org.onap.policy.models.base.PfAuthorative;
import org.onap.policy.models.base.PfConcept;
import org.onap.policy.models.base.PfConceptKey;
@@ -96,6 +92,9 @@ public class JpaToscaDataType extends JpaToscaEntityType<ToscaDataType> implemen
*/
public JpaToscaDataType(final JpaToscaDataType copyConcept) {
super(copyConcept);
+ // Constraints are immutable
+ this.constraints = (copyConcept.constraints != null ? new ArrayList<>(copyConcept.constraints) : null);
+ this.properties = PfUtils.mapMap(copyConcept.properties, JpaToscaProperty::new);
}
/**
@@ -264,35 +263,4 @@ public class JpaToscaDataType extends JpaToscaEntityType<ToscaDataType> implemen
return 0;
}
-
- @Override
- public PfConcept copyTo(@NonNull PfConcept target) {
- final Object copyObject = target;
- Assertions.instanceOf(copyObject, PfConcept.class);
-
- final JpaToscaDataType copy = ((JpaToscaDataType) copyObject);
- super.copyTo(target);
-
- if (constraints == null) {
- copy.setConstraints(null);
- } else {
- final List<JpaToscaConstraint> newConstraints = new ArrayList<>();
- for (final JpaToscaConstraint constraint : constraints) {
- newConstraints.add(constraint); // Constraints are immutable
- }
- copy.setConstraints(newConstraints);
- }
-
- if (properties == null) {
- copy.setProperties(null);
- } else {
- final Map<String, JpaToscaProperty> newProperties = new LinkedHashMap<>();
- for (final Entry<String, JpaToscaProperty> propertyEntry : properties.entrySet()) {
- newProperties.put(propertyEntry.getKey(), new JpaToscaProperty(propertyEntry.getValue()));
- }
- copy.setProperties(newProperties);
- }
-
- return copy;
- }
}
diff --git a/models-tosca/src/main/java/org/onap/policy/models/tosca/simple/concepts/JpaToscaDataTypes.java b/models-tosca/src/main/java/org/onap/policy/models/tosca/simple/concepts/JpaToscaDataTypes.java
index 67d4ecf4f..8908ba7bf 100644
--- a/models-tosca/src/main/java/org/onap/policy/models/tosca/simple/concepts/JpaToscaDataTypes.java
+++ b/models-tosca/src/main/java/org/onap/policy/models/tosca/simple/concepts/JpaToscaDataTypes.java
@@ -1,6 +1,7 @@
/*-
* ============LICENSE_START=======================================================
* Copyright (C) 2019 Nordix Foundation.
+ * Modifications Copyright (C) 2019 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.
@@ -31,7 +32,7 @@ import javax.persistence.Table;
import lombok.Data;
import lombok.EqualsAndHashCode;
-
+import lombok.ToString;
import org.onap.policy.models.base.PfConceptContainer;
import org.onap.policy.models.base.PfConceptKey;
import org.onap.policy.models.tosca.authorative.concepts.ToscaDataType;
@@ -45,6 +46,7 @@ import org.onap.policy.models.tosca.authorative.concepts.ToscaDataType;
@Table(name = "ToscaDataTypes")
@Inheritance(strategy = InheritanceType.TABLE_PER_CLASS)
@Data
+@ToString(callSuper = true)
@EqualsAndHashCode(callSuper = true)
public class JpaToscaDataTypes extends PfConceptContainer<JpaToscaDataType, ToscaDataType> {
private static final long serialVersionUID = 2941102271022190348L;
diff --git a/models-tosca/src/main/java/org/onap/policy/models/tosca/simple/concepts/JpaToscaEntityType.java b/models-tosca/src/main/java/org/onap/policy/models/tosca/simple/concepts/JpaToscaEntityType.java
index bade7a227..506add346 100644
--- a/models-tosca/src/main/java/org/onap/policy/models/tosca/simple/concepts/JpaToscaEntityType.java
+++ b/models-tosca/src/main/java/org/onap/policy/models/tosca/simple/concepts/JpaToscaEntityType.java
@@ -1,6 +1,7 @@
/*-
* ============LICENSE_START=======================================================
* Copyright (C) 2019 Nordix Foundation.
+ * Modifications Copyright (C) 2019 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.
@@ -25,20 +26,16 @@ import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.TreeMap;
-
import javax.persistence.AttributeOverride;
import javax.persistence.AttributeOverrides;
import javax.persistence.Column;
import javax.persistence.ElementCollection;
import javax.persistence.EmbeddedId;
import javax.persistence.MappedSuperclass;
-
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NonNull;
-
import org.apache.commons.lang3.ObjectUtils;
-import org.onap.policy.common.utils.validation.Assertions;
import org.onap.policy.common.utils.validation.ParameterValidationUtils;
import org.onap.policy.models.base.PfAuthorative;
import org.onap.policy.models.base.PfConcept;
@@ -104,6 +101,10 @@ public class JpaToscaEntityType<T extends ToscaEntity> extends PfConcept impleme
*/
public JpaToscaEntityType(final JpaToscaEntityType<T> copyConcept) {
super(copyConcept);
+ this.key = new PfConceptKey(copyConcept.key);
+ this.derivedFrom = (copyConcept.derivedFrom != null ? new PfConceptKey(copyConcept.derivedFrom) : null);
+ this.metadata = (copyConcept.metadata != null ? new TreeMap<>(copyConcept.metadata) : null);
+ this.description = copyConcept.description;
}
/**
@@ -269,27 +270,4 @@ public class JpaToscaEntityType<T extends ToscaEntity> extends PfConcept impleme
return ObjectUtils.compare(description, other.description);
}
-
- @Override
- public PfConcept copyTo(@NonNull PfConcept target) {
- final Object copyObject = target;
- Assertions.instanceOf(copyObject, PfConcept.class);
-
- @SuppressWarnings("unchecked")
- final JpaToscaEntityType<T> copy = ((JpaToscaEntityType<T>) copyObject);
- copy.setKey(new PfConceptKey(key));
- copy.setDerivedFrom(derivedFrom != null ? new PfConceptKey(derivedFrom) : null);
-
- if (metadata != null) {
- final Map<String, String> newMatadata = new TreeMap<>();
- for (final Entry<String, String> metadataEntry : metadata.entrySet()) {
- newMatadata.put(metadataEntry.getKey(), metadataEntry.getValue());
- }
- copy.setMetadata(newMatadata);
- }
-
- copy.setDescription(description);
-
- return copy;
- }
}
diff --git a/models-tosca/src/main/java/org/onap/policy/models/tosca/simple/concepts/JpaToscaEventFilter.java b/models-tosca/src/main/java/org/onap/policy/models/tosca/simple/concepts/JpaToscaEventFilter.java
index 40727c9c0..716813799 100644
--- a/models-tosca/src/main/java/org/onap/policy/models/tosca/simple/concepts/JpaToscaEventFilter.java
+++ b/models-tosca/src/main/java/org/onap/policy/models/tosca/simple/concepts/JpaToscaEventFilter.java
@@ -24,20 +24,16 @@
package org.onap.policy.models.tosca.simple.concepts;
import java.util.List;
-
import javax.persistence.Column;
import javax.persistence.EmbeddedId;
import javax.persistence.Entity;
import javax.persistence.Inheritance;
import javax.persistence.InheritanceType;
import javax.persistence.Table;
-
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NonNull;
-
import org.apache.commons.lang3.ObjectUtils;
-import org.onap.policy.common.utils.validation.Assertions;
import org.onap.policy.models.base.PfConcept;
import org.onap.policy.models.base.PfConceptKey;
import org.onap.policy.models.base.PfKey;
@@ -105,6 +101,10 @@ public class JpaToscaEventFilter extends PfConcept {
*/
public JpaToscaEventFilter(final JpaToscaEventFilter copyConcept) {
super(copyConcept);
+ this.key = new PfReferenceKey(copyConcept.key);
+ this.node = new PfConceptKey(copyConcept.node);
+ this.requirement = copyConcept.requirement;
+ this.capability = copyConcept.capability;
}
@Override
@@ -180,18 +180,4 @@ public class JpaToscaEventFilter extends PfConcept {
return ObjectUtils.compare(capability, other.capability);
}
-
- @Override
- public PfConcept copyTo(@NonNull final PfConcept target) {
- final Object copyObject = target;
- Assertions.instanceOf(copyObject, JpaToscaEventFilter.class);
-
- final JpaToscaEventFilter copy = ((JpaToscaEventFilter) copyObject);
- copy.setKey(new PfReferenceKey(key));
- copy.setNode(new PfConceptKey(node));
- copy.setRequirement(requirement);
- copy.setCapability(capability);
-
- return copy;
- }
} \ No newline at end of file
diff --git a/models-tosca/src/main/java/org/onap/policy/models/tosca/simple/concepts/JpaToscaModel.java b/models-tosca/src/main/java/org/onap/policy/models/tosca/simple/concepts/JpaToscaModel.java
index 5e4bd4f5c..cc9b1bc96 100644
--- a/models-tosca/src/main/java/org/onap/policy/models/tosca/simple/concepts/JpaToscaModel.java
+++ b/models-tosca/src/main/java/org/onap/policy/models/tosca/simple/concepts/JpaToscaModel.java
@@ -1,6 +1,7 @@
/*-
* ============LICENSE_START=======================================================
* Copyright (C) 2019 Nordix Foundation.
+ * Modifications Copyright (C) 2019 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.
@@ -21,7 +22,6 @@
package org.onap.policy.models.tosca.simple.concepts;
import java.util.List;
-
import javax.persistence.CascadeType;
import javax.persistence.Entity;
import javax.persistence.FetchType;
@@ -29,12 +29,9 @@ import javax.persistence.Inheritance;
import javax.persistence.InheritanceType;
import javax.persistence.OneToOne;
import javax.persistence.Table;
-
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NonNull;
-
-import org.onap.policy.common.utils.validation.Assertions;
import org.onap.policy.models.base.PfConcept;
import org.onap.policy.models.base.PfConceptKey;
import org.onap.policy.models.base.PfKey;
@@ -97,6 +94,7 @@ public class JpaToscaModel extends PfModel {
*/
public JpaToscaModel(@NonNull final JpaToscaModel copyConcept) {
super(copyConcept);
+ this.serviceTemplates = new JpaToscaServiceTemplates(copyConcept.serviceTemplates);
}
@Override
@@ -147,15 +145,4 @@ public class JpaToscaModel extends PfModel {
return serviceTemplates.compareTo(other.serviceTemplates);
}
-
- @Override
- public PfConcept copyTo(@NonNull final PfConcept targetObject) {
- Assertions.instanceOf(targetObject, JpaToscaModel.class);
-
- final JpaToscaModel copy = ((JpaToscaModel) targetObject);
- super.copyTo(targetObject);
- copy.setServiceTemplates(new JpaToscaServiceTemplates(serviceTemplates));
-
- return copy;
- }
}
diff --git a/models-tosca/src/main/java/org/onap/policy/models/tosca/simple/concepts/JpaToscaPolicies.java b/models-tosca/src/main/java/org/onap/policy/models/tosca/simple/concepts/JpaToscaPolicies.java
index 012d8a26f..25e7dc071 100644
--- a/models-tosca/src/main/java/org/onap/policy/models/tosca/simple/concepts/JpaToscaPolicies.java
+++ b/models-tosca/src/main/java/org/onap/policy/models/tosca/simple/concepts/JpaToscaPolicies.java
@@ -1,6 +1,7 @@
/*-
* ============LICENSE_START=======================================================
* Copyright (C) 2019 Nordix Foundation.
+ * Modifications Copyright (C) 2019 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.
@@ -31,7 +32,7 @@ import javax.persistence.Table;
import lombok.Data;
import lombok.EqualsAndHashCode;
-
+import lombok.ToString;
import org.onap.policy.models.base.PfAuthorative;
import org.onap.policy.models.base.PfConceptContainer;
import org.onap.policy.models.base.PfConceptKey;
@@ -46,6 +47,7 @@ import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicy;
@Table(name = "ToscaPolicies")
@Inheritance(strategy = InheritanceType.TABLE_PER_CLASS)
@Data
+@ToString(callSuper = true)
@EqualsAndHashCode(callSuper = true)
public class JpaToscaPolicies extends PfConceptContainer<JpaToscaPolicy, ToscaPolicy>
implements PfAuthorative<List<Map<String, ToscaPolicy>>> {
diff --git a/models-tosca/src/main/java/org/onap/policy/models/tosca/simple/concepts/JpaToscaPolicy.java b/models-tosca/src/main/java/org/onap/policy/models/tosca/simple/concepts/JpaToscaPolicy.java
index 7b4ffd164..36acec018 100644
--- a/models-tosca/src/main/java/org/onap/policy/models/tosca/simple/concepts/JpaToscaPolicy.java
+++ b/models-tosca/src/main/java/org/onap/policy/models/tosca/simple/concepts/JpaToscaPolicy.java
@@ -23,12 +23,10 @@
package org.onap.policy.models.tosca.simple.concepts;
-import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
-
import javax.persistence.AttributeOverride;
import javax.persistence.AttributeOverrides;
import javax.persistence.Column;
@@ -39,14 +37,11 @@ import javax.persistence.InheritanceType;
import javax.persistence.Lob;
import javax.persistence.Table;
import javax.ws.rs.core.Response;
-
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NonNull;
-
import org.onap.policy.common.utils.coder.CoderException;
import org.onap.policy.common.utils.coder.StandardCoder;
-import org.onap.policy.common.utils.validation.Assertions;
import org.onap.policy.common.utils.validation.ParameterValidationUtils;
import org.onap.policy.models.base.PfAuthorative;
import org.onap.policy.models.base.PfConcept;
@@ -129,6 +124,9 @@ public class JpaToscaPolicy extends JpaToscaEntityType<ToscaPolicy> implements P
*/
public JpaToscaPolicy(@NonNull final JpaToscaPolicy copyConcept) {
super(copyConcept);
+ this.type = new PfConceptKey(copyConcept.type);
+ this.properties = (copyConcept.properties != null ? new LinkedHashMap<>(copyConcept.properties) : null);
+ this.targets = PfUtils.mapList(copyConcept.targets, PfConceptKey::new);
}
/**
@@ -350,33 +348,4 @@ public class JpaToscaPolicy extends JpaToscaEntityType<ToscaPolicy> implements P
return PfUtils.compareObjects(targets, other.targets);
}
-
- @Override
- public PfConcept copyTo(@NonNull PfConcept target) {
- final Object copyObject = target;
- Assertions.instanceOf(copyObject, PfConcept.class);
-
- final JpaToscaPolicy copy = ((JpaToscaPolicy) copyObject);
- super.copyTo(target);
-
- copy.setType(new PfConceptKey(type));
-
- if (properties == null) {
- copy.setProperties(null);
- } else {
- copy.setProperties(properties);
- }
-
- if (targets == null) {
- copy.setTargets(null);
- } else {
- final List<PfConceptKey> newTargets = new ArrayList<>();
- for (final PfConceptKey oldTarget : targets) {
- newTargets.add(new PfConceptKey(oldTarget));
- }
- copy.setTargets(newTargets);
- }
-
- return copy;
- }
}
diff --git a/models-tosca/src/main/java/org/onap/policy/models/tosca/simple/concepts/JpaToscaPolicyType.java b/models-tosca/src/main/java/org/onap/policy/models/tosca/simple/concepts/JpaToscaPolicyType.java
index d7560c46e..37e92b58a 100644
--- a/models-tosca/src/main/java/org/onap/policy/models/tosca/simple/concepts/JpaToscaPolicyType.java
+++ b/models-tosca/src/main/java/org/onap/policy/models/tosca/simple/concepts/JpaToscaPolicyType.java
@@ -23,24 +23,19 @@
package org.onap.policy.models.tosca.simple.concepts;
-import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
-
import javax.persistence.ElementCollection;
import javax.persistence.Entity;
import javax.persistence.Inheritance;
import javax.persistence.InheritanceType;
import javax.persistence.Lob;
import javax.persistence.Table;
-
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NonNull;
-
-import org.onap.policy.common.utils.validation.Assertions;
import org.onap.policy.models.base.PfAuthorative;
import org.onap.policy.models.base.PfConcept;
import org.onap.policy.models.base.PfConceptKey;
@@ -101,6 +96,9 @@ public class JpaToscaPolicyType extends JpaToscaEntityType<ToscaPolicyType> impl
*/
public JpaToscaPolicyType(final JpaToscaPolicyType copyConcept) {
super(copyConcept);
+ this.properties = PfUtils.mapMap(copyConcept.properties, JpaToscaProperty::new);
+ this.targets = PfUtils.mapList(copyConcept.targets, PfConceptKey::new);
+ this.triggers = PfUtils.mapList(copyConcept.triggers, JpaToscaTrigger::new);
}
/**
@@ -300,45 +298,4 @@ public class JpaToscaPolicyType extends JpaToscaEntityType<ToscaPolicyType> impl
return PfUtils.compareObjects(triggers, other.triggers);
}
-
- @Override
- public PfConcept copyTo(@NonNull PfConcept target) {
- final Object copyObject = target;
- Assertions.instanceOf(copyObject, PfConcept.class);
-
- final JpaToscaPolicyType copy = ((JpaToscaPolicyType) copyObject);
- super.copyTo(target);
-
- if (properties == null) {
- copy.setProperties(null);
- } else {
- final Map<String, JpaToscaProperty> newProperties = new LinkedHashMap<>();
- for (final Entry<String, JpaToscaProperty> propertyEntry : properties.entrySet()) {
- newProperties.put(propertyEntry.getKey(), new JpaToscaProperty(propertyEntry.getValue()));
- }
- copy.setProperties(newProperties);
- }
-
- if (targets == null) {
- copy.setTargets(null);
- } else {
- final List<PfConceptKey> newTargets = new ArrayList<>();
- for (final PfConceptKey oldTarget : targets) {
- newTargets.add(new PfConceptKey(oldTarget));
- }
- copy.setTargets(newTargets);
- }
-
- if (triggers == null) {
- copy.setTargets(null);
- } else {
- final List<JpaToscaTrigger> newTriggers = new ArrayList<>();
- for (final JpaToscaTrigger trigger : triggers) {
- newTriggers.add(new JpaToscaTrigger(trigger));
- }
- copy.setTriggers(newTriggers);
- }
-
- return copy;
- }
}
diff --git a/models-tosca/src/main/java/org/onap/policy/models/tosca/simple/concepts/JpaToscaPolicyTypes.java b/models-tosca/src/main/java/org/onap/policy/models/tosca/simple/concepts/JpaToscaPolicyTypes.java
index af8a21a60..5a54a33a7 100644
--- a/models-tosca/src/main/java/org/onap/policy/models/tosca/simple/concepts/JpaToscaPolicyTypes.java
+++ b/models-tosca/src/main/java/org/onap/policy/models/tosca/simple/concepts/JpaToscaPolicyTypes.java
@@ -1,6 +1,7 @@
/*-
* ============LICENSE_START=======================================================
* Copyright (C) 2019 Nordix Foundation.
+ * Modifications Copyright (C) 2019 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.
@@ -31,7 +32,7 @@ import javax.persistence.Table;
import lombok.Data;
import lombok.EqualsAndHashCode;
-
+import lombok.ToString;
import org.onap.policy.models.base.PfConceptContainer;
import org.onap.policy.models.base.PfConceptKey;
import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicyType;
@@ -45,6 +46,7 @@ import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicyType;
@Table(name = "ToscaPolicyTypes")
@Inheritance(strategy = InheritanceType.TABLE_PER_CLASS)
@Data
+@ToString(callSuper = true)
@EqualsAndHashCode(callSuper = true)
public class JpaToscaPolicyTypes extends PfConceptContainer<JpaToscaPolicyType, ToscaPolicyType> {
private static final long serialVersionUID = -4157979965271220098L;
diff --git a/models-tosca/src/main/java/org/onap/policy/models/tosca/simple/concepts/JpaToscaProperty.java b/models-tosca/src/main/java/org/onap/policy/models/tosca/simple/concepts/JpaToscaProperty.java
index 10e8b5d04..93da035a5 100644
--- a/models-tosca/src/main/java/org/onap/policy/models/tosca/simple/concepts/JpaToscaProperty.java
+++ b/models-tosca/src/main/java/org/onap/policy/models/tosca/simple/concepts/JpaToscaProperty.java
@@ -25,7 +25,6 @@ package org.onap.policy.models.tosca.simple.concepts;
import java.util.ArrayList;
import java.util.List;
-
import javax.persistence.Column;
import javax.persistence.ElementCollection;
import javax.persistence.EmbeddedId;
@@ -33,13 +32,10 @@ import javax.persistence.Entity;
import javax.persistence.Inheritance;
import javax.persistence.InheritanceType;
import javax.persistence.Table;
-
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NonNull;
-
import org.apache.commons.lang3.ObjectUtils;
-import org.onap.policy.common.utils.validation.Assertions;
import org.onap.policy.models.base.PfAuthorative;
import org.onap.policy.models.base.PfConcept;
import org.onap.policy.models.base.PfConceptKey;
@@ -125,6 +121,15 @@ public class JpaToscaProperty extends PfConcept implements PfAuthorative<ToscaPr
*/
public JpaToscaProperty(final JpaToscaProperty copyConcept) {
super(copyConcept);
+ this.key = new PfReferenceKey(copyConcept.key);
+ this.type = new PfConceptKey(copyConcept.type);
+ this.description = copyConcept.description;
+ this.required = copyConcept.required;
+ this.defaultValue = copyConcept.defaultValue;
+ this.status = copyConcept.status;
+ // Constraints are immutable
+ this.constraints = (copyConcept.constraints != null ? new ArrayList<>(copyConcept.constraints) : null);
+ this.entrySchema = (copyConcept.entrySchema != null ? new JpaToscaEntrySchema(copyConcept.entrySchema) : null);
}
/**
@@ -334,31 +339,4 @@ public class JpaToscaProperty extends PfConcept implements PfAuthorative<ToscaPr
return entrySchema.compareTo(other.entrySchema);
}
-
- @Override
- public PfConcept copyTo(@NonNull final PfConcept target) {
- Assertions.instanceOf(target, JpaToscaProperty.class);
-
- final JpaToscaProperty copy = ((JpaToscaProperty) target);
- copy.setKey(new PfReferenceKey(key));
- copy.setType(new PfConceptKey(type));
- copy.setDescription(description);
- copy.setRequired(required);
- copy.setDefaultValue(defaultValue);
- copy.setStatus(status);
-
- if (constraints == null) {
- copy.setConstraints(null);
- } else {
- final List<JpaToscaConstraint> newConstraints = new ArrayList<>();
- for (final JpaToscaConstraint constraint : constraints) {
- newConstraints.add(constraint); // Constraints are immutable
- }
- copy.setConstraints(newConstraints);
- }
-
- copy.setEntrySchema(entrySchema != null ? new JpaToscaEntrySchema(entrySchema) : null);
-
- return copy;
- }
}
diff --git a/models-tosca/src/main/java/org/onap/policy/models/tosca/simple/concepts/JpaToscaServiceTemplate.java b/models-tosca/src/main/java/org/onap/policy/models/tosca/simple/concepts/JpaToscaServiceTemplate.java
index 904db849c..83c9dc0cf 100644
--- a/models-tosca/src/main/java/org/onap/policy/models/tosca/simple/concepts/JpaToscaServiceTemplate.java
+++ b/models-tosca/src/main/java/org/onap/policy/models/tosca/simple/concepts/JpaToscaServiceTemplate.java
@@ -1,6 +1,7 @@
/*-
* ============LICENSE_START=======================================================
* Copyright (C) 2019 Nordix Foundation.
+ * Modifications Copyright (C) 2019 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.
@@ -21,9 +22,7 @@
package org.onap.policy.models.tosca.simple.concepts;
import com.google.gson.annotations.SerializedName;
-
import java.util.List;
-
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
@@ -32,13 +31,10 @@ import javax.persistence.Inheritance;
import javax.persistence.InheritanceType;
import javax.persistence.OneToOne;
import javax.persistence.Table;
-
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NonNull;
-
import org.apache.commons.lang3.ObjectUtils;
-import org.onap.policy.common.utils.validation.Assertions;
import org.onap.policy.common.utils.validation.ParameterValidationUtils;
import org.onap.policy.models.base.PfAuthorative;
import org.onap.policy.models.base.PfConcept;
@@ -119,6 +115,11 @@ public class JpaToscaServiceTemplate extends JpaToscaEntityType<ToscaServiceTemp
*/
public JpaToscaServiceTemplate(final JpaToscaServiceTemplate copyConcept) {
super(copyConcept);
+ this.toscaDefinitionsVersion = copyConcept.toscaDefinitionsVersion;
+ this.dataTypes = (copyConcept.dataTypes != null ? new JpaToscaDataTypes(copyConcept.dataTypes) : null);
+ this.policyTypes = (copyConcept.policyTypes != null ? new JpaToscaPolicyTypes(copyConcept.policyTypes) : null);
+ this.topologyTemplate = (copyConcept.topologyTemplate != null
+ ? new JpaToscaTopologyTemplate(copyConcept.topologyTemplate) : null);
}
/**
@@ -275,20 +276,4 @@ public class JpaToscaServiceTemplate extends JpaToscaEntityType<ToscaServiceTemp
return ObjectUtils.compare(topologyTemplate, other.topologyTemplate);
}
-
- @Override
- public PfConcept copyTo(@NonNull PfConcept target) {
- final Object copyObject = target;
- Assertions.instanceOf(copyObject, PfConcept.class);
-
- final JpaToscaServiceTemplate copy = ((JpaToscaServiceTemplate) copyObject);
- super.copyTo(target);
- copy.setToscaDefinitionsVersion(toscaDefinitionsVersion);
-
- copy.setDataTypes(dataTypes != null ? new JpaToscaDataTypes(dataTypes) : null);
- copy.setPolicyTypes(policyTypes != null ? new JpaToscaPolicyTypes(policyTypes) : null);
- copy.setTopologyTemplate(topologyTemplate != null ? new JpaToscaTopologyTemplate(topologyTemplate) : null);
-
- return copy;
- }
}
diff --git a/models-tosca/src/main/java/org/onap/policy/models/tosca/simple/concepts/JpaToscaTimeInterval.java b/models-tosca/src/main/java/org/onap/policy/models/tosca/simple/concepts/JpaToscaTimeInterval.java
index a62affddd..5e5d01460 100644
--- a/models-tosca/src/main/java/org/onap/policy/models/tosca/simple/concepts/JpaToscaTimeInterval.java
+++ b/models-tosca/src/main/java/org/onap/policy/models/tosca/simple/concepts/JpaToscaTimeInterval.java
@@ -24,21 +24,16 @@
package org.onap.policy.models.tosca.simple.concepts;
import com.google.gson.annotations.SerializedName;
-
import java.util.Date;
import java.util.List;
-
import javax.persistence.EmbeddedId;
import javax.persistence.Entity;
import javax.persistence.Inheritance;
import javax.persistence.InheritanceType;
import javax.persistence.Table;
-
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NonNull;
-
-import org.onap.policy.common.utils.validation.Assertions;
import org.onap.policy.models.base.PfConcept;
import org.onap.policy.models.base.PfKey;
import org.onap.policy.models.base.PfReferenceKey;
@@ -106,6 +101,9 @@ public class JpaToscaTimeInterval extends PfConcept {
*/
public JpaToscaTimeInterval(final JpaToscaTimeInterval copyConcept) {
super(copyConcept);
+ this.key = new PfReferenceKey(copyConcept.key);
+ this.startTime = copyConcept.startTime;
+ this.endTime = copyConcept.endTime;
}
@Override
@@ -172,17 +170,4 @@ public class JpaToscaTimeInterval extends PfConcept {
return PfUtils.compareObjects(endTime, other.endTime);
}
-
- @Override
- public PfConcept copyTo(@NonNull final PfConcept target) {
- final Object copyObject = target;
- Assertions.instanceOf(copyObject, JpaToscaTimeInterval.class);
-
- final JpaToscaTimeInterval copy = ((JpaToscaTimeInterval) copyObject);
- copy.setKey(new PfReferenceKey(key));
- copy.setStartTime(startTime);
- copy.setEndTime(endTime);
-
- return copy;
- }
}
diff --git a/models-tosca/src/main/java/org/onap/policy/models/tosca/simple/concepts/JpaToscaTopologyTemplate.java b/models-tosca/src/main/java/org/onap/policy/models/tosca/simple/concepts/JpaToscaTopologyTemplate.java
index bafcb847c..5fd1a498c 100644
--- a/models-tosca/src/main/java/org/onap/policy/models/tosca/simple/concepts/JpaToscaTopologyTemplate.java
+++ b/models-tosca/src/main/java/org/onap/policy/models/tosca/simple/concepts/JpaToscaTopologyTemplate.java
@@ -1,6 +1,7 @@
/*-
* ============LICENSE_START=======================================================
* Copyright (C) 2019 Nordix Foundation.
+ * Modifications Copyright (C) 2019 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.
@@ -21,7 +22,6 @@
package org.onap.policy.models.tosca.simple.concepts;
import java.util.List;
-
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.EmbeddedId;
@@ -31,13 +31,10 @@ import javax.persistence.Inheritance;
import javax.persistence.InheritanceType;
import javax.persistence.OneToOne;
import javax.persistence.Table;
-
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NonNull;
-
import org.apache.commons.lang3.ObjectUtils;
-import org.onap.policy.common.utils.validation.Assertions;
import org.onap.policy.models.base.PfAuthorative;
import org.onap.policy.models.base.PfConcept;
import org.onap.policy.models.base.PfKey;
@@ -97,6 +94,9 @@ public class JpaToscaTopologyTemplate extends PfConcept implements PfAuthorative
*/
public JpaToscaTopologyTemplate(final JpaToscaTopologyTemplate copyConcept) {
super(copyConcept);
+ this.key = new PfReferenceKey(copyConcept.key);
+ this.description = copyConcept.description;
+ this.policies = (copyConcept.policies != null ? new JpaToscaPolicies(copyConcept.policies) : null);
}
/**
@@ -200,17 +200,4 @@ public class JpaToscaTopologyTemplate extends PfConcept implements PfAuthorative
return ObjectUtils.compare(policies, other.policies);
}
-
- @Override
- public PfConcept copyTo(@NonNull PfConcept target) {
- final Object copyObject = target;
- Assertions.instanceOf(copyObject, PfConcept.class);
-
- final JpaToscaTopologyTemplate copy = ((JpaToscaTopologyTemplate) copyObject);
- copy.setKey(new PfReferenceKey(key));
- copy.setDescription(description);
- copy.setPolicies(policies != null ? new JpaToscaPolicies(policies) : null);
-
- return copy;
- }
}
diff --git a/models-tosca/src/main/java/org/onap/policy/models/tosca/simple/concepts/JpaToscaTrigger.java b/models-tosca/src/main/java/org/onap/policy/models/tosca/simple/concepts/JpaToscaTrigger.java
index f46d43a93..417e83fe0 100644
--- a/models-tosca/src/main/java/org/onap/policy/models/tosca/simple/concepts/JpaToscaTrigger.java
+++ b/models-tosca/src/main/java/org/onap/policy/models/tosca/simple/concepts/JpaToscaTrigger.java
@@ -24,23 +24,18 @@
package org.onap.policy.models.tosca.simple.concepts;
import com.google.gson.annotations.SerializedName;
-
import java.time.Duration;
import java.util.List;
-
import javax.persistence.Column;
import javax.persistence.EmbeddedId;
import javax.persistence.Entity;
import javax.persistence.Inheritance;
import javax.persistence.InheritanceType;
import javax.persistence.Table;
-
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NonNull;
-
import org.apache.commons.lang3.ObjectUtils;
-import org.onap.policy.common.utils.validation.Assertions;
import org.onap.policy.common.utils.validation.ParameterValidationUtils;
import org.onap.policy.models.base.PfConcept;
import org.onap.policy.models.base.PfKey;
@@ -137,6 +132,18 @@ public class JpaToscaTrigger extends PfConcept {
*/
public JpaToscaTrigger(final JpaToscaTrigger copyConcept) {
super(copyConcept);
+ this.key = new PfReferenceKey(copyConcept.key);
+ this.description = copyConcept.description;
+ this.eventType = copyConcept.eventType;
+ this.schedule = (copyConcept.schedule != null ? new JpaToscaTimeInterval(copyConcept.schedule) : null);
+ this.targetFilter =
+ (copyConcept.targetFilter != null ? new JpaToscaEventFilter(copyConcept.targetFilter) : null);
+ this.condition = copyConcept.condition;
+ this.constraint = copyConcept.constraint;
+ this.period = copyConcept.period;
+ this.evaluations = copyConcept.evaluations;
+ this.method = copyConcept.method;
+ this.action = copyConcept.action;
}
@Override
@@ -298,24 +305,4 @@ public class JpaToscaTrigger extends PfConcept {
return ObjectUtils.compare(action, other.action);
}
-
- @Override
- public PfConcept copyTo(@NonNull final PfConcept target) {
- Assertions.instanceOf(target, JpaToscaTrigger.class);
-
- final JpaToscaTrigger copy = ((JpaToscaTrigger) target);
- copy.setKey(new PfReferenceKey(key));
- copy.setDescription(description);
- copy.setEventType(eventType);
- copy.setSchedule(schedule != null ? new JpaToscaTimeInterval(schedule) : null);
- copy.setTargetFilter(targetFilter != null ? new JpaToscaEventFilter(targetFilter) : null);
- copy.setCondition(condition);
- copy.setConstraint(constraint);
- copy.setPeriod(period);
- copy.setEvaluations(evaluations);
- copy.setMethod(method);
- copy.setAction(action);
-
- return copy;
- }
}