From 20cda944243f834a216316ebd8d3c59758898282 Mon Sep 17 00:00:00 2001 From: Max-Pudov Date: Tue, 9 Oct 2018 15:11:58 +0300 Subject: [PATCH 1/2] CURATOR-481 Remove jackson-mapper-asl-version and update to latest version of jackson --- .../main/java/discovery/InstanceDetails.java | 2 +- .../contexts/GenericDiscoveryContext.java | 8 +++---- .../contexts/IntegerDiscoveryContext.java | 4 ++-- .../contexts/StringDiscoveryContext.java | 4 ++-- .../entity/JsonServiceInstanceMarshaller.java | 6 ++--- .../JsonServiceInstancesMarshaller.java | 8 +++---- .../entity/JsonServiceNamesMarshaller.java | 22 +++++++++---------- .../server/rest/DiscoveryContext.java | 4 ++-- .../server/jetty_jersey/ServiceDetails.java | 3 +-- curator-x-discovery/pom.xml | 5 +++-- .../curator/x/discovery/ServiceInstance.java | 6 ++--- .../details/JsonInstanceSerializer.java | 12 +++++----- .../discovery/details/OldServiceInstance.java | 5 ++--- pom.xml | 9 +------- 14 files changed, 44 insertions(+), 54 deletions(-) diff --git a/curator-examples/src/main/java/discovery/InstanceDetails.java b/curator-examples/src/main/java/discovery/InstanceDetails.java index 0a4152e93e..91e465aeaf 100644 --- a/curator-examples/src/main/java/discovery/InstanceDetails.java +++ b/curator-examples/src/main/java/discovery/InstanceDetails.java @@ -18,7 +18,7 @@ */ package discovery; -import org.codehaus.jackson.map.annotate.JsonRootName; +import com.fasterxml.jackson.annotation.JsonRootName; /** * In a real application, the Service payload will most likely diff --git a/curator-x-discovery-server/src/main/java/org/apache/curator/x/discovery/server/contexts/GenericDiscoveryContext.java b/curator-x-discovery-server/src/main/java/org/apache/curator/x/discovery/server/contexts/GenericDiscoveryContext.java index 4929ccca86..7fae8a7dca 100644 --- a/curator-x-discovery-server/src/main/java/org/apache/curator/x/discovery/server/contexts/GenericDiscoveryContext.java +++ b/curator-x-discovery-server/src/main/java/org/apache/curator/x/discovery/server/contexts/GenericDiscoveryContext.java @@ -18,13 +18,13 @@ */ package org.apache.curator.x.discovery.server.contexts; +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.node.ObjectNode; import com.google.common.reflect.TypeToken; import org.apache.curator.x.discovery.ProviderStrategy; import org.apache.curator.x.discovery.ServiceDiscovery; import org.apache.curator.x.discovery.server.rest.DiscoveryContext; -import org.codehaus.jackson.JsonNode; -import org.codehaus.jackson.map.ObjectMapper; -import org.codehaus.jackson.node.ObjectNode; import javax.ws.rs.ext.ContextResolver; import javax.ws.rs.ext.Provider; @@ -88,7 +88,7 @@ public T unMarshallJson(JsonNode node) throws Exception T payload; ObjectMapper mapper = new ObjectMapper(); //noinspection unchecked - payload = (T)mapper.readValue(node, payloadType.getRawType()); + payload = (T)mapper.readValue(node.toString(), payloadType.getRawType()); return payload; } diff --git a/curator-x-discovery-server/src/main/java/org/apache/curator/x/discovery/server/contexts/IntegerDiscoveryContext.java b/curator-x-discovery-server/src/main/java/org/apache/curator/x/discovery/server/contexts/IntegerDiscoveryContext.java index 7f640d1eb1..27ee618116 100644 --- a/curator-x-discovery-server/src/main/java/org/apache/curator/x/discovery/server/contexts/IntegerDiscoveryContext.java +++ b/curator-x-discovery-server/src/main/java/org/apache/curator/x/discovery/server/contexts/IntegerDiscoveryContext.java @@ -18,11 +18,11 @@ */ package org.apache.curator.x.discovery.server.contexts; +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.node.ObjectNode; import org.apache.curator.x.discovery.ProviderStrategy; import org.apache.curator.x.discovery.ServiceDiscovery; import org.apache.curator.x.discovery.server.rest.DiscoveryContext; -import org.codehaus.jackson.JsonNode; -import org.codehaus.jackson.node.ObjectNode; import javax.ws.rs.ext.ContextResolver; import javax.ws.rs.ext.Provider; diff --git a/curator-x-discovery-server/src/main/java/org/apache/curator/x/discovery/server/contexts/StringDiscoveryContext.java b/curator-x-discovery-server/src/main/java/org/apache/curator/x/discovery/server/contexts/StringDiscoveryContext.java index a16e6f3483..d1d6cf251f 100644 --- a/curator-x-discovery-server/src/main/java/org/apache/curator/x/discovery/server/contexts/StringDiscoveryContext.java +++ b/curator-x-discovery-server/src/main/java/org/apache/curator/x/discovery/server/contexts/StringDiscoveryContext.java @@ -18,11 +18,11 @@ */ package org.apache.curator.x.discovery.server.contexts; +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.node.ObjectNode; import org.apache.curator.x.discovery.ProviderStrategy; import org.apache.curator.x.discovery.ServiceDiscovery; import org.apache.curator.x.discovery.server.rest.DiscoveryContext; -import org.codehaus.jackson.JsonNode; -import org.codehaus.jackson.node.ObjectNode; import javax.ws.rs.ext.ContextResolver; import javax.ws.rs.ext.Provider; diff --git a/curator-x-discovery-server/src/main/java/org/apache/curator/x/discovery/server/entity/JsonServiceInstanceMarshaller.java b/curator-x-discovery-server/src/main/java/org/apache/curator/x/discovery/server/entity/JsonServiceInstanceMarshaller.java index 44c103465e..1b3fd96c7d 100644 --- a/curator-x-discovery-server/src/main/java/org/apache/curator/x/discovery/server/entity/JsonServiceInstanceMarshaller.java +++ b/curator-x-discovery-server/src/main/java/org/apache/curator/x/discovery/server/entity/JsonServiceInstanceMarshaller.java @@ -18,14 +18,14 @@ */ package org.apache.curator.x.discovery.server.entity; +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.node.ObjectNode; import org.apache.curator.utils.ThreadUtils; import org.apache.curator.x.discovery.ServiceInstance; import org.apache.curator.x.discovery.ServiceInstanceBuilder; import org.apache.curator.x.discovery.ServiceType; import org.apache.curator.x.discovery.server.rest.DiscoveryContext; -import org.codehaus.jackson.JsonNode; -import org.codehaus.jackson.map.ObjectMapper; -import org.codehaus.jackson.node.ObjectNode; import javax.ws.rs.Consumes; import javax.ws.rs.Produces; import javax.ws.rs.WebApplicationException; diff --git a/curator-x-discovery-server/src/main/java/org/apache/curator/x/discovery/server/entity/JsonServiceInstancesMarshaller.java b/curator-x-discovery-server/src/main/java/org/apache/curator/x/discovery/server/entity/JsonServiceInstancesMarshaller.java index b00608a3fd..289e1f20dc 100644 --- a/curator-x-discovery-server/src/main/java/org/apache/curator/x/discovery/server/entity/JsonServiceInstancesMarshaller.java +++ b/curator-x-discovery-server/src/main/java/org/apache/curator/x/discovery/server/entity/JsonServiceInstancesMarshaller.java @@ -18,14 +18,14 @@ */ package org.apache.curator.x.discovery.server.entity; +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.node.ArrayNode; +import com.fasterxml.jackson.databind.node.ObjectNode; import com.google.common.collect.Lists; import org.apache.curator.utils.ThreadUtils; import org.apache.curator.x.discovery.ServiceInstance; import org.apache.curator.x.discovery.server.rest.DiscoveryContext; -import org.codehaus.jackson.JsonNode; -import org.codehaus.jackson.map.ObjectMapper; -import org.codehaus.jackson.node.ArrayNode; -import org.codehaus.jackson.node.ObjectNode; import javax.ws.rs.Consumes; import javax.ws.rs.Produces; import javax.ws.rs.WebApplicationException; diff --git a/curator-x-discovery-server/src/main/java/org/apache/curator/x/discovery/server/entity/JsonServiceNamesMarshaller.java b/curator-x-discovery-server/src/main/java/org/apache/curator/x/discovery/server/entity/JsonServiceNamesMarshaller.java index 428277e6b2..821c0304f2 100644 --- a/curator-x-discovery-server/src/main/java/org/apache/curator/x/discovery/server/entity/JsonServiceNamesMarshaller.java +++ b/curator-x-discovery-server/src/main/java/org/apache/curator/x/discovery/server/entity/JsonServiceNamesMarshaller.java @@ -18,11 +18,17 @@ */ package org.apache.curator.x.discovery.server.entity; +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.node.ArrayNode; +import com.fasterxml.jackson.databind.node.ObjectNode; import com.google.common.collect.Lists; -import org.codehaus.jackson.JsonNode; -import org.codehaus.jackson.map.ObjectMapper; -import org.codehaus.jackson.node.ArrayNode; -import org.codehaus.jackson.node.ObjectNode; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.lang.annotation.Annotation; +import java.lang.reflect.Type; +import java.util.List; import javax.ws.rs.Consumes; import javax.ws.rs.Produces; import javax.ws.rs.WebApplicationException; @@ -31,12 +37,6 @@ import javax.ws.rs.ext.MessageBodyReader; import javax.ws.rs.ext.MessageBodyWriter; import javax.ws.rs.ext.Provider; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; -import java.lang.annotation.Annotation; -import java.lang.reflect.Type; -import java.util.List; /** * Message body reader/writer. Inject this as appropriate for the JAX-RS implementation you are using @@ -57,7 +57,7 @@ public ServiceNames readFrom(Class type, Type genericType, Annotat { List names = Lists.newArrayList(); ObjectMapper mapper = new ObjectMapper(); - JsonNode tree = mapper.reader().readTree(entityStream); + JsonNode tree = mapper.reader().readTree(entityStream); for ( int i = 0; i < tree.size(); ++i ) { JsonNode node = tree.get(i); diff --git a/curator-x-discovery-server/src/main/java/org/apache/curator/x/discovery/server/rest/DiscoveryContext.java b/curator-x-discovery-server/src/main/java/org/apache/curator/x/discovery/server/rest/DiscoveryContext.java index 30ea77a79e..099048a9b1 100644 --- a/curator-x-discovery-server/src/main/java/org/apache/curator/x/discovery/server/rest/DiscoveryContext.java +++ b/curator-x-discovery-server/src/main/java/org/apache/curator/x/discovery/server/rest/DiscoveryContext.java @@ -18,10 +18,10 @@ */ package org.apache.curator.x.discovery.server.rest; +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.node.ObjectNode; import org.apache.curator.x.discovery.ProviderStrategy; import org.apache.curator.x.discovery.ServiceDiscovery; -import org.codehaus.jackson.JsonNode; -import org.codehaus.jackson.node.ObjectNode; /** * Bridge between the specifics of your needs and the generic implementation diff --git a/curator-x-discovery-server/src/test/java/org/apache/curator/x/discovery/server/jetty_jersey/ServiceDetails.java b/curator-x-discovery-server/src/test/java/org/apache/curator/x/discovery/server/jetty_jersey/ServiceDetails.java index eefcdada44..b3f93aaf56 100644 --- a/curator-x-discovery-server/src/test/java/org/apache/curator/x/discovery/server/jetty_jersey/ServiceDetails.java +++ b/curator-x-discovery-server/src/test/java/org/apache/curator/x/discovery/server/jetty_jersey/ServiceDetails.java @@ -18,11 +18,10 @@ */ package org.apache.curator.x.discovery.server.jetty_jersey; +import com.fasterxml.jackson.annotation.JsonRootName; import java.util.HashMap; import java.util.Map; -import org.codehaus.jackson.map.annotate.JsonRootName; - /** * Service payload describing details of a service. */ diff --git a/curator-x-discovery/pom.xml b/curator-x-discovery/pom.xml index 97b45cb8e2..55b8f3c1ce 100644 --- a/curator-x-discovery/pom.xml +++ b/curator-x-discovery/pom.xml @@ -51,8 +51,9 @@ - org.codehaus.jackson - jackson-mapper-asl + com.fasterxml.jackson.core + jackson-databind + ${jackson-version} diff --git a/curator-x-discovery/src/main/java/org/apache/curator/x/discovery/ServiceInstance.java b/curator-x-discovery/src/main/java/org/apache/curator/x/discovery/ServiceInstance.java index af2a2c71f7..0377c10573 100644 --- a/curator-x-discovery/src/main/java/org/apache/curator/x/discovery/ServiceInstance.java +++ b/curator-x-discovery/src/main/java/org/apache/curator/x/discovery/ServiceInstance.java @@ -18,6 +18,7 @@ */ package org.apache.curator.x.discovery; +import com.fasterxml.jackson.annotation.JsonTypeInfo; import com.google.common.base.Preconditions; import com.google.common.collect.Maps; import java.net.InetAddress; @@ -25,9 +26,6 @@ import java.util.Map; import java.util.UUID; -import org.codehaus.jackson.annotate.JsonTypeInfo; -import org.codehaus.jackson.annotate.JsonTypeInfo.Id; - /** * POJO that represents a service instance */ @@ -149,7 +147,7 @@ public Integer getSslPort() return sslPort; } - @JsonTypeInfo(use=Id.CLASS, defaultImpl=Object.class) + @JsonTypeInfo(use= JsonTypeInfo.Id.CLASS, defaultImpl=Object.class) public T getPayload() { return payload; diff --git a/curator-x-discovery/src/main/java/org/apache/curator/x/discovery/details/JsonInstanceSerializer.java b/curator-x-discovery/src/main/java/org/apache/curator/x/discovery/details/JsonInstanceSerializer.java index 715ec1d085..308ad0a935 100644 --- a/curator-x-discovery/src/main/java/org/apache/curator/x/discovery/details/JsonInstanceSerializer.java +++ b/curator-x-discovery/src/main/java/org/apache/curator/x/discovery/details/JsonInstanceSerializer.java @@ -19,11 +19,11 @@ package org.apache.curator.x.discovery.details; +import com.fasterxml.jackson.databind.DeserializationFeature; +import com.fasterxml.jackson.databind.JavaType; +import com.fasterxml.jackson.databind.ObjectMapper; import com.google.common.annotations.VisibleForTesting; import org.apache.curator.x.discovery.ServiceInstance; -import org.codehaus.jackson.map.DeserializationConfig; -import org.codehaus.jackson.map.ObjectMapper; -import org.codehaus.jackson.type.JavaType; /** * A serializer that uses Jackson to serialize/deserialize as JSON. IMPORTANT: The instance @@ -38,7 +38,7 @@ public class JsonInstanceSerializer implements InstanceSerializer /** * CURATOR-275 introduced a new field into {@link org.apache.curator.x.discovery.ServiceInstance}. This caused a potential - * {@link org.codehaus.jackson.map.exc.UnrecognizedPropertyException} in older clients that + * {@link com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException} in older clients that * read newly serialized ServiceInstances. Therefore the default behavior of JsonInstanceSerializer * has been changed to NOT serialize the enabled field. If you wish to use that field, use the * alternate constructor {@link #JsonInstanceSerializer(Class, boolean)} and pass true for @@ -54,7 +54,7 @@ public JsonInstanceSerializer(Class payloadClass) /** * CURATOR-275 introduced a new field into {@link org.apache.curator.x.discovery.ServiceInstance}. This caused a potential - * {@link org.codehaus.jackson.map.exc.UnrecognizedPropertyException} in older clients that + * {@link com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException} in older clients that * read newly serialized ServiceInstances. If you are susceptible to this you should set the * serializer to be an instance of {@link org.apache.curator.x.discovery.details.JsonInstanceSerializer} * with compatibleSerializationMode set to true. IMPORTANT: when this is done, the new enabled @@ -75,7 +75,7 @@ public JsonInstanceSerializer(Class payloadClass, boolean compatibleSerializa this.payloadClass = payloadClass; this.compatibleSerializationMode = compatibleSerializationMode; mapper = new ObjectMapper(); - mapper.configure(DeserializationConfig.Feature.FAIL_ON_UNKNOWN_PROPERTIES, failOnUnknownProperties); + mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, failOnUnknownProperties); type = mapper.getTypeFactory().constructType(ServiceInstance.class); } diff --git a/curator-x-discovery/src/main/java/org/apache/curator/x/discovery/details/OldServiceInstance.java b/curator-x-discovery/src/main/java/org/apache/curator/x/discovery/details/OldServiceInstance.java index 253b27407e..d888ded8bd 100644 --- a/curator-x-discovery/src/main/java/org/apache/curator/x/discovery/details/OldServiceInstance.java +++ b/curator-x-discovery/src/main/java/org/apache/curator/x/discovery/details/OldServiceInstance.java @@ -19,11 +19,10 @@ package org.apache.curator.x.discovery.details; +import com.fasterxml.jackson.annotation.JsonTypeInfo; import com.google.common.base.Preconditions; import org.apache.curator.x.discovery.ServiceType; import org.apache.curator.x.discovery.UriSpec; -import org.codehaus.jackson.annotate.JsonTypeInfo; -import org.codehaus.jackson.annotate.JsonTypeInfo.Id; /** * POJO that represents a service instance @@ -97,7 +96,7 @@ public Integer getSslPort() return sslPort; } - @JsonTypeInfo(use = Id.CLASS, defaultImpl = Object.class) + @JsonTypeInfo(use = JsonTypeInfo.Id.CLASS, defaultImpl = Object.class) public T getPayload() { return payload; diff --git a/pom.xml b/pom.xml index 74d015da10..a938565a71 100644 --- a/pom.xml +++ b/pom.xml @@ -67,8 +67,7 @@ 1.9.0 3.20.0-GA 2.2 - 1.9.13 - 2.7.3 + 2.9.7 1.18.1 1.1.1 6.1.26 @@ -383,12 +382,6 @@ ${commons-math-version} - - org.codehaus.jackson - jackson-mapper-asl - ${jackson-mapper-asl-version} - - com.fasterxml.jackson.core jackson-core From f91064b6f607b77c88573835502c4fa9055e9ff3 Mon Sep 17 00:00:00 2001 From: Max-Pudov Date: Wed, 10 Oct 2018 20:01:38 +0300 Subject: [PATCH 2/2] CURATOR-481 Remove jackson-mapper-asl-version and update to latest version of jackson Max-Pudov 10/9/2018 3:11 PM --- .../details/TestJsonInstanceSerializerCompatibility.java | 4 ++-- .../curator/x/discovery/details/TestNewServiceInstance.java | 5 ++--- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/curator-x-discovery/src/test/java/org/apache/curator/x/discovery/details/TestJsonInstanceSerializerCompatibility.java b/curator-x-discovery/src/test/java/org/apache/curator/x/discovery/details/TestJsonInstanceSerializerCompatibility.java index 6e0e63e9f0..100e41d10c 100644 --- a/curator-x-discovery/src/test/java/org/apache/curator/x/discovery/details/TestJsonInstanceSerializerCompatibility.java +++ b/curator-x-discovery/src/test/java/org/apache/curator/x/discovery/details/TestJsonInstanceSerializerCompatibility.java @@ -19,12 +19,12 @@ package org.apache.curator.x.discovery.details; +import com.fasterxml.jackson.databind.JavaType; +import com.fasterxml.jackson.databind.ObjectMapper; import org.apache.curator.x.discovery.ServiceInstance; import org.apache.curator.x.discovery.ServiceType; import org.apache.curator.x.discovery.TestJsonInstanceSerializer; import org.apache.curator.x.discovery.UriSpec; -import org.codehaus.jackson.map.ObjectMapper; -import org.codehaus.jackson.type.JavaType; import org.testng.Assert; import org.testng.annotations.Test; import java.net.URI; diff --git a/curator-x-discovery/src/test/java/org/apache/curator/x/discovery/details/TestNewServiceInstance.java b/curator-x-discovery/src/test/java/org/apache/curator/x/discovery/details/TestNewServiceInstance.java index e627474054..1dec282836 100644 --- a/curator-x-discovery/src/test/java/org/apache/curator/x/discovery/details/TestNewServiceInstance.java +++ b/curator-x-discovery/src/test/java/org/apache/curator/x/discovery/details/TestNewServiceInstance.java @@ -18,11 +18,10 @@ */ package org.apache.curator.x.discovery.details; +import com.fasterxml.jackson.annotation.JsonTypeInfo; import com.google.common.base.Preconditions; import org.apache.curator.x.discovery.ServiceType; import org.apache.curator.x.discovery.UriSpec; -import org.codehaus.jackson.annotate.JsonTypeInfo; -import org.codehaus.jackson.annotate.JsonTypeInfo.Id; import java.net.URI; import java.util.Date; @@ -97,7 +96,7 @@ public Integer getSslPort() return sslPort; } - @JsonTypeInfo(use = Id.CLASS, defaultImpl = Object.class) + @JsonTypeInfo(use = JsonTypeInfo.Id.CLASS, defaultImpl = Object.class) public T getPayload() { return payload;