You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@avro.apache.org by dk...@apache.org on 2018/11/02 19:16:56 UTC
[avro] branch master updated: Update Jackson to 2.9.7. This changes
a LOT of API's due to Jackson's package rename,
but for the most part it's search/replace type changes
This is an automated email from the ASF dual-hosted git repository.
dkulp pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/avro.git
The following commit(s) were added to refs/heads/master by this push:
new 95234db Update Jackson to 2.9.7. This changes a LOT of API's due to Jackson's package rename, but for the most part it's search/replace type changes
95234db is described below
commit 95234db14b7afca9593829f43c41a9851e08dcd7
Author: Daniel Kulp <dk...@apache.org>
AuthorDate: Fri Nov 2 15:15:27 2018 -0400
Update Jackson to 2.9.7. This changes a LOT of API's due to Jackson's package rename, but for the most part it's search/replace type changes
---
.../avro-service-archetype/src/main/pom/pom.xml | 8 +--
lang/java/avro/pom.xml | 10 ++--
.../main/java/org/apache/avro/JsonProperties.java | 12 ++--
.../src/main/java/org/apache/avro/Protocol.java | 33 +++++-----
.../avro/src/main/java/org/apache/avro/Schema.java | 41 ++++++-------
.../main/java/org/apache/avro/SchemaBuilder.java | 9 +--
.../src/main/java/org/apache/avro/data/Json.java | 32 +++++-----
.../java/org/apache/avro/generic/GenericData.java | 3 +-
.../java/org/apache/avro/io/EncoderFactory.java | 2 +-
.../main/java/org/apache/avro/io/JsonDecoder.java | 70 +++++++++++++++++++---
.../main/java/org/apache/avro/io/JsonEncoder.java | 10 ++--
.../avro/io/parsing/ResolvingGrammarGenerator.java | 23 +++----
.../java/org/apache/avro/reflect/ReflectData.java | 4 +-
.../apache/avro/util/internal/JacksonUtils.java | 17 +++---
.../java/org/apache/avro/TestSchemaBuilder.java | 3 +-
.../org/apache/avro/generic/TestGenericData.java | 8 +--
.../java/org/apache/avro/io/TestBlockingIO.java | 4 +-
.../test/java/org/apache/avro/io/TestEncoders.java | 6 +-
.../io/parsing/TestResolvingGrammarGenerator.java | 6 +-
.../java/org/apache/avro/reflect/TestReflect.java | 3 +-
.../avro/util/internal/TestJacksonUtils.java | 21 +++----
lang/java/compiler/pom.xml | 8 +--
.../avro/compiler/specific/SpecificCompiler.java | 8 +--
.../javacc/org/apache/avro/compiler/idl/idl.jj | 8 +--
.../java/org/apache/avro/compiler/idl/TestIdl.java | 4 +-
lang/java/ipc/pom.xml | 10 ++--
.../org/apache/avro/specific/TestSpecificData.java | 6 +-
lang/java/mapred/pom.xml | 8 +--
.../src/test/resources/unit/idl/pom-joda.xml | 6 +-
.../src/test/resources/unit/idl/pom-jsr310.xml | 6 +-
.../src/test/resources/unit/protocol/pom-joda.xml | 6 +-
.../test/resources/unit/protocol/pom-jsr310.xml | 6 +-
.../src/test/resources/unit/schema/pom-joda.xml | 6 +-
.../src/test/resources/unit/schema/pom-jsr310.xml | 6 +-
lang/java/pom.xml | 10 ++--
lang/java/protobuf/pom.xml | 10 ++--
.../org/apache/avro/protobuf/ProtobufData.java | 8 +--
lang/java/thrift/pom.xml | 5 +-
lang/java/tools/pom.xml | 5 +-
.../java/org/apache/avro/tool/RpcSendTool.java | 6 +-
.../org/apache/avro/tool/TrevniMetadataTool.java | 8 +--
.../org/apache/avro/tool/TrevniToJsonTool.java | 8 +--
42 files changed, 262 insertions(+), 211 deletions(-)
diff --git a/lang/java/archetypes/avro-service-archetype/src/main/pom/pom.xml b/lang/java/archetypes/avro-service-archetype/src/main/pom/pom.xml
index 4db3b95..d611e69 100644
--- a/lang/java/archetypes/avro-service-archetype/src/main/pom/pom.xml
+++ b/lang/java/archetypes/avro-service-archetype/src/main/pom/pom.xml
@@ -48,13 +48,13 @@
<version>\${avro.version}</version>
</dependency>
<dependency>
- <groupId>org.codehaus.jackson</groupId>
- <artifactId>jackson-core-asl</artifactId>
+ <groupId>com.fasterxml.jackson.core</groupId>
+ <artifactId>jackson-core</artifactId>
<version>\${jackson.version}</version>
</dependency>
<dependency>
- <groupId>org.codehaus.jackson</groupId>
- <artifactId>jackson-mapper-asl</artifactId>
+ <groupId>com.fasterxml.jackson.core</groupId>
+ <artifactId>jackson-databind</artifactId>
<version>\${jackson.version}</version>
</dependency>
<dependency>
diff --git a/lang/java/avro/pom.xml b/lang/java/avro/pom.xml
index a71b5c8..999cea1 100644
--- a/lang/java/avro/pom.xml
+++ b/lang/java/avro/pom.xml
@@ -39,7 +39,7 @@
!org.apache.avro*,
!com.google.common*,
com.thoughtworks.paranamer,
- org.codehaus.jackson*,
+ com.fasterxml.jackson*,
org.xerial.snappy;resolution:=optional,
sun.misc;resolution:=optional,
*
@@ -171,12 +171,12 @@
<version>${project.version}</version>
</dependency>
<dependency>
- <groupId>org.codehaus.jackson</groupId>
- <artifactId>jackson-core-asl</artifactId>
+ <groupId>com.fasterxml.jackson.core</groupId>
+ <artifactId>jackson-core</artifactId>
</dependency>
<dependency>
- <groupId>org.codehaus.jackson</groupId>
- <artifactId>jackson-mapper-asl</artifactId>
+ <groupId>com.fasterxml.jackson.core</groupId>
+ <artifactId>jackson-databind</artifactId>
</dependency>
<dependency>
<groupId>com.thoughtworks.paranamer</groupId>
diff --git a/lang/java/avro/src/main/java/org/apache/avro/JsonProperties.java b/lang/java/avro/src/main/java/org/apache/avro/JsonProperties.java
index 1592950..97493fc 100644
--- a/lang/java/avro/src/main/java/org/apache/avro/JsonProperties.java
+++ b/lang/java/avro/src/main/java/org/apache/avro/JsonProperties.java
@@ -24,9 +24,11 @@ import java.util.Set;
import java.io.IOException;
import org.apache.avro.util.internal.JacksonUtils;
-import org.codehaus.jackson.JsonNode;
-import org.codehaus.jackson.JsonGenerator;
-import org.codehaus.jackson.node.TextNode;
+
+import com.fasterxml.jackson.core.JsonGenerator;
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.node.TextNode;
+
/**
* Base class for objects that have JSON-valued properties. Avro and JSON values are
@@ -128,7 +130,7 @@ public abstract class JsonProperties {
*/
public String getProp(String name) {
JsonNode value = getJsonProp(name);
- return value != null && value.isTextual() ? value.getTextValue() : null;
+ return value != null && value.isTextual() ? value.textValue() : null;
}
/**
@@ -196,7 +198,7 @@ public abstract class JsonProperties {
Map<String,String> result = new LinkedHashMap<>();
for (Map.Entry<String,JsonNode> e : props.entrySet())
if (e.getValue().isTextual())
- result.put(e.getKey(), e.getValue().getTextValue());
+ result.put(e.getKey(), e.getValue().textValue());
return result;
}
diff --git a/lang/java/avro/src/main/java/org/apache/avro/Protocol.java b/lang/java/avro/src/main/java/org/apache/avro/Protocol.java
index 9073623..f4a184e 100644
--- a/lang/java/avro/src/main/java/org/apache/avro/Protocol.java
+++ b/lang/java/avro/src/main/java/org/apache/avro/Protocol.java
@@ -34,10 +34,11 @@ import java.util.Set;
import java.util.HashSet;
import org.apache.avro.Schema.Field;
-import org.codehaus.jackson.JsonNode;
-import org.codehaus.jackson.JsonParser;
-import org.codehaus.jackson.JsonGenerator;
-import org.codehaus.jackson.node.TextNode;
+
+import com.fasterxml.jackson.core.JsonGenerator;
+import com.fasterxml.jackson.core.JsonParser;
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.node.TextNode;
/** A set of messages forming an application protocol.
* <p> A protocol consists of:
@@ -393,7 +394,7 @@ public class Protocol extends JsonProperties {
private static Protocol parse(JsonParser parser) {
try {
Protocol protocol = new Protocol();
- protocol.parse(Schema.MAPPER.readTree(parser));
+ protocol.parse((JsonNode)Schema.MAPPER.readTree(parser));
return protocol;
} catch (IOException e) {
throw new SchemaParseException(e);
@@ -412,7 +413,7 @@ public class Protocol extends JsonProperties {
private void parseNamespace(JsonNode json) {
JsonNode nameNode = json.get("namespace");
if (nameNode == null) return; // no namespace defined
- this.namespace = nameNode.getTextValue();
+ this.namespace = nameNode.textValue();
types.space(this.namespace);
}
@@ -423,14 +424,14 @@ public class Protocol extends JsonProperties {
private String parseDocNode(JsonNode json) {
JsonNode nameNode = json.get("doc");
if (nameNode == null) return null; // no doc defined
- return nameNode.getTextValue();
+ return nameNode.textValue();
}
private void parseName(JsonNode json) {
JsonNode nameNode = json.get("protocol");
if (nameNode == null)
throw new SchemaParseException("No protocol name specified: "+json);
- this.name = nameNode.getTextValue();
+ this.name = nameNode.textValue();
}
private void parseTypes(JsonNode json) {
@@ -446,7 +447,7 @@ public class Protocol extends JsonProperties {
}
private void parseProps(JsonNode json) {
- for (Iterator<String> i = json.getFieldNames(); i.hasNext();) {
+ for (Iterator<String> i = json.fieldNames(); i.hasNext();) {
String p = i.next(); // add non-reserved as props
if (!PROTOCOL_RESERVED.contains(p))
this.addProp(p, json.get(p));
@@ -456,7 +457,7 @@ public class Protocol extends JsonProperties {
private void parseMessages(JsonNode json) {
JsonNode defs = json.get("messages");
if (defs == null) return; // no messages defined
- for (Iterator<String> i = defs.getFieldNames(); i.hasNext();) {
+ for (Iterator<String> i = defs.fieldNames(); i.hasNext();) {
String prop = i.next();
this.messages.put(prop, parseMessage(prop, defs.get(prop)));
}
@@ -466,7 +467,7 @@ public class Protocol extends JsonProperties {
String doc = parseDocNode(json);
Map<String,JsonNode> mProps = new LinkedHashMap<>();
- for (Iterator<String> i = json.getFieldNames(); i.hasNext();) {
+ for (Iterator<String> i = json.fieldNames(); i.hasNext();) {
String p = i.next(); // add non-reserved as props
if (!MESSAGE_RESERVED.contains(p))
mProps.put(p, json.get(p));
@@ -483,11 +484,11 @@ public class Protocol extends JsonProperties {
JsonNode fieldTypeNode = field.get("type");
if (fieldTypeNode == null)
throw new SchemaParseException("No param type: "+field);
- String name = fieldNameNode.getTextValue();
+ String name = fieldNameNode.textValue();
String fieldDoc = null;
JsonNode fieldDocNode = field.get("doc");
if (fieldDocNode != null)
- fieldDoc = fieldDocNode.getTextValue();
+ fieldDoc = fieldDocNode.textValue();
Field newField = new Field(name, Schema.parse(fieldTypeNode,types),
fieldDoc, field.get("default"));
Set<String> aliases = Schema.parseAliases(field);
@@ -496,7 +497,7 @@ public class Protocol extends JsonProperties {
newField.addAlias(alias);
}
- Iterator<String> i = field.getFieldNames();
+ Iterator<String> i = field.fieldNames();
while (i.hasNext()) { // add properties
String prop = i.next();
if (!FIELD_RESERVED.contains(prop)) // ignore reserved
@@ -511,7 +512,7 @@ public class Protocol extends JsonProperties {
if (oneWayNode != null) {
if (!oneWayNode.isBoolean())
throw new SchemaParseException("one-way must be boolean: "+json);
- oneWay = oneWayNode.getBooleanValue();
+ oneWay = oneWayNode.booleanValue();
}
JsonNode responseNode = json.get("response");
@@ -537,7 +538,7 @@ public class Protocol extends JsonProperties {
if (!decls.isArray())
throw new SchemaParseException("Errors not an array: "+json);
for (JsonNode decl : decls) {
- String name = decl.getTextValue();
+ String name = decl.textValue();
Schema schema = this.types.get(name);
if (schema == null)
throw new SchemaParseException("Undefined error: "+name);
diff --git a/lang/java/avro/src/main/java/org/apache/avro/Schema.java b/lang/java/avro/src/main/java/org/apache/avro/Schema.java
index 9fcbfd3..280492c 100644
--- a/lang/java/avro/src/main/java/org/apache/avro/Schema.java
+++ b/lang/java/avro/src/main/java/org/apache/avro/Schema.java
@@ -37,13 +37,14 @@ import java.util.Map;
import java.util.Set;
import org.apache.avro.util.internal.JacksonUtils;
-import org.codehaus.jackson.JsonFactory;
-import org.codehaus.jackson.JsonNode;
-import org.codehaus.jackson.JsonParseException;
-import org.codehaus.jackson.JsonParser;
-import org.codehaus.jackson.JsonGenerator;
-import org.codehaus.jackson.map.ObjectMapper;
-import org.codehaus.jackson.node.DoubleNode;
+
+import com.fasterxml.jackson.core.JsonFactory;
+import com.fasterxml.jackson.core.JsonGenerator;
+import com.fasterxml.jackson.core.JsonParseException;
+import com.fasterxml.jackson.core.JsonParser;
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.node.DoubleNode;
/** An abstract data type.
* <p>A schema may be one of:
@@ -489,8 +490,8 @@ public abstract class Schema extends JsonProperties {
return thatDefaultValue == null;
if (thatDefaultValue == null)
return false;
- if (Double.isNaN(defaultValue.getDoubleValue()))
- return Double.isNaN(thatDefaultValue.getDoubleValue());
+ if (Double.isNaN(defaultValue.doubleValue()))
+ return Double.isNaN(thatDefaultValue.doubleValue());
return defaultValue.equals(thatDefaultValue);
}
@@ -1260,7 +1261,7 @@ public abstract class Schema extends JsonProperties {
throw new SchemaParseException("Cannot parse <null> schema");
}
if (schema.isTextual()) { // name
- Schema result = names.get(schema.getTextValue());
+ Schema result = names.get(schema.textValue());
if (result == null)
throw new SchemaParseException("Undefined name: "+schema);
return result;
@@ -1298,7 +1299,7 @@ public abstract class Schema extends JsonProperties {
if (fieldTypeNode == null)
throw new SchemaParseException("No field type: "+field);
if (fieldTypeNode.isTextual()
- && names.get(fieldTypeNode.getTextValue()) == null)
+ && names.get(fieldTypeNode.textValue()) == null)
throw new SchemaParseException
(fieldTypeNode+" is not a defined name."
+" The type of the \""+fieldName+"\" field must be"
@@ -1307,17 +1308,17 @@ public abstract class Schema extends JsonProperties {
Field.Order order = Field.Order.ASCENDING;
JsonNode orderNode = field.get("order");
if (orderNode != null)
- order = Field.Order.valueOf(orderNode.getTextValue().toUpperCase(Locale.ENGLISH));
+ order = Field.Order.valueOf(orderNode.textValue().toUpperCase(Locale.ENGLISH));
JsonNode defaultValue = field.get("default");
if (defaultValue != null
&& (Type.FLOAT.equals(fieldSchema.getType())
|| Type.DOUBLE.equals(fieldSchema.getType()))
&& defaultValue.isTextual())
defaultValue =
- new DoubleNode(Double.valueOf(defaultValue.getTextValue()));
+ new DoubleNode(Double.valueOf(defaultValue.textValue()));
Field f = new Field(fieldName, fieldSchema,
fieldDoc, defaultValue, order);
- Iterator<String> i = field.getFieldNames();
+ Iterator<String> i = field.fieldNames();
while (i.hasNext()) { // add field props
String prop = i.next();
if (!FIELD_RESERVED.contains(prop))
@@ -1333,11 +1334,11 @@ public abstract class Schema extends JsonProperties {
throw new SchemaParseException("Enum has no symbols: "+schema);
LockableArrayList<String> symbols = new LockableArrayList<>(symbolsNode.size());
for (JsonNode n : symbolsNode)
- symbols.add(n.getTextValue());
+ symbols.add(n.textValue());
JsonNode enumDefault = schema.get("default");
String defaultSymbol = null;
if (enumDefault != null)
- defaultSymbol = enumDefault.getTextValue();
+ defaultSymbol = enumDefault.textValue();
result = new EnumSchema(name, doc, symbols, defaultSymbol);
if (name != null) names.add(result);
} else if (type.equals("array")) { // array
@@ -1354,11 +1355,11 @@ public abstract class Schema extends JsonProperties {
JsonNode sizeNode = schema.get("size");
if (sizeNode == null || !sizeNode.isInt())
throw new SchemaParseException("Invalid or no size: "+schema);
- result = new FixedSchema(name, doc, sizeNode.getIntValue());
+ result = new FixedSchema(name, doc, sizeNode.intValue());
if (name != null) names.add(result);
} else
throw new SchemaParseException("Type not supported: "+type);
- Iterator<String> i = schema.getFieldNames();
+ Iterator<String> i = schema.fieldNames();
Set reserved = SCHEMA_RESERVED;
if (type.equals("enum")) {
@@ -1400,7 +1401,7 @@ public abstract class Schema extends JsonProperties {
for (JsonNode aliasNode : aliasesNode) {
if (!aliasNode.isTextual())
throw new SchemaParseException("alias not a string: "+aliasNode);
- aliases.add(aliasNode.getTextValue());
+ aliases.add(aliasNode.textValue());
}
return aliases;
}
@@ -1424,7 +1425,7 @@ public abstract class Schema extends JsonProperties {
/** Extracts text value associated to key from the container JsonNode. */
private static String getOptionalText(JsonNode container, String key) {
JsonNode jsonNode = container.get(key);
- return jsonNode != null ? jsonNode.getTextValue() : null;
+ return jsonNode != null ? jsonNode.textValue() : null;
}
/**
diff --git a/lang/java/avro/src/main/java/org/apache/avro/SchemaBuilder.java b/lang/java/avro/src/main/java/org/apache/avro/SchemaBuilder.java
index b8b1153..04fd1d2 100644
--- a/lang/java/avro/src/main/java/org/apache/avro/SchemaBuilder.java
+++ b/lang/java/avro/src/main/java/org/apache/avro/SchemaBuilder.java
@@ -31,10 +31,11 @@ import org.apache.avro.Schema.Field;
import org.apache.avro.generic.GenericData;
import org.apache.avro.generic.GenericRecord;
import org.apache.avro.util.internal.JacksonUtils;
-import org.codehaus.jackson.JsonNode;
-import org.codehaus.jackson.io.JsonStringEncoder;
-import org.codehaus.jackson.map.ObjectMapper;
-import org.codehaus.jackson.node.TextNode;
+
+import com.fasterxml.jackson.core.io.JsonStringEncoder;
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.node.TextNode;
/**
* <p>
diff --git a/lang/java/avro/src/main/java/org/apache/avro/data/Json.java b/lang/java/avro/src/main/java/org/apache/avro/data/Json.java
index b3285d0..c4f75e6 100644
--- a/lang/java/avro/src/main/java/org/apache/avro/data/Json.java
+++ b/lang/java/avro/src/main/java/org/apache/avro/data/Json.java
@@ -23,18 +23,18 @@ import java.io.StringReader;
import java.util.Iterator;
import org.apache.avro.util.internal.JacksonUtils;
-import org.codehaus.jackson.JsonFactory;
-import org.codehaus.jackson.JsonNode;
-import org.codehaus.jackson.JsonParseException;
-import org.codehaus.jackson.map.ObjectMapper;
-import org.codehaus.jackson.node.JsonNodeFactory;
-import org.codehaus.jackson.node.LongNode;
-import org.codehaus.jackson.node.DoubleNode;
-import org.codehaus.jackson.node.TextNode;
-import org.codehaus.jackson.node.BooleanNode;
-import org.codehaus.jackson.node.NullNode;
-import org.codehaus.jackson.node.ArrayNode;
-import org.codehaus.jackson.node.ObjectNode;
+import com.fasterxml.jackson.core.JsonFactory;
+import com.fasterxml.jackson.core.JsonParseException;
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.node.JsonNodeFactory;
+import com.fasterxml.jackson.databind.node.LongNode;
+import com.fasterxml.jackson.databind.node.DoubleNode;
+import com.fasterxml.jackson.databind.node.TextNode;
+import com.fasterxml.jackson.databind.node.BooleanNode;
+import com.fasterxml.jackson.databind.node.NullNode;
+import com.fasterxml.jackson.databind.node.ArrayNode;
+import com.fasterxml.jackson.databind.node.ObjectNode;
import org.apache.avro.Schema;
import org.apache.avro.AvroRuntimeException;
@@ -188,15 +188,15 @@ public class Json {
switch(node.asToken()) {
case VALUE_NUMBER_INT:
out.writeIndex(JsonType.LONG.ordinal());
- out.writeLong(node.getLongValue());
+ out.writeLong(node.longValue());
break;
case VALUE_NUMBER_FLOAT:
out.writeIndex(JsonType.DOUBLE.ordinal());
- out.writeDouble(node.getDoubleValue());
+ out.writeDouble(node.doubleValue());
break;
case VALUE_STRING:
out.writeIndex(JsonType.STRING.ordinal());
- out.writeString(node.getTextValue());
+ out.writeString(node.textValue());
break;
case VALUE_TRUE:
out.writeIndex(JsonType.BOOLEAN.ordinal());
@@ -224,7 +224,7 @@ public class Json {
out.writeIndex(JsonType.OBJECT.ordinal());
out.writeMapStart();
out.setItemCount(node.size());
- Iterator<String> i = node.getFieldNames();
+ Iterator<String> i = node.fieldNames();
while (i.hasNext()) {
out.startItem();
String name = i.next();
diff --git a/lang/java/avro/src/main/java/org/apache/avro/generic/GenericData.java b/lang/java/avro/src/main/java/org/apache/avro/generic/GenericData.java
index 8b8a296..835d3a0 100644
--- a/lang/java/avro/src/main/java/org/apache/avro/generic/GenericData.java
+++ b/lang/java/avro/src/main/java/org/apache/avro/generic/GenericData.java
@@ -52,8 +52,7 @@ import org.apache.avro.io.DatumWriter;
import org.apache.avro.io.parsing.ResolvingGrammarGenerator;
import org.apache.avro.util.Utf8;
-import org.codehaus.jackson.JsonNode;
-
+import com.fasterxml.jackson.databind.JsonNode;
import com.google.common.collect.MapMaker;
/** Utilities for generic Java data. See {@link GenericRecordBuilder} for a convenient
diff --git a/lang/java/avro/src/main/java/org/apache/avro/io/EncoderFactory.java b/lang/java/avro/src/main/java/org/apache/avro/io/EncoderFactory.java
index 941c199..52c52a6 100644
--- a/lang/java/avro/src/main/java/org/apache/avro/io/EncoderFactory.java
+++ b/lang/java/avro/src/main/java/org/apache/avro/io/EncoderFactory.java
@@ -22,7 +22,7 @@ import java.io.OutputStream;
import org.apache.avro.AvroRuntimeException;
import org.apache.avro.Schema;
-import org.codehaus.jackson.JsonGenerator;
+import com.fasterxml.jackson.core.JsonGenerator;
/**
* A factory for creating and configuring {@link Encoder} instances.
diff --git a/lang/java/avro/src/main/java/org/apache/avro/io/JsonDecoder.java b/lang/java/avro/src/main/java/org/apache/avro/io/JsonDecoder.java
index 1dcb8dd..7ffd5cf 100644
--- a/lang/java/avro/src/main/java/org/apache/avro/io/JsonDecoder.java
+++ b/lang/java/avro/src/main/java/org/apache/avro/io/JsonDecoder.java
@@ -35,13 +35,14 @@ import org.apache.avro.io.parsing.JsonGrammarGenerator;
import org.apache.avro.io.parsing.Parser;
import org.apache.avro.io.parsing.Symbol;
import org.apache.avro.util.Utf8;
-import org.codehaus.jackson.Base64Variant;
-import org.codehaus.jackson.JsonFactory;
-import org.codehaus.jackson.JsonLocation;
-import org.codehaus.jackson.JsonParser;
-import org.codehaus.jackson.JsonStreamContext;
-import org.codehaus.jackson.JsonToken;
-import org.codehaus.jackson.ObjectCodec;
+import com.fasterxml.jackson.core.Base64Variant;
+import com.fasterxml.jackson.core.JsonFactory;
+import com.fasterxml.jackson.core.JsonLocation;
+import com.fasterxml.jackson.core.JsonParser;
+import com.fasterxml.jackson.core.JsonStreamContext;
+import com.fasterxml.jackson.core.JsonToken;
+import com.fasterxml.jackson.core.ObjectCodec;
+import com.fasterxml.jackson.core.Version;
/** A {@link Decoder} for Avro's JSON data encoding.
* </p>
@@ -695,6 +696,61 @@ public class JsonDecoder extends ParsingDecoder
public JsonToken getCurrentToken() {
return elements.get(pos).token;
}
+
+ @Override
+ public Version version() {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public JsonToken nextValue() throws IOException {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public int getCurrentTokenId() {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public boolean hasCurrentToken() {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public boolean hasTokenId(int id) {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public boolean hasToken(JsonToken t) {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public void clearCurrentToken() {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public JsonToken getLastClearedToken() {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public void overrideCurrentName(String name) {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public boolean hasTextCharacters() {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public String getValueAsString(String def) throws IOException {
+ throw new UnsupportedOperationException();
+ }
};
}
diff --git a/lang/java/avro/src/main/java/org/apache/avro/io/JsonEncoder.java b/lang/java/avro/src/main/java/org/apache/avro/io/JsonEncoder.java
index 426b86c..3328d9f 100644
--- a/lang/java/avro/src/main/java/org/apache/avro/io/JsonEncoder.java
+++ b/lang/java/avro/src/main/java/org/apache/avro/io/JsonEncoder.java
@@ -28,11 +28,11 @@ import org.apache.avro.io.parsing.JsonGrammarGenerator;
import org.apache.avro.io.parsing.Parser;
import org.apache.avro.io.parsing.Symbol;
import org.apache.avro.util.Utf8;
-import org.codehaus.jackson.JsonEncoding;
-import org.codehaus.jackson.JsonFactory;
-import org.codehaus.jackson.JsonGenerator;
-import org.codehaus.jackson.util.DefaultPrettyPrinter;
-import org.codehaus.jackson.util.MinimalPrettyPrinter;
+import com.fasterxml.jackson.core.JsonEncoding;
+import com.fasterxml.jackson.core.JsonFactory;
+import com.fasterxml.jackson.core.JsonGenerator;
+import com.fasterxml.jackson.core.util.DefaultPrettyPrinter;
+import com.fasterxml.jackson.core.util.MinimalPrettyPrinter;
/** An {@link Encoder} for Avro's JSON data encoding.
* </p>
diff --git a/lang/java/avro/src/main/java/org/apache/avro/io/parsing/ResolvingGrammarGenerator.java b/lang/java/avro/src/main/java/org/apache/avro/io/parsing/ResolvingGrammarGenerator.java
index 51d9bc9..47e12a9 100644
--- a/lang/java/avro/src/main/java/org/apache/avro/io/parsing/ResolvingGrammarGenerator.java
+++ b/lang/java/avro/src/main/java/org/apache/avro/io/parsing/ResolvingGrammarGenerator.java
@@ -30,7 +30,8 @@ import org.apache.avro.Schema;
import org.apache.avro.Schema.Field;
import org.apache.avro.io.Encoder;
import org.apache.avro.io.EncoderFactory;
-import org.codehaus.jackson.JsonNode;
+
+import com.fasterxml.jackson.databind.JsonNode;
/**
* The class that generates a resolving grammar to resolve between two
@@ -336,7 +337,7 @@ public class ResolvingGrammarGenerator extends ValidatingGrammarGenerator {
}
break;
case ENUM:
- e.writeEnum(s.getEnumOrdinal(n.getTextValue()));
+ e.writeEnum(s.getEnumOrdinal(n.textValue()));
break;
case ARRAY:
e.writeArrayStart();
@@ -352,7 +353,7 @@ public class ResolvingGrammarGenerator extends ValidatingGrammarGenerator {
e.writeMapStart();
e.setItemCount(n.size());
Schema v = s.getValueType();
- for (Iterator<String> it = n.getFieldNames(); it.hasNext();) {
+ for (Iterator<String> it = n.fieldNames(); it.hasNext();) {
e.startItem();
String key = it.next();
e.writeString(key);
@@ -367,7 +368,7 @@ public class ResolvingGrammarGenerator extends ValidatingGrammarGenerator {
case FIXED:
if (!n.isTextual())
throw new AvroTypeException("Non-string default value for fixed: "+n);
- byte[] bb = n.getTextValue().getBytes("ISO-8859-1");
+ byte[] bb = n.textValue().getBytes("ISO-8859-1");
if (bb.length != s.getFixedSize()) {
bb = Arrays.copyOf(bb, s.getFixedSize());
}
@@ -376,37 +377,37 @@ public class ResolvingGrammarGenerator extends ValidatingGrammarGenerator {
case STRING:
if (!n.isTextual())
throw new AvroTypeException("Non-string default value for string: "+n);
- e.writeString(n.getTextValue());
+ e.writeString(n.textValue());
break;
case BYTES:
if (!n.isTextual())
throw new AvroTypeException("Non-string default value for bytes: "+n);
- e.writeBytes(n.getTextValue().getBytes("ISO-8859-1"));
+ e.writeBytes(n.textValue().getBytes("ISO-8859-1"));
break;
case INT:
if (!n.isNumber())
throw new AvroTypeException("Non-numeric default value for int: "+n);
- e.writeInt(n.getIntValue());
+ e.writeInt(n.intValue());
break;
case LONG:
if (!n.isNumber())
throw new AvroTypeException("Non-numeric default value for long: "+n);
- e.writeLong(n.getLongValue());
+ e.writeLong(n.longValue());
break;
case FLOAT:
if (!n.isNumber())
throw new AvroTypeException("Non-numeric default value for float: "+n);
- e.writeFloat((float) n.getDoubleValue());
+ e.writeFloat((float) n.doubleValue());
break;
case DOUBLE:
if (!n.isNumber())
throw new AvroTypeException("Non-numeric default value for double: "+n);
- e.writeDouble(n.getDoubleValue());
+ e.writeDouble(n.doubleValue());
break;
case BOOLEAN:
if (!n.isBoolean())
throw new AvroTypeException("Non-boolean default for boolean: "+n);
- e.writeBoolean(n.getBooleanValue());
+ e.writeBoolean(n.booleanValue());
break;
case NULL:
if (!n.isNull())
diff --git a/lang/java/avro/src/main/java/org/apache/avro/reflect/ReflectData.java b/lang/java/avro/src/main/java/org/apache/avro/reflect/ReflectData.java
index 79558ba..6c59a69 100644
--- a/lang/java/avro/src/main/java/org/apache/avro/reflect/ReflectData.java
+++ b/lang/java/avro/src/main/java/org/apache/avro/reflect/ReflectData.java
@@ -38,6 +38,8 @@ import java.util.List;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.node.NullNode;
import com.google.common.collect.MapMaker;
import org.apache.avro.AvroRemoteException;
import org.apache.avro.AvroRuntimeException;
@@ -58,8 +60,6 @@ import org.apache.avro.io.DatumWriter;
import org.apache.avro.specific.FixedSize;
import org.apache.avro.specific.SpecificData;
import org.apache.avro.SchemaNormalization;
-import org.codehaus.jackson.JsonNode;
-import org.codehaus.jackson.node.NullNode;
import com.thoughtworks.paranamer.CachingParanamer;
import com.thoughtworks.paranamer.Paranamer;
diff --git a/lang/java/avro/src/main/java/org/apache/avro/util/internal/JacksonUtils.java b/lang/java/avro/src/main/java/org/apache/avro/util/internal/JacksonUtils.java
index 351be18..5f5e2fe 100644
--- a/lang/java/avro/src/main/java/org/apache/avro/util/internal/JacksonUtils.java
+++ b/lang/java/avro/src/main/java/org/apache/avro/util/internal/JacksonUtils.java
@@ -28,10 +28,11 @@ import java.util.Map;
import org.apache.avro.AvroRuntimeException;
import org.apache.avro.JsonProperties;
import org.apache.avro.Schema;
-import org.codehaus.jackson.JsonGenerator;
-import org.codehaus.jackson.JsonNode;
-import org.codehaus.jackson.map.ObjectMapper;
-import org.codehaus.jackson.util.TokenBuffer;
+
+import com.fasterxml.jackson.core.JsonGenerator;
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.util.TokenBuffer;
public class JacksonUtils {
static final String BYTES_CHARSET = "ISO-8859-1";
@@ -44,7 +45,7 @@ public class JacksonUtils {
return null;
}
try {
- TokenBuffer generator = new TokenBuffer(new ObjectMapper());
+ TokenBuffer generator = new TokenBuffer(new ObjectMapper(), false);
toJson(datum, generator);
return new ObjectMapper().readTree(generator.asParser());
} catch (IOException e) {
@@ -110,7 +111,7 @@ public class JacksonUtils {
}
} else if (jsonNode.isLong()) {
return jsonNode.asLong();
- } else if (jsonNode.isDouble()) {
+ } else if (jsonNode.isDouble() || jsonNode.isFloat()) {
if (schema == null || schema.getType().equals(Schema.Type.DOUBLE)) {
return jsonNode.asDouble();
} else if (schema.getType().equals(Schema.Type.FLOAT)) {
@@ -123,7 +124,7 @@ public class JacksonUtils {
} else if (schema.getType().equals(Schema.Type.BYTES)
|| schema.getType().equals(Schema.Type.FIXED)) {
try {
- return jsonNode.getTextValue().getBytes(BYTES_CHARSET);
+ return jsonNode.textValue().getBytes(BYTES_CHARSET);
} catch (UnsupportedEncodingException e) {
throw new AvroRuntimeException(e);
}
@@ -136,7 +137,7 @@ public class JacksonUtils {
return l;
} else if (jsonNode.isObject()) {
Map m = new LinkedHashMap();
- for (Iterator<String> it = jsonNode.getFieldNames(); it.hasNext(); ) {
+ for (Iterator<String> it = jsonNode.fieldNames(); it.hasNext(); ) {
String key = it.next();
Schema s = null;
if (schema == null) {
diff --git a/lang/java/avro/src/test/java/org/apache/avro/TestSchemaBuilder.java b/lang/java/avro/src/test/java/org/apache/avro/TestSchemaBuilder.java
index af15c38..bb0b055 100644
--- a/lang/java/avro/src/test/java/org/apache/avro/TestSchemaBuilder.java
+++ b/lang/java/avro/src/test/java/org/apache/avro/TestSchemaBuilder.java
@@ -35,10 +35,11 @@ import org.apache.avro.generic.GenericData;
import org.apache.avro.generic.GenericDatumReader;
import org.apache.avro.generic.GenericDatumWriter;
import org.apache.avro.generic.GenericRecordBuilder;
-import org.codehaus.jackson.node.NullNode;
import org.junit.Assert;
import org.junit.Test;
+import com.fasterxml.jackson.databind.node.NullNode;
+
public class TestSchemaBuilder {
private static final File DIR = new File(System.getProperty("test.dir", "/tmp"));
diff --git a/lang/java/avro/src/test/java/org/apache/avro/generic/TestGenericData.java b/lang/java/avro/src/test/java/org/apache/avro/generic/TestGenericData.java
index 3a81169..8bc160e 100644
--- a/lang/java/avro/src/test/java/org/apache/avro/generic/TestGenericData.java
+++ b/lang/java/avro/src/test/java/org/apache/avro/generic/TestGenericData.java
@@ -44,10 +44,10 @@ import org.apache.avro.io.BinaryEncoder;
import org.apache.avro.io.EncoderFactory;
import org.apache.avro.generic.GenericData.Record;
import org.apache.avro.util.Utf8;
-import org.codehaus.jackson.JsonFactory;
-import org.codehaus.jackson.JsonParseException;
-import org.codehaus.jackson.JsonParser;
-import org.codehaus.jackson.map.ObjectMapper;
+import com.fasterxml.jackson.core.JsonFactory;
+import com.fasterxml.jackson.core.JsonParseException;
+import com.fasterxml.jackson.core.JsonParser;
+import com.fasterxml.jackson.databind.ObjectMapper;
import org.junit.Test;
diff --git a/lang/java/avro/src/test/java/org/apache/avro/io/TestBlockingIO.java b/lang/java/avro/src/test/java/org/apache/avro/io/TestBlockingIO.java
index 15f0f72..1e6c886 100644
--- a/lang/java/avro/src/test/java/org/apache/avro/io/TestBlockingIO.java
+++ b/lang/java/avro/src/test/java/org/apache/avro/io/TestBlockingIO.java
@@ -25,8 +25,8 @@ import java.util.Stack;
import java.util.Collection;
import java.util.Arrays;
-import org.codehaus.jackson.JsonFactory;
-import org.codehaus.jackson.JsonParser;
+import com.fasterxml.jackson.core.JsonFactory;
+import com.fasterxml.jackson.core.JsonParser;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
diff --git a/lang/java/avro/src/test/java/org/apache/avro/io/TestEncoders.java b/lang/java/avro/src/test/java/org/apache/avro/io/TestEncoders.java
index 28795b9..1517693 100644
--- a/lang/java/avro/src/test/java/org/apache/avro/io/TestEncoders.java
+++ b/lang/java/avro/src/test/java/org/apache/avro/io/TestEncoders.java
@@ -32,9 +32,9 @@ import org.apache.avro.Schema;
import org.apache.avro.Schema.Type;
import org.apache.avro.generic.GenericDatumReader;
import org.apache.avro.generic.GenericDatumWriter;
-import org.codehaus.jackson.JsonEncoding;
-import org.codehaus.jackson.JsonFactory;
-import org.codehaus.jackson.JsonGenerator;
+import com.fasterxml.jackson.core.JsonEncoding;
+import com.fasterxml.jackson.core.JsonFactory;
+import com.fasterxml.jackson.core.JsonGenerator;
import org.junit.Assert;
import org.junit.Test;
diff --git a/lang/java/avro/src/test/java/org/apache/avro/io/parsing/TestResolvingGrammarGenerator.java b/lang/java/avro/src/test/java/org/apache/avro/io/parsing/TestResolvingGrammarGenerator.java
index f42a634..d96f771 100644
--- a/lang/java/avro/src/test/java/org/apache/avro/io/parsing/TestResolvingGrammarGenerator.java
+++ b/lang/java/avro/src/test/java/org/apache/avro/io/parsing/TestResolvingGrammarGenerator.java
@@ -35,9 +35,9 @@ import org.apache.avro.generic.GenericDatumWriter;
import org.apache.avro.generic.GenericRecordBuilder;
import org.apache.avro.io.Encoder;
import org.apache.avro.io.EncoderFactory;
-import org.codehaus.jackson.JsonFactory;
-import org.codehaus.jackson.JsonNode;
-import org.codehaus.jackson.map.ObjectMapper;
+import com.fasterxml.jackson.core.JsonFactory;
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.ObjectMapper;
import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
diff --git a/lang/java/avro/src/test/java/org/apache/avro/reflect/TestReflect.java b/lang/java/avro/src/test/java/org/apache/avro/reflect/TestReflect.java
index 21244fb..cb572f0 100644
--- a/lang/java/avro/src/test/java/org/apache/avro/reflect/TestReflect.java
+++ b/lang/java/avro/src/test/java/org/apache/avro/reflect/TestReflect.java
@@ -47,9 +47,10 @@ import org.apache.avro.io.DecoderFactory;
import org.apache.avro.io.Encoder;
import org.apache.avro.io.EncoderFactory;
import org.apache.avro.reflect.TestReflect.SampleRecord.AnotherSampleRecord;
-import org.codehaus.jackson.node.NullNode;
import org.junit.Test;
+import com.fasterxml.jackson.databind.node.NullNode;
+
public class TestReflect {
EncoderFactory factory = new EncoderFactory();
diff --git a/lang/java/avro/src/test/java/org/apache/avro/util/internal/TestJacksonUtils.java b/lang/java/avro/src/test/java/org/apache/avro/util/internal/TestJacksonUtils.java
index 579231c..556a91a 100644
--- a/lang/java/avro/src/test/java/org/apache/avro/util/internal/TestJacksonUtils.java
+++ b/lang/java/avro/src/test/java/org/apache/avro/util/internal/TestJacksonUtils.java
@@ -21,15 +21,16 @@ import java.util.Collections;
import org.apache.avro.JsonProperties;
import org.apache.avro.Schema;
import org.apache.avro.SchemaBuilder;
-import org.codehaus.jackson.node.ArrayNode;
-import org.codehaus.jackson.node.BooleanNode;
-import org.codehaus.jackson.node.DoubleNode;
-import org.codehaus.jackson.node.IntNode;
-import org.codehaus.jackson.node.JsonNodeFactory;
-import org.codehaus.jackson.node.LongNode;
-import org.codehaus.jackson.node.NullNode;
-import org.codehaus.jackson.node.ObjectNode;
-import org.codehaus.jackson.node.TextNode;
+import com.fasterxml.jackson.databind.node.ArrayNode;
+import com.fasterxml.jackson.databind.node.BooleanNode;
+import com.fasterxml.jackson.databind.node.DoubleNode;
+import com.fasterxml.jackson.databind.node.FloatNode;
+import com.fasterxml.jackson.databind.node.IntNode;
+import com.fasterxml.jackson.databind.node.JsonNodeFactory;
+import com.fasterxml.jackson.databind.node.LongNode;
+import com.fasterxml.jackson.databind.node.NullNode;
+import com.fasterxml.jackson.databind.node.ObjectNode;
+import com.fasterxml.jackson.databind.node.TextNode;
import org.junit.Test;
import static org.apache.avro.util.internal.JacksonUtils.toJsonNode;
@@ -50,7 +51,7 @@ public class TestJacksonUtils {
assertEquals(BooleanNode.TRUE, toJsonNode(true));
assertEquals(IntNode.valueOf(1), toJsonNode(1));
assertEquals(LongNode.valueOf(2), toJsonNode(2L));
- assertEquals(DoubleNode.valueOf(1.0), toJsonNode(1.0f));
+ assertEquals(FloatNode.valueOf(1.0f), toJsonNode(1.0f));
assertEquals(DoubleNode.valueOf(2.0), toJsonNode(2.0));
assertEquals(TextNode.valueOf("\u0001\u0002"), toJsonNode(new byte[] { 1, 2 }));
assertEquals(TextNode.valueOf("a"), toJsonNode("a"));
diff --git a/lang/java/compiler/pom.xml b/lang/java/compiler/pom.xml
index c7cef91..ec221d4 100644
--- a/lang/java/compiler/pom.xml
+++ b/lang/java/compiler/pom.xml
@@ -190,12 +190,8 @@
<artifactId>velocity</artifactId>
</dependency>
<dependency>
- <groupId>org.codehaus.jackson</groupId>
- <artifactId>jackson-core-asl</artifactId>
- </dependency>
- <dependency>
- <groupId>org.codehaus.jackson</groupId>
- <artifactId>jackson-mapper-asl</artifactId>
+ <groupId>com.fasterxml.jackson.core</groupId>
+ <artifactId>jackson-core</artifactId>
</dependency>
<dependency>
<groupId>org.apache.ant</groupId>
diff --git a/lang/java/compiler/src/main/java/org/apache/avro/compiler/specific/SpecificCompiler.java b/lang/java/compiler/src/main/java/org/apache/avro/compiler/specific/SpecificCompiler.java
index 58c43d0..5470037 100644
--- a/lang/java/compiler/src/main/java/org/apache/avro/compiler/specific/SpecificCompiler.java
+++ b/lang/java/compiler/src/main/java/org/apache/avro/compiler/specific/SpecificCompiler.java
@@ -40,7 +40,7 @@ import org.apache.avro.LogicalTypes;
import org.apache.avro.data.Jsr310TimeConversions;
import org.apache.avro.data.TimeConversions;
import org.apache.avro.specific.SpecificData;
-import org.codehaus.jackson.JsonNode;
+import com.fasterxml.jackson.databind.JsonNode;
import org.apache.avro.Protocol;
import org.apache.avro.Protocol.Message;
@@ -641,7 +641,7 @@ public class SpecificCompiler {
throw new IllegalArgumentException("Can't check string-type of non-string/map type: " + s);
}
JsonNode override = s.getJsonProp(prop);
- if (override != null) return override.getTextValue();
+ if (override != null) return override.textValue();
switch (stringType) {
case String: return "java.lang.String";
case Utf8: return "org.apache.avro.util.Utf8";
@@ -818,12 +818,12 @@ public class SpecificCompiler {
if (value == null)
return new String[0];
if (value.isTextual())
- return new String[] { value.getTextValue() };
+ return new String[] { value.textValue() };
if (value.isArray()) {
int i = 0;
String[] result = new String[value.size()];
for (JsonNode v : value)
- result[i++] = v.getTextValue();
+ result[i++] = v.textValue();
return result;
}
return new String[0];
diff --git a/lang/java/compiler/src/main/javacc/org/apache/avro/compiler/idl/idl.jj b/lang/java/compiler/src/main/javacc/org/apache/avro/compiler/idl/idl.jj
index cae241f..69fd8c5 100644
--- a/lang/java/compiler/src/main/javacc/org/apache/avro/compiler/idl/idl.jj
+++ b/lang/java/compiler/src/main/javacc/org/apache/avro/compiler/idl/idl.jj
@@ -74,8 +74,8 @@ import org.apache.avro.Schema.*;
import org.apache.avro.Protocol;
import org.apache.avro.Protocol.*;
-import org.codehaus.jackson.JsonNode;
-import org.codehaus.jackson.node.*;
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.node.*;
import org.apache.commons.lang.StringEscapeUtils;
@@ -132,7 +132,7 @@ public class Idl implements Closeable {
Token token) throws ParseException {
JsonNode value = props.get(key);
if (value.isTextual())
- return value.getTextValue();
+ return value.textValue();
throw error(key+" property must be textual: "+value, token);
}
@@ -144,7 +144,7 @@ public class Idl implements Closeable {
List<String> values = new ArrayList<String>();
for (JsonNode n : value)
if (n.isTextual())
- values.add(n.getTextValue());
+ values.add(n.textValue());
else
throw error(key+" values must be textual: "+n, token);
return values;
diff --git a/lang/java/compiler/src/test/java/org/apache/avro/compiler/idl/TestIdl.java b/lang/java/compiler/src/test/java/org/apache/avro/compiler/idl/TestIdl.java
index b387144..d6dbef0 100644
--- a/lang/java/compiler/src/test/java/org/apache/avro/compiler/idl/TestIdl.java
+++ b/lang/java/compiler/src/test/java/org/apache/avro/compiler/idl/TestIdl.java
@@ -34,8 +34,8 @@ import java.util.ArrayList;
import java.util.List;
import org.apache.avro.Protocol;
-import org.codehaus.jackson.JsonNode;
-import org.codehaus.jackson.map.ObjectMapper;
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.ObjectMapper;
import org.junit.Before;
import org.junit.Test;
diff --git a/lang/java/ipc/pom.xml b/lang/java/ipc/pom.xml
index fbd44f0..4358cba 100644
--- a/lang/java/ipc/pom.xml
+++ b/lang/java/ipc/pom.xml
@@ -115,14 +115,12 @@
<scope>test</scope>
</dependency>
<dependency>
- <groupId>org.codehaus.jackson</groupId>
- <artifactId>jackson-core-asl</artifactId>
- <version>${jackson.version}</version>
+ <groupId>com.fasterxml.jackson.core</groupId>
+ <artifactId>jackson-core</artifactId>
</dependency>
<dependency>
- <groupId>org.codehaus.jackson</groupId>
- <artifactId>jackson-mapper-asl</artifactId>
- <version>${jackson.version}</version>
+ <groupId>com.fasterxml.jackson.core</groupId>
+ <artifactId>jackson-databind</artifactId>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
diff --git a/lang/java/ipc/src/test/java/org/apache/avro/specific/TestSpecificData.java b/lang/java/ipc/src/test/java/org/apache/avro/specific/TestSpecificData.java
index de0da4e..fca1fbe 100644
--- a/lang/java/ipc/src/test/java/org/apache/avro/specific/TestSpecificData.java
+++ b/lang/java/ipc/src/test/java/org/apache/avro/specific/TestSpecificData.java
@@ -30,9 +30,9 @@ import java.io.ObjectOutputStream;
import org.apache.avro.FooBarSpecificRecord;
import org.apache.avro.TypeEnum;
-import org.codehaus.jackson.JsonFactory;
-import org.codehaus.jackson.JsonParser;
-import org.codehaus.jackson.map.ObjectMapper;
+import com.fasterxml.jackson.core.JsonFactory;
+import com.fasterxml.jackson.core.JsonParser;
+import com.fasterxml.jackson.databind.ObjectMapper;
import org.junit.Test;
import org.junit.Assert;
diff --git a/lang/java/mapred/pom.xml b/lang/java/mapred/pom.xml
index e836ba6..fb705ef 100644
--- a/lang/java/mapred/pom.xml
+++ b/lang/java/mapred/pom.xml
@@ -163,12 +163,8 @@
<scope>test</scope>
</dependency>
<dependency>
- <groupId>org.codehaus.jackson</groupId>
- <artifactId>jackson-core-asl</artifactId>
- </dependency>
- <dependency>
- <groupId>org.codehaus.jackson</groupId>
- <artifactId>jackson-mapper-asl</artifactId>
+ <groupId>com.fasterxml.jackson.core</groupId>
+ <artifactId>jackson-core</artifactId>
</dependency>
<dependency>
<groupId>commons-codec</groupId>
diff --git a/lang/java/maven-plugin/src/test/resources/unit/idl/pom-joda.xml b/lang/java/maven-plugin/src/test/resources/unit/idl/pom-joda.xml
index 92c761d..442fdb5 100644
--- a/lang/java/maven-plugin/src/test/resources/unit/idl/pom-joda.xml
+++ b/lang/java/maven-plugin/src/test/resources/unit/idl/pom-joda.xml
@@ -60,9 +60,9 @@
<version>${parent.version}</version>
</dependency>
<dependency>
- <groupId>org.codehaus.jackson</groupId>
- <artifactId>jackson-mapper-asl</artifactId>
- <version>1.9.10</version>
+ <groupId>com.fasterxml.jackson.core</groupId>
+ <artifactId>jackson-databind</artifactId>
+ <version>2.9.7</version>
</dependency>
</dependencies>
diff --git a/lang/java/maven-plugin/src/test/resources/unit/idl/pom-jsr310.xml b/lang/java/maven-plugin/src/test/resources/unit/idl/pom-jsr310.xml
index 5709945..ae8fb0c 100644
--- a/lang/java/maven-plugin/src/test/resources/unit/idl/pom-jsr310.xml
+++ b/lang/java/maven-plugin/src/test/resources/unit/idl/pom-jsr310.xml
@@ -60,9 +60,9 @@
<version>${parent.version}</version>
</dependency>
<dependency>
- <groupId>org.codehaus.jackson</groupId>
- <artifactId>jackson-mapper-asl</artifactId>
- <version>1.9.10</version>
+ <groupId>com.fasterxml.jackson.core</groupId>
+ <artifactId>jackson-databind</artifactId>
+ <version>2.9.7</version>
</dependency>
</dependencies>
diff --git a/lang/java/maven-plugin/src/test/resources/unit/protocol/pom-joda.xml b/lang/java/maven-plugin/src/test/resources/unit/protocol/pom-joda.xml
index 68ddcdc..0282e4d 100644
--- a/lang/java/maven-plugin/src/test/resources/unit/protocol/pom-joda.xml
+++ b/lang/java/maven-plugin/src/test/resources/unit/protocol/pom-joda.xml
@@ -58,9 +58,9 @@
<version>${parent.version}</version>
</dependency>
<dependency>
- <groupId>org.codehaus.jackson</groupId>
- <artifactId>jackson-mapper-asl</artifactId>
- <version>1.9.10</version>
+ <groupId>com.fasterxml.jackson.core</groupId>
+ <artifactId>jackson-databind</artifactId>
+ <version>2.9.7</version>
</dependency>
</dependencies>
diff --git a/lang/java/maven-plugin/src/test/resources/unit/protocol/pom-jsr310.xml b/lang/java/maven-plugin/src/test/resources/unit/protocol/pom-jsr310.xml
index 5ad5bba..e12bf6d 100644
--- a/lang/java/maven-plugin/src/test/resources/unit/protocol/pom-jsr310.xml
+++ b/lang/java/maven-plugin/src/test/resources/unit/protocol/pom-jsr310.xml
@@ -59,9 +59,9 @@
<version>${parent.version}</version>
</dependency>
<dependency>
- <groupId>org.codehaus.jackson</groupId>
- <artifactId>jackson-mapper-asl</artifactId>
- <version>1.9.10</version>
+ <groupId>com.fasterxml.jackson.core</groupId>
+ <artifactId>jackson-databind</artifactId>
+ <version>2.9.7</version>
</dependency>
</dependencies>
diff --git a/lang/java/maven-plugin/src/test/resources/unit/schema/pom-joda.xml b/lang/java/maven-plugin/src/test/resources/unit/schema/pom-joda.xml
index f31692b..2d433b0 100644
--- a/lang/java/maven-plugin/src/test/resources/unit/schema/pom-joda.xml
+++ b/lang/java/maven-plugin/src/test/resources/unit/schema/pom-joda.xml
@@ -62,9 +62,9 @@
<version>${parent.version}</version>
</dependency>
<dependency>
- <groupId>org.codehaus.jackson</groupId>
- <artifactId>jackson-mapper-asl</artifactId>
- <version>1.9.10</version>
+ <groupId>com.fasterxml.jackson.core</groupId>
+ <artifactId>jackson-databind</artifactId>
+ <version>2.9.7</version>
</dependency>
</dependencies>
diff --git a/lang/java/maven-plugin/src/test/resources/unit/schema/pom-jsr310.xml b/lang/java/maven-plugin/src/test/resources/unit/schema/pom-jsr310.xml
index a439363..21ebb5a 100644
--- a/lang/java/maven-plugin/src/test/resources/unit/schema/pom-jsr310.xml
+++ b/lang/java/maven-plugin/src/test/resources/unit/schema/pom-jsr310.xml
@@ -63,9 +63,9 @@
<version>${parent.version}</version>
</dependency>
<dependency>
- <groupId>org.codehaus.jackson</groupId>
- <artifactId>jackson-mapper-asl</artifactId>
- <version>1.9.10</version>
+ <groupId>com.fasterxml.jackson.core</groupId>
+ <artifactId>jackson-databind</artifactId>
+ <version>2.9.7</version>
</dependency>
</dependencies>
diff --git a/lang/java/pom.xml b/lang/java/pom.xml
index 74d8e2d..0e85906 100644
--- a/lang/java/pom.xml
+++ b/lang/java/pom.xml
@@ -39,7 +39,7 @@
<!-- version properties for dependencies -->
<hadoop2.version>2.7.3</hadoop2.version>
- <jackson.version>1.9.13</jackson.version>
+ <jackson.version>2.9.7</jackson.version>
<jetty.version>9.4.12.v20180830</jetty.version>
<jopt-simple.version>5.0.4</jopt-simple.version>
<junit.version>4.12</junit.version>
@@ -413,13 +413,13 @@
<dependencyManagement>
<dependencies>
<dependency>
- <groupId>org.codehaus.jackson</groupId>
- <artifactId>jackson-core-asl</artifactId>
+ <groupId>com.fasterxml.jackson.core</groupId>
+ <artifactId>jackson-core</artifactId>
<version>${jackson.version}</version>
</dependency>
<dependency>
- <groupId>org.codehaus.jackson</groupId>
- <artifactId>jackson-mapper-asl</artifactId>
+ <groupId>com.fasterxml.jackson.core</groupId>
+ <artifactId>jackson-databind</artifactId>
<version>${jackson.version}</version>
</dependency>
<dependency>
diff --git a/lang/java/protobuf/pom.xml b/lang/java/protobuf/pom.xml
index 0944b53..313ab25 100644
--- a/lang/java/protobuf/pom.xml
+++ b/lang/java/protobuf/pom.xml
@@ -85,14 +85,12 @@
<version>${protobuf.version}</version>
</dependency>
<dependency>
- <groupId>org.codehaus.jackson</groupId>
- <artifactId>jackson-core-asl</artifactId>
- <version>${jackson.version}</version>
+ <groupId>com.fasterxml.jackson.core</groupId>
+ <artifactId>jackson-core</artifactId>
</dependency>
<dependency>
- <groupId>org.codehaus.jackson</groupId>
- <artifactId>jackson-mapper-asl</artifactId>
- <version>${jackson.version}</version>
+ <groupId>com.fasterxml.jackson.core</groupId>
+ <artifactId>jackson-databind</artifactId>
</dependency>
</dependencies>
diff --git a/lang/java/protobuf/src/main/java/org/apache/avro/protobuf/ProtobufData.java b/lang/java/protobuf/src/main/java/org/apache/avro/protobuf/ProtobufData.java
index b07b7f3..7f9ae4e 100644
--- a/lang/java/protobuf/src/main/java/org/apache/avro/protobuf/ProtobufData.java
+++ b/lang/java/protobuf/src/main/java/org/apache/avro/protobuf/ProtobufData.java
@@ -46,10 +46,10 @@ import com.google.protobuf.Descriptors.FileDescriptor;
import com.google.protobuf.DescriptorProtos.FileOptions;
import org.apache.avro.util.ClassUtils;
-import org.codehaus.jackson.JsonFactory;
-import org.codehaus.jackson.JsonNode;
-import org.codehaus.jackson.map.ObjectMapper;
-import org.codehaus.jackson.node.JsonNodeFactory;
+import com.fasterxml.jackson.core.JsonFactory;
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.node.JsonNodeFactory;
/** Utilities for serializing Protobuf data in Avro format. */
public class ProtobufData extends GenericData {
diff --git a/lang/java/thrift/pom.xml b/lang/java/thrift/pom.xml
index 07fe52b..ce3c591 100644
--- a/lang/java/thrift/pom.xml
+++ b/lang/java/thrift/pom.xml
@@ -91,9 +91,8 @@
<version>${thrift.version}</version>
</dependency>
<dependency>
- <groupId>org.codehaus.jackson</groupId>
- <artifactId>jackson-core-asl</artifactId>
- <version>${jackson.version}</version>
+ <groupId>com.fasterxml.jackson.core</groupId>
+ <artifactId>jackson-core</artifactId>
</dependency>
</dependencies>
diff --git a/lang/java/tools/pom.xml b/lang/java/tools/pom.xml
index 11bac66..2137e08 100644
--- a/lang/java/tools/pom.xml
+++ b/lang/java/tools/pom.xml
@@ -243,9 +243,8 @@
<version>${project.version}</version>
</dependency>
<dependency>
- <groupId>org.codehaus.jackson</groupId>
- <artifactId>jackson-core-asl</artifactId>
- <version>${jackson.version}</version>
+ <groupId>com.fasterxml.jackson.core</groupId>
+ <artifactId>jackson-core</artifactId>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
diff --git a/lang/java/tools/src/main/java/org/apache/avro/tool/RpcSendTool.java b/lang/java/tools/src/main/java/org/apache/avro/tool/RpcSendTool.java
index 352a381..8582a91 100644
--- a/lang/java/tools/src/main/java/org/apache/avro/tool/RpcSendTool.java
+++ b/lang/java/tools/src/main/java/org/apache/avro/tool/RpcSendTool.java
@@ -37,9 +37,9 @@ import org.apache.avro.io.EncoderFactory;
import org.apache.avro.ipc.Ipc;
import org.apache.avro.ipc.generic.GenericRequestor;
-import org.codehaus.jackson.JsonEncoding;
-import org.codehaus.jackson.JsonFactory;
-import org.codehaus.jackson.JsonGenerator;
+import com.fasterxml.jackson.core.JsonEncoding;
+import com.fasterxml.jackson.core.JsonFactory;
+import com.fasterxml.jackson.core.JsonGenerator;
/**
* Sends a single RPC message.
diff --git a/lang/java/tools/src/main/java/org/apache/avro/tool/TrevniMetadataTool.java b/lang/java/tools/src/main/java/org/apache/avro/tool/TrevniMetadataTool.java
index 87aa108..1cbfc4b 100644
--- a/lang/java/tools/src/main/java/org/apache/avro/tool/TrevniMetadataTool.java
+++ b/lang/java/tools/src/main/java/org/apache/avro/tool/TrevniMetadataTool.java
@@ -28,10 +28,10 @@ import org.apache.trevni.ColumnFileReader;
import org.apache.trevni.MetaData;
import org.apache.trevni.ColumnMetaData;
-import org.codehaus.jackson.JsonFactory;
-import org.codehaus.jackson.JsonGenerator;
-import org.codehaus.jackson.JsonEncoding;
-import org.codehaus.jackson.util.MinimalPrettyPrinter;
+import com.fasterxml.jackson.core.JsonFactory;
+import com.fasterxml.jackson.core.JsonGenerator;
+import com.fasterxml.jackson.core.JsonEncoding;
+import com.fasterxml.jackson.core.util.MinimalPrettyPrinter;
/** Tool to print Trevni file metadata as JSON. */
public class TrevniMetadataTool implements Tool {
diff --git a/lang/java/tools/src/main/java/org/apache/avro/tool/TrevniToJsonTool.java b/lang/java/tools/src/main/java/org/apache/avro/tool/TrevniToJsonTool.java
index 6c549d1..fd2674a 100644
--- a/lang/java/tools/src/main/java/org/apache/avro/tool/TrevniToJsonTool.java
+++ b/lang/java/tools/src/main/java/org/apache/avro/tool/TrevniToJsonTool.java
@@ -27,10 +27,10 @@ import org.apache.trevni.ColumnFileReader;
import org.apache.trevni.ColumnMetaData;
import org.apache.trevni.ColumnValues;
-import org.codehaus.jackson.JsonFactory;
-import org.codehaus.jackson.JsonGenerator;
-import org.codehaus.jackson.JsonEncoding;
-import org.codehaus.jackson.util.MinimalPrettyPrinter;
+import com.fasterxml.jackson.core.JsonFactory;
+import com.fasterxml.jackson.core.JsonGenerator;
+import com.fasterxml.jackson.core.JsonEncoding;
+import com.fasterxml.jackson.core.util.MinimalPrettyPrinter;
/** Tool to read Trevni files and print them as JSON.
* This can read any Trevni file. Nested structure is reconstructed from the