diff --git a/pom.xml b/pom.xml
index 6ac39df..18cd958 100644
--- a/pom.xml
+++ b/pom.xml
@@ -40,7 +40,7 @@
4.0.6
- 5.0.0
+ 7.0.2
3.18.0
@@ -99,7 +99,7 @@
provided
- com.fasterxml.jackson.core
+ tools.jackson.core
jackson-databind
provided
diff --git a/pom.xml.versionsBackup b/pom.xml.versionsBackup
deleted file mode 100644
index 8863f33..0000000
--- a/pom.xml.versionsBackup
+++ /dev/null
@@ -1,289 +0,0 @@
-
-
- 4.0.0
-
- nl.42
- restzilla
- 4.0.1-SNAPSHOT
- jar
-
- Restzilla
- Dynamic REST endpoints for Spring
- https://github.com/42BV/restzilla
- 2015
-
-
- 42BV
- https://www.42.nl/
-
-
-
-
- Apache Software License 2.0
- https://www.apache.org/licenses
- repo
-
-
-
-
-
- Jeroen van Schagen
- jeroen.van.schagen@42.nl
-
-
-
-
- ${maven.build.timestamp}
-
- UTF-8
- 21
-
-
- 4.0.6
- 5.0.0
- 3.18.0
-
-
- 12.2.2
- 0.8.14
- 0.9.0
- 3.2.8
- 3.4.0
- 3.12.0
-
-
-
- scm:git:git@github.com:42BV/restzilla.git
- scm:git:git@github.com:42BV/restzilla.git
- https://github.com/42BV/restzilla
- HEAD
-
-
-
-
-
- org.springframework.boot
- spring-boot-dependencies
- ${spring.boot.version}
- pom
- import
-
-
-
-
-
-
- io.beanmapper
- beanmapper-spring
- ${beanmapper.version}
-
-
- org.apache.commons
- commons-lang3
- ${commons-lang.version}
-
-
- com.google.guava
- guava
- 33.6.0-jre
-
-
-
-
- spring-webmvc
- org.springframework
-
-
- spring-aop
- org.springframework
- provided
-
-
- com.fasterxml.jackson.core
- jackson-databind
- provided
-
-
- jakarta.servlet
- jakarta.servlet-api
- provided
-
-
-
-
- org.springframework.security
- spring-security-web
- provided
-
-
-
-
- org.springframework.data
- spring-data-jpa
- provided
-
-
- org.hibernate.orm
- hibernate-core
- provided
-
-
-
-
- org.springframework.boot
- spring-boot-starter-web
- test
-
-
- org.springframework.boot
- spring-boot-starter-data-jpa
- test
-
-
- org.springframework.boot
- spring-boot-starter-validation
- test
-
-
- org.springframework.boot
- spring-boot-starter-test
- test
-
-
- org.hamcrest
- hamcrest-core
- test
-
-
- com.jayway.jsonpath
- json-path
- test
-
-
- org.hsqldb
- hsqldb
- test
-
-
-
-
-
-
- org.apache.maven.plugins
- maven-compiler-plugin
- 3.15.0
-
- ${java.version}
- ${java.version}
- ${java.version}
-
-
- org.projectlombok
- lombok
-
-
-
-
-
- org.apache.maven.plugins
- maven-surefire-plugin
- 3.5.5
-
-
- org.owasp
- dependency-check-maven
- ${dependency-check-maven.version}
-
- 0
- true
- true
- true
- false
- owasp-suppressions.xml
-
-
-
- org.jacoco
- jacoco-maven-plugin
- ${jacoco-maven-plugin.version}
-
-
-
- prepare-agent
-
-
-
- report
- test
-
- report
-
-
-
-
-
-
-
-
-
- release
-
-
-
- org.apache.maven.plugins
- maven-javadoc-plugin
- ${maven-javadoc-plugin.version}
-
-
- attach-javadocs
-
- jar
-
-
-
-
-
-
- org.apache.maven.plugins
- maven-source-plugin
- ${maven-source-plugin.version}
-
-
- attach-sources
-
- jar-no-fork
-
-
-
-
-
-
- org.apache.maven.plugins
- maven-gpg-plugin
- ${maven-gpg-plugin.version}
-
-
- sign-artifacts
- verify
-
- sign
-
-
-
-
-
-
- org.sonatype.central
- central-publishing-maven-plugin
- ${central-publishing-maven-plugin.version}
- true
-
- central
-
-
-
-
-
-
-
-
diff --git a/src/main/java/nl/_42/restzilla/config/RestHandlerMappingFactoryBean.java b/src/main/java/nl/_42/restzilla/config/RestHandlerMappingFactoryBean.java
index 7dcb9b0..c153bf4 100644
--- a/src/main/java/nl/_42/restzilla/config/RestHandlerMappingFactoryBean.java
+++ b/src/main/java/nl/_42/restzilla/config/RestHandlerMappingFactoryBean.java
@@ -3,7 +3,6 @@
*/
package nl._42.restzilla.config;
-import com.fasterxml.jackson.databind.ObjectMapper;
import io.beanmapper.BeanMapper;
import io.beanmapper.config.BeanMapperBuilder;
import io.beanmapper.utils.Classes;
@@ -30,6 +29,7 @@
import org.springframework.util.ClassUtils;
import org.springframework.validation.Validator;
import org.springframework.web.servlet.HandlerMapping;
+import tools.jackson.databind.ObjectMapper;
import java.util.HashSet;
import java.util.Set;
diff --git a/src/main/java/nl/_42/restzilla/web/DefaultHandlerMappingFactory.java b/src/main/java/nl/_42/restzilla/web/DefaultHandlerMappingFactory.java
index 0d762ea..ab1d040 100644
--- a/src/main/java/nl/_42/restzilla/web/DefaultHandlerMappingFactory.java
+++ b/src/main/java/nl/_42/restzilla/web/DefaultHandlerMappingFactory.java
@@ -1,6 +1,5 @@
package nl._42.restzilla.web;
-import com.fasterxml.jackson.databind.ObjectMapper;
import com.google.common.io.CharStreams;
import io.beanmapper.BeanMapper;
import jakarta.servlet.http.HttpServletRequest;
@@ -32,6 +31,7 @@
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.method.HandlerMethod;
+import tools.jackson.databind.ObjectMapper;
import java.io.Serializable;
import java.lang.reflect.Method;
diff --git a/src/main/java/nl/_42/restzilla/web/util/JsonUtil.java b/src/main/java/nl/_42/restzilla/web/util/JsonUtil.java
index ccc52a3..90600e2 100644
--- a/src/main/java/nl/_42/restzilla/web/util/JsonUtil.java
+++ b/src/main/java/nl/_42/restzilla/web/util/JsonUtil.java
@@ -1,10 +1,9 @@
package nl._42.restzilla.web.util;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
+import tools.jackson.databind.JsonNode;
+import tools.jackson.databind.ObjectMapper;
import org.springframework.util.StringUtils;
-import java.io.IOException;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
@@ -28,14 +27,14 @@ public static Set getPropertyNamesFromJson(String json, ObjectMapper obj
try {
JsonNode tree = objectMapper.readTree(json);
return getPropertyNames(tree, "");
- } catch (IOException e) {
+ } catch (RuntimeException e) {
throw new IllegalStateException("Could not retrieve property names from JSON.", e);
}
}
private static Set getPropertyNames(JsonNode node, String base) {
Set propertyNames = new HashSet<>();
- Iterator iterator = node.fieldNames();
+ Iterator iterator = node.propertyNames().iterator();
while (iterator.hasNext()) {
String fieldName = iterator.next();
String propertyName = StringUtils.isEmpty(base) ? fieldName : base + "." + fieldName;
diff --git a/src/test/java/nl/_42/restzilla/ApplicationConfig.java b/src/test/java/nl/_42/restzilla/ApplicationConfig.java
index 4bc3a56..a116d5f 100644
--- a/src/test/java/nl/_42/restzilla/ApplicationConfig.java
+++ b/src/test/java/nl/_42/restzilla/ApplicationConfig.java
@@ -3,7 +3,6 @@
*/
package nl._42.restzilla;
-import com.fasterxml.jackson.databind.ObjectMapper;
import io.beanmapper.BeanMapper;
import io.beanmapper.config.BeanMapperBuilder;
import nl._42.restzilla.config.EnableRest;
@@ -19,19 +18,18 @@
import org.springframework.context.annotation.ComponentScan.Filter;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
-import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
+import org.springframework.http.converter.json.JacksonJsonHttpMessageConverter;
import org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseBuilder;
import org.springframework.orm.jpa.JpaTransactionManager;
import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean;
import org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter;
import org.springframework.stereotype.Controller;
import org.springframework.transaction.annotation.EnableTransactionManagement;
-import org.springframework.validation.Validator;
-import org.springframework.validation.beanvalidation.CustomValidatorBean;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter;
+import tools.jackson.databind.json.JsonMapper;
import javax.sql.DataSource;
import java.util.HashMap;
@@ -63,7 +61,7 @@ public class ApplicationConfig {
@Autowired
@Qualifier("hibernateDialect")
private String hibernateDialect;
-
+
@Bean
public LocalContainerEntityManagerFactoryBean entityManagerFactory() {
LocalContainerEntityManagerFactoryBean entityManagerFactoryBean = new LocalContainerEntityManagerFactoryBean();
@@ -93,13 +91,6 @@ public JpaTransactionManager transactionManager() {
return transactionManager;
}
- @Bean
- public ObjectMapper objectMapper() {
- ObjectMapper mapper = new ObjectMapper();
- mapper.findAndRegisterModules();
- return mapper;
- }
-
@Bean
public BeanMapper beanMapper() {
return new BeanMapperBuilder().build();
@@ -112,12 +103,15 @@ public RequestMappingHandlerAdapter requestMappingHandlerAdapter() {
return adapter;
}
- private MappingJackson2HttpMessageConverter mappingJackson2HttpMessageConverter() {
- MappingJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter();
- converter.setObjectMapper(objectMapper());
- return converter;
+ private JacksonJsonHttpMessageConverter mappingJackson2HttpMessageConverter() {
+ return new JacksonJsonHttpMessageConverter(jsonMapper());
}
-
+
+ @Bean
+ public JsonMapper jsonMapper() {
+ return new JsonMapper();
+ }
+
@Bean
public Cache cache() {
return new ConcurrentMapCache("test");
@@ -129,17 +123,17 @@ public GlobalExceptionHandler exceptionHandler() {
}
public static class HsqlConfig {
-
+
@Bean
public DataSource dataSource() {
return new EmbeddedDatabaseBuilder().setName("dev").setType(HSQL).build();
}
-
+
@Bean
public String hibernateDialect() {
return HSQLDialect.class.getName();
}
-
+
}
}
diff --git a/src/test/java/nl/_42/restzilla/web/GlobalExceptionHandler.java b/src/test/java/nl/_42/restzilla/web/GlobalExceptionHandler.java
index 12c90a3..acec080 100644
--- a/src/test/java/nl/_42/restzilla/web/GlobalExceptionHandler.java
+++ b/src/test/java/nl/_42/restzilla/web/GlobalExceptionHandler.java
@@ -9,7 +9,7 @@
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.NoHandlerFoundException;
-import org.springframework.web.servlet.view.json.MappingJackson2JsonView;
+import org.springframework.web.servlet.view.json.JacksonJsonView;
import static org.springframework.http.HttpStatus.FORBIDDEN;
import static org.springframework.http.HttpStatus.INTERNAL_SERVER_ERROR;
@@ -47,7 +47,7 @@ public ModelAndView handleException(HttpServletResponse response, Exception ex)
private static ModelAndView error(HttpServletResponse response, HttpStatus status) {
response.setStatus(status.value());
- return new ModelAndView(new MappingJackson2JsonView(), "error", status.name());
+ return new ModelAndView(new JacksonJsonView(), "error", status.name());
}
}
diff --git a/src/test/java/nl/_42/restzilla/web/RestTest.java b/src/test/java/nl/_42/restzilla/web/RestTest.java
index 2ae216e..1ebb75a 100644
--- a/src/test/java/nl/_42/restzilla/web/RestTest.java
+++ b/src/test/java/nl/_42/restzilla/web/RestTest.java
@@ -3,7 +3,6 @@
*/
package nl._42.restzilla.web;
-import com.fasterxml.jackson.databind.ObjectMapper;
import jakarta.persistence.EntityManager;
import jakarta.persistence.PersistenceContext;
import nl._42.restzilla.AbstractControllerTest;
@@ -27,6 +26,7 @@
import org.springframework.http.MediaType;
import org.springframework.security.authentication.TestingAuthenticationToken;
import org.springframework.transaction.annotation.Transactional;
+import tools.jackson.databind.ObjectMapper;
import java.util.List;