From fd809717ca774dfabeddd3984fbbbbdfd029601e Mon Sep 17 00:00:00 2001 From: Jim Hahn Date: Mon, 26 Aug 2019 12:20:27 -0400 Subject: 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 --- .../tosca/simple/concepts/JpaToscaDataType.java | 38 ++--------------- .../tosca/simple/concepts/JpaToscaDataTypes.java | 4 +- .../tosca/simple/concepts/JpaToscaEntityType.java | 32 +++----------- .../tosca/simple/concepts/JpaToscaEventFilter.java | 22 ++-------- .../tosca/simple/concepts/JpaToscaModel.java | 17 +------- .../tosca/simple/concepts/JpaToscaPolicies.java | 4 +- .../tosca/simple/concepts/JpaToscaPolicy.java | 37 ++-------------- .../tosca/simple/concepts/JpaToscaPolicyType.java | 49 ++-------------------- .../tosca/simple/concepts/JpaToscaPolicyTypes.java | 4 +- .../tosca/simple/concepts/JpaToscaProperty.java | 40 ++++-------------- .../simple/concepts/JpaToscaServiceTemplate.java | 27 +++--------- .../simple/concepts/JpaToscaTimeInterval.java | 21 ++-------- .../simple/concepts/JpaToscaTopologyTemplate.java | 21 ++-------- .../tosca/simple/concepts/JpaToscaTrigger.java | 37 ++++++---------- .../simple/concepts/JpaToscaDataTypeTest.java | 12 ++---- .../simple/concepts/JpaToscaEventFilterTest.java | 7 +--- .../tosca/simple/concepts/JpaToscaModelTest.java | 6 +-- .../tosca/simple/concepts/JpaToscaPolicyTest.java | 12 ++---- .../simple/concepts/JpaToscaPolicyTypeTest.java | 9 ++-- .../simple/concepts/JpaToscaPropertyTest.java | 9 ++-- .../concepts/JpaToscaServiceTemplateTest.java | 7 +--- .../simple/concepts/JpaToscaTimeIntervalTest.java | 9 ++-- .../concepts/JpaToscaTopologyTemplateTest.java | 8 ++-- .../tosca/simple/concepts/JpaToscaTriggerTest.java | 7 +--- 24 files changed, 91 insertions(+), 348 deletions(-) (limited to 'models-tosca') 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 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 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 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 newProperties = new LinkedHashMap<>(); - for (final Entry 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 { 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 extends PfConcept impleme */ public JpaToscaEntityType(final JpaToscaEntityType 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 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 copy = ((JpaToscaEntityType) copyObject); - copy.setKey(new PfConceptKey(key)); - copy.setDerivedFrom(derivedFrom != null ? new PfConceptKey(derivedFrom) : null); - - if (metadata != null) { - final Map newMatadata = new TreeMap<>(); - for (final Entry 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 implements PfAuthorative>> { 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 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 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 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 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 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 newProperties = new LinkedHashMap<>(); - for (final Entry propertyEntry : properties.entrySet()) { - newProperties.put(propertyEntry.getKey(), new JpaToscaProperty(propertyEntry.getValue())); - } - copy.setProperties(newProperties); - } - - if (targets == null) { - copy.setTargets(null); - } else { - final List 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 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 { 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(copyConcept.constraints) : null); + this.entrySchema = (copyConcept.entrySchema != null ? new JpaToscaEntrySchema(copyConcept.entrySchema) : null); } /** @@ -334,31 +339,4 @@ public class JpaToscaProperty extends PfConcept implements PfAuthorative 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 { - new JpaToscaDataType((JpaToscaDataType) null); - }).hasMessage("copyConcept is marked @NonNull but is null"); + assertThatThrownBy(() -> new JpaToscaDataType((JpaToscaDataType) null)) + .isInstanceOf(NullPointerException.class); PfConceptKey dtKey = new PfConceptKey("tdt", VERSION_001); JpaToscaDataType tdt = new JpaToscaDataType(dtKey); @@ -86,8 +85,7 @@ public class JpaToscaDataTypeTest { assertEquals(tdt, tdtClone0); assertEquals(0, tdt.compareTo(tdtClone0)); - JpaToscaDataType tdtClone1 = new JpaToscaDataType(); - tdt.copyTo(tdtClone1); + JpaToscaDataType tdtClone1 = new JpaToscaDataType(tdt); assertEquals(tdt, tdtClone1); assertEquals(0, tdt.compareTo(tdtClone1)); @@ -106,10 +104,6 @@ public class JpaToscaDataTypeTest { otherDt.setProperties(properties); assertEquals(0, tdt.compareTo(otherDt)); - assertThatThrownBy(() -> { - tdt.copyTo(null); - }).hasMessage("target is marked @NonNull but is null"); - assertEquals(3, tdt.getKeys().size()); assertEquals(1, new JpaToscaDataType().getKeys().size()); diff --git a/models-tosca/src/test/java/org/onap/policy/models/tosca/simple/concepts/JpaToscaEventFilterTest.java b/models-tosca/src/test/java/org/onap/policy/models/tosca/simple/concepts/JpaToscaEventFilterTest.java index 602985dda..7d34a73eb 100644 --- a/models-tosca/src/test/java/org/onap/policy/models/tosca/simple/concepts/JpaToscaEventFilterTest.java +++ b/models-tosca/src/test/java/org/onap/policy/models/tosca/simple/concepts/JpaToscaEventFilterTest.java @@ -61,7 +61,7 @@ public class JpaToscaEventFilterTest { .hasMessage("node is marked @NonNull but is null"); assertThatThrownBy(() -> new JpaToscaEventFilter((JpaToscaEventFilter) null)) - .hasMessage("copyConcept is marked @NonNull but is null"); + .isInstanceOf(NullPointerException.class); PfConceptKey efParentKey = new PfConceptKey("tParentKey", VERSION_001); PfReferenceKey efKey = new PfReferenceKey(efParentKey, "trigger0"); @@ -78,8 +78,7 @@ public class JpaToscaEventFilterTest { assertEquals(tef, tdtClone0); assertEquals(0, tef.compareTo(tdtClone0)); - JpaToscaEventFilter tdtClone1 = new JpaToscaEventFilter(); - tef.copyTo(tdtClone1); + JpaToscaEventFilter tdtClone1 = new JpaToscaEventFilter(tef); assertEquals(tef, tdtClone1); assertEquals(0, tef.compareTo(tdtClone1)); @@ -100,8 +99,6 @@ public class JpaToscaEventFilterTest { otherDt.setCapability(A_CAPABILITY); assertEquals(0, tef.compareTo(otherDt)); - assertThatThrownBy(() -> tef.copyTo(null)).hasMessage("target is marked @NonNull but is null"); - assertEquals(2, tef.getKeys().size()); assertEquals(2, new JpaToscaEventFilter().getKeys().size()); diff --git a/models-tosca/src/test/java/org/onap/policy/models/tosca/simple/concepts/JpaToscaModelTest.java b/models-tosca/src/test/java/org/onap/policy/models/tosca/simple/concepts/JpaToscaModelTest.java index 40fbc0515..74a4e7c7f 100644 --- a/models-tosca/src/test/java/org/onap/policy/models/tosca/simple/concepts/JpaToscaModelTest.java +++ b/models-tosca/src/test/java/org/onap/policy/models/tosca/simple/concepts/JpaToscaModelTest.java @@ -73,8 +73,7 @@ public class JpaToscaModelTest { assertEquals(tm, tttClone0); assertEquals(0, tm.compareTo(tttClone0)); - JpaToscaModel tttClone1 = new JpaToscaModel(); - tm.copyTo(tttClone1); + JpaToscaModel tttClone1 = new JpaToscaModel(tm); assertEquals(tm, tttClone1); assertEquals(0, tm.compareTo(tttClone1)); @@ -91,7 +90,8 @@ public class JpaToscaModelTest { otherDt.setServiceTemplates(tsts); assertEquals(0, tm.compareTo(otherDt)); - assertThatThrownBy(() -> tm.copyTo(null)).hasMessage("targetObject is marked @NonNull but is null"); + assertThatThrownBy(() -> new JpaToscaModel((JpaToscaModel) null)) + .isInstanceOf(NullPointerException.class); assertEquals(2, tm.getKeys().size()); assertEquals(2, new JpaToscaModel().getKeys().size()); diff --git a/models-tosca/src/test/java/org/onap/policy/models/tosca/simple/concepts/JpaToscaPolicyTest.java b/models-tosca/src/test/java/org/onap/policy/models/tosca/simple/concepts/JpaToscaPolicyTest.java index bb961783c..73e5066c1 100644 --- a/models-tosca/src/test/java/org/onap/policy/models/tosca/simple/concepts/JpaToscaPolicyTest.java +++ b/models-tosca/src/test/java/org/onap/policy/models/tosca/simple/concepts/JpaToscaPolicyTest.java @@ -76,9 +76,8 @@ public class JpaToscaPolicyTest { new JpaToscaPolicy(null, new PfConceptKey()); }).hasMessage(KEY_IS_NULL); - assertThatThrownBy(() -> { - new JpaToscaPolicy((JpaToscaPolicy) null); - }).hasMessage("copyConcept is marked @NonNull but is null"); + assertThatThrownBy(() -> new JpaToscaPolicy((JpaToscaPolicy) null)) + .isInstanceOf(NullPointerException.class); PfConceptKey tpKey = new PfConceptKey("tdt", VERSION_001); PfConceptKey ptKey = new PfConceptKey("policyType", VERSION_001); @@ -99,8 +98,7 @@ public class JpaToscaPolicyTest { assertEquals(tp, tdtClone0); assertEquals(0, tp.compareTo(tdtClone0)); - JpaToscaPolicy tdtClone1 = new JpaToscaPolicy(); - tp.copyTo(tdtClone1); + JpaToscaPolicy tdtClone1 = new JpaToscaPolicy(tp); assertEquals(tp, tdtClone1); assertEquals(0, tp.compareTo(tdtClone1)); @@ -121,10 +119,6 @@ public class JpaToscaPolicyTest { otherDt.setTargets(targets); assertEquals(0, tp.compareTo(otherDt)); - assertThatThrownBy(() -> { - tp.copyTo(null); - }).hasMessage("target is marked @NonNull but is null"); - assertEquals(3, tp.getKeys().size()); assertEquals(2, new JpaToscaPolicy().getKeys().size()); diff --git a/models-tosca/src/test/java/org/onap/policy/models/tosca/simple/concepts/JpaToscaPolicyTypeTest.java b/models-tosca/src/test/java/org/onap/policy/models/tosca/simple/concepts/JpaToscaPolicyTypeTest.java index eb94a5ecc..1f2a4e111 100644 --- a/models-tosca/src/test/java/org/onap/policy/models/tosca/simple/concepts/JpaToscaPolicyTypeTest.java +++ b/models-tosca/src/test/java/org/onap/policy/models/tosca/simple/concepts/JpaToscaPolicyTypeTest.java @@ -58,7 +58,7 @@ public class JpaToscaPolicyTypeTest { .hasMessage("key is marked @NonNull but is null"); assertThatThrownBy(() -> new JpaToscaPolicyType((JpaToscaPolicyType) null)) - .hasMessage("copyConcept is marked @NonNull but is null"); + .isInstanceOf(NullPointerException.class); PfConceptKey ptKey = new PfConceptKey("tdt", VERSION_001); JpaToscaPolicyType tpt = new JpaToscaPolicyType(ptKey); @@ -96,8 +96,7 @@ public class JpaToscaPolicyTypeTest { assertEquals(tpt, tdtClone0); assertEquals(0, tpt.compareTo(tdtClone0)); - JpaToscaPolicyType tdtClone1 = new JpaToscaPolicyType(); - tpt.copyTo(tdtClone1); + JpaToscaPolicyType tdtClone1 = new JpaToscaPolicyType(tpt); assertEquals(tpt, tdtClone1); assertEquals(0, tpt.compareTo(tdtClone1)); @@ -124,8 +123,6 @@ public class JpaToscaPolicyTypeTest { otherDt.setTriggers(triggers); assertEquals(0, tpt.compareTo(otherDt)); - assertThatThrownBy(() -> tpt.copyTo(null)).hasMessage("target is marked @NonNull but is null"); - assertEquals(6, tpt.getKeys().size()); assertEquals(1, new JpaToscaPolicyType().getKeys().size()); @@ -177,7 +174,7 @@ public class JpaToscaPolicyTypeTest { .hasMessage("key is marked @NonNull but is null"); assertThatThrownBy(() -> new JpaToscaEntityType((JpaToscaEntityType) null)) - .hasMessage("copyConcept is marked @NonNull but is null"); + .isInstanceOf(NullPointerException.class); JpaToscaEntityType tet = new JpaToscaEntityType<>(tpt.getKey()); assertEquals(-1, tet.compareTo(null)); diff --git a/models-tosca/src/test/java/org/onap/policy/models/tosca/simple/concepts/JpaToscaPropertyTest.java b/models-tosca/src/test/java/org/onap/policy/models/tosca/simple/concepts/JpaToscaPropertyTest.java index 70018b62a..2da2090de 100644 --- a/models-tosca/src/test/java/org/onap/policy/models/tosca/simple/concepts/JpaToscaPropertyTest.java +++ b/models-tosca/src/test/java/org/onap/policy/models/tosca/simple/concepts/JpaToscaPropertyTest.java @@ -63,9 +63,6 @@ public class JpaToscaPropertyTest { assertThatThrownBy(() -> new JpaToscaProperty(new PfReferenceKey(), null)) .hasMessage("type is marked @NonNull but is null"); - assertThatThrownBy(() -> new JpaToscaProperty((JpaToscaProperty) null)) - .hasMessage("copyConcept is marked @NonNull but is null"); - PfConceptKey pparentKey = new PfConceptKey("tParentKey", VERSION_001); PfReferenceKey pkey = new PfReferenceKey(pparentKey, "trigger0"); PfConceptKey ptypeKey = new PfConceptKey("TTypeKey", VERSION_001); @@ -95,8 +92,7 @@ public class JpaToscaPropertyTest { assertEquals(tp, tdtClone0); assertEquals(0, tp.compareTo(tdtClone0)); - JpaToscaProperty tdtClone1 = new JpaToscaProperty(); - tp.copyTo(tdtClone1); + JpaToscaProperty tdtClone1 = new JpaToscaProperty(tp); assertEquals(tp, tdtClone1); assertEquals(0, tp.compareTo(tdtClone1)); @@ -136,7 +132,8 @@ public class JpaToscaPropertyTest { otherDt.setStatus(ToscaProperty.Status.SUPPORTED); assertEquals(0, tp.compareTo(otherDt)); - assertThatThrownBy(() -> tp.copyTo(null)).hasMessage("target is marked @NonNull but is null"); + assertThatThrownBy(() -> new JpaToscaProperty((JpaToscaProperty) null)) + .isInstanceOf(NullPointerException.class); assertEquals(3, tp.getKeys().size()); assertEquals(2, new JpaToscaProperty().getKeys().size()); diff --git a/models-tosca/src/test/java/org/onap/policy/models/tosca/simple/concepts/JpaToscaServiceTemplateTest.java b/models-tosca/src/test/java/org/onap/policy/models/tosca/simple/concepts/JpaToscaServiceTemplateTest.java index df72ce57b..911f4a1bf 100644 --- a/models-tosca/src/test/java/org/onap/policy/models/tosca/simple/concepts/JpaToscaServiceTemplateTest.java +++ b/models-tosca/src/test/java/org/onap/policy/models/tosca/simple/concepts/JpaToscaServiceTemplateTest.java @@ -61,7 +61,7 @@ public class JpaToscaServiceTemplateTest { .hasMessage("toscaDefinitionsVersion is marked @NonNull but is null"); assertThatThrownBy(() -> new JpaToscaServiceTemplate((JpaToscaServiceTemplate) null)) - .hasMessage("copyConcept is marked @NonNull but is null"); + .isInstanceOf(NullPointerException.class); PfConceptKey tstKey = new PfConceptKey("tst", VERSION_001); JpaToscaServiceTemplate tst = new JpaToscaServiceTemplate(tstKey, "Tosca Version"); @@ -93,8 +93,7 @@ public class JpaToscaServiceTemplateTest { assertEquals(tst, tttClone0); assertEquals(0, tst.compareTo(tttClone0)); - JpaToscaServiceTemplate tttClone1 = new JpaToscaServiceTemplate(); - tst.copyTo(tttClone1); + JpaToscaServiceTemplate tttClone1 = new JpaToscaServiceTemplate(tst); assertEquals(tst, tttClone1); assertEquals(0, tst.compareTo(tttClone1)); @@ -117,8 +116,6 @@ public class JpaToscaServiceTemplateTest { otherDt.setTopologyTemplate(ttt); assertEquals(0, tst.compareTo(otherDt)); - assertThatThrownBy(() -> tst.copyTo(null)).hasMessage("target is marked @NonNull but is null"); - assertEquals(6, tst.getKeys().size()); assertEquals(1, new JpaToscaServiceTemplate().getKeys().size()); diff --git a/models-tosca/src/test/java/org/onap/policy/models/tosca/simple/concepts/JpaToscaTimeIntervalTest.java b/models-tosca/src/test/java/org/onap/policy/models/tosca/simple/concepts/JpaToscaTimeIntervalTest.java index e77f12062..49cf18e28 100644 --- a/models-tosca/src/test/java/org/onap/policy/models/tosca/simple/concepts/JpaToscaTimeIntervalTest.java +++ b/models-tosca/src/test/java/org/onap/policy/models/tosca/simple/concepts/JpaToscaTimeIntervalTest.java @@ -68,8 +68,8 @@ public class JpaToscaTimeIntervalTest { assertThatThrownBy(() -> new JpaToscaTimeInterval(new PfReferenceKey(), new Date(), null)) .hasMessage("endTime is marked @NonNull but is null"); - assertThatThrownBy(() -> new JpaToscaTimeInterval((JpaToscaTimeInterval) null)) - .hasMessage("copyConcept is marked @NonNull but is null"); + assertThatThrownBy(() -> new JpaToscaServiceTemplate((JpaToscaServiceTemplate) null)) + .isInstanceOf(NullPointerException.class); PfConceptKey ttiParentKey = new PfConceptKey("tParentKey", "0.0.1"); PfReferenceKey ttiKey = new PfReferenceKey(ttiParentKey, "trigger0"); @@ -81,8 +81,7 @@ public class JpaToscaTimeIntervalTest { assertEquals(tti, tdtClone0); assertEquals(0, tti.compareTo(tdtClone0)); - JpaToscaTimeInterval tdtClone1 = new JpaToscaTimeInterval(); - tti.copyTo(tdtClone1); + JpaToscaTimeInterval tdtClone1 = new JpaToscaTimeInterval(tti); assertEquals(tti, tdtClone1); assertEquals(0, tti.compareTo(tdtClone1)); @@ -101,8 +100,6 @@ public class JpaToscaTimeIntervalTest { otherDt.setEndTime(endTime); assertEquals(0, tti.compareTo(otherDt)); - assertThatThrownBy(() -> tti.copyTo(null)).hasMessage("target is marked @NonNull but is null"); - assertEquals(1, tti.getKeys().size()); assertEquals(1, new JpaToscaTimeInterval().getKeys().size()); diff --git a/models-tosca/src/test/java/org/onap/policy/models/tosca/simple/concepts/JpaToscaTopologyTemplateTest.java b/models-tosca/src/test/java/org/onap/policy/models/tosca/simple/concepts/JpaToscaTopologyTemplateTest.java index 7712a64c0..94525f0a9 100644 --- a/models-tosca/src/test/java/org/onap/policy/models/tosca/simple/concepts/JpaToscaTopologyTemplateTest.java +++ b/models-tosca/src/test/java/org/onap/policy/models/tosca/simple/concepts/JpaToscaTopologyTemplateTest.java @@ -56,7 +56,7 @@ public class JpaToscaTopologyTemplateTest { .hasMessage("key is marked @NonNull but is null"); assertThatThrownBy(() -> new JpaToscaTopologyTemplate((JpaToscaTopologyTemplate) null)) - .hasMessage("copyConcept is marked @NonNull but is null"); + .isInstanceOf(NullPointerException.class); PfReferenceKey tttKey = new PfReferenceKey("tst", VERSION_001, "ttt"); JpaToscaTopologyTemplate ttt = new JpaToscaTopologyTemplate(tttKey); @@ -78,8 +78,7 @@ public class JpaToscaTopologyTemplateTest { assertEquals(ttt, tttClone0); assertEquals(0, ttt.compareTo(tttClone0)); - JpaToscaTopologyTemplate tttClone1 = new JpaToscaTopologyTemplate(); - ttt.copyTo(tttClone1); + JpaToscaTopologyTemplate tttClone1 = new JpaToscaTopologyTemplate(ttt); assertEquals(ttt, tttClone1); assertEquals(0, ttt.compareTo(tttClone1)); @@ -98,7 +97,8 @@ public class JpaToscaTopologyTemplateTest { otherDt.setPolicies(policies); assertEquals(0, ttt.compareTo(otherDt)); - assertThatThrownBy(() -> ttt.copyTo(null)).hasMessage("target is marked @NonNull but is null"); + assertThatThrownBy(() -> new JpaToscaTopologyTemplate((JpaToscaTopologyTemplate) null)) + .isInstanceOf(NullPointerException.class); assertEquals(4, ttt.getKeys().size()); assertEquals(1, new JpaToscaTopologyTemplate().getKeys().size()); diff --git a/models-tosca/src/test/java/org/onap/policy/models/tosca/simple/concepts/JpaToscaTriggerTest.java b/models-tosca/src/test/java/org/onap/policy/models/tosca/simple/concepts/JpaToscaTriggerTest.java index 97c1b6fb7..0baf1e5e2 100644 --- a/models-tosca/src/test/java/org/onap/policy/models/tosca/simple/concepts/JpaToscaTriggerTest.java +++ b/models-tosca/src/test/java/org/onap/policy/models/tosca/simple/concepts/JpaToscaTriggerTest.java @@ -75,7 +75,7 @@ public class JpaToscaTriggerTest { .hasMessage("eventType is marked @NonNull but is null"); assertThatThrownBy(() -> new JpaToscaTrigger((JpaToscaTrigger) null)) - .hasMessage("copyConcept is marked @NonNull but is null"); + .isInstanceOf(NullPointerException.class); PfConceptKey tparentKey = new PfConceptKey("tParentKey", VERSION_001); PfReferenceKey tkey = new PfReferenceKey(tparentKey, "trigger0"); @@ -108,8 +108,7 @@ public class JpaToscaTriggerTest { assertEquals(tdt, tdtClone0); assertEquals(0, tdt.compareTo(tdtClone0)); - JpaToscaTrigger tdtClone1 = new JpaToscaTrigger(); - tdt.copyTo(tdtClone1); + JpaToscaTrigger tdtClone1 = new JpaToscaTrigger(tdt); assertEquals(tdt, tdtClone1); assertEquals(0, tdt.compareTo(tdtClone1)); @@ -147,8 +146,6 @@ public class JpaToscaTriggerTest { otherDt.setEvaluations(0); assertEquals(0, tdt.compareTo(otherDt)); - assertThatThrownBy(() -> tdt.copyTo(null)).hasMessage("target is marked @NonNull but is null"); - assertEquals(4, tdt.getKeys().size()); assertEquals(1, new JpaToscaTrigger().getKeys().size()); -- cgit 1.2.3-korg