From f152c13095b6a3fcd6838cd11045c9227fb8dc34 Mon Sep 17 00:00:00 2001 From: danielhanrahan Date: Mon, 26 Jan 2026 14:48:24 +0000 Subject: [PATCH] Use Jakarta Bean Validation Replace custom Policy Framework Validation with standard Jakarta Bean Validation. Note @NotBlank annotation behaves differently now: - In new Jakarta framework, NotBlank implies NotNull. - In previous framework, NotBlank allowed null values. - Other annotations such as NotNull, Pattern, and Valid behave the same as before. Issue-ID: POLICY-5509 Change-Id: Ib153db9f94bd191b837e74e1e0da9ece26c08f3c Signed-off-by: danielhanrahan --- .../concepts/ParticipantSupportedElementType.java | 4 +- .../models/acm/document/base/DocConceptKey.java | 4 +- .../concepts/DocToscaCapabilityAssignment.java | 4 +- .../document/concepts/DocToscaCapabilityType.java | 13 +- .../acm/document/concepts/DocToscaDataType.java | 6 +- .../acm/document/concepts/DocToscaEntity.java | 9 +- .../document/concepts/DocToscaNodeTemplate.java | 4 +- .../acm/document/concepts/DocToscaNodeType.java | 4 +- .../acm/document/concepts/DocToscaParameter.java | 4 +- .../acm/document/concepts/DocToscaPolicy.java | 14 +- .../acm/document/concepts/DocToscaProperty.java | 9 +- .../document/concepts/DocToscaServiceTemplate.java | 8 +- .../concepts/DocToscaTopologyTemplate.java | 4 +- .../concepts/DocToscaWithToscaProperties.java | 8 +- .../concepts/JpaAutomationComposition.java | 6 +- .../JpaAutomationCompositionDefinition.java | 8 +- .../concepts/JpaAutomationCompositionElement.java | 7 +- .../acm/persistence/concepts/JpaMessage.java | 2 +- .../acm/persistence/concepts/JpaMessageJob.java | 2 +- .../persistence/concepts/JpaNodeTemplateState.java | 7 +- .../acm/persistence/concepts/JpaParticipant.java | 6 +- .../concepts/JpaParticipantReplica.java | 4 +- .../JpaParticipantSupportedElementType.java | 5 +- policy-common/pom.xml | 6 +- .../policy/common/parameters/BeanValidator.java | 332 ++------------- .../policy/common/parameters/FieldValidator.java | 292 ------------- .../policy/common/parameters/ItemValidator.java | 71 ---- .../common/parameters/ParameterGroupImpl.java | 9 +- .../policy/common/parameters/ValueValidator.java | 146 ------- .../policy/common/parameters/annotations/Min.java | 40 -- .../common/parameters/annotations/NotBlank.java | 38 -- .../common/parameters/annotations/NotNull.java | 38 -- .../common/parameters/annotations/Pattern.java | 38 -- .../common/parameters/annotations/Valid.java | 35 -- .../parameters/topic/TopicParameterGroup.java | 14 +- .../common/parameters/topic/TopicParameters.java | 8 +- .../common/parameters/TestBeanValidator.java | 461 --------------------- .../common/parameters/TestFieldValidator.java | 370 ----------------- .../common/parameters/TestItemValidator.java | 122 ------ .../common/parameters/TestValueValidator.java | 140 ------- .../policy/common/parameters/ValidatorUtil.java | 83 ---- .../org/onap/policy/models/base/PfConceptKey.java | 4 +- .../org/onap/policy/models/base/PfValidator.java | 110 ----- .../org/onap/policy/models/base/Validated.java | 87 +--- .../base/validation/annotations/VerifyKey.java | 29 +- .../validation/annotations/VerifyKeyValidator.java | 67 +++ .../org/onap/policy/models/base/PfKeyImplTest.java | 7 +- .../onap/policy/models/base/PfValidatorTest.java | 203 --------- .../org/onap/policy/models/base/ValidatedTest.java | 170 -------- .../annotations/VerifyKeyValidatorTest.java | 140 +++++++ 50 files changed, 349 insertions(+), 2853 deletions(-) delete mode 100644 policy-common/src/main/java/org/onap/policy/common/parameters/FieldValidator.java delete mode 100644 policy-common/src/main/java/org/onap/policy/common/parameters/ItemValidator.java delete mode 100644 policy-common/src/main/java/org/onap/policy/common/parameters/ValueValidator.java delete mode 100644 policy-common/src/main/java/org/onap/policy/common/parameters/annotations/Min.java delete mode 100644 policy-common/src/main/java/org/onap/policy/common/parameters/annotations/NotBlank.java delete mode 100644 policy-common/src/main/java/org/onap/policy/common/parameters/annotations/NotNull.java delete mode 100644 policy-common/src/main/java/org/onap/policy/common/parameters/annotations/Pattern.java delete mode 100644 policy-common/src/main/java/org/onap/policy/common/parameters/annotations/Valid.java delete mode 100644 policy-common/src/test/java/org/onap/policy/common/parameters/TestBeanValidator.java delete mode 100644 policy-common/src/test/java/org/onap/policy/common/parameters/TestFieldValidator.java delete mode 100644 policy-common/src/test/java/org/onap/policy/common/parameters/TestItemValidator.java delete mode 100644 policy-common/src/test/java/org/onap/policy/common/parameters/TestValueValidator.java delete mode 100644 policy-common/src/test/java/org/onap/policy/common/parameters/ValidatorUtil.java delete mode 100644 policy-models/src/main/java/org/onap/policy/models/base/PfValidator.java create mode 100644 policy-models/src/main/java/org/onap/policy/models/base/validation/annotations/VerifyKeyValidator.java delete mode 100644 policy-models/src/test/java/org/onap/policy/models/base/PfValidatorTest.java delete mode 100644 policy-models/src/test/java/org/onap/policy/models/base/ValidatedTest.java create mode 100644 policy-models/src/test/java/org/onap/policy/models/base/validation/annotations/VerifyKeyValidatorTest.java diff --git a/models/src/main/java/org/onap/policy/clamp/models/acm/concepts/ParticipantSupportedElementType.java b/models/src/main/java/org/onap/policy/clamp/models/acm/concepts/ParticipantSupportedElementType.java index 68d50010c..7d8a86712 100644 --- a/models/src/main/java/org/onap/policy/clamp/models/acm/concepts/ParticipantSupportedElementType.java +++ b/models/src/main/java/org/onap/policy/clamp/models/acm/concepts/ParticipantSupportedElementType.java @@ -1,6 +1,6 @@ /*- * ============LICENSE_START======================================================= - * Copyright (C) 2023 Nordix Foundation. + * Copyright (C) 2023-2026 OpenInfra Foundation Europe. 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. @@ -20,11 +20,11 @@ package org.onap.policy.clamp.models.acm.concepts; +import jakarta.validation.constraints.NotNull; import java.util.UUID; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; -import org.onap.policy.common.parameters.annotations.NotNull; @NoArgsConstructor @Data diff --git a/models/src/main/java/org/onap/policy/clamp/models/acm/document/base/DocConceptKey.java b/models/src/main/java/org/onap/policy/clamp/models/acm/document/base/DocConceptKey.java index 735d4535b..61f53e132 100644 --- a/models/src/main/java/org/onap/policy/clamp/models/acm/document/base/DocConceptKey.java +++ b/models/src/main/java/org/onap/policy/clamp/models/acm/document/base/DocConceptKey.java @@ -1,6 +1,6 @@ /*- * ============LICENSE_START======================================================= - * Copyright (C) 2022,2025 OpenInfra Foundation Europe. All rights reserved. + * Copyright (C) 2022-2026 OpenInfra Foundation Europe. 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. @@ -20,12 +20,12 @@ package org.onap.policy.clamp.models.acm.document.base; +import jakarta.validation.constraints.Pattern; import java.io.Serial; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.NonNull; import lombok.ToString; -import org.onap.policy.common.parameters.annotations.Pattern; import org.onap.policy.common.utils.validation.Assertions; import org.onap.policy.models.base.PfConceptKey; import org.onap.policy.models.base.PfKeyImpl; diff --git a/models/src/main/java/org/onap/policy/clamp/models/acm/document/concepts/DocToscaCapabilityAssignment.java b/models/src/main/java/org/onap/policy/clamp/models/acm/document/concepts/DocToscaCapabilityAssignment.java index 64aa45e80..0ba7a3238 100644 --- a/models/src/main/java/org/onap/policy/clamp/models/acm/document/concepts/DocToscaCapabilityAssignment.java +++ b/models/src/main/java/org/onap/policy/clamp/models/acm/document/concepts/DocToscaCapabilityAssignment.java @@ -1,6 +1,6 @@ /*- * ============LICENSE_START======================================================= - * Copyright (C) 2022,2024-2025 OpenInfra Foundation Europe. All rights reserved. + * Copyright (C) 2022-2026 OpenInfra Foundation Europe. 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. @@ -20,6 +20,7 @@ package org.onap.policy.clamp.models.acm.document.concepts; +import jakarta.validation.constraints.NotNull; import java.io.Serial; import java.util.ArrayList; import java.util.LinkedHashMap; @@ -29,7 +30,6 @@ import lombok.Data; import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; import lombok.ToString; -import org.onap.policy.common.parameters.annotations.NotNull; import org.onap.policy.models.base.PfUtils; import org.onap.policy.models.tosca.authorative.concepts.ToscaCapabilityAssignment; diff --git a/models/src/main/java/org/onap/policy/clamp/models/acm/document/concepts/DocToscaCapabilityType.java b/models/src/main/java/org/onap/policy/clamp/models/acm/document/concepts/DocToscaCapabilityType.java index be1d030b2..87f573591 100644 --- a/models/src/main/java/org/onap/policy/clamp/models/acm/document/concepts/DocToscaCapabilityType.java +++ b/models/src/main/java/org/onap/policy/clamp/models/acm/document/concepts/DocToscaCapabilityType.java @@ -24,8 +24,8 @@ import java.io.Serial; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; -import lombok.NonNull; -import org.onap.policy.common.parameters.BeanValidationResult; +import org.onap.policy.models.base.PfConceptKey; +import org.onap.policy.models.base.validation.annotations.VerifyKey; import org.onap.policy.models.tosca.authorative.concepts.ToscaCapabilityType; @Data @@ -61,11 +61,8 @@ public class DocToscaCapabilityType extends DocToscaWithToscaProperties extends Validated private String derivedFrom; @SuppressWarnings("squid:S1948") - private Map<@NotNull @NotBlank String, @NotNull @NotBlank Object> metadata = new LinkedHashMap<>(); + private Map<@NotBlank String, @NotNull Object> metadata = new LinkedHashMap<>(); - @NotBlank private String description; private transient T toscaEntity; diff --git a/models/src/main/java/org/onap/policy/clamp/models/acm/document/concepts/DocToscaNodeTemplate.java b/models/src/main/java/org/onap/policy/clamp/models/acm/document/concepts/DocToscaNodeTemplate.java index 8a20c12bd..241c1bbb3 100644 --- a/models/src/main/java/org/onap/policy/clamp/models/acm/document/concepts/DocToscaNodeTemplate.java +++ b/models/src/main/java/org/onap/policy/clamp/models/acm/document/concepts/DocToscaNodeTemplate.java @@ -1,6 +1,6 @@ /*- * ============LICENSE_START======================================================= - * Copyright (C) 2022,2025 OpenInfra Foundation Europe. All rights reserved. + * Copyright (C) 2022-2026 OpenInfra Foundation Europe. 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. @@ -20,6 +20,7 @@ package org.onap.policy.clamp.models.acm.document.concepts; +import jakarta.validation.Valid; import java.io.Serial; import java.util.List; import java.util.Map; @@ -28,7 +29,6 @@ import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; import lombok.ToString; import org.onap.policy.clamp.models.acm.document.base.DocUtil; -import org.onap.policy.common.parameters.annotations.Valid; import org.onap.policy.models.base.PfUtils; import org.onap.policy.models.tosca.authorative.concepts.ToscaNodeTemplate; diff --git a/models/src/main/java/org/onap/policy/clamp/models/acm/document/concepts/DocToscaNodeType.java b/models/src/main/java/org/onap/policy/clamp/models/acm/document/concepts/DocToscaNodeType.java index 6e4059284..ca9600f92 100644 --- a/models/src/main/java/org/onap/policy/clamp/models/acm/document/concepts/DocToscaNodeType.java +++ b/models/src/main/java/org/onap/policy/clamp/models/acm/document/concepts/DocToscaNodeType.java @@ -1,6 +1,6 @@ /*- * ============LICENSE_START======================================================= - * Copyright (C) 2022,2025 OpenInfra Foundation Europe. All rights reserved. + * Copyright (C) 2022-2026 OpenInfra Foundation Europe. 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. @@ -20,6 +20,7 @@ package org.onap.policy.clamp.models.acm.document.concepts; +import jakarta.validation.Valid; import java.io.Serial; import java.util.List; import java.util.Map; @@ -27,7 +28,6 @@ import lombok.Data; import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; import org.onap.policy.clamp.models.acm.document.base.DocUtil; -import org.onap.policy.common.parameters.annotations.Valid; import org.onap.policy.models.base.PfUtils; import org.onap.policy.models.tosca.authorative.concepts.ToscaNodeType; diff --git a/models/src/main/java/org/onap/policy/clamp/models/acm/document/concepts/DocToscaParameter.java b/models/src/main/java/org/onap/policy/clamp/models/acm/document/concepts/DocToscaParameter.java index 5a252b8d2..dd111fca7 100644 --- a/models/src/main/java/org/onap/policy/clamp/models/acm/document/concepts/DocToscaParameter.java +++ b/models/src/main/java/org/onap/policy/clamp/models/acm/document/concepts/DocToscaParameter.java @@ -1,6 +1,6 @@ /*- * ============LICENSE_START======================================================= - * Copyright (C) 2022,2024 Nordix Foundation. + * Copyright (C) 2022-2026 OpenInfra Foundation Europe. 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,11 +21,11 @@ package org.onap.policy.clamp.models.acm.document.concepts; import com.google.gson.annotations.SerializedName; +import jakarta.validation.constraints.NotNull; import java.io.Serial; import java.io.Serializable; import lombok.Data; import lombok.NoArgsConstructor; -import org.onap.policy.common.parameters.annotations.NotNull; import org.onap.policy.models.base.PfAuthorative; import org.onap.policy.models.base.PfKey; import org.onap.policy.models.base.PfUtils; diff --git a/models/src/main/java/org/onap/policy/clamp/models/acm/document/concepts/DocToscaPolicy.java b/models/src/main/java/org/onap/policy/clamp/models/acm/document/concepts/DocToscaPolicy.java index 888da9395..c85db2f99 100644 --- a/models/src/main/java/org/onap/policy/clamp/models/acm/document/concepts/DocToscaPolicy.java +++ b/models/src/main/java/org/onap/policy/clamp/models/acm/document/concepts/DocToscaPolicy.java @@ -1,6 +1,6 @@ /*- * ============LICENSE_START======================================================= - * Copyright (C) 2022 Nordix Foundation. + * Copyright (C) 2022-2026 OpenInfra Foundation Europe. 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. @@ -27,7 +27,8 @@ import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; import lombok.NonNull; import lombok.ToString; -import org.onap.policy.common.parameters.BeanValidationResult; +import org.onap.policy.models.base.PfConceptKey; +import org.onap.policy.models.base.validation.annotations.VerifyKey; import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicy; @Data @@ -85,11 +86,8 @@ public class DocToscaPolicy extends DocToscaWithTypeAndStringProperties, Serializa @NotNull private String typeVersion; - @NotBlank private String description; @SerializedName("default") - @NotBlank @SuppressWarnings("squid:S1948") private Object defaultValue; diff --git a/models/src/main/java/org/onap/policy/clamp/models/acm/document/concepts/DocToscaServiceTemplate.java b/models/src/main/java/org/onap/policy/clamp/models/acm/document/concepts/DocToscaServiceTemplate.java index 42f7099eb..1eb3cac70 100644 --- a/models/src/main/java/org/onap/policy/clamp/models/acm/document/concepts/DocToscaServiceTemplate.java +++ b/models/src/main/java/org/onap/policy/clamp/models/acm/document/concepts/DocToscaServiceTemplate.java @@ -1,6 +1,6 @@ /*- * ============LICENSE_START======================================================= - * Copyright (C) 2022,2025 OpenInfra Foundation Europe. All rights reserved. + * Copyright (C) 2022-2026 OpenInfra Foundation Europe. 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,6 +21,8 @@ package org.onap.policy.clamp.models.acm.document.concepts; import com.google.gson.annotations.SerializedName; +import jakarta.validation.Valid; +import jakarta.validation.constraints.NotBlank; import java.io.Serial; import java.util.LinkedHashMap; import java.util.Map; @@ -28,9 +30,6 @@ import lombok.Data; import lombok.EqualsAndHashCode; import org.apache.commons.lang3.ObjectUtils; import org.onap.policy.clamp.models.acm.document.base.DocUtil; -import org.onap.policy.common.parameters.annotations.NotBlank; -import org.onap.policy.common.parameters.annotations.NotNull; -import org.onap.policy.common.parameters.annotations.Valid; import org.onap.policy.models.base.PfKey; import org.onap.policy.models.base.PfUtils; import org.onap.policy.models.tosca.authorative.concepts.ToscaServiceTemplate; @@ -47,7 +46,6 @@ public class DocToscaServiceTemplate extends DocToscaEntity ext private static final long serialVersionUID = 1L; @SuppressWarnings("squid:S1948") - private Map<@NotNull @NotBlank String, @NotNull @Valid DocToscaProperty> properties; + private Map<@NotBlank String, @NotNull @Valid DocToscaProperty> properties; /** * Copy constructor. diff --git a/models/src/main/java/org/onap/policy/clamp/models/acm/persistence/concepts/JpaAutomationComposition.java b/models/src/main/java/org/onap/policy/clamp/models/acm/persistence/concepts/JpaAutomationComposition.java index 95437a420..5006b5a8b 100644 --- a/models/src/main/java/org/onap/policy/clamp/models/acm/persistence/concepts/JpaAutomationComposition.java +++ b/models/src/main/java/org/onap/policy/clamp/models/acm/persistence/concepts/JpaAutomationComposition.java @@ -1,6 +1,6 @@ /*- * ============LICENSE_START======================================================= - * Copyright (C) 2021-2025 OpenInfra Foundation Europe. All rights reserved. + * Copyright (C) 2021-2026 OpenInfra Foundation Europe. 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. @@ -32,6 +32,8 @@ import jakarta.persistence.InheritanceType; import jakarta.persistence.JoinColumn; import jakarta.persistence.OneToMany; import jakarta.persistence.Table; +import jakarta.validation.Valid; +import jakarta.validation.constraints.NotNull; import java.sql.Timestamp; import java.util.ArrayList; import java.util.LinkedHashMap; @@ -48,8 +50,6 @@ import org.onap.policy.clamp.models.acm.concepts.LockState; import org.onap.policy.clamp.models.acm.concepts.StateChangeResult; import org.onap.policy.clamp.models.acm.concepts.SubState; import org.onap.policy.clamp.models.acm.utils.TimestampHelper; -import org.onap.policy.common.parameters.annotations.NotNull; -import org.onap.policy.common.parameters.annotations.Valid; import org.onap.policy.models.base.PfAuthorative; import org.onap.policy.models.base.PfUtils; import org.onap.policy.models.base.Validated; diff --git a/models/src/main/java/org/onap/policy/clamp/models/acm/persistence/concepts/JpaAutomationCompositionDefinition.java b/models/src/main/java/org/onap/policy/clamp/models/acm/persistence/concepts/JpaAutomationCompositionDefinition.java index 9837dd23d..95a96c2d2 100644 --- a/models/src/main/java/org/onap/policy/clamp/models/acm/persistence/concepts/JpaAutomationCompositionDefinition.java +++ b/models/src/main/java/org/onap/policy/clamp/models/acm/persistence/concepts/JpaAutomationCompositionDefinition.java @@ -1,6 +1,6 @@ /*- * ============LICENSE_START======================================================= - * Copyright (C) 2022-2025 OpenInfra Foundation Europe. All rights reserved. + * Copyright (C) 2022-2026 OpenInfra Foundation Europe. 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. @@ -32,6 +32,9 @@ import jakarta.persistence.InheritanceType; import jakarta.persistence.JoinColumn; import jakarta.persistence.OneToMany; import jakarta.persistence.Table; +import jakarta.validation.Valid; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Pattern; import java.sql.Timestamp; import java.util.HashSet; import java.util.Set; @@ -43,9 +46,6 @@ import org.onap.policy.clamp.models.acm.concepts.AutomationCompositionDefinition import org.onap.policy.clamp.models.acm.concepts.StateChangeResult; import org.onap.policy.clamp.models.acm.document.concepts.DocToscaServiceTemplate; import org.onap.policy.clamp.models.acm.utils.TimestampHelper; -import org.onap.policy.common.parameters.annotations.NotNull; -import org.onap.policy.common.parameters.annotations.Pattern; -import org.onap.policy.common.parameters.annotations.Valid; import org.onap.policy.models.base.PfAuthorative; import org.onap.policy.models.base.PfKey; import org.onap.policy.models.base.Validated; diff --git a/models/src/main/java/org/onap/policy/clamp/models/acm/persistence/concepts/JpaAutomationCompositionElement.java b/models/src/main/java/org/onap/policy/clamp/models/acm/persistence/concepts/JpaAutomationCompositionElement.java index ab3a4c398..e33b0abff 100644 --- a/models/src/main/java/org/onap/policy/clamp/models/acm/persistence/concepts/JpaAutomationCompositionElement.java +++ b/models/src/main/java/org/onap/policy/clamp/models/acm/persistence/concepts/JpaAutomationCompositionElement.java @@ -1,6 +1,6 @@ /*- * ============LICENSE_START======================================================= - * Copyright (C) 2021-2025 OpenInfra Foundation Europe. All rights reserved. + * Copyright (C) 2021-2026 OpenInfra Foundation Europe. All rights reserved. * ================================================================================ * Modifications Copyright (C) 2021 AT&T Intellectual Property. All rights reserved. * ================================================================================ @@ -30,6 +30,8 @@ import jakarta.persistence.Id; import jakarta.persistence.Inheritance; import jakarta.persistence.InheritanceType; import jakarta.persistence.Table; +import jakarta.validation.Valid; +import jakarta.validation.constraints.NotNull; import java.util.Map; import java.util.UUID; import java.util.function.UnaryOperator; @@ -42,8 +44,6 @@ import org.onap.policy.clamp.models.acm.concepts.DeployState; import org.onap.policy.clamp.models.acm.concepts.LockState; import org.onap.policy.clamp.models.acm.concepts.MigrationState; import org.onap.policy.clamp.models.acm.concepts.SubState; -import org.onap.policy.common.parameters.annotations.NotNull; -import org.onap.policy.common.parameters.annotations.Valid; import org.onap.policy.models.base.PfAuthorative; import org.onap.policy.models.base.PfConceptKey; import org.onap.policy.models.base.PfUtils; @@ -72,6 +72,7 @@ public class JpaAutomationCompositionElement extends Validated @NotNull private String instanceId; + @Valid @VerifyKey @NotNull @AttributeOverride(name = "name", column = @Column(name = "definition_name")) diff --git a/models/src/main/java/org/onap/policy/clamp/models/acm/persistence/concepts/JpaMessage.java b/models/src/main/java/org/onap/policy/clamp/models/acm/persistence/concepts/JpaMessage.java index eb730fed0..2696983d2 100644 --- a/models/src/main/java/org/onap/policy/clamp/models/acm/persistence/concepts/JpaMessage.java +++ b/models/src/main/java/org/onap/policy/clamp/models/acm/persistence/concepts/JpaMessage.java @@ -28,13 +28,13 @@ import jakarta.persistence.Index; import jakarta.persistence.Inheritance; import jakarta.persistence.InheritanceType; import jakarta.persistence.Table; +import jakarta.validation.constraints.NotNull; import java.sql.Timestamp; import java.util.UUID; import lombok.Data; import lombok.NonNull; import org.onap.policy.clamp.models.acm.document.concepts.DocMessage; import org.onap.policy.clamp.models.acm.utils.TimestampHelper; -import org.onap.policy.common.parameters.annotations.NotNull; import org.onap.policy.models.base.PfAuthorative; import org.onap.policy.models.base.Validated; diff --git a/models/src/main/java/org/onap/policy/clamp/models/acm/persistence/concepts/JpaMessageJob.java b/models/src/main/java/org/onap/policy/clamp/models/acm/persistence/concepts/JpaMessageJob.java index e9cac40e9..8acf0b8ff 100644 --- a/models/src/main/java/org/onap/policy/clamp/models/acm/persistence/concepts/JpaMessageJob.java +++ b/models/src/main/java/org/onap/policy/clamp/models/acm/persistence/concepts/JpaMessageJob.java @@ -26,13 +26,13 @@ import jakarta.persistence.Id; import jakarta.persistence.Inheritance; import jakarta.persistence.InheritanceType; import jakarta.persistence.Table; +import jakarta.validation.constraints.NotNull; import java.sql.Timestamp; import java.util.UUID; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.NonNull; import org.onap.policy.clamp.models.acm.utils.TimestampHelper; -import org.onap.policy.common.parameters.annotations.NotNull; import org.onap.policy.models.base.Validated; @Entity diff --git a/models/src/main/java/org/onap/policy/clamp/models/acm/persistence/concepts/JpaNodeTemplateState.java b/models/src/main/java/org/onap/policy/clamp/models/acm/persistence/concepts/JpaNodeTemplateState.java index f79e12e76..b92b239e7 100644 --- a/models/src/main/java/org/onap/policy/clamp/models/acm/persistence/concepts/JpaNodeTemplateState.java +++ b/models/src/main/java/org/onap/policy/clamp/models/acm/persistence/concepts/JpaNodeTemplateState.java @@ -1,6 +1,6 @@ /*- * ============LICENSE_START======================================================= - * Copyright (C) 2023,2025 OpenInfra Foundation Europe. All rights reserved. + * Copyright (C) 2023-2026 OpenInfra Foundation Europe. 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. @@ -28,6 +28,8 @@ import jakarta.persistence.Id; import jakarta.persistence.Inheritance; import jakarta.persistence.InheritanceType; import jakarta.persistence.Table; +import jakarta.validation.Valid; +import jakarta.validation.constraints.NotNull; import java.util.Map; import java.util.UUID; import java.util.function.UnaryOperator; @@ -35,8 +37,6 @@ import lombok.Data; import lombok.EqualsAndHashCode; import org.onap.policy.clamp.models.acm.concepts.AcTypeState; import org.onap.policy.clamp.models.acm.concepts.NodeTemplateState; -import org.onap.policy.common.parameters.annotations.NotNull; -import org.onap.policy.common.parameters.annotations.Valid; import org.onap.policy.models.base.PfAuthorative; import org.onap.policy.models.base.PfConceptKey; import org.onap.policy.models.base.PfUtils; @@ -62,6 +62,7 @@ public class JpaNodeTemplateState extends Validated implements PfAuthorative