This is an automated email from the ASF dual-hosted git repository.
ilgrosso pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/syncope.git
The following commit(s) were added to refs/heads/master by this push:
new cb9dc8b Consolidating Jackson config for Core and Client into Common
+ ditching Joda for JavaTimeModule + enabling AfterburnerModule
cb9dc8b is described below
commit cb9dc8b5d7ba5ed83d7624c79c2be04a9d44d145
Author: Francesco Chicchiriccò <[email protected]>
AuthorDate: Wed Jun 17 09:00:50 2020 +0200
Consolidating Jackson config for Core and Client into Common + ditching
Joda for JavaTimeModule + enabling AfterburnerModule
---
client/idrepo/lib/pom.xml | 9 -------
.../client/lib/SyncopeClientFactoryBean.java | 30 +++++-----------------
common/idrepo/lib/pom.xml | 9 +++++++
.../common/lib/jackson}/SyncopeObjectMapper.java | 9 ++++---
.../common/lib/jackson}/SyncopeXmlMapper.java | 10 +++++---
.../common/lib/jackson}/SyncopeYAMLMapper.java | 9 ++++---
core/idrepo/rest-cxf/pom.xml | 13 ----------
.../syncope/core/rest/cxf/RESTCXFContext.java | 3 +++
.../rest/cxf/service/AnyObjectServiceTest.java | 6 ++---
.../core/rest/cxf/service/RESTCXFTestContext.java | 6 ++---
core/provisioning-api/pom.xml | 4 ---
ext/elasticsearch/client-elasticsearch/pom.xml | 9 -------
ext/scimv2/scim-rest-cxf/pom.xml | 13 ----------
ext/self-keymaster/client/pom.xml | 4 ---
pom.xml | 23 ++---------------
15 files changed, 45 insertions(+), 112 deletions(-)
diff --git a/client/idrepo/lib/pom.xml b/client/idrepo/lib/pom.xml
index 6062661..904d9f8 100644
--- a/client/idrepo/lib/pom.xml
+++ b/client/idrepo/lib/pom.xml
@@ -48,10 +48,6 @@ under the License.
</dependency>
<dependency>
- <groupId>com.fasterxml.jackson.datatype</groupId>
- <artifactId>jackson-datatype-joda</artifactId>
- </dependency>
- <dependency>
<groupId>com.fasterxml.jackson.jaxrs</groupId>
<artifactId>jackson-jaxrs-json-provider</artifactId>
</dependency>
@@ -65,11 +61,6 @@ under the License.
</dependency>
<dependency>
- <groupId>joda-time</groupId>
- <artifactId>joda-time</artifactId>
- </dependency>
-
- <dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
</dependency>
diff --git
a/client/idrepo/lib/src/main/java/org/apache/syncope/client/lib/SyncopeClientFactoryBean.java
b/client/idrepo/lib/src/main/java/org/apache/syncope/client/lib/SyncopeClientFactoryBean.java
index bec3941..04c6338 100644
---
a/client/idrepo/lib/src/main/java/org/apache/syncope/client/lib/SyncopeClientFactoryBean.java
+++
b/client/idrepo/lib/src/main/java/org/apache/syncope/client/lib/SyncopeClientFactoryBean.java
@@ -18,26 +18,20 @@
*/
package org.apache.syncope.client.lib;
-import com.fasterxml.jackson.annotation.JsonSetter;
-import com.fasterxml.jackson.annotation.Nulls;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.databind.SerializationFeature;
-import com.fasterxml.jackson.dataformat.xml.XmlMapper;
-import com.fasterxml.jackson.dataformat.yaml.YAMLMapper;
-import com.fasterxml.jackson.datatype.joda.JodaModule;
import com.fasterxml.jackson.jaxrs.json.JacksonJsonProvider;
import com.fasterxml.jackson.jaxrs.xml.JacksonXMLProvider;
import com.fasterxml.jackson.jaxrs.yaml.JacksonYAMLProvider;
import java.util.HashMap;
import java.util.List;
-import java.util.Map;
import java.util.Optional;
-import java.util.Set;
import javax.ws.rs.core.MediaType;
import org.apache.commons.lang3.StringUtils;
import org.apache.cxf.configuration.jsse.TLSClientParameters;
import org.apache.cxf.ext.logging.LoggingFeature;
import org.apache.cxf.jaxrs.client.JAXRSClientFactoryBean;
+import org.apache.syncope.common.lib.jackson.SyncopeObjectMapper;
+import org.apache.syncope.common.lib.jackson.SyncopeXmlMapper;
+import org.apache.syncope.common.lib.jackson.SyncopeYAMLMapper;
import org.apache.syncope.common.rest.api.DateParamConverterProvider;
import org.apache.syncope.common.rest.api.RESTHeaders;
@@ -93,27 +87,15 @@ public class SyncopeClientFactoryBean {
private JAXRSClientFactoryBean restClientFactoryBean;
protected static JacksonJsonProvider defaultJsonProvider() {
- ObjectMapper objectMapper = new ObjectMapper();
- objectMapper.registerModule(new JodaModule());
- objectMapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS,
false);
- return new JacksonJsonProvider(objectMapper);
+ return new JacksonJsonProvider(new SyncopeObjectMapper());
}
protected static JacksonXMLProvider defaultXmlProvider() {
- XmlMapper xmlMapper = new XmlMapper();
- xmlMapper.registerModule(new JodaModule());
- xmlMapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS,
false);
-
xmlMapper.configOverride(List.class).setSetterInfo(JsonSetter.Value.forValueNulls(Nulls.AS_EMPTY));
-
xmlMapper.configOverride(Set.class).setSetterInfo(JsonSetter.Value.forValueNulls(Nulls.AS_EMPTY));
-
xmlMapper.configOverride(Map.class).setSetterInfo(JsonSetter.Value.forValueNulls(Nulls.AS_EMPTY));
- return new JacksonXMLProvider(xmlMapper);
+ return new JacksonXMLProvider(new SyncopeXmlMapper());
}
protected static JacksonYAMLProvider defaultYamlProvider() {
- YAMLMapper yamlMapper = new YAMLMapper();
- yamlMapper.registerModule(new JodaModule());
- yamlMapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS,
false);
- return new JacksonYAMLProvider(yamlMapper);
+ return new JacksonYAMLProvider(new SyncopeYAMLMapper());
}
protected static RestClientExceptionMapper defaultExceptionMapper() {
diff --git a/common/idrepo/lib/pom.xml b/common/idrepo/lib/pom.xml
index 8c57f6b..f27827a 100644
--- a/common/idrepo/lib/pom.xml
+++ b/common/idrepo/lib/pom.xml
@@ -60,6 +60,15 @@ under the License.
<groupId>com.fasterxml.jackson.dataformat</groupId>
<artifactId>jackson-dataformat-xml</artifactId>
</dependency>
+ <dependency>
+ <groupId>com.fasterxml.jackson.datatype</groupId>
+ <artifactId>jackson-datatype-jsr310</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>com.fasterxml.jackson.module</groupId>
+ <artifactId>jackson-module-afterburner</artifactId>
+ </dependency>
<dependency>
<groupId>org.apache.commons</groupId>
diff --git
a/core/idrepo/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/SyncopeObjectMapper.java
b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/jackson/SyncopeObjectMapper.java
similarity index 91%
rename from
core/idrepo/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/SyncopeObjectMapper.java
rename to
common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/jackson/SyncopeObjectMapper.java
index 42d121d..9daa360 100644
---
a/core/idrepo/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/SyncopeObjectMapper.java
+++
b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/jackson/SyncopeObjectMapper.java
@@ -16,13 +16,14 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.syncope.core.rest.cxf;
+package org.apache.syncope.common.lib.jackson;
import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializationFeature;
-import com.fasterxml.jackson.datatype.joda.JodaModule;
+import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
+import com.fasterxml.jackson.module.afterburner.AfterburnerModule;
import java.io.File;
import java.io.IOException;
import java.io.OutputStream;
@@ -40,7 +41,9 @@ public class SyncopeObjectMapper extends ObjectMapper {
public SyncopeObjectMapper() {
super();
- registerModule(new JodaModule());
+ registerModule(new AfterburnerModule());
+
+ registerModule(new JavaTimeModule());
configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false);
}
diff --git
a/core/idrepo/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/SyncopeXmlMapper.java
b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/jackson/SyncopeXmlMapper.java
similarity index 85%
rename from
core/idrepo/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/SyncopeXmlMapper.java
rename to
common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/jackson/SyncopeXmlMapper.java
index a78f61d..dcf9fec 100644
---
a/core/idrepo/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/SyncopeXmlMapper.java
+++
b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/jackson/SyncopeXmlMapper.java
@@ -16,13 +16,14 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.syncope.core.rest.cxf;
+package org.apache.syncope.common.lib.jackson;
import com.fasterxml.jackson.annotation.JsonSetter;
import com.fasterxml.jackson.annotation.Nulls;
import com.fasterxml.jackson.databind.SerializationFeature;
import com.fasterxml.jackson.dataformat.xml.XmlMapper;
-import com.fasterxml.jackson.datatype.joda.JodaModule;
+import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
+import com.fasterxml.jackson.module.afterburner.AfterburnerModule;
import java.util.List;
import java.util.Map;
import java.util.Set;
@@ -34,8 +35,11 @@ public class SyncopeXmlMapper extends XmlMapper {
public SyncopeXmlMapper() {
super();
- registerModule(new JodaModule());
+ registerModule(new AfterburnerModule());
+
+ registerModule(new JavaTimeModule());
configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false);
+
configOverride(List.class).setSetterInfo(JsonSetter.Value.forValueNulls(Nulls.AS_EMPTY));
configOverride(Set.class).setSetterInfo(JsonSetter.Value.forValueNulls(Nulls.AS_EMPTY));
configOverride(Map.class).setSetterInfo(JsonSetter.Value.forValueNulls(Nulls.AS_EMPTY));
diff --git
a/core/idrepo/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/SyncopeYAMLMapper.java
b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/jackson/SyncopeYAMLMapper.java
similarity index 81%
rename from
core/idrepo/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/SyncopeYAMLMapper.java
rename to
common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/jackson/SyncopeYAMLMapper.java
index b9f2ba3..b13e0a6 100644
---
a/core/idrepo/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/SyncopeYAMLMapper.java
+++
b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/jackson/SyncopeYAMLMapper.java
@@ -16,11 +16,12 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.syncope.core.rest.cxf;
+package org.apache.syncope.common.lib.jackson;
import com.fasterxml.jackson.databind.SerializationFeature;
import com.fasterxml.jackson.dataformat.yaml.YAMLMapper;
-import com.fasterxml.jackson.datatype.joda.JodaModule;
+import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
+import com.fasterxml.jackson.module.afterburner.AfterburnerModule;
public class SyncopeYAMLMapper extends YAMLMapper {
@@ -29,7 +30,9 @@ public class SyncopeYAMLMapper extends YAMLMapper {
public SyncopeYAMLMapper() {
super();
- registerModule(new JodaModule());
+ registerModule(new AfterburnerModule());
+
+ registerModule(new JavaTimeModule());
configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false);
}
}
diff --git a/core/idrepo/rest-cxf/pom.xml b/core/idrepo/rest-cxf/pom.xml
index 108b211..227b836 100644
--- a/core/idrepo/rest-cxf/pom.xml
+++ b/core/idrepo/rest-cxf/pom.xml
@@ -60,10 +60,6 @@ under the License.
</dependency>
<dependency>
- <groupId>com.fasterxml.jackson.datatype</groupId>
- <artifactId>jackson-datatype-joda</artifactId>
- </dependency>
- <dependency>
<groupId>com.fasterxml.jackson.jaxrs</groupId>
<artifactId>jackson-jaxrs-json-provider</artifactId>
</dependency>
@@ -75,17 +71,8 @@ under the License.
<groupId>com.fasterxml.jackson.jaxrs</groupId>
<artifactId>jackson-jaxrs-yaml-provider</artifactId>
</dependency>
- <dependency>
- <groupId>com.fasterxml.jackson.module</groupId>
- <artifactId>jackson-module-afterburner</artifactId>
- </dependency>
<dependency>
- <groupId>joda-time</groupId>
- <artifactId>joda-time</artifactId>
- </dependency>
-
- <dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-frontend-jaxrs</artifactId>
</dependency>
diff --git
a/core/idrepo/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/RESTCXFContext.java
b/core/idrepo/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/RESTCXFContext.java
index c2b9c6d..12603b3 100644
---
a/core/idrepo/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/RESTCXFContext.java
+++
b/core/idrepo/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/RESTCXFContext.java
@@ -40,6 +40,9 @@ import
org.apache.cxf.jaxrs.validation.JAXRSBeanValidationInInterceptor;
import org.apache.cxf.transport.common.gzip.GZIPInInterceptor;
import org.apache.cxf.transport.common.gzip.GZIPOutInterceptor;
import org.apache.cxf.validation.BeanValidationProvider;
+import org.apache.syncope.common.lib.jackson.SyncopeObjectMapper;
+import org.apache.syncope.common.lib.jackson.SyncopeXmlMapper;
+import org.apache.syncope.common.lib.jackson.SyncopeYAMLMapper;
import org.apache.syncope.common.lib.search.SyncopeFiqlParser;
import org.apache.syncope.common.rest.api.DateParamConverterProvider;
import org.springframework.beans.factory.annotation.Autowired;
diff --git
a/core/idrepo/rest-cxf/src/test/java/org/apache/syncope/core/rest/cxf/service/AnyObjectServiceTest.java
b/core/idrepo/rest-cxf/src/test/java/org/apache/syncope/core/rest/cxf/service/AnyObjectServiceTest.java
index 8f2690c..7a54c94 100644
---
a/core/idrepo/rest-cxf/src/test/java/org/apache/syncope/core/rest/cxf/service/AnyObjectServiceTest.java
+++
b/core/idrepo/rest-cxf/src/test/java/org/apache/syncope/core/rest/cxf/service/AnyObjectServiceTest.java
@@ -75,9 +75,9 @@ import
org.apache.syncope.core.persistence.api.dao.search.SearchCond;
import org.apache.syncope.core.persistence.api.search.SearchCondVisitor;
import org.apache.syncope.core.rest.cxf.AddETagFilter;
import org.apache.syncope.core.rest.cxf.RestServiceExceptionMapper;
-import org.apache.syncope.core.rest.cxf.SyncopeObjectMapper;
-import org.apache.syncope.core.rest.cxf.SyncopeXmlMapper;
-import org.apache.syncope.core.rest.cxf.SyncopeYAMLMapper;
+import org.apache.syncope.common.lib.jackson.SyncopeObjectMapper;
+import org.apache.syncope.common.lib.jackson.SyncopeXmlMapper;
+import org.apache.syncope.common.lib.jackson.SyncopeYAMLMapper;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
diff --git
a/core/idrepo/rest-cxf/src/test/java/org/apache/syncope/core/rest/cxf/service/RESTCXFTestContext.java
b/core/idrepo/rest-cxf/src/test/java/org/apache/syncope/core/rest/cxf/service/RESTCXFTestContext.java
index 83f0efc..7195693 100644
---
a/core/idrepo/rest-cxf/src/test/java/org/apache/syncope/core/rest/cxf/service/RESTCXFTestContext.java
+++
b/core/idrepo/rest-cxf/src/test/java/org/apache/syncope/core/rest/cxf/service/RESTCXFTestContext.java
@@ -29,9 +29,9 @@ import org.apache.cxf.validation.BeanValidationProvider;
import org.apache.syncope.common.rest.api.DateParamConverterProvider;
import org.apache.syncope.core.rest.cxf.AddETagFilter;
import org.apache.syncope.core.rest.cxf.RestServiceExceptionMapper;
-import org.apache.syncope.core.rest.cxf.SyncopeObjectMapper;
-import org.apache.syncope.core.rest.cxf.SyncopeXmlMapper;
-import org.apache.syncope.core.rest.cxf.SyncopeYAMLMapper;
+import org.apache.syncope.common.lib.jackson.SyncopeObjectMapper;
+import org.apache.syncope.common.lib.jackson.SyncopeXmlMapper;
+import org.apache.syncope.common.lib.jackson.SyncopeYAMLMapper;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
diff --git a/core/provisioning-api/pom.xml b/core/provisioning-api/pom.xml
index 8a1b283..68289e8 100644
--- a/core/provisioning-api/pom.xml
+++ b/core/provisioning-api/pom.xml
@@ -48,10 +48,6 @@ under the License.
<artifactId>jackson-core</artifactId>
</dependency>
<dependency>
- <groupId>com.fasterxml.jackson.core</groupId>
- <artifactId>jackson-databind</artifactId>
- </dependency>
- <dependency>
<groupId>com.fasterxml.jackson.module</groupId>
<artifactId>jackson-module-afterburner</artifactId>
</dependency>
diff --git a/ext/elasticsearch/client-elasticsearch/pom.xml
b/ext/elasticsearch/client-elasticsearch/pom.xml
index c83ed8d..d7bd416 100644
--- a/ext/elasticsearch/client-elasticsearch/pom.xml
+++ b/ext/elasticsearch/client-elasticsearch/pom.xml
@@ -65,15 +65,6 @@ under the License.
<groupId>com.fasterxml.jackson.dataformat</groupId>
<artifactId>jackson-dataformat-cbor</artifactId>
</dependency>
- <dependency>
- <groupId>com.fasterxml.jackson.datatype</groupId>
- <artifactId>jackson-datatype-joda</artifactId>
- </dependency>
-
- <dependency>
- <groupId>joda-time</groupId>
- <artifactId>joda-time</artifactId>
- </dependency>
</dependencies>
<build>
diff --git a/ext/scimv2/scim-rest-cxf/pom.xml b/ext/scimv2/scim-rest-cxf/pom.xml
index a3eedb5..4b744b0 100644
--- a/ext/scimv2/scim-rest-cxf/pom.xml
+++ b/ext/scimv2/scim-rest-cxf/pom.xml
@@ -50,22 +50,9 @@ under the License.
</dependency>
<dependency>
- <groupId>com.fasterxml.jackson.datatype</groupId>
- <artifactId>jackson-datatype-joda</artifactId>
- </dependency>
- <dependency>
<groupId>com.fasterxml.jackson.jaxrs</groupId>
<artifactId>jackson-jaxrs-json-provider</artifactId>
</dependency>
- <dependency>
- <groupId>com.fasterxml.jackson.module</groupId>
- <artifactId>jackson-module-afterburner</artifactId>
- </dependency>
-
- <dependency>
- <groupId>joda-time</groupId>
- <artifactId>joda-time</artifactId>
- </dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
diff --git a/ext/self-keymaster/client/pom.xml
b/ext/self-keymaster/client/pom.xml
index 5eb0b37..8ce4722 100644
--- a/ext/self-keymaster/client/pom.xml
+++ b/ext/self-keymaster/client/pom.xml
@@ -63,10 +63,6 @@ under the License.
<groupId>com.fasterxml.jackson.jaxrs</groupId>
<artifactId>jackson-jaxrs-json-provider</artifactId>
</dependency>
- <dependency>
- <groupId>com.fasterxml.jackson.module</groupId>
- <artifactId>jackson-module-afterburner</artifactId>
- </dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
diff --git a/pom.xml b/pom.xml
index 3170869..8727028 100644
--- a/pom.xml
+++ b/pom.xml
@@ -446,8 +446,6 @@ under the License.
<commons-text.version>1.8</commons-text.version>
<commons-logging.version>1.1.3</commons-logging.version>
- <joda.version>2.10.6</joda.version>
-
<cas.version>6.2.0-SNAPSHOT</cas.version>
<h2.version>1.4.200</h2.version>
@@ -853,10 +851,6 @@ under the License.
<groupId>com.fasterxml.jackson.datatype</groupId>
<artifactId>jackson-dataformat-cbor</artifactId>
</exclusion>
- <exclusion>
- <groupId>joda-time</groupId>
- <artifactId>joda-time</artifactId>
- </exclusion>
</exclusions>
</dependency>
<dependency>
@@ -971,21 +965,9 @@ under the License.
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.datatype</groupId>
- <artifactId>jackson-datatype-joda</artifactId>
+ <artifactId>jackson-datatype-jsr310</artifactId>
<version>${jackson.version}</version>
- <exclusions>
- <exclusion>
- <groupId>joda-time</groupId>
- <artifactId>joda-time</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
-
- <dependency>
- <groupId>joda-time</groupId>
- <artifactId>joda-time</artifactId>
- <version>${joda.version}</version>
- </dependency>
+ </dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
@@ -2699,7 +2681,6 @@ under the License.
<link>http://fasterxml.github.io/jackson-dataformat-xml/javadoc/2.10/</link>
<link>http://fasterxml.github.io/jackson-dataformats-text/javadoc/yaml/2.10/</link>
<link>http://fasterxml.github.io/jackson-dataformats-text/javadoc/csv/2.10/</link>
-
<link>http://fasterxml.github.io/jackson-datatype-joda/javadoc/2.10/</link>
<link>https://www.javadoc.io/doc/org.apache.camel/camel-core/latest/</link>
<link>https://www.javadoc.io/doc/org.apache.camel/camel-spring/latest/</link>
<link>https://ci.apache.org/projects/wicket/apidocs/8.x/</link>