diff --git a/pom.xml b/pom.xml index fdbe5f6f..e8a72e44 100644 --- a/pom.xml +++ b/pom.xml @@ -557,14 +557,14 @@ jakarta.validation jakarta.validation-api - 2.0.2 + 3.0.2 true org.hibernate.validator hibernate-validator - 6.2.0.Final + 8.0.0.Final test diff --git a/src/docs/java/org/springframework/hateoas/EmployeeModel.java b/src/docs/java/org/springframework/hateoas/EmployeeModel.java index 32466a55..2c9548f8 100644 --- a/src/docs/java/org/springframework/hateoas/EmployeeModel.java +++ b/src/docs/java/org/springframework/hateoas/EmployeeModel.java @@ -15,11 +15,10 @@ */ package org.springframework.hateoas; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Pattern; import lombok.Data; -import javax.validation.constraints.NotNull; -import javax.validation.constraints.Pattern; - /** * @author Oliver Drotbohm */ diff --git a/src/main/java/org/springframework/hateoas/mediatype/PropertyUtils.java b/src/main/java/org/springframework/hateoas/mediatype/PropertyUtils.java index d1bb5f3e..e2d68f8b 100644 --- a/src/main/java/org/springframework/hateoas/mediatype/PropertyUtils.java +++ b/src/main/java/org/springframework/hateoas/mediatype/PropertyUtils.java @@ -15,6 +15,16 @@ */ package org.springframework.hateoas.mediatype; +import jakarta.validation.constraints.DecimalMax; +import jakarta.validation.constraints.DecimalMin; +import jakarta.validation.constraints.Email; +import jakarta.validation.constraints.Max; +import jakarta.validation.constraints.Min; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Pattern; +import jakarta.validation.constraints.Size; + import java.beans.PropertyDescriptor; import java.lang.annotation.Annotation; import java.lang.reflect.Field; @@ -26,16 +36,6 @@ import java.util.function.Supplier; import java.util.stream.Collectors; import java.util.stream.Stream; -import javax.validation.constraints.DecimalMax; -import javax.validation.constraints.DecimalMin; -import javax.validation.constraints.Email; -import javax.validation.constraints.Max; -import javax.validation.constraints.Min; -import javax.validation.constraints.NotBlank; -import javax.validation.constraints.NotNull; -import javax.validation.constraints.Pattern; -import javax.validation.constraints.Size; - import org.reactivestreams.Publisher; import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanWrapper; @@ -73,7 +73,7 @@ public class PropertyUtils { private static final Map DOMAIN_TYPE_CACHE = new ConcurrentReferenceHashMap<>(); private static final Map METADATA_CACHE = new ConcurrentReferenceHashMap<>(); private static final Set FIELDS_TO_IGNORE = new HashSet<>(Arrays.asList("class", "links")); - private static final boolean JSR_303_PRESENT = ClassUtils.isPresent("javax.validation.constraints.Email", + private static final boolean JSR_303_PRESENT = ClassUtils.isPresent("jakarta.validation.constraints.Email", PropertyUtils.class.getClassLoader()); private static final List> TYPES_TO_UNWRAP = new ArrayList<>( Arrays.asList(EntityModel.class, CollectionModel.class, HttpEntity.class)); diff --git a/src/test/java/org/springframework/hateoas/mediatype/PropertyUtilsTest.java b/src/test/java/org/springframework/hateoas/mediatype/PropertyUtilsTest.java index 1f1b4d71..e54cf893 100644 --- a/src/test/java/org/springframework/hateoas/mediatype/PropertyUtilsTest.java +++ b/src/test/java/org/springframework/hateoas/mediatype/PropertyUtilsTest.java @@ -17,6 +17,11 @@ package org.springframework.hateoas.mediatype; import static org.assertj.core.api.Assertions.*; +import jakarta.validation.constraints.Email; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Pattern; +import jakarta.validation.constraints.Size; import lombok.AllArgsConstructor; import lombok.Data; import lombok.Getter; @@ -30,12 +35,6 @@ import java.util.Map; import java.util.Optional; import java.util.stream.Stream; -import javax.validation.constraints.Email; -import javax.validation.constraints.NotBlank; -import javax.validation.constraints.NotNull; -import javax.validation.constraints.Pattern; -import javax.validation.constraints.Size; - import org.hibernate.validator.constraints.Range; import org.hibernate.validator.constraints.URL; import org.junit.jupiter.api.DynamicTest; diff --git a/src/test/java/org/springframework/hateoas/mediatype/hal/forms/HalFormsTemplateBuilderUnitTest.java b/src/test/java/org/springframework/hateoas/mediatype/hal/forms/HalFormsTemplateBuilderUnitTest.java index 29a08ce6..93001e8b 100644 --- a/src/test/java/org/springframework/hateoas/mediatype/hal/forms/HalFormsTemplateBuilderUnitTest.java +++ b/src/test/java/org/springframework/hateoas/mediatype/hal/forms/HalFormsTemplateBuilderUnitTest.java @@ -17,6 +17,12 @@ package org.springframework.hateoas.mediatype.hal.forms; import static org.assertj.core.api.Assertions.*; +import jakarta.validation.constraints.DecimalMax; +import jakarta.validation.constraints.DecimalMin; +import jakarta.validation.constraints.Max; +import jakarta.validation.constraints.Min; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Pattern; import lombok.Getter; import java.math.BigDecimal; @@ -25,13 +31,6 @@ import java.util.List; import java.util.Map; import java.util.Optional; -import javax.validation.constraints.DecimalMax; -import javax.validation.constraints.DecimalMin; -import javax.validation.constraints.Max; -import javax.validation.constraints.Min; -import javax.validation.constraints.NotNull; -import javax.validation.constraints.Pattern; - import org.hibernate.validator.constraints.Length; import org.hibernate.validator.constraints.Range; import org.junit.jupiter.api.Test; diff --git a/src/test/java/org/springframework/hateoas/mediatype/hal/forms/Jackson2HalFormsIntegrationTest.java b/src/test/java/org/springframework/hateoas/mediatype/hal/forms/Jackson2HalFormsIntegrationTest.java index 8923218f..369b2a52 100644 --- a/src/test/java/org/springframework/hateoas/mediatype/hal/forms/Jackson2HalFormsIntegrationTest.java +++ b/src/test/java/org/springframework/hateoas/mediatype/hal/forms/Jackson2HalFormsIntegrationTest.java @@ -17,6 +17,8 @@ package org.springframework.hateoas.mediatype.hal.forms; import static org.assertj.core.api.Assertions.*; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Pattern; import lombok.Getter; import net.minidev.json.JSONArray; @@ -29,9 +31,6 @@ import java.util.List; import java.util.Locale; import java.util.function.Consumer; -import javax.validation.constraints.NotNull; -import javax.validation.constraints.Pattern; - import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.params.ParameterizedTest; diff --git a/src/test/java/org/springframework/hateoas/support/Employee.java b/src/test/java/org/springframework/hateoas/support/Employee.java index 923e8910..f82826a2 100644 --- a/src/test/java/org/springframework/hateoas/support/Employee.java +++ b/src/test/java/org/springframework/hateoas/support/Employee.java @@ -15,12 +15,11 @@ */ package org.springframework.hateoas.support; +import jakarta.validation.constraints.NotNull; import lombok.AllArgsConstructor; import lombok.Data; import lombok.With; -import javax.validation.constraints.NotNull; - import com.fasterxml.jackson.annotation.JsonIgnoreProperties; /**