Skip to content

Commit 0efd150

Browse files
committed
Further steps towards JakartaEE.
Remove temporary version placeholders and obsolete version declarations for modules we do not test against anymore. Tweaked the JPA integration and the Jackson Hibernate 5 one in particular to work with the new Jakarta variants. Re-enabled JPA tests. Removed support for Jackson Hibernate 4 integration and JodaTime.
1 parent b4218de commit 0efd150

File tree

7 files changed

+14
-76
lines changed

7 files changed

+14
-76
lines changed

pom.xml

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -28,22 +28,14 @@
2828
<project.type>multi</project.type>
2929
<dist.id>spring-data-rest</dist.id>
3030

31-
<!-- Temporarily here -->
32-
<spring>6.0.0-SNAPSHOT</spring>
33-
<spring-hateoas>2.0.0-SNAPSHOT</spring-hateoas>
34-
<validation>3.0.0</validation>
35-
3631
<springdata.commons>3.0.0-SNAPSHOT</springdata.commons>
37-
<springdata.jpa>2.6.0-SNAPSHOT</springdata.jpa>
38-
<springdata.mongodb>3.3.0-SNAPSHOT</springdata.mongodb>
39-
<springdata.geode>2.6.0-SNAPSHOT</springdata.geode>
40-
<springdata.solr>4.4.0-SNAPSHOT</springdata.solr>
41-
<springdata.cassandra>3.3.0-SNAPSHOT</springdata.cassandra>
42-
<springdata.keyvalue>2.6.0-SNAPSHOT</springdata.keyvalue>
32+
<springdata.jpa>3.0.0-SNAPSHOT</springdata.jpa>
33+
<springdata.mongodb>4.0.0-SNAPSHOT</springdata.mongodb>
34+
<springdata.geode>3.0.0-SNAPSHOT</springdata.geode>
35+
<springdata.keyvalue>3.0.0-SNAPSHOT</springdata.keyvalue>
4336
<servlet.version>5.0.0</servlet.version>
4437

4538
<hibernate.version>5.5.7.Final</hibernate.version>
46-
<bundlor.enabled>false</bundlor.enabled>
4739
</properties>
4840

4941
<developers>

spring-data-rest-tests/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
<modules>
1717
<module>spring-data-rest-tests-core</module>
1818
<module>spring-data-rest-tests-geode</module>
19-
<!--<module>spring-data-rest-tests-jpa</module>-->
19+
<module>spring-data-rest-tests-jpa</module>
2020
<module>spring-data-rest-tests-mongodb</module>
2121
<!--<module>spring-data-rest-tests-security</module>-->
2222
<module>spring-data-rest-tests-shop</module>

spring-data-rest-tests/spring-data-rest-tests-jpa/pom.xml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,8 @@
5151

5252
<dependency>
5353
<groupId>com.fasterxml.jackson.datatype</groupId>
54-
<artifactId>jackson-datatype-hibernate5</artifactId>
54+
<artifactId>jackson-datatype-hibernate5-jakarta</artifactId>
55+
<version>${jackson}</version>
5556
</dependency>
5657

5758
</dependencies>

spring-data-rest-webmvc/pom.xml

Lines changed: 1 addition & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -73,13 +73,7 @@
7373

7474
<dependency>
7575
<groupId>com.fasterxml.jackson.datatype</groupId>
76-
<artifactId>jackson-datatype-hibernate4</artifactId>
77-
<optional>true</optional>
78-
</dependency>
79-
80-
<dependency>
81-
<groupId>com.fasterxml.jackson.datatype</groupId>
82-
<artifactId>jackson-datatype-hibernate5</artifactId>
76+
<artifactId>jackson-datatype-hibernate5-jakarta</artifactId>
8377
<optional>true</optional>
8478
</dependency>
8579

@@ -90,14 +84,6 @@
9084
<optional>true</optional>
9185
</dependency>
9286

93-
<!-- Jackson JodaTime -->
94-
95-
<dependency>
96-
<groupId>com.fasterxml.jackson.datatype</groupId>
97-
<artifactId>jackson-datatype-joda</artifactId>
98-
<optional>true</optional>
99-
</dependency>
100-
10187
<!-- Querydsl -->
10288

10389
<dependency>

