Java 17 Upgrade
[policy/models.git] / models-tosca / src / main / java / org / onap / policy / models / tosca / simple / concepts / JpaToscaConstraintValidValues.java
index 248ca49..1f4785f 100644 (file)
@@ -1,7 +1,7 @@
 /*-
  * ============LICENSE_START=======================================================
- *  Copyright (C) 2019 AT&T Intellectual Property. All rights reserved.
- *  Modifications Copyright (C) 2019 Nordix Foundation.
+ *  Copyright (C) 2019, 2021 AT&T Intellectual Property. All rights reserved.
+ *  Modifications Copyright (C) 2019-2020, 2023 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.simple.concepts;
 
+import jakarta.persistence.ElementCollection;
+import java.io.Serial;
 import java.util.ArrayList;
 import java.util.List;
-import javax.persistence.ElementCollection;
-
 import lombok.EqualsAndHashCode;
 import lombok.Getter;
 import lombok.NonNull;
 import lombok.ToString;
-
 import org.onap.policy.models.base.PfUtils;
 import org.onap.policy.models.tosca.authorative.concepts.ToscaConstraint;
 
@@ -41,10 +40,10 @@ import org.onap.policy.models.tosca.authorative.concepts.ToscaConstraint;
 @EqualsAndHashCode(callSuper = false)
 @ToString
 public class JpaToscaConstraintValidValues extends JpaToscaConstraint {
+    @Serial
     private static final long serialVersionUID = -5060193250508635456L;
 
     @ElementCollection
-    @NonNull
     @Getter
     private List<String> validValues;
 
@@ -63,12 +62,15 @@ public class JpaToscaConstraintValidValues extends JpaToscaConstraint {
      * @param authorativeConcept the authorative concept to copy from
      */
     public JpaToscaConstraintValidValues(final ToscaConstraint authorativeConcept) {
+        /*
+         * The following will call invoke fromAuthorative() which will populate the class fields.
+         */
         super(authorativeConcept);
     }
 
     @Override
     public ToscaConstraint toAuthorative() {
-        ToscaConstraint toscaConstraint = new ToscaConstraint();
+        var toscaConstraint = new ToscaConstraint();
 
         toscaConstraint.setValidValues(validValues);
 
@@ -77,22 +79,19 @@ public class JpaToscaConstraintValidValues extends JpaToscaConstraint {
 
     @Override
     public void fromAuthorative(final ToscaConstraint toscaConstraint) {
+        validValues = new ArrayList<>();
         if (toscaConstraint.getValidValues() != null) {
-            validValues = new ArrayList<>();
             validValues.addAll(toscaConstraint.getValidValues());
         }
     }
 
     @Override
-    public int compareTo(JpaToscaConstraint otherConstraint) {
-        if (otherConstraint == null) {
-            return -1;
-        }
+    public int compareTo(@NonNull JpaToscaConstraint otherConstraint) {
         if (this == otherConstraint) {
             return 0;
         }
         if (getClass() != otherConstraint.getClass()) {
-            return this.hashCode() - otherConstraint.hashCode();
+            return getClass().getName().compareTo(otherConstraint.getClass().getName());
         }
 
         final JpaToscaConstraintValidValues other = (JpaToscaConstraintValidValues) otherConstraint;