From 66a2df2dfbb2b88c248b60ec5e8b28c9a229e463 Mon Sep 17 00:00:00 2001 From: linux_china Date: Mon, 9 Mar 2020 22:28:12 -0700 Subject: [PATCH 1/8] change mapper.enableDefaultTyping to mapper.activateDefaultTyping because of API changed --- .../cluster/codec/jackson/smile/DefaultObjectMapper.java | 2 +- .../io/scalecube/cluster/codec/jackson/DefaultObjectMapper.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/codec-parent/codec-jackson-smile/src/main/java/io/scalecube/cluster/codec/jackson/smile/DefaultObjectMapper.java b/codec-parent/codec-jackson-smile/src/main/java/io/scalecube/cluster/codec/jackson/smile/DefaultObjectMapper.java index e1ea1ca4..bc51e5b6 100644 --- a/codec-parent/codec-jackson-smile/src/main/java/io/scalecube/cluster/codec/jackson/smile/DefaultObjectMapper.java +++ b/codec-parent/codec-jackson-smile/src/main/java/io/scalecube/cluster/codec/jackson/smile/DefaultObjectMapper.java @@ -28,7 +28,7 @@ private static ObjectMapper initMapper() { mapper.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY); mapper.setSerializationInclusion(JsonInclude.Include.NON_NULL); mapper.configure(SerializationFeature.WRITE_ENUMS_USING_TO_STRING, true); - mapper.enableDefaultTyping( + mapper.activateDefaultTyping( LaissezFaireSubTypeValidator.instance, DefaultTyping.JAVA_LANG_OBJECT, JsonTypeInfo.As.WRAPPER_OBJECT); diff --git a/codec-parent/codec-jackson/src/main/java/io/scalecube/cluster/codec/jackson/DefaultObjectMapper.java b/codec-parent/codec-jackson/src/main/java/io/scalecube/cluster/codec/jackson/DefaultObjectMapper.java index d364b3b6..babc2c51 100644 --- a/codec-parent/codec-jackson/src/main/java/io/scalecube/cluster/codec/jackson/DefaultObjectMapper.java +++ b/codec-parent/codec-jackson/src/main/java/io/scalecube/cluster/codec/jackson/DefaultObjectMapper.java @@ -27,7 +27,7 @@ private static ObjectMapper initMapper() { mapper.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY); mapper.setSerializationInclusion(JsonInclude.Include.NON_NULL); mapper.configure(SerializationFeature.WRITE_ENUMS_USING_TO_STRING, true); - mapper.enableDefaultTyping( + mapper.activateDefaultTyping( LaissezFaireSubTypeValidator.instance, DefaultTyping.JAVA_LANG_OBJECT, JsonTypeInfo.As.WRAPPER_OBJECT); From 4a8a1784fad71ffb78f8a9d57c5b246c5d6dc0d9 Mon Sep 17 00:00:00 2001 From: linux_china Date: Mon, 9 Mar 2020 22:28:47 -0700 Subject: [PATCH 2/8] update to jackson 2.10.0 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 7c89a466..188be028 100644 --- a/pom.xml +++ b/pom.xml @@ -25,7 +25,7 @@ 1.7.30 2.8.2 Dysprosium-RELEASE - 2.10.0.pr1 + 2.10.0 2.27.0 5.1.1 From 1224e14b868cdd6f2e4db6a516ebe30114a99f72 Mon Sep 17 00:00:00 2001 From: linux_china Date: Mon, 9 Mar 2020 22:56:16 -0700 Subject: [PATCH 3/8] Make class public and allow developers to customize ObjectMapper, for example CloudEventImpl class from CloudEvents Java SDK --- .../cluster/codec/jackson/smile/DefaultObjectMapper.java | 2 +- .../io/scalecube/cluster/codec/jackson/DefaultObjectMapper.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/codec-parent/codec-jackson-smile/src/main/java/io/scalecube/cluster/codec/jackson/smile/DefaultObjectMapper.java b/codec-parent/codec-jackson-smile/src/main/java/io/scalecube/cluster/codec/jackson/smile/DefaultObjectMapper.java index bc51e5b6..5732001b 100644 --- a/codec-parent/codec-jackson-smile/src/main/java/io/scalecube/cluster/codec/jackson/smile/DefaultObjectMapper.java +++ b/codec-parent/codec-jackson-smile/src/main/java/io/scalecube/cluster/codec/jackson/smile/DefaultObjectMapper.java @@ -11,7 +11,7 @@ import com.fasterxml.jackson.databind.jsontype.impl.LaissezFaireSubTypeValidator; import com.fasterxml.jackson.dataformat.smile.SmileFactory; -final class DefaultObjectMapper { +public final class DefaultObjectMapper { public static final ObjectMapper OBJECT_MAPPER = initMapper(); diff --git a/codec-parent/codec-jackson/src/main/java/io/scalecube/cluster/codec/jackson/DefaultObjectMapper.java b/codec-parent/codec-jackson/src/main/java/io/scalecube/cluster/codec/jackson/DefaultObjectMapper.java index babc2c51..12dddecc 100644 --- a/codec-parent/codec-jackson/src/main/java/io/scalecube/cluster/codec/jackson/DefaultObjectMapper.java +++ b/codec-parent/codec-jackson/src/main/java/io/scalecube/cluster/codec/jackson/DefaultObjectMapper.java @@ -10,7 +10,7 @@ import com.fasterxml.jackson.databind.SerializationFeature; import com.fasterxml.jackson.databind.jsontype.impl.LaissezFaireSubTypeValidator; -final class DefaultObjectMapper { +public final class DefaultObjectMapper { public static final ObjectMapper OBJECT_MAPPER = initMapper(); From c86c0a16530ede4ed583aef86c821cabf279b9cf Mon Sep 17 00:00:00 2001 From: linux_china Date: Tue, 10 Mar 2020 09:54:55 -0700 Subject: [PATCH 4/8] Make DefaultObjectMapper package private --- .../cluster/codec/jackson/smile/DefaultObjectMapper.java | 2 +- .../io/scalecube/cluster/codec/jackson/DefaultObjectMapper.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/codec-parent/codec-jackson-smile/src/main/java/io/scalecube/cluster/codec/jackson/smile/DefaultObjectMapper.java b/codec-parent/codec-jackson-smile/src/main/java/io/scalecube/cluster/codec/jackson/smile/DefaultObjectMapper.java index 5732001b..bc51e5b6 100644 --- a/codec-parent/codec-jackson-smile/src/main/java/io/scalecube/cluster/codec/jackson/smile/DefaultObjectMapper.java +++ b/codec-parent/codec-jackson-smile/src/main/java/io/scalecube/cluster/codec/jackson/smile/DefaultObjectMapper.java @@ -11,7 +11,7 @@ import com.fasterxml.jackson.databind.jsontype.impl.LaissezFaireSubTypeValidator; import com.fasterxml.jackson.dataformat.smile.SmileFactory; -public final class DefaultObjectMapper { +final class DefaultObjectMapper { public static final ObjectMapper OBJECT_MAPPER = initMapper(); diff --git a/codec-parent/codec-jackson/src/main/java/io/scalecube/cluster/codec/jackson/DefaultObjectMapper.java b/codec-parent/codec-jackson/src/main/java/io/scalecube/cluster/codec/jackson/DefaultObjectMapper.java index 12dddecc..babc2c51 100644 --- a/codec-parent/codec-jackson/src/main/java/io/scalecube/cluster/codec/jackson/DefaultObjectMapper.java +++ b/codec-parent/codec-jackson/src/main/java/io/scalecube/cluster/codec/jackson/DefaultObjectMapper.java @@ -10,7 +10,7 @@ import com.fasterxml.jackson.databind.SerializationFeature; import com.fasterxml.jackson.databind.jsontype.impl.LaissezFaireSubTypeValidator; -public final class DefaultObjectMapper { +final class DefaultObjectMapper { public static final ObjectMapper OBJECT_MAPPER = initMapper(); From 889b984a70f278231910822bf2a447487f68ecce Mon Sep 17 00:00:00 2001 From: linux_china Date: Tue, 10 Mar 2020 10:17:04 -0700 Subject: [PATCH 5/8] add jackson-datatype-jdk8 dependency --- codec-parent/codec-jackson-smile/pom.xml | 4 ++++ codec-parent/codec-jackson/pom.xml | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/codec-parent/codec-jackson-smile/pom.xml b/codec-parent/codec-jackson-smile/pom.xml index 11da4049..e2c986c3 100644 --- a/codec-parent/codec-jackson-smile/pom.xml +++ b/codec-parent/codec-jackson-smile/pom.xml @@ -28,6 +28,10 @@ com.fasterxml.jackson.datatype jackson-datatype-jsr310 + + com.fasterxml.jackson.datatype + jackson-datatype-jdk8 + diff --git a/codec-parent/codec-jackson/pom.xml b/codec-parent/codec-jackson/pom.xml index ad3c080f..02711717 100644 --- a/codec-parent/codec-jackson/pom.xml +++ b/codec-parent/codec-jackson/pom.xml @@ -23,6 +23,10 @@ com.fasterxml.jackson.datatype jackson-datatype-jsr310 + + com.fasterxml.jackson.datatype + jackson-datatype-jdk8 + From ae814d96b402781081eed18ab00110c7b06298e5 Mon Sep 17 00:00:00 2001 From: linux_china Date: Tue, 10 Mar 2020 10:17:21 -0700 Subject: [PATCH 6/8] add Jdk8Module for ObjectMapper --- .../cluster/codec/jackson/smile/DefaultObjectMapper.java | 2 ++ .../io/scalecube/cluster/codec/jackson/DefaultObjectMapper.java | 2 ++ 2 files changed, 4 insertions(+) diff --git a/codec-parent/codec-jackson-smile/src/main/java/io/scalecube/cluster/codec/jackson/smile/DefaultObjectMapper.java b/codec-parent/codec-jackson-smile/src/main/java/io/scalecube/cluster/codec/jackson/smile/DefaultObjectMapper.java index bc51e5b6..b3024945 100644 --- a/codec-parent/codec-jackson-smile/src/main/java/io/scalecube/cluster/codec/jackson/smile/DefaultObjectMapper.java +++ b/codec-parent/codec-jackson-smile/src/main/java/io/scalecube/cluster/codec/jackson/smile/DefaultObjectMapper.java @@ -10,6 +10,7 @@ import com.fasterxml.jackson.databind.SerializationFeature; import com.fasterxml.jackson.databind.jsontype.impl.LaissezFaireSubTypeValidator; import com.fasterxml.jackson.dataformat.smile.SmileFactory; +import com.fasterxml.jackson.datatype.jdk8.Jdk8Module; final class DefaultObjectMapper { @@ -32,6 +33,7 @@ private static ObjectMapper initMapper() { LaissezFaireSubTypeValidator.instance, DefaultTyping.JAVA_LANG_OBJECT, JsonTypeInfo.As.WRAPPER_OBJECT); + mapper.registerModule(new Jdk8Module()); return mapper; } } diff --git a/codec-parent/codec-jackson/src/main/java/io/scalecube/cluster/codec/jackson/DefaultObjectMapper.java b/codec-parent/codec-jackson/src/main/java/io/scalecube/cluster/codec/jackson/DefaultObjectMapper.java index babc2c51..c37d8a78 100644 --- a/codec-parent/codec-jackson/src/main/java/io/scalecube/cluster/codec/jackson/DefaultObjectMapper.java +++ b/codec-parent/codec-jackson/src/main/java/io/scalecube/cluster/codec/jackson/DefaultObjectMapper.java @@ -9,6 +9,7 @@ import com.fasterxml.jackson.databind.ObjectMapper.DefaultTyping; import com.fasterxml.jackson.databind.SerializationFeature; import com.fasterxml.jackson.databind.jsontype.impl.LaissezFaireSubTypeValidator; +import com.fasterxml.jackson.datatype.jdk8.Jdk8Module; final class DefaultObjectMapper { @@ -31,6 +32,7 @@ private static ObjectMapper initMapper() { LaissezFaireSubTypeValidator.instance, DefaultTyping.JAVA_LANG_OBJECT, JsonTypeInfo.As.WRAPPER_OBJECT); + mapper.registerModule(new Jdk8Module()); return mapper; } } From acdba51774906bcd1a389d12fec52a8b717c3375 Mon Sep 17 00:00:00 2001 From: linux_china Date: Wed, 11 Mar 2020 10:31:03 -0700 Subject: [PATCH 7/8] Introduce auto-discover ObjectMapper's modules by findAndRegisterModules() --- .../cluster/codec/jackson/smile/DefaultObjectMapper.java | 2 +- .../io/scalecube/cluster/codec/jackson/DefaultObjectMapper.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/codec-parent/codec-jackson-smile/src/main/java/io/scalecube/cluster/codec/jackson/smile/DefaultObjectMapper.java b/codec-parent/codec-jackson-smile/src/main/java/io/scalecube/cluster/codec/jackson/smile/DefaultObjectMapper.java index b3024945..44c12858 100644 --- a/codec-parent/codec-jackson-smile/src/main/java/io/scalecube/cluster/codec/jackson/smile/DefaultObjectMapper.java +++ b/codec-parent/codec-jackson-smile/src/main/java/io/scalecube/cluster/codec/jackson/smile/DefaultObjectMapper.java @@ -33,7 +33,7 @@ private static ObjectMapper initMapper() { LaissezFaireSubTypeValidator.instance, DefaultTyping.JAVA_LANG_OBJECT, JsonTypeInfo.As.WRAPPER_OBJECT); - mapper.registerModule(new Jdk8Module()); + mapper.findAndRegisterModules(); return mapper; } } diff --git a/codec-parent/codec-jackson/src/main/java/io/scalecube/cluster/codec/jackson/DefaultObjectMapper.java b/codec-parent/codec-jackson/src/main/java/io/scalecube/cluster/codec/jackson/DefaultObjectMapper.java index c37d8a78..0ca8e658 100644 --- a/codec-parent/codec-jackson/src/main/java/io/scalecube/cluster/codec/jackson/DefaultObjectMapper.java +++ b/codec-parent/codec-jackson/src/main/java/io/scalecube/cluster/codec/jackson/DefaultObjectMapper.java @@ -32,7 +32,7 @@ private static ObjectMapper initMapper() { LaissezFaireSubTypeValidator.instance, DefaultTyping.JAVA_LANG_OBJECT, JsonTypeInfo.As.WRAPPER_OBJECT); - mapper.registerModule(new Jdk8Module()); + mapper.findAndRegisterModules(); return mapper; } } From 11c3edd977f182c40733e05630f1032642986a4a Mon Sep 17 00:00:00 2001 From: linux_china Date: Wed, 11 Mar 2020 14:53:49 -0700 Subject: [PATCH 8/8] imports optimized --- .../cluster/codec/jackson/smile/DefaultObjectMapper.java | 1 - .../io/scalecube/cluster/codec/jackson/DefaultObjectMapper.java | 1 - 2 files changed, 2 deletions(-) diff --git a/codec-parent/codec-jackson-smile/src/main/java/io/scalecube/cluster/codec/jackson/smile/DefaultObjectMapper.java b/codec-parent/codec-jackson-smile/src/main/java/io/scalecube/cluster/codec/jackson/smile/DefaultObjectMapper.java index 44c12858..94d80470 100644 --- a/codec-parent/codec-jackson-smile/src/main/java/io/scalecube/cluster/codec/jackson/smile/DefaultObjectMapper.java +++ b/codec-parent/codec-jackson-smile/src/main/java/io/scalecube/cluster/codec/jackson/smile/DefaultObjectMapper.java @@ -10,7 +10,6 @@ import com.fasterxml.jackson.databind.SerializationFeature; import com.fasterxml.jackson.databind.jsontype.impl.LaissezFaireSubTypeValidator; import com.fasterxml.jackson.dataformat.smile.SmileFactory; -import com.fasterxml.jackson.datatype.jdk8.Jdk8Module; final class DefaultObjectMapper { diff --git a/codec-parent/codec-jackson/src/main/java/io/scalecube/cluster/codec/jackson/DefaultObjectMapper.java b/codec-parent/codec-jackson/src/main/java/io/scalecube/cluster/codec/jackson/DefaultObjectMapper.java index 0ca8e658..2da4b354 100644 --- a/codec-parent/codec-jackson/src/main/java/io/scalecube/cluster/codec/jackson/DefaultObjectMapper.java +++ b/codec-parent/codec-jackson/src/main/java/io/scalecube/cluster/codec/jackson/DefaultObjectMapper.java @@ -9,7 +9,6 @@ import com.fasterxml.jackson.databind.ObjectMapper.DefaultTyping; import com.fasterxml.jackson.databind.SerializationFeature; import com.fasterxml.jackson.databind.jsontype.impl.LaissezFaireSubTypeValidator; -import com.fasterxml.jackson.datatype.jdk8.Jdk8Module; final class DefaultObjectMapper {