diff --git a/pom.xml b/pom.xml index 38fa33181..5fcfb8c3b 100644 --- a/pom.xml +++ b/pom.xml @@ -28,22 +28,14 @@ multi spring-data-rest - - 6.0.0-SNAPSHOT - 2.0.0-SNAPSHOT - 3.0.0 - 3.0.0-SNAPSHOT - 2.6.0-SNAPSHOT - 3.3.0-SNAPSHOT - 2.6.0-SNAPSHOT - 4.4.0-SNAPSHOT - 3.3.0-SNAPSHOT - 2.6.0-SNAPSHOT + 3.0.0-SNAPSHOT + 4.0.0-SNAPSHOT + 3.0.0-SNAPSHOT + 3.0.0-SNAPSHOT 5.0.0 5.5.7.Final - false diff --git a/spring-data-rest-tests/pom.xml b/spring-data-rest-tests/pom.xml index 9140a7cfe..85660d3dc 100644 --- a/spring-data-rest-tests/pom.xml +++ b/spring-data-rest-tests/pom.xml @@ -16,7 +16,7 @@ spring-data-rest-tests-core spring-data-rest-tests-geode - + spring-data-rest-tests-jpa spring-data-rest-tests-mongodb spring-data-rest-tests-shop diff --git a/spring-data-rest-tests/spring-data-rest-tests-jpa/pom.xml b/spring-data-rest-tests/spring-data-rest-tests-jpa/pom.xml index 06b6a767f..f82114987 100644 --- a/spring-data-rest-tests/spring-data-rest-tests-jpa/pom.xml +++ b/spring-data-rest-tests/spring-data-rest-tests-jpa/pom.xml @@ -51,7 +51,8 @@ com.fasterxml.jackson.datatype - jackson-datatype-hibernate5 + jackson-datatype-hibernate5-jakarta + ${jackson} diff --git a/spring-data-rest-webmvc/pom.xml b/spring-data-rest-webmvc/pom.xml index bf75ac842..6517abe4f 100644 --- a/spring-data-rest-webmvc/pom.xml +++ b/spring-data-rest-webmvc/pom.xml @@ -73,13 +73,7 @@ com.fasterxml.jackson.datatype - jackson-datatype-hibernate4 - true - - - - com.fasterxml.jackson.datatype - jackson-datatype-hibernate5 + jackson-datatype-hibernate5-jakarta true @@ -90,14 +84,6 @@ true - - - - com.fasterxml.jackson.datatype - jackson-datatype-joda - true - - diff --git a/spring-data-rest-webmvc/src/main/java/org/springframework/data/rest/webmvc/PersistentEntityResource.java b/spring-data-rest-webmvc/src/main/java/org/springframework/data/rest/webmvc/PersistentEntityResource.java index 4dee448b5..7e4827f72 100644 --- a/spring-data-rest-webmvc/src/main/java/org/springframework/data/rest/webmvc/PersistentEntityResource.java +++ b/spring-data-rest-webmvc/src/main/java/org/springframework/data/rest/webmvc/PersistentEntityResource.java @@ -230,7 +230,6 @@ public class PersistentEntityResource extends EntityModel { private static class NoLinksResources extends CollectionModel { - @SuppressWarnings("deprecation") public NoLinksResources(Iterable content) { super(content); } diff --git a/spring-data-rest-webmvc/src/main/java/org/springframework/data/rest/webmvc/config/RepositoryRestMvcConfiguration.java b/spring-data-rest-webmvc/src/main/java/org/springframework/data/rest/webmvc/config/RepositoryRestMvcConfiguration.java index 2da451c8b..c2ac9c0a1 100644 --- a/spring-data-rest-webmvc/src/main/java/org/springframework/data/rest/webmvc/config/RepositoryRestMvcConfiguration.java +++ b/spring-data-rest-webmvc/src/main/java/org/springframework/data/rest/webmvc/config/RepositoryRestMvcConfiguration.java @@ -157,7 +157,7 @@ import com.fasterxml.jackson.datatype.jdk8.Jdk8Module; public class RepositoryRestMvcConfiguration extends HateoasAwareSpringDataWebConfiguration implements BeanClassLoaderAware { - private static final boolean IS_JPA_AVAILABLE = ClassUtils.isPresent("javax.persistence.EntityManager", + private static final boolean IS_JPA_AVAILABLE = ClassUtils.isPresent("jakarta.persistence.EntityManager", RepositoryRestMvcConfiguration.class.getClassLoader()); private final ApplicationContext applicationContext; diff --git a/spring-data-rest-webmvc/src/main/java/org/springframework/data/rest/webmvc/json/Jackson2DatatypeHelper.java b/spring-data-rest-webmvc/src/main/java/org/springframework/data/rest/webmvc/json/Jackson2DatatypeHelper.java index 657c27e67..a2de0c624 100644 --- a/spring-data-rest-webmvc/src/main/java/org/springframework/data/rest/webmvc/json/Jackson2DatatypeHelper.java +++ b/spring-data-rest-webmvc/src/main/java/org/springframework/data/rest/webmvc/json/Jackson2DatatypeHelper.java @@ -19,10 +19,7 @@ import org.hibernate.Version; import org.springframework.util.ClassUtils; import com.fasterxml.jackson.databind.ObjectMapper; -import com.fasterxml.jackson.databind.SerializationFeature; -import com.fasterxml.jackson.datatype.hibernate4.Hibernate4Module; -import com.fasterxml.jackson.datatype.hibernate5.Hibernate5Module; -import com.fasterxml.jackson.datatype.joda.JodaModule; +import com.fasterxml.jackson.datatype.hibernate5.jakarta.Hibernate5JakartaModule; /** * Helper class to register datatype modules based on their presence in the classpath. @@ -34,69 +31,32 @@ public class Jackson2DatatypeHelper { private static final boolean IS_HIBERNATE_AVAILABLE = ClassUtils.isPresent("org.hibernate.Version", Jackson2DatatypeHelper.class.getClassLoader()); - private static final boolean IS_HIBERNATE4_MODULE_AVAILABLE = ClassUtils.isPresent( - "com.fasterxml.jackson.datatype.hibernate4.Hibernate4Module", Jackson2DatatypeHelper.class.getClassLoader()); private static final boolean IS_HIBERNATE5_MODULE_AVAILABLE = ClassUtils.isPresent( - "com.fasterxml.jackson.datatype.hibernate5.Hibernate5Module", Jackson2DatatypeHelper.class.getClassLoader()); - - private static final boolean IS_JODA_MODULE_AVAILABLE = ClassUtils - .isPresent("com.fasterxml.jackson.datatype.joda.JodaModule", Jackson2DatatypeHelper.class.getClassLoader()); + "com.fasterxml.jackson.datatype.hibernate5.jakarta.Hibernate5JakartaModule", + Jackson2DatatypeHelper.class.getClassLoader()); public static void configureObjectMapper(ObjectMapper mapper) { - // Hibernate types - if (IS_HIBERNATE_AVAILABLE && HibernateVersions.isHibernate4() && IS_HIBERNATE4_MODULE_AVAILABLE) { - new Hibernate4ModuleRegistrar().registerModule(mapper); - } - if (IS_HIBERNATE_AVAILABLE && HibernateVersions.isHibernate5() && IS_HIBERNATE5_MODULE_AVAILABLE) { new Hibernate5ModuleRegistrar().registerModule(mapper); } - - // JODA time - if (IS_JODA_MODULE_AVAILABLE) { - JodaModuleRegistrar.registerModule(mapper); - } } private static class HibernateVersions { - public static boolean isHibernate4() { - return Version.getVersionString().startsWith("4"); - } - public static boolean isHibernate5() { return Version.getVersionString().startsWith("5"); } } - private static class Hibernate4ModuleRegistrar { - - public void registerModule(ObjectMapper mapper) { - - Hibernate4Module module = new Hibernate4Module(); - module.enable(Hibernate4Module.Feature.FORCE_LAZY_LOADING); - - mapper.registerModule(module); - } - } - private static class Hibernate5ModuleRegistrar { public void registerModule(ObjectMapper mapper) { - Hibernate5Module module = new Hibernate5Module(); - module.enable(Hibernate5Module.Feature.FORCE_LAZY_LOADING); + Hibernate5JakartaModule module = new Hibernate5JakartaModule(); + module.enable(Hibernate5JakartaModule.Feature.FORCE_LAZY_LOADING); mapper.registerModule(module); } } - - private static class JodaModuleRegistrar { - - public static void registerModule(ObjectMapper mapper) { - mapper.registerModule(new JodaModule()); - mapper.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS); - } - } }