spring-data-rest-webmvc/src/main/java/org/springframework/data/rest/webmvc/PersistentEntityResource.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -230,7 +230,6 @@ public PersistentEntityResource buildNested() {
230230

231231
private static class NoLinksResources<T> extends CollectionModel<T> {
232232

233-
@SuppressWarnings("deprecation")
234233
public NoLinksResources(Iterable<T> content) {
235234
super(content);
236235
}

spring-data-rest-webmvc/src/main/java/org/springframework/data/rest/webmvc/config/RepositoryRestMvcConfiguration.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,7 @@
157157
public class RepositoryRestMvcConfiguration extends HateoasAwareSpringDataWebConfiguration
158158
implements BeanClassLoaderAware {
159159

160-
private static final boolean IS_JPA_AVAILABLE = ClassUtils.isPresent("javax.persistence.EntityManager",
160+
private static final boolean IS_JPA_AVAILABLE = ClassUtils.isPresent("jakarta.persistence.EntityManager",
161161
RepositoryRestMvcConfiguration.class.getClassLoader());
162162

163163
private final ApplicationContext applicationContext;

spring-data-rest-webmvc/src/main/java/org/springframework/data/rest/webmvc/json/Jackson2DatatypeHelper.java

Lines changed: 5 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,7 @@
1919
import org.springframework.util.ClassUtils;
2020

2121
import com.fasterxml.jackson.databind.ObjectMapper;
22-
import com.fasterxml.jackson.databind.SerializationFeature;
23-
import com.fasterxml.jackson.datatype.hibernate4.Hibernate4Module;
24-
import com.fasterxml.jackson.datatype.hibernate5.Hibernate5Module;
25-
import com.fasterxml.jackson.datatype.joda.JodaModule;
22+
import com.fasterxml.jackson.datatype.hibernate5.jakarta.Hibernate5JakartaModule;
2623

2724
/**
2825
* Helper class to register datatype modules based on their presence in the classpath.
@@ -34,69 +31,32 @@ public class Jackson2DatatypeHelper {
3431

3532
private static final boolean IS_HIBERNATE_AVAILABLE = ClassUtils.isPresent("org.hibernate.Version",
3633
Jackson2DatatypeHelper.class.getClassLoader());
37-
private static final boolean IS_HIBERNATE4_MODULE_AVAILABLE = ClassUtils.isPresent(
38-
"com.fasterxml.jackson.datatype.hibernate4.Hibernate4Module", Jackson2DatatypeHelper.class.getClassLoader());
3934
private static final boolean IS_HIBERNATE5_MODULE_AVAILABLE = ClassUtils.isPresent(
40-
"com.fasterxml.jackson.datatype.hibernate5.Hibernate5Module", Jackson2DatatypeHelper.class.getClassLoader());
41-
42-
private static final boolean IS_JODA_MODULE_AVAILABLE = ClassUtils
43-
.isPresent("com.fasterxml.jackson.datatype.joda.JodaModule", Jackson2DatatypeHelper.class.getClassLoader());
35+
"com.fasterxml.jackson.datatype.hibernate5.jakarta.Hibernate5JakartaModule",
36+
Jackson2DatatypeHelper.class.getClassLoader());
4437

4538
public static void configureObjectMapper(ObjectMapper mapper) {
4639

47-
// Hibernate types
48-
if (IS_HIBERNATE_AVAILABLE && HibernateVersions.isHibernate4() && IS_HIBERNATE4_MODULE_AVAILABLE) {
49-
new Hibernate4ModuleRegistrar().registerModule(mapper);
50-
}
51-
5240
if (IS_HIBERNATE_AVAILABLE && HibernateVersions.isHibernate5() && IS_HIBERNATE5_MODULE_AVAILABLE) {
5341
new Hibernate5ModuleRegistrar().registerModule(mapper);
5442
}
55-
56-
// JODA time
57-
if (IS_JODA_MODULE_AVAILABLE) {
58-
JodaModuleRegistrar.registerModule(mapper);
59-
}
6043
}
6144

6245
private static class HibernateVersions {
6346

64-
public static boolean isHibernate4() {
65-
return Version.getVersionString().startsWith("4");
66-
}
67-
6847
public static boolean isHibernate5() {
6948
return Version.getVersionString().startsWith("5");
7049
}
7150
}
7251

73-
private static class Hibernate4ModuleRegistrar {
74-
75-
public void registerModule(ObjectMapper mapper) {
76-
77-
Hibernate4Module module = new Hibernate4Module();
78-
module.enable(Hibernate4Module.Feature.FORCE_LAZY_LOADING);
79-
80-
mapper.registerModule(module);
81-
}
82-
}
83-
8452
private static class Hibernate5ModuleRegistrar {
8553

8654
public void registerModule(ObjectMapper mapper) {
8755

88-
Hibernate5Module module = new Hibernate5Module();
89-
module.enable(Hibernate5Module.Feature.FORCE_LAZY_LOADING);
56+
Hibernate5JakartaModule module = new Hibernate5JakartaModule();
57+
module.enable(Hibernate5JakartaModule.Feature.FORCE_LAZY_LOADING);
9058

9159
mapper.registerModule(module);
9260
}
9361
}
94-
95-
private static class JodaModuleRegistrar {
96-
97-
public static void registerModule(ObjectMapper mapper) {
98-
mapper.registerModule(new JodaModule());
99-
mapper.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS);
100-
}
101-
}
10262
}

0 commit comments

Comments
 (0)