diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml
index 7b05b7603..4af8cc5dc 100644
--- a/.github/workflows/maven.yml
+++ b/.github/workflows/maven.yml
@@ -57,6 +57,17 @@ jobs:
echo 'HC_BUILD_TOOLCHAIN_VERSION=${{ matrix.java }}' >> "$GITHUB_ENV"
;;
esac
+ # The httpcore5-jackson3 module is compiled for Java 17 (Jackson 3
+ # requirement), so it must be excluded from the reactor whenever the
+ # selected toolchain is older than 17.
+ case '${{ matrix.java }}' in
+ 8|11)
+ echo 'HC_PROFILE_ARGS=-Dhc.jackson3.skip=true' >> "$GITHUB_ENV"
+ ;;
+ *)
+ echo 'HC_PROFILE_ARGS=' >> "$GITHUB_ENV"
+ ;;
+ esac
- name: Set up toolchain JDK ${{ matrix.java }}
id: setup-java-toolchain
uses: actions/setup-java@v5
@@ -88,4 +99,4 @@ jobs:
EOF
- name: Build with Maven
- run: ./mvnw -V --file pom.xml --no-transfer-progress -DtrimStackTrace=false -Djunit.jupiter.execution.parallel.enabled=false -Dhc.build.toolchain.version="${HC_BUILD_TOOLCHAIN_VERSION}" -Pdocker
+ run: ./mvnw -V --file pom.xml --no-transfer-progress -DtrimStackTrace=false -Djunit.jupiter.execution.parallel.enabled=false -Dhc.build.toolchain.version="${HC_BUILD_TOOLCHAIN_VERSION}" ${HC_PROFILE_ARGS} -Pdocker
diff --git a/README.md b/README.md
index 5915279eb..53fe84f1c 100644
--- a/README.md
+++ b/README.md
@@ -33,7 +33,8 @@ For building from source instructions please refer to [BUILDING.txt](./BUILDING.
Dependencies
------------
-HttpCore requires Java 1.8 compatible runtime.
+HttpCore requires Java 1.8 compatible runtime. The optional `httpcore5-jackson3`
+module depends on Jackson 3 and requires Java 17.
Protocol conformance
--------------------
diff --git a/httpcore5-jackson2/pom.xml b/httpcore5-jackson3/pom.xml
similarity index 76%
rename from httpcore5-jackson2/pom.xml
rename to httpcore5-jackson3/pom.xml
index 5d866aa78..e01a12acf 100644
--- a/httpcore5-jackson2/pom.xml
+++ b/httpcore5-jackson3/pom.xml
@@ -31,12 +31,29 @@
4.0.0
- httpcore5-jackson2
- Jackson 2 bindings for Apache HttpComponents Core
+ httpcore5-jackson3
+ Jackson 3 bindings for Apache HttpComponents Core
Apache HttpComponents JSON bindings
org.apache.httpcomponents.core5.httpcore5.json
+
+ 17
+ 17
+ 17
+ 17
+
+ true
@@ -45,9 +62,9 @@
httpcore5
- com.fasterxml.jackson.core
+ tools.jackson.core
jackson-databind
- 2.21.3
+ ${jackson.version}
org.junit.jupiter
diff --git a/httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/JacksonSupport.java b/httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/JacksonSupport.java
new file mode 100644
index 000000000..77c191912
--- /dev/null
+++ b/httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/JacksonSupport.java
@@ -0,0 +1,61 @@
+/*
+ * ====================================================================
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ * ====================================================================
+ *
+ * This software consists of voluntary contributions made by many
+ * individuals on behalf of the Apache Software Foundation. For more
+ * information on the Apache Software Foundation, please see
+ * .
+ *
+ */
+package org.apache.hc.core5.jackson3;
+
+import java.io.IOException;
+
+import org.apache.hc.core5.annotation.Internal;
+
+import tools.jackson.core.JacksonException;
+
+/**
+ * Translates Jackson exceptions into {@link IOException} at the boundary between Jackson
+ * and the HttpCore I/O contracts. Jackson 3 reports stream and databind failures as
+ * unchecked {@link JacksonException}, whereas HttpCore producers and consumers declare
+ * {@link IOException}. Every Jackson call made behind such a contract must be converted
+ * here rather than allowed to escape as a runtime exception.
+ *
+ * @since 5.5
+ */
+@Internal
+public final class JacksonSupport {
+
+ private JacksonSupport() {
+ }
+
+ /**
+ * Wraps a Jackson exception as an {@link IOException}, preserving it as the cause.
+ *
+ * @param ex the Jackson exception to translate
+ * @return an {@link IOException} carrying the same message and the given cause
+ * @since 5.5
+ */
+ public static IOException asIOException(final JacksonException ex) {
+ return new IOException(ex.getMessage(), ex);
+ }
+
+}
diff --git a/httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2/JsonAsyncTokenizer.java b/httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/JsonAsyncTokenizer.java
similarity index 87%
rename from httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2/JsonAsyncTokenizer.java
rename to httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/JsonAsyncTokenizer.java
index fa8845951..b45ffa373 100644
--- a/httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2/JsonAsyncTokenizer.java
+++ b/httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/JsonAsyncTokenizer.java
@@ -24,16 +24,17 @@
* .
*
*/
-package org.apache.hc.core5.jackson2;
+package org.apache.hc.core5.jackson3;
import java.io.IOException;
import java.nio.ByteBuffer;
-import com.fasterxml.jackson.core.JsonFactory;
-import com.fasterxml.jackson.core.JsonParser;
-import com.fasterxml.jackson.core.JsonToken;
-import com.fasterxml.jackson.core.JsonTokenId;
-import com.fasterxml.jackson.core.async.ByteArrayFeeder;
+import tools.jackson.core.TokenStreamFactory;
+import tools.jackson.core.JsonParser;
+import tools.jackson.core.JsonToken;
+import tools.jackson.core.JsonTokenId;
+import tools.jackson.core.ObjectReadContext;
+import tools.jackson.core.async.ByteArrayFeeder;
import org.apache.hc.core5.util.Args;
@@ -45,13 +46,13 @@
*/
public final class JsonAsyncTokenizer {
- private final JsonFactory jsonFactory;
+ private final TokenStreamFactory jsonFactory;
private JsonTokenConsumer consumer;
private JsonParser parser;
private ByteArrayFeeder inputFeeder;
- public JsonAsyncTokenizer(final JsonFactory jsonFactory) {
+ public JsonAsyncTokenizer(final TokenStreamFactory jsonFactory) {
this.jsonFactory = jsonFactory;
}
@@ -62,8 +63,8 @@ public JsonAsyncTokenizer(final JsonFactory jsonFactory) {
*/
public void initialize(final JsonTokenConsumer consumer) throws IOException {
Args.notNull(consumer, "Consumer");
- this.parser = jsonFactory.createNonBlockingByteArrayParser();
- this.inputFeeder = (ByteArrayFeeder) parser.getNonBlockingInputFeeder();
+ this.parser = jsonFactory.createNonBlockingByteArrayParser(ObjectReadContext.empty());
+ this.inputFeeder = (ByteArrayFeeder) parser.nonBlockingInputFeeder();
this.consumer = consumer;
}
diff --git a/httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2/JsonConsumer.java b/httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/JsonConsumer.java
similarity index 97%
rename from httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2/JsonConsumer.java
rename to httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/JsonConsumer.java
index ee0a07fa4..2da944958 100644
--- a/httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2/JsonConsumer.java
+++ b/httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/JsonConsumer.java
@@ -24,7 +24,7 @@
* .
*
*/
-package org.apache.hc.core5.jackson2;
+package org.apache.hc.core5.jackson3;
import java.io.IOException;
diff --git a/httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2/JsonNodeAssembler.java b/httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/JsonNodeAssembler.java
similarity index 95%
rename from httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2/JsonNodeAssembler.java
rename to httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/JsonNodeAssembler.java
index 1b65b1309..549e6eefd 100644
--- a/httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2/JsonNodeAssembler.java
+++ b/httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/JsonNodeAssembler.java
@@ -24,17 +24,17 @@
* .
*
*/
-package org.apache.hc.core5.jackson2;
+package org.apache.hc.core5.jackson3;
import java.util.LinkedList;
import java.util.function.Consumer;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.node.ArrayNode;
-import com.fasterxml.jackson.databind.node.ContainerNode;
-import com.fasterxml.jackson.databind.node.JsonNodeCreator;
-import com.fasterxml.jackson.databind.node.JsonNodeFactory;
-import com.fasterxml.jackson.databind.node.ObjectNode;
+import tools.jackson.databind.JsonNode;
+import tools.jackson.databind.node.ArrayNode;
+import tools.jackson.databind.node.ContainerNode;
+import tools.jackson.databind.node.JsonNodeCreator;
+import tools.jackson.databind.node.JsonNodeFactory;
+import tools.jackson.databind.node.ObjectNode;
/**
* {@link JsonTokenEventHandler} implementation that assembles an {@link JsonNode}
diff --git a/httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2/JsonResultSink.java b/httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/JsonResultSink.java
similarity index 97%
rename from httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2/JsonResultSink.java
rename to httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/JsonResultSink.java
index 1e258d2e4..f852113ab 100644
--- a/httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2/JsonResultSink.java
+++ b/httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/JsonResultSink.java
@@ -24,7 +24,7 @@
* .
*
*/
-package org.apache.hc.core5.jackson2;
+package org.apache.hc.core5.jackson3;
import java.util.function.Consumer;
diff --git a/httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2/JsonTokenConsumer.java b/httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/JsonTokenConsumer.java
similarity index 92%
rename from httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2/JsonTokenConsumer.java
rename to httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/JsonTokenConsumer.java
index 2f4105696..12b537a59 100644
--- a/httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2/JsonTokenConsumer.java
+++ b/httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/JsonTokenConsumer.java
@@ -24,11 +24,11 @@
* .
*
*/
-package org.apache.hc.core5.jackson2;
+package org.apache.hc.core5.jackson3;
import java.io.IOException;
-import com.fasterxml.jackson.core.JsonParser;
+import tools.jackson.core.JsonParser;
/**
* Represents an event recipient that can react to a stream of consecutive JSON tokens.
@@ -43,7 +43,7 @@ public interface JsonTokenConsumer {
*
* @param tokenId Id representing of the current token held by the parser.
* @param jsonParser the JSON parser.
- * @see com.fasterxml.jackson.core.JsonTokenId
+ * @see tools.jackson.core.JsonTokenId
*/
void accept(int tokenId, JsonParser jsonParser) throws IOException;
diff --git a/httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2/JsonTokenEventHandler.java b/httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/JsonTokenEventHandler.java
similarity index 98%
rename from httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2/JsonTokenEventHandler.java
rename to httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/JsonTokenEventHandler.java
index 56142d26a..e9545ff4f 100644
--- a/httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2/JsonTokenEventHandler.java
+++ b/httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/JsonTokenEventHandler.java
@@ -24,7 +24,7 @@
* .
*
*/
-package org.apache.hc.core5.jackson2;
+package org.apache.hc.core5.jackson3;
/**
* Represents a handler of JSON token events.
diff --git a/httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2/JsonTokenEventHandlerAdaptor.java b/httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/JsonTokenEventHandlerAdaptor.java
similarity index 88%
rename from httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2/JsonTokenEventHandlerAdaptor.java
rename to httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/JsonTokenEventHandlerAdaptor.java
index 1f7585393..b2fed3daa 100644
--- a/httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2/JsonTokenEventHandlerAdaptor.java
+++ b/httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/JsonTokenEventHandlerAdaptor.java
@@ -24,12 +24,13 @@
* .
*
*/
-package org.apache.hc.core5.jackson2;
+package org.apache.hc.core5.jackson3;
import java.io.IOException;
-import com.fasterxml.jackson.core.JsonParser;
-import com.fasterxml.jackson.core.JsonTokenId;
+import tools.jackson.core.JsonParser;
+import tools.jackson.core.JsonTokenId;
+import tools.jackson.core.exc.InputCoercionException;
/**
* {@link JsonTokenConsumer} implementation that converts JSON tokens into
@@ -59,11 +60,11 @@ public void accept(final int tokenId, final JsonParser jsonParser) throws IOExce
case JsonTokenId.ID_END_ARRAY:
eventHandler.arrayEnd();
break;
- case JsonTokenId.ID_FIELD_NAME:
- eventHandler.field(jsonParser.getText());
+ case JsonTokenId.ID_PROPERTY_NAME:
+ eventHandler.field(jsonParser.currentName());
break;
case JsonTokenId.ID_STRING:
- eventHandler.value(jsonParser.getText());
+ eventHandler.value(jsonParser.getString());
break;
case JsonTokenId.ID_NUMBER_INT:
final JsonParser.NumberType numberType = jsonParser.getNumberType();
@@ -72,8 +73,8 @@ public void accept(final int tokenId, final JsonParser jsonParser) throws IOExce
} else if (numberType == JsonParser.NumberType.BIG_INTEGER) {
try {
eventHandler.value(jsonParser.getLongValue());
- } catch (final IOException ex) {
- throw new IOException("Integer value is out of range for 64-bit signed long: " + jsonParser.getText(), ex);
+ } catch (final InputCoercionException ex) {
+ throw new IOException("Integer value is out of range for 64-bit signed long: " + jsonParser.getString(), ex);
}
} else {
eventHandler.value(jsonParser.getIntValue());
diff --git a/httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2/JsonTokenizer.java b/httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/JsonTokenizer.java
similarity index 81%
rename from httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2/JsonTokenizer.java
rename to httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/JsonTokenizer.java
index 28911d7c8..9829d40c7 100644
--- a/httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2/JsonTokenizer.java
+++ b/httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/JsonTokenizer.java
@@ -24,15 +24,16 @@
* .
*
*/
-package org.apache.hc.core5.jackson2;
+package org.apache.hc.core5.jackson3;
import java.io.IOException;
import java.io.InputStream;
-import com.fasterxml.jackson.core.JsonFactory;
-import com.fasterxml.jackson.core.JsonParser;
-import com.fasterxml.jackson.core.JsonToken;
-import com.fasterxml.jackson.core.JsonTokenId;
+import tools.jackson.core.TokenStreamFactory;
+import tools.jackson.core.JsonParser;
+import tools.jackson.core.JsonToken;
+import tools.jackson.core.JsonTokenId;
+import tools.jackson.core.ObjectReadContext;
import org.apache.hc.core5.util.Args;
@@ -44,16 +45,16 @@
*/
public final class JsonTokenizer {
- private final JsonFactory jsonFactory;
+ private final TokenStreamFactory jsonFactory;
- public JsonTokenizer(final JsonFactory jsonFactory) {
+ public JsonTokenizer(final TokenStreamFactory jsonFactory) {
this.jsonFactory = jsonFactory;
}
public void tokenize(final InputStream inputStream,
final JsonTokenConsumer consumer) throws IOException {
Args.notNull(consumer, "Consumer");
- final JsonParser parser = jsonFactory.createParser(inputStream);
+ final JsonParser parser = jsonFactory.createParser(ObjectReadContext.empty(), inputStream);
while (!parser.isClosed()) {
final JsonToken jsonToken = parser.nextToken();
if (jsonToken != null) {
diff --git a/httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2/TokenBufferAssembler.java b/httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/TokenBufferAssembler.java
similarity index 90%
rename from httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2/TokenBufferAssembler.java
rename to httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/TokenBufferAssembler.java
index 0131d2350..4cfc1093e 100644
--- a/httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2/TokenBufferAssembler.java
+++ b/httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/TokenBufferAssembler.java
@@ -25,13 +25,13 @@
*
*/
-package org.apache.hc.core5.jackson2;
+package org.apache.hc.core5.jackson3;
import java.io.IOException;
-import com.fasterxml.jackson.core.JsonParser;
-import com.fasterxml.jackson.core.JsonTokenId;
-import com.fasterxml.jackson.databind.util.TokenBuffer;
+import tools.jackson.core.JsonParser;
+import tools.jackson.core.JsonTokenId;
+import tools.jackson.databind.util.TokenBuffer;
import org.apache.hc.core5.util.Args;
@@ -52,7 +52,7 @@ public final class TokenBufferAssembler implements JsonTokenConsumer {
public TokenBufferAssembler(final JsonResultSink sink) {
Args.notNull(sink, "Result sink");
this.sink = sink;
- this.buffer = new TokenBuffer(null, false);
+ this.buffer = TokenBuffer.forGeneration();
}
public void accept(final int tokenId, final JsonParser jsonParser) throws IOException {
@@ -74,7 +74,7 @@ public void accept(final int tokenId, final JsonParser jsonParser) throws IOExce
if (depth == 0) {
buffer.close();
sink.accept(buffer);
- buffer = new TokenBuffer(null, false);
+ buffer = TokenBuffer.forGeneration();
}
break;
case JsonTokenId.ID_NO_TOKEN:
diff --git a/httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2/TopLevelArrayTokenFilter.java b/httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/TopLevelArrayTokenFilter.java
similarity index 94%
rename from httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2/TopLevelArrayTokenFilter.java
rename to httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/TopLevelArrayTokenFilter.java
index 095ff1518..1178e7e83 100644
--- a/httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2/TopLevelArrayTokenFilter.java
+++ b/httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/TopLevelArrayTokenFilter.java
@@ -25,12 +25,12 @@
*
*/
-package org.apache.hc.core5.jackson2;
+package org.apache.hc.core5.jackson3;
import java.io.IOException;
-import com.fasterxml.jackson.core.JsonParser;
-import com.fasterxml.jackson.core.JsonTokenId;
+import tools.jackson.core.JsonParser;
+import tools.jackson.core.JsonTokenId;
import org.apache.hc.core5.util.Args;
diff --git a/httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2/bulk/JsonBulkArrayReader.java b/httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/bulk/JsonBulkArrayReader.java
similarity index 78%
rename from httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2/bulk/JsonBulkArrayReader.java
rename to httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/bulk/JsonBulkArrayReader.java
index 4a9012fcb..bd432cee6 100644
--- a/httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2/bulk/JsonBulkArrayReader.java
+++ b/httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/bulk/JsonBulkArrayReader.java
@@ -24,21 +24,24 @@
* .
*
*/
-package org.apache.hc.core5.jackson2.bulk;
+package org.apache.hc.core5.jackson3.bulk;
import java.io.IOException;
import java.io.UncheckedIOException;
import java.nio.ByteBuffer;
-import com.fasterxml.jackson.core.JsonParser;
-import com.fasterxml.jackson.core.type.TypeReference;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.databind.util.TokenBuffer;
+import tools.jackson.core.JacksonException;
+import tools.jackson.core.JsonParser;
+import tools.jackson.core.type.TypeReference;
+import tools.jackson.core.ObjectReadContext;
+import tools.jackson.databind.ObjectMapper;
+import tools.jackson.databind.util.TokenBuffer;
-import org.apache.hc.core5.jackson2.JsonAsyncTokenizer;
-import org.apache.hc.core5.jackson2.JsonResultSink;
-import org.apache.hc.core5.jackson2.TokenBufferAssembler;
-import org.apache.hc.core5.jackson2.TopLevelArrayTokenFilter;
+import org.apache.hc.core5.jackson3.JsonAsyncTokenizer;
+import org.apache.hc.core5.jackson3.JsonResultSink;
+import org.apache.hc.core5.jackson3.TokenBufferAssembler;
+import org.apache.hc.core5.jackson3.TopLevelArrayTokenFilter;
+import org.apache.hc.core5.jackson3.JacksonSupport;
/**
* Event-driven bulk JSON reader that can read arrays of objects while buffering only a single
@@ -53,7 +56,7 @@ public final class JsonBulkArrayReader {
public JsonBulkArrayReader(final ObjectMapper objectMapper) {
this.objectMapper = objectMapper;
- this.jsonTokenizer = new JsonAsyncTokenizer(objectMapper.getFactory());
+ this.jsonTokenizer = new JsonAsyncTokenizer(objectMapper.tokenStreamFactory());
}
public void initialize(final TypeReference typeReference, final JsonResultSink resultSink) throws IOException {
@@ -67,13 +70,13 @@ public void begin(final int sizeHint) {
@Override
public void accept(final TokenBuffer tokenBuffer) {
try {
- final JsonParser jsonParser = tokenBuffer != null ? tokenBuffer.asParserOnFirstToken() : null;
+ final JsonParser jsonParser = tokenBuffer != null ? tokenBuffer.asParserOnFirstToken(ObjectReadContext.empty()) : null;
final T result = jsonParser != null ? objectMapper.readValue(jsonParser, typeReference) : null;
if (result != null) {
resultSink.accept(result);
}
- } catch (final IOException ex) {
- throw new UncheckedIOException(ex);
+ } catch (final JacksonException ex) {
+ throw new UncheckedIOException(JacksonSupport.asIOException(ex));
}
}
diff --git a/httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2/http/AbstractJsonEntityConsumer.java b/httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/http/AbstractJsonEntityConsumer.java
similarity index 93%
rename from httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2/http/AbstractJsonEntityConsumer.java
rename to httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/http/AbstractJsonEntityConsumer.java
index 11e5d36ea..5d50e9ec0 100644
--- a/httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2/http/AbstractJsonEntityConsumer.java
+++ b/httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/http/AbstractJsonEntityConsumer.java
@@ -24,7 +24,7 @@
* .
*
*/
-package org.apache.hc.core5.jackson2.http;
+package org.apache.hc.core5.jackson3.http;
import java.io.IOException;
import java.nio.ByteBuffer;
@@ -32,7 +32,7 @@
import java.util.concurrent.atomic.AtomicReference;
import java.util.function.Consumer;
-import com.fasterxml.jackson.core.JsonFactory;
+import tools.jackson.core.TokenStreamFactory;
import org.apache.hc.core5.concurrent.FutureCallback;
import org.apache.hc.core5.http.ContentType;
@@ -42,8 +42,8 @@
import org.apache.hc.core5.http.UnsupportedMediaTypeException;
import org.apache.hc.core5.http.nio.AsyncEntityConsumer;
import org.apache.hc.core5.http.nio.CapacityChannel;
-import org.apache.hc.core5.jackson2.JsonAsyncTokenizer;
-import org.apache.hc.core5.jackson2.JsonTokenConsumer;
+import org.apache.hc.core5.jackson3.JsonAsyncTokenizer;
+import org.apache.hc.core5.jackson3.JsonTokenConsumer;
import org.apache.hc.core5.util.Args;
abstract class AbstractJsonEntityConsumer implements AsyncEntityConsumer {
@@ -52,7 +52,7 @@ abstract class AbstractJsonEntityConsumer implements AsyncEntityConsumer {
private final AtomicReference> resultCallbackRef;
private final AtomicReference resultRef;
- AbstractJsonEntityConsumer(final JsonFactory jsonFactory) {
+ AbstractJsonEntityConsumer(final TokenStreamFactory jsonFactory) {
this.jsonTokenizer = new JsonAsyncTokenizer(Args.notNull(jsonFactory, "Json factory"));
this.resultCallbackRef = new AtomicReference<>(null);
this.resultRef = new AtomicReference<>(null);
diff --git a/httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2/http/AbstractJsonEntityProducer.java b/httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/http/AbstractJsonEntityProducer.java
similarity index 98%
rename from httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2/http/AbstractJsonEntityProducer.java
rename to httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/http/AbstractJsonEntityProducer.java
index 3125011be..a30f47f8e 100644
--- a/httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2/http/AbstractJsonEntityProducer.java
+++ b/httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/http/AbstractJsonEntityProducer.java
@@ -24,7 +24,7 @@
* .
*
*/
-package org.apache.hc.core5.jackson2.http;
+package org.apache.hc.core5.jackson3.http;
import java.io.IOException;
import java.io.OutputStream;
diff --git a/httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2/http/AbstractJsonMessageConsumer.java b/httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/http/AbstractJsonMessageConsumer.java
similarity index 99%
rename from httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2/http/AbstractJsonMessageConsumer.java
rename to httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/http/AbstractJsonMessageConsumer.java
index f6d6450c4..30d1079f4 100644
--- a/httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2/http/AbstractJsonMessageConsumer.java
+++ b/httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/http/AbstractJsonMessageConsumer.java
@@ -24,7 +24,7 @@
* .
*
*/
-package org.apache.hc.core5.jackson2.http;
+package org.apache.hc.core5.jackson3.http;
import java.io.IOException;
import java.nio.ByteBuffer;
diff --git a/httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2/http/AbstractJsonSequenceEntityConsumer.java b/httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/http/AbstractJsonSequenceEntityConsumer.java
similarity index 78%
rename from httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2/http/AbstractJsonSequenceEntityConsumer.java
rename to httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/http/AbstractJsonSequenceEntityConsumer.java
index f82b9f2df..a51656c92 100644
--- a/httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2/http/AbstractJsonSequenceEntityConsumer.java
+++ b/httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/http/AbstractJsonSequenceEntityConsumer.java
@@ -24,19 +24,22 @@
* .
*
*/
-package org.apache.hc.core5.jackson2.http;
+package org.apache.hc.core5.jackson3.http;
import java.io.IOException;
import java.util.concurrent.atomic.AtomicLong;
import java.util.function.Consumer;
-import com.fasterxml.jackson.core.JsonFactory;
-import com.fasterxml.jackson.core.JsonParser;
-import com.fasterxml.jackson.databind.util.TokenBuffer;
+import tools.jackson.core.JacksonException;
+import tools.jackson.core.TokenStreamFactory;
+import tools.jackson.core.JsonParser;
+import tools.jackson.core.ObjectReadContext;
+import tools.jackson.databind.util.TokenBuffer;
-import org.apache.hc.core5.jackson2.JsonResultSink;
-import org.apache.hc.core5.jackson2.JsonTokenConsumer;
-import org.apache.hc.core5.jackson2.TokenBufferAssembler;
+import org.apache.hc.core5.jackson3.JsonResultSink;
+import org.apache.hc.core5.jackson3.JsonTokenConsumer;
+import org.apache.hc.core5.jackson3.TokenBufferAssembler;
+import org.apache.hc.core5.jackson3.JacksonSupport;
import org.apache.hc.core5.util.Args;
class AbstractJsonSequenceEntityConsumer extends AbstractJsonEntityConsumer {
@@ -45,7 +48,7 @@ class AbstractJsonSequenceEntityConsumer extends AbstractJsonEntityConsumer resultSink;
private final AtomicLong count;
- AbstractJsonSequenceEntityConsumer(final JsonFactory jsonFactory, final ReadJsonValue readJsonValue, final JsonResultSink resultSink) {
+ AbstractJsonSequenceEntityConsumer(final TokenStreamFactory jsonFactory, final ReadJsonValue readJsonValue, final JsonResultSink resultSink) {
super(jsonFactory);
this.readJsonValue = Args.notNull(readJsonValue, "Json value reader");
this.resultSink = Args.notNull(resultSink, "Result sink");
@@ -65,7 +68,7 @@ public void begin(final int sizeHint) {
@Override
public void accept(final TokenBuffer tokenBuffer) {
try {
- final JsonParser jsonParser = tokenBuffer != null ? tokenBuffer.asParserOnFirstToken() : null;
+ final JsonParser jsonParser = tokenBuffer != null ? tokenBuffer.asParserOnFirstToken(ObjectReadContext.empty()) : null;
final T result = jsonParser != null ? readJsonValue.readValue(jsonParser) : null;
if (result != null) {
count.incrementAndGet();
@@ -73,6 +76,8 @@ public void accept(final TokenBuffer tokenBuffer) {
}
} catch (final IOException ex) {
failed(ex);
+ } catch (final JacksonException ex) {
+ failed(JacksonSupport.asIOException(ex));
}
}
diff --git a/httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2/http/AsyncJsonClientPipeline.java b/httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/http/AsyncJsonClientPipeline.java
similarity index 96%
rename from httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2/http/AsyncJsonClientPipeline.java
rename to httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/http/AsyncJsonClientPipeline.java
index c883f1b90..0250a9953 100644
--- a/httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2/http/AsyncJsonClientPipeline.java
+++ b/httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/http/AsyncJsonClientPipeline.java
@@ -24,15 +24,15 @@
* .
*
*/
-package org.apache.hc.core5.jackson2.http;
+package org.apache.hc.core5.jackson3.http;
import java.net.URI;
import java.util.concurrent.CompletableFuture;
-import com.fasterxml.jackson.core.type.TypeReference;
-import com.fasterxml.jackson.databind.JavaType;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
+import tools.jackson.core.type.TypeReference;
+import tools.jackson.databind.JavaType;
+import tools.jackson.databind.JsonNode;
+import tools.jackson.databind.ObjectMapper;
import org.apache.hc.core5.concurrent.FutureCallback;
import org.apache.hc.core5.function.Callback;
@@ -54,9 +54,9 @@
import org.apache.hc.core5.http.nio.support.BasicRequestProducer;
import org.apache.hc.core5.http.protocol.HttpContext;
import org.apache.hc.core5.http.support.BasicRequestBuilder;
-import org.apache.hc.core5.jackson2.JsonConsumer;
-import org.apache.hc.core5.jackson2.JsonResultSink;
-import org.apache.hc.core5.jackson2.JsonTokenEventHandler;
+import org.apache.hc.core5.jackson3.JsonConsumer;
+import org.apache.hc.core5.jackson3.JsonResultSink;
+import org.apache.hc.core5.jackson3.JsonTokenEventHandler;
import org.apache.hc.core5.util.Args;
/**
@@ -315,7 +315,7 @@ public ResultStage> asObject(final TypeReference
*/
public ResultStage> asJsonNode() {
return consume((response, entityDetails, context) ->
- JsonResponseConsumers.create(objectMapper.getFactory()));
+ JsonResponseConsumers.create(objectMapper.tokenStreamFactory()));
}
/**
@@ -365,7 +365,7 @@ public ResultStage asEvents(
final Callback errorCallback,
final JsonTokenEventHandler eventHandler) {
return consume((response, entityDetails, context) ->
- JsonResponseConsumers.create(objectMapper.getFactory(), responseValidator, errorCallback, eventHandler));
+ JsonResponseConsumers.create(objectMapper.tokenStreamFactory(), responseValidator, errorCallback, eventHandler));
}
}
diff --git a/httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2/http/AsyncJsonServerPipeline.java b/httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/http/AsyncJsonServerPipeline.java
similarity index 97%
rename from httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2/http/AsyncJsonServerPipeline.java
rename to httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/http/AsyncJsonServerPipeline.java
index 963c70e6c..943a452b3 100644
--- a/httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2/http/AsyncJsonServerPipeline.java
+++ b/httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/http/AsyncJsonServerPipeline.java
@@ -24,14 +24,14 @@
* .
*
*/
-package org.apache.hc.core5.jackson2.http;
+package org.apache.hc.core5.jackson3.http;
import java.io.IOException;
-import com.fasterxml.jackson.core.type.TypeReference;
-import com.fasterxml.jackson.databind.JavaType;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
+import tools.jackson.core.type.TypeReference;
+import tools.jackson.databind.JavaType;
+import tools.jackson.databind.JsonNode;
+import tools.jackson.databind.ObjectMapper;
import org.apache.hc.core5.function.Resolver;
import org.apache.hc.core5.function.Supplier;
@@ -58,9 +58,9 @@
import org.apache.hc.core5.http.nio.support.BasicRequestConsumer;
import org.apache.hc.core5.http.nio.support.BasicResponseProducer;
import org.apache.hc.core5.http.protocol.HttpContext;
-import org.apache.hc.core5.jackson2.JsonConsumer;
-import org.apache.hc.core5.jackson2.JsonResultSink;
-import org.apache.hc.core5.jackson2.JsonTokenEventHandler;
+import org.apache.hc.core5.jackson3.JsonConsumer;
+import org.apache.hc.core5.jackson3.JsonResultSink;
+import org.apache.hc.core5.jackson3.JsonTokenEventHandler;
import org.apache.hc.core5.util.Args;
/**
@@ -166,7 +166,7 @@ public ResponseStage> asObject(final TypeReference> asJsonNode() {
return consume((request, entityDetails, context) ->
- JsonRequestConsumers.create(objectMapper.getFactory()));
+ JsonRequestConsumers.create(objectMapper.tokenStreamFactory()));
}
/**
@@ -213,7 +213,7 @@ public ResponseStage asEvents(
final JsonConsumer validator,
final JsonTokenEventHandler eventHandler) {
return consume((request, entityDetails, context) ->
- JsonRequestConsumers.create(objectMapper.getFactory(), validator, eventHandler));
+ JsonRequestConsumers.create(objectMapper.tokenStreamFactory(), validator, eventHandler));
}
/**
diff --git a/httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2/http/InternalBuffer.java b/httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/http/InternalBuffer.java
similarity index 98%
rename from httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2/http/InternalBuffer.java
rename to httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/http/InternalBuffer.java
index 37f744052..914052b0a 100644
--- a/httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2/http/InternalBuffer.java
+++ b/httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/http/InternalBuffer.java
@@ -24,7 +24,7 @@
* .
*
*/
-package org.apache.hc.core5.jackson2.http;
+package org.apache.hc.core5.jackson3.http;
import java.io.IOException;
import java.nio.ByteBuffer;
diff --git a/httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2/http/JsonMessageProducer.java b/httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/http/JsonMessageProducer.java
similarity index 98%
rename from httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2/http/JsonMessageProducer.java
rename to httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/http/JsonMessageProducer.java
index 087b84fb3..c3afb1f42 100644
--- a/httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2/http/JsonMessageProducer.java
+++ b/httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/http/JsonMessageProducer.java
@@ -24,7 +24,7 @@
* .
*
*/
-package org.apache.hc.core5.jackson2.http;
+package org.apache.hc.core5.jackson3.http;
import java.io.IOException;
diff --git a/httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2/http/JsonNodeEntityConsumer.java b/httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/http/JsonNodeEntityConsumer.java
similarity index 84%
rename from httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2/http/JsonNodeEntityConsumer.java
rename to httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/http/JsonNodeEntityConsumer.java
index e95dc2d93..a09da0929 100644
--- a/httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2/http/JsonNodeEntityConsumer.java
+++ b/httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/http/JsonNodeEntityConsumer.java
@@ -24,15 +24,15 @@
* .
*
*/
-package org.apache.hc.core5.jackson2.http;
+package org.apache.hc.core5.jackson3.http;
import java.util.function.Consumer;
-import com.fasterxml.jackson.core.JsonFactory;
-import com.fasterxml.jackson.databind.JsonNode;
+import tools.jackson.core.TokenStreamFactory;
+import tools.jackson.databind.JsonNode;
-import org.apache.hc.core5.jackson2.JsonNodeAssembler;
-import org.apache.hc.core5.jackson2.JsonTokenConsumer;
+import org.apache.hc.core5.jackson3.JsonNodeAssembler;
+import org.apache.hc.core5.jackson3.JsonTokenConsumer;
/**
* {@link org.apache.hc.core5.http.nio.AsyncEntityConsumer} implementation that
@@ -42,7 +42,7 @@
*/
public class JsonNodeEntityConsumer extends AbstractJsonEntityConsumer {
- public JsonNodeEntityConsumer(final JsonFactory jsonFactory) {
+ public JsonNodeEntityConsumer(final TokenStreamFactory jsonFactory) {
super(jsonFactory);
}
diff --git a/httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2/http/JsonNodeEntityFallbackConsumer.java b/httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/http/JsonNodeEntityFallbackConsumer.java
similarity index 93%
rename from httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2/http/JsonNodeEntityFallbackConsumer.java
rename to httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/http/JsonNodeEntityFallbackConsumer.java
index 10051d616..e088d1684 100644
--- a/httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2/http/JsonNodeEntityFallbackConsumer.java
+++ b/httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/http/JsonNodeEntityFallbackConsumer.java
@@ -24,17 +24,17 @@
* .
*
*/
-package org.apache.hc.core5.jackson2.http;
+package org.apache.hc.core5.jackson3.http;
import java.io.IOException;
import java.nio.ByteBuffer;
import java.util.List;
import java.util.concurrent.atomic.AtomicReference;
-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;
+import tools.jackson.core.TokenStreamFactory;
+import tools.jackson.databind.JsonNode;
+import tools.jackson.databind.ObjectMapper;
+import tools.jackson.databind.node.JsonNodeFactory;
import org.apache.hc.core5.concurrent.CallbackContribution;
import org.apache.hc.core5.concurrent.FutureCallback;
@@ -59,16 +59,16 @@
*/
public class JsonNodeEntityFallbackConsumer implements AsyncEntityConsumer {
- private final JsonFactory jsonFactory;
+ private final TokenStreamFactory jsonFactory;
private final AtomicReference> entityConsumerRef;
- public JsonNodeEntityFallbackConsumer(final JsonFactory jsonFactory) {
+ public JsonNodeEntityFallbackConsumer(final TokenStreamFactory jsonFactory) {
this.jsonFactory = Args.notNull(jsonFactory, "Json factory");
this.entityConsumerRef = new AtomicReference<>();
}
public JsonNodeEntityFallbackConsumer(final ObjectMapper objectMapper) {
- this.jsonFactory = Args.notNull(objectMapper, "Object mapper").getFactory();
+ this.jsonFactory = Args.notNull(objectMapper, "Object mapper").tokenStreamFactory();
this.entityConsumerRef = new AtomicReference<>();
}
@@ -94,7 +94,7 @@ public void completed(final JsonNode result) {
@Override
public void completed(final String result) {
- resultCallback.completed(JsonNodeFactory.instance.textNode(result));
+ resultCallback.completed(JsonNodeFactory.instance.stringNode(result));
}
});
diff --git a/httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2/http/JsonNodeEntityProducer.java b/httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/http/JsonNodeEntityProducer.java
similarity index 83%
rename from httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2/http/JsonNodeEntityProducer.java
rename to httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/http/JsonNodeEntityProducer.java
index 203b79968..0974ceb2b 100644
--- a/httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2/http/JsonNodeEntityProducer.java
+++ b/httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/http/JsonNodeEntityProducer.java
@@ -24,14 +24,16 @@
* .
*
*/
-package org.apache.hc.core5.jackson2.http;
+package org.apache.hc.core5.jackson3.http;
import java.io.IOException;
import java.io.OutputStream;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
+import tools.jackson.core.JacksonException;
+import tools.jackson.databind.JsonNode;
+import tools.jackson.databind.ObjectMapper;
+import org.apache.hc.core5.jackson3.JacksonSupport;
import org.apache.hc.core5.util.Args;
/**
@@ -54,7 +56,11 @@ public JsonNodeEntityProducer(final JsonNode jsonNode, final ObjectMapper object
@Override
final void generateJson(final OutputStream outputStream) throws IOException {
- objectMapper.writeValue(outputStream, jsonNode);
+ try {
+ objectMapper.writeValue(outputStream, jsonNode);
+ } catch (final JacksonException ex) {
+ throw JacksonSupport.asIOException(ex);
+ }
outputStream.close();
}
diff --git a/httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2/http/JsonNodeSequenceEntityConsumer.java b/httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/http/JsonNodeSequenceEntityConsumer.java
similarity index 84%
rename from httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2/http/JsonNodeSequenceEntityConsumer.java
rename to httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/http/JsonNodeSequenceEntityConsumer.java
index 3c31f4cae..db7e1ad20 100644
--- a/httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2/http/JsonNodeSequenceEntityConsumer.java
+++ b/httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/http/JsonNodeSequenceEntityConsumer.java
@@ -24,12 +24,12 @@
* .
*
*/
-package org.apache.hc.core5.jackson2.http;
+package org.apache.hc.core5.jackson3.http;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
+import tools.jackson.databind.JsonNode;
+import tools.jackson.databind.ObjectMapper;
-import org.apache.hc.core5.jackson2.JsonResultSink;
+import org.apache.hc.core5.jackson3.JsonResultSink;
import org.apache.hc.core5.util.Args;
/**
@@ -42,7 +42,7 @@
public class JsonNodeSequenceEntityConsumer extends AbstractJsonSequenceEntityConsumer {
public JsonNodeSequenceEntityConsumer(final ObjectMapper objectMapper, final JsonResultSink resultSink) {
- super(Args.notNull(objectMapper, "Object mapper").getFactory(), objectMapper::readTree, resultSink);
+ super(Args.notNull(objectMapper, "Object mapper").tokenStreamFactory(), objectMapper::readTree, resultSink);
}
}
diff --git a/httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2/http/JsonObjectEntityConsumer.java b/httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/http/JsonObjectEntityConsumer.java
similarity index 80%
rename from httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2/http/JsonObjectEntityConsumer.java
rename to httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/http/JsonObjectEntityConsumer.java
index d78e223eb..a7764a53e 100644
--- a/httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2/http/JsonObjectEntityConsumer.java
+++ b/httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/http/JsonObjectEntityConsumer.java
@@ -24,18 +24,21 @@
* .
*
*/
-package org.apache.hc.core5.jackson2.http;
+package org.apache.hc.core5.jackson3.http;
import java.io.IOException;
import java.util.function.Consumer;
-import com.fasterxml.jackson.core.JsonParser;
-import com.fasterxml.jackson.core.type.TypeReference;
-import com.fasterxml.jackson.databind.JavaType;
-import com.fasterxml.jackson.databind.ObjectMapper;
+import tools.jackson.core.JacksonException;
+import tools.jackson.core.JsonParser;
+import tools.jackson.core.type.TypeReference;
+import tools.jackson.core.ObjectReadContext;
+import tools.jackson.databind.JavaType;
+import tools.jackson.databind.ObjectMapper;
-import org.apache.hc.core5.jackson2.JsonTokenConsumer;
-import org.apache.hc.core5.jackson2.TokenBufferAssembler;
+import org.apache.hc.core5.jackson3.JsonTokenConsumer;
+import org.apache.hc.core5.jackson3.TokenBufferAssembler;
+import org.apache.hc.core5.jackson3.JacksonSupport;
import org.apache.hc.core5.util.Args;
/**
@@ -50,7 +53,7 @@ public class JsonObjectEntityConsumer extends AbstractJsonEntityConsumer {
private final ReadJsonValue readJsonValue;
public JsonObjectEntityConsumer(final ObjectMapper objectMapper, final JavaType javaType) {
- super(Args.notNull(objectMapper, "Object mapper").getFactory());
+ super(Args.notNull(objectMapper, "Object mapper").tokenStreamFactory());
this.readJsonValue = jsonParser -> objectMapper.readValue(jsonParser, javaType);
}
@@ -66,11 +69,13 @@ public JsonObjectEntityConsumer(final ObjectMapper objectMapper, final TypeRefer
protected JsonTokenConsumer createJsonTokenConsumer(final Consumer resultConsumer) {
return new TokenBufferAssembler(tokenBuffer -> {
try {
- final JsonParser jsonParser = tokenBuffer != null ? tokenBuffer.asParserOnFirstToken() : null;
+ final JsonParser jsonParser = tokenBuffer != null ? tokenBuffer.asParserOnFirstToken(ObjectReadContext.empty()) : null;
final T result = jsonParser != null ? readJsonValue.readValue(jsonParser) : null;
resultConsumer.accept(result);
} catch (final IOException ex) {
failed(ex);
+ } catch (final JacksonException ex) {
+ failed(JacksonSupport.asIOException(ex));
}
});
}
diff --git a/httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2/http/JsonObjectEntityProducer.java b/httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/http/JsonObjectEntityProducer.java
similarity index 88%
rename from httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2/http/JsonObjectEntityProducer.java
rename to httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/http/JsonObjectEntityProducer.java
index 6093fae79..202fa74e8 100644
--- a/httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2/http/JsonObjectEntityProducer.java
+++ b/httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/http/JsonObjectEntityProducer.java
@@ -24,14 +24,16 @@
* .
*
*/
-package org.apache.hc.core5.jackson2.http;
+package org.apache.hc.core5.jackson3.http;
import java.io.IOException;
import java.io.OutputStream;
-import com.fasterxml.jackson.databind.ObjectMapper;
+import tools.jackson.core.JacksonException;
+import tools.jackson.databind.ObjectMapper;
import org.apache.hc.core5.http.ContentType;
+import org.apache.hc.core5.jackson3.JacksonSupport;
import org.apache.hc.core5.util.Args;
/**
@@ -67,7 +69,11 @@ public JsonObjectEntityProducer(final T jsonObject, final ObjectMapper objectMap
@Override
final void generateJson(final OutputStream outputStream) throws IOException {
- objectMapper.writeValue(outputStream, jsonObject);
+ try {
+ objectMapper.writeValue(outputStream, jsonObject);
+ } catch (final JacksonException ex) {
+ throw JacksonSupport.asIOException(ex);
+ }
outputStream.close();
}
diff --git a/httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2/http/JsonRequestConsumer.java b/httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/http/JsonRequestConsumer.java
similarity index 98%
rename from httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2/http/JsonRequestConsumer.java
rename to httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/http/JsonRequestConsumer.java
index 79b549eeb..7a2a08941 100644
--- a/httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2/http/JsonRequestConsumer.java
+++ b/httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/http/JsonRequestConsumer.java
@@ -24,7 +24,7 @@
* .
*
*/
-package org.apache.hc.core5.jackson2.http;
+package org.apache.hc.core5.jackson3.http;
import java.io.IOException;
diff --git a/httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2/http/JsonRequestConsumers.java b/httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/http/JsonRequestConsumers.java
similarity index 94%
rename from httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2/http/JsonRequestConsumers.java
rename to httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/http/JsonRequestConsumers.java
index f7049f879..12a769e4c 100644
--- a/httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2/http/JsonRequestConsumers.java
+++ b/httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/http/JsonRequestConsumers.java
@@ -24,20 +24,20 @@
* .
*
*/
-package org.apache.hc.core5.jackson2.http;
+package org.apache.hc.core5.jackson3.http;
-import com.fasterxml.jackson.core.JsonFactory;
-import com.fasterxml.jackson.core.type.TypeReference;
-import com.fasterxml.jackson.databind.JavaType;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
+import tools.jackson.core.TokenStreamFactory;
+import tools.jackson.core.type.TypeReference;
+import tools.jackson.databind.JavaType;
+import tools.jackson.databind.JsonNode;
+import tools.jackson.databind.ObjectMapper;
import org.apache.hc.core5.http.HttpRequest;
import org.apache.hc.core5.http.Message;
import org.apache.hc.core5.http.nio.AsyncRequestConsumer;
-import org.apache.hc.core5.jackson2.JsonConsumer;
-import org.apache.hc.core5.jackson2.JsonResultSink;
-import org.apache.hc.core5.jackson2.JsonTokenEventHandler;
+import org.apache.hc.core5.jackson3.JsonConsumer;
+import org.apache.hc.core5.jackson3.JsonResultSink;
+import org.apache.hc.core5.jackson3.JsonTokenEventHandler;
/**
* Factory class for JSON {@link AsyncRequestConsumer}s.
@@ -98,7 +98,7 @@ public static AsyncRequestConsumer> create(
* @param jsonFactory JSON factory.
* @return the request consumer.
*/
- public static AsyncRequestConsumer> create(final JsonFactory jsonFactory) {
+ public static AsyncRequestConsumer> create(final TokenStreamFactory jsonFactory) {
return new JsonRequestConsumer<>(() -> new JsonNodeEntityConsumer(jsonFactory));
}
@@ -197,7 +197,7 @@ public static AsyncRequestConsumer create(
* @return the request consumer.
*/
public static AsyncRequestConsumer create(
- final JsonFactory jsonFactory,
+ final TokenStreamFactory jsonFactory,
final JsonConsumer requestValidator,
final JsonTokenEventHandler eventHandler) {
return new JsonSequenceRequestConsumer<>(
diff --git a/httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2/http/JsonRequestObjectProducer.java b/httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/http/JsonRequestObjectProducer.java
similarity index 98%
rename from httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2/http/JsonRequestObjectProducer.java
rename to httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/http/JsonRequestObjectProducer.java
index 7290df3a7..0e50290a2 100644
--- a/httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2/http/JsonRequestObjectProducer.java
+++ b/httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/http/JsonRequestObjectProducer.java
@@ -24,7 +24,7 @@
* .
*
*/
-package org.apache.hc.core5.jackson2.http;
+package org.apache.hc.core5.jackson3.http;
import java.io.IOException;
diff --git a/httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2/http/JsonRequestProducers.java b/httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/http/JsonRequestProducers.java
similarity index 92%
rename from httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2/http/JsonRequestProducers.java
rename to httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/http/JsonRequestProducers.java
index 4b711cbf5..93384e0f4 100644
--- a/httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2/http/JsonRequestProducers.java
+++ b/httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/http/JsonRequestProducers.java
@@ -24,16 +24,16 @@
* .
*
*/
-package org.apache.hc.core5.jackson2.http;
+package org.apache.hc.core5.jackson3.http;
-import com.fasterxml.jackson.core.JsonFactory;
-import com.fasterxml.jackson.core.JsonGenerator;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
+import tools.jackson.core.TokenStreamFactory;
+import tools.jackson.core.JsonGenerator;
+import tools.jackson.databind.JsonNode;
+import tools.jackson.databind.ObjectMapper;
import org.apache.hc.core5.http.HttpRequest;
import org.apache.hc.core5.http.nio.AsyncRequestProducer;
-import org.apache.hc.core5.jackson2.JsonConsumer;
+import org.apache.hc.core5.jackson3.JsonConsumer;
/**
* Factory class for JSON {@link AsyncRequestProducer}s.
@@ -96,7 +96,7 @@ public static AsyncRequestProducer create(final HttpRequest request,
* @return the request producer.
*/
public static AsyncRequestProducer create(final HttpRequest request,
- final JsonFactory jsonFactory,
+ final TokenStreamFactory jsonFactory,
final JsonConsumer consumer) {
return new JsonRequestObjectProducer(request, new JsonTokenEntityProducer(jsonFactory, consumer));
}
diff --git a/httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2/http/JsonResponseConsumer.java b/httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/http/JsonResponseConsumer.java
similarity index 98%
rename from httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2/http/JsonResponseConsumer.java
rename to httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/http/JsonResponseConsumer.java
index 0d1600ba0..e7114d9be 100644
--- a/httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2/http/JsonResponseConsumer.java
+++ b/httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/http/JsonResponseConsumer.java
@@ -24,7 +24,7 @@
* .
*
*/
-package org.apache.hc.core5.jackson2.http;
+package org.apache.hc.core5.jackson3.http;
import java.io.IOException;
diff --git a/httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2/http/JsonResponseConsumers.java b/httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/http/JsonResponseConsumers.java
similarity index 96%
rename from httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2/http/JsonResponseConsumers.java
rename to httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/http/JsonResponseConsumers.java
index 966bec9f9..0b6008fe4 100644
--- a/httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2/http/JsonResponseConsumers.java
+++ b/httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/http/JsonResponseConsumers.java
@@ -24,13 +24,13 @@
* .
*
*/
-package org.apache.hc.core5.jackson2.http;
+package org.apache.hc.core5.jackson3.http;
-import com.fasterxml.jackson.core.JsonFactory;
-import com.fasterxml.jackson.core.type.TypeReference;
-import com.fasterxml.jackson.databind.JavaType;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
+import tools.jackson.core.TokenStreamFactory;
+import tools.jackson.core.type.TypeReference;
+import tools.jackson.databind.JavaType;
+import tools.jackson.databind.JsonNode;
+import tools.jackson.databind.ObjectMapper;
import org.apache.hc.core5.function.Callback;
import org.apache.hc.core5.function.Supplier;
@@ -39,10 +39,10 @@
import org.apache.hc.core5.http.nio.AsyncEntityConsumer;
import org.apache.hc.core5.http.nio.AsyncRequestConsumer;
import org.apache.hc.core5.http.nio.AsyncResponseConsumer;
-import org.apache.hc.core5.jackson2.JsonConsumer;
-import org.apache.hc.core5.jackson2.JsonResultSink;
-import org.apache.hc.core5.jackson2.JsonTokenConsumer;
-import org.apache.hc.core5.jackson2.JsonTokenEventHandler;
+import org.apache.hc.core5.jackson3.JsonConsumer;
+import org.apache.hc.core5.jackson3.JsonResultSink;
+import org.apache.hc.core5.jackson3.JsonTokenConsumer;
+import org.apache.hc.core5.jackson3.JsonTokenEventHandler;
/**
* Factory class for JSON {@link AsyncResponseConsumer}s.
@@ -164,7 +164,7 @@ public static AsyncResponseConsumer> create(
* @return the response consumer.
*/
public static AsyncResponseConsumer> create(
- final JsonFactory jsonFactory,
+ final TokenStreamFactory jsonFactory,
final Supplier> errorConsumerSupplier) {
return new JsonResponseConsumer<>(
() -> new JsonNodeEntityConsumer(jsonFactory),
@@ -178,7 +178,7 @@ public static AsyncResponseConsumer> create(
* @param jsonFactory JSON factory.
* @return the response consumer.
*/
- public static AsyncResponseConsumer> create(final JsonFactory jsonFactory) {
+ public static AsyncResponseConsumer> create(final TokenStreamFactory jsonFactory) {
return create(jsonFactory, () -> new JsonNodeEntityFallbackConsumer(jsonFactory));
}
@@ -360,7 +360,7 @@ public static AsyncResponseConsumer create(
* @return the response consumer.
*/
public static AsyncResponseConsumer create(
- final JsonFactory jsonFactory,
+ final TokenStreamFactory jsonFactory,
final Supplier> errorConsumerSupplier,
final JsonConsumer responseValidator,
final Callback errorCallback,
@@ -383,7 +383,7 @@ public static AsyncResponseConsumer create(
* @return the response consumer.
*/
public static AsyncResponseConsumer create(
- final JsonFactory jsonFactory,
+ final TokenStreamFactory jsonFactory,
final JsonConsumer responseValidator,
final Callback errorCallback,
final JsonTokenEventHandler eventHandler) {
@@ -456,7 +456,7 @@ public static AsyncResponseConsumer create(
* @return the response consumer.
*/
public static AsyncResponseConsumer create(
- final JsonFactory jsonFactory,
+ final TokenStreamFactory jsonFactory,
final Supplier> errorConsumerSupplier,
final JsonConsumer responseValidator,
final Callback errorCallback,
@@ -479,7 +479,7 @@ public static AsyncResponseConsumer create(
* @return the response consumer.
*/
public static AsyncResponseConsumer create(
- final JsonFactory jsonFactory,
+ final TokenStreamFactory jsonFactory,
final JsonConsumer responseValidator,
final Callback errorCallback,
final JsonTokenConsumer tokenConsumer) {
diff --git a/httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2/http/JsonResponseObjectProducer.java b/httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/http/JsonResponseObjectProducer.java
similarity index 98%
rename from httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2/http/JsonResponseObjectProducer.java
rename to httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/http/JsonResponseObjectProducer.java
index 86d2e29e0..c077b72a2 100644
--- a/httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2/http/JsonResponseObjectProducer.java
+++ b/httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/http/JsonResponseObjectProducer.java
@@ -24,7 +24,7 @@
* .
*
*/
-package org.apache.hc.core5.jackson2.http;
+package org.apache.hc.core5.jackson3.http;
import java.io.IOException;
diff --git a/httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2/http/JsonResponseProducers.java b/httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/http/JsonResponseProducers.java
similarity index 92%
rename from httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2/http/JsonResponseProducers.java
rename to httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/http/JsonResponseProducers.java
index f9d777aac..1ee683265 100644
--- a/httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2/http/JsonResponseProducers.java
+++ b/httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/http/JsonResponseProducers.java
@@ -24,16 +24,16 @@
* .
*
*/
-package org.apache.hc.core5.jackson2.http;
+package org.apache.hc.core5.jackson3.http;
-import com.fasterxml.jackson.core.JsonFactory;
-import com.fasterxml.jackson.core.JsonGenerator;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
+import tools.jackson.core.TokenStreamFactory;
+import tools.jackson.core.JsonGenerator;
+import tools.jackson.databind.JsonNode;
+import tools.jackson.databind.ObjectMapper;
import org.apache.hc.core5.http.HttpResponse;
import org.apache.hc.core5.http.nio.AsyncResponseProducer;
-import org.apache.hc.core5.jackson2.JsonConsumer;
+import org.apache.hc.core5.jackson3.JsonConsumer;
/**
* Factory class for JSON {@link AsyncResponseProducer}s.
@@ -96,7 +96,7 @@ public static AsyncResponseProducer create(final HttpResponse response,
* @return the response producer.
*/
public static AsyncResponseProducer create(final HttpResponse response,
- final JsonFactory jsonFactory,
+ final TokenStreamFactory jsonFactory,
final JsonConsumer consumer) {
return new JsonResponseObjectProducer(response, new JsonTokenEntityProducer(jsonFactory, consumer));
}
diff --git a/httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2/http/JsonSequenceEntityConsumer.java b/httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/http/JsonSequenceEntityConsumer.java
similarity index 88%
rename from httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2/http/JsonSequenceEntityConsumer.java
rename to httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/http/JsonSequenceEntityConsumer.java
index fccb5183b..7747f359c 100644
--- a/httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2/http/JsonSequenceEntityConsumer.java
+++ b/httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/http/JsonSequenceEntityConsumer.java
@@ -24,13 +24,13 @@
* .
*
*/
-package org.apache.hc.core5.jackson2.http;
+package org.apache.hc.core5.jackson3.http;
-import com.fasterxml.jackson.core.type.TypeReference;
-import com.fasterxml.jackson.databind.JavaType;
-import com.fasterxml.jackson.databind.ObjectMapper;
+import tools.jackson.core.type.TypeReference;
+import tools.jackson.databind.JavaType;
+import tools.jackson.databind.ObjectMapper;
-import org.apache.hc.core5.jackson2.JsonResultSink;
+import org.apache.hc.core5.jackson3.JsonResultSink;
import org.apache.hc.core5.util.Args;
/**
@@ -44,7 +44,7 @@
public class JsonSequenceEntityConsumer extends AbstractJsonSequenceEntityConsumer {
public JsonSequenceEntityConsumer(final ObjectMapper objectMapper, final JavaType javaType, final JsonResultSink resultSink) {
- super(Args.notNull(objectMapper, "Object mapper").getFactory(),
+ super(Args.notNull(objectMapper, "Object mapper").tokenStreamFactory(),
jsonParser -> objectMapper.readValue(jsonParser, javaType),
resultSink);
}
diff --git a/httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2/http/JsonSequenceEntityProducer.java b/httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/http/JsonSequenceEntityProducer.java
similarity index 92%
rename from httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2/http/JsonSequenceEntityProducer.java
rename to httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/http/JsonSequenceEntityProducer.java
index 8e9f7e00b..c2e977c2a 100644
--- a/httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2/http/JsonSequenceEntityProducer.java
+++ b/httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/http/JsonSequenceEntityProducer.java
@@ -24,17 +24,19 @@
* .
*
*/
-package org.apache.hc.core5.jackson2.http;
+package org.apache.hc.core5.jackson3.http;
import java.io.IOException;
import java.io.OutputStream;
import java.util.Set;
-import com.fasterxml.jackson.databind.ObjectMapper;
+import tools.jackson.core.JacksonException;
+import tools.jackson.databind.ObjectMapper;
import org.apache.hc.core5.http.ContentType;
import org.apache.hc.core5.http.nio.AsyncEntityProducer;
import org.apache.hc.core5.http.nio.DataStreamChannel;
+import org.apache.hc.core5.jackson3.JacksonSupport;
import org.apache.hc.core5.util.Args;
/**
@@ -127,7 +129,11 @@ public final void produce(final DataStreamChannel channel) throws IOException {
@Override
public int write(final T obj) throws IOException {
synchronized (buffer) {
- objectMapper.writeValue(outputStream, obj);
+ try {
+ objectMapper.writeValue(outputStream, obj);
+ } catch (final JacksonException ex) {
+ throw JacksonSupport.asIOException(ex);
+ }
channel.write(buffer.getByteBuffer());
return 1;
}
diff --git a/httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2/http/JsonSequenceRequestConsumer.java b/httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/http/JsonSequenceRequestConsumer.java
similarity index 96%
rename from httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2/http/JsonSequenceRequestConsumer.java
rename to httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/http/JsonSequenceRequestConsumer.java
index 8fd5e90ad..c93724a6f 100644
--- a/httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2/http/JsonSequenceRequestConsumer.java
+++ b/httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/http/JsonSequenceRequestConsumer.java
@@ -24,7 +24,7 @@
* .
*
*/
-package org.apache.hc.core5.jackson2.http;
+package org.apache.hc.core5.jackson3.http;
import java.io.IOException;
@@ -37,7 +37,7 @@
import org.apache.hc.core5.http.nio.AsyncEntityConsumer;
import org.apache.hc.core5.http.nio.AsyncRequestConsumer;
import org.apache.hc.core5.http.protocol.HttpContext;
-import org.apache.hc.core5.jackson2.JsonConsumer;
+import org.apache.hc.core5.jackson3.JsonConsumer;
final class JsonSequenceRequestConsumer extends AbstractJsonMessageConsumer
implements AsyncRequestConsumer {
diff --git a/httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2/http/JsonSequenceResponseConsumer.java b/httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/http/JsonSequenceResponseConsumer.java
similarity index 97%
rename from httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2/http/JsonSequenceResponseConsumer.java
rename to httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/http/JsonSequenceResponseConsumer.java
index 0f15724e2..dbcb59c60 100644
--- a/httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2/http/JsonSequenceResponseConsumer.java
+++ b/httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/http/JsonSequenceResponseConsumer.java
@@ -24,7 +24,7 @@
* .
*
*/
-package org.apache.hc.core5.jackson2.http;
+package org.apache.hc.core5.jackson3.http;
import java.io.IOException;
@@ -39,7 +39,7 @@
import org.apache.hc.core5.http.nio.AsyncEntityConsumer;
import org.apache.hc.core5.http.nio.AsyncResponseConsumer;
import org.apache.hc.core5.http.protocol.HttpContext;
-import org.apache.hc.core5.jackson2.JsonConsumer;
+import org.apache.hc.core5.jackson3.JsonConsumer;
import org.apache.hc.core5.util.Args;
class JsonSequenceResponseConsumer extends AbstractJsonMessageConsumer
diff --git a/httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2/http/JsonTokenEntityConsumer.java b/httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/http/JsonTokenEntityConsumer.java
similarity index 80%
rename from httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2/http/JsonTokenEntityConsumer.java
rename to httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/http/JsonTokenEntityConsumer.java
index e91382eb1..59de140fa 100644
--- a/httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2/http/JsonTokenEntityConsumer.java
+++ b/httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/http/JsonTokenEntityConsumer.java
@@ -24,16 +24,16 @@
* .
*
*/
-package org.apache.hc.core5.jackson2.http;
+package org.apache.hc.core5.jackson3.http;
import java.util.function.Consumer;
-import com.fasterxml.jackson.core.JsonFactory;
-import com.fasterxml.jackson.core.JsonTokenId;
+import tools.jackson.core.TokenStreamFactory;
+import tools.jackson.core.JsonTokenId;
-import org.apache.hc.core5.jackson2.JsonTokenConsumer;
-import org.apache.hc.core5.jackson2.JsonTokenEventHandler;
-import org.apache.hc.core5.jackson2.JsonTokenEventHandlerAdaptor;
+import org.apache.hc.core5.jackson3.JsonTokenConsumer;
+import org.apache.hc.core5.jackson3.JsonTokenEventHandler;
+import org.apache.hc.core5.jackson3.JsonTokenEventHandlerAdaptor;
import org.apache.hc.core5.util.Args;
/**
@@ -47,12 +47,12 @@ public class JsonTokenEntityConsumer extends AbstractJsonEntityConsumer {
private final JsonTokenConsumer jsonTokenConsumer;
- public JsonTokenEntityConsumer(final JsonFactory jsonFactory, final JsonTokenEventHandler eventHandler) {
+ public JsonTokenEntityConsumer(final TokenStreamFactory jsonFactory, final JsonTokenEventHandler eventHandler) {
super(jsonFactory);
this.jsonTokenConsumer = new JsonTokenEventHandlerAdaptor(Args.notNull(eventHandler, "JSON event handler"));
}
- public JsonTokenEntityConsumer(final JsonFactory jsonFactory, final JsonTokenConsumer tokenConsumer) {
+ public JsonTokenEntityConsumer(final TokenStreamFactory jsonFactory, final JsonTokenConsumer tokenConsumer) {
super(jsonFactory);
this.jsonTokenConsumer = Args.notNull(tokenConsumer, "JSON token consumer");
}
diff --git a/httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2/http/JsonTokenEntityProducer.java b/httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/http/JsonTokenEntityProducer.java
similarity index 68%
rename from httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2/http/JsonTokenEntityProducer.java
rename to httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/http/JsonTokenEntityProducer.java
index 289ed1e0b..e8ca3c74c 100644
--- a/httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2/http/JsonTokenEntityProducer.java
+++ b/httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/http/JsonTokenEntityProducer.java
@@ -24,23 +24,26 @@
* .
*
*/
-package org.apache.hc.core5.jackson2.http;
+package org.apache.hc.core5.jackson3.http;
import java.io.IOException;
import java.io.OutputStream;
-import com.fasterxml.jackson.core.JsonFactory;
-import com.fasterxml.jackson.core.JsonGenerator;
+import tools.jackson.core.JacksonException;
+import tools.jackson.core.TokenStreamFactory;
+import tools.jackson.core.JsonGenerator;
+import tools.jackson.core.ObjectWriteContext;
-import org.apache.hc.core5.jackson2.JsonConsumer;
+import org.apache.hc.core5.jackson3.JacksonSupport;
+import org.apache.hc.core5.jackson3.JsonConsumer;
import org.apache.hc.core5.util.Args;
public class JsonTokenEntityProducer extends AbstractJsonEntityProducer {
- private final JsonFactory jsonFactory;
+ private final TokenStreamFactory jsonFactory;
private final JsonConsumer consumer;
- public JsonTokenEntityProducer(final JsonFactory jsonFactory, final JsonConsumer consumer) {
+ public JsonTokenEntityProducer(final TokenStreamFactory jsonFactory, final JsonConsumer consumer) {
super(4096);
this.jsonFactory = Args.notNull(jsonFactory, "Json factory");
this.consumer = Args.notNull(consumer, "Consumer");
@@ -48,9 +51,13 @@ public JsonTokenEntityProducer(final JsonFactory jsonFactory, final JsonConsumer
@Override
final void generateJson(final OutputStream outputStream) throws IOException {
- final JsonGenerator generator = jsonFactory.createGenerator(outputStream);
- consumer.accept(generator);
- generator.close();
+ try {
+ final JsonGenerator generator = jsonFactory.createGenerator(ObjectWriteContext.empty(), outputStream);
+ consumer.accept(generator);
+ generator.close();
+ } catch (final JacksonException ex) {
+ throw JacksonSupport.asIOException(ex);
+ }
}
@Override
diff --git a/httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2/http/ObjectChannel.java b/httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/http/ObjectChannel.java
similarity index 97%
rename from httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2/http/ObjectChannel.java
rename to httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/http/ObjectChannel.java
index 8d74a0af5..bfb6906a1 100644
--- a/httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2/http/ObjectChannel.java
+++ b/httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/http/ObjectChannel.java
@@ -25,7 +25,7 @@
*
*/
-package org.apache.hc.core5.jackson2.http;
+package org.apache.hc.core5.jackson3.http;
import java.io.IOException;
diff --git a/httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2/http/ObjectProducer.java b/httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/http/ObjectProducer.java
similarity index 97%
rename from httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2/http/ObjectProducer.java
rename to httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/http/ObjectProducer.java
index e7b8f6b4f..9d5ca1524 100644
--- a/httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2/http/ObjectProducer.java
+++ b/httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/http/ObjectProducer.java
@@ -25,7 +25,7 @@
*
*/
-package org.apache.hc.core5.jackson2.http;
+package org.apache.hc.core5.jackson3.http;
import java.io.IOException;
diff --git a/httpcore5-jackson2/src/test/java/org/apache/hc/core5/jackson2/JsonNodeAssemblerTest.java b/httpcore5-jackson3/src/test/java/org/apache/hc/core5/jackson3/JsonNodeAssemblerTest.java
similarity index 94%
rename from httpcore5-jackson2/src/test/java/org/apache/hc/core5/jackson2/JsonNodeAssemblerTest.java
rename to httpcore5-jackson3/src/test/java/org/apache/hc/core5/jackson3/JsonNodeAssemblerTest.java
index c8f6222f5..ed5abae8c 100644
--- a/httpcore5-jackson2/src/test/java/org/apache/hc/core5/jackson2/JsonNodeAssemblerTest.java
+++ b/httpcore5-jackson3/src/test/java/org/apache/hc/core5/jackson3/JsonNodeAssemblerTest.java
@@ -24,17 +24,17 @@
* .
*
*/
-package org.apache.hc.core5.jackson2;
+package org.apache.hc.core5.jackson3;
import java.io.InputStream;
import java.net.URL;
import java.nio.ByteBuffer;
-import com.fasterxml.jackson.core.JsonFactory;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.node.ArrayNode;
-import com.fasterxml.jackson.databind.node.JsonNodeFactory;
-import com.fasterxml.jackson.databind.node.ObjectNode;
+import tools.jackson.core.json.JsonFactory;
+import tools.jackson.databind.JsonNode;
+import tools.jackson.databind.node.ArrayNode;
+import tools.jackson.databind.node.JsonNodeFactory;
+import tools.jackson.databind.node.ObjectNode;
import org.assertj.core.api.Assertions;
import org.junit.jupiter.api.Test;
diff --git a/httpcore5-jackson2/src/test/java/org/apache/hc/core5/jackson2/JsonTokenBufferAssemblerTest.java b/httpcore5-jackson3/src/test/java/org/apache/hc/core5/jackson3/JsonTokenBufferAssemblerTest.java
similarity index 95%
rename from httpcore5-jackson2/src/test/java/org/apache/hc/core5/jackson2/JsonTokenBufferAssemblerTest.java
rename to httpcore5-jackson3/src/test/java/org/apache/hc/core5/jackson3/JsonTokenBufferAssemblerTest.java
index d0a6a59ad..8d7b97191 100644
--- a/httpcore5-jackson2/src/test/java/org/apache/hc/core5/jackson2/JsonTokenBufferAssemblerTest.java
+++ b/httpcore5-jackson3/src/test/java/org/apache/hc/core5/jackson3/JsonTokenBufferAssemblerTest.java
@@ -24,7 +24,7 @@
* .
*
*/
-package org.apache.hc.core5.jackson2;
+package org.apache.hc.core5.jackson3;
import java.io.InputStream;
import java.net.URL;
@@ -34,12 +34,13 @@
import java.util.concurrent.atomic.AtomicInteger;
import java.util.concurrent.atomic.AtomicReference;
-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;
-import com.fasterxml.jackson.databind.node.ObjectNode;
-import com.fasterxml.jackson.databind.util.TokenBuffer;
+import tools.jackson.core.json.JsonFactory;
+import tools.jackson.core.ObjectReadContext;
+import tools.jackson.databind.JsonNode;
+import tools.jackson.databind.ObjectMapper;
+import tools.jackson.databind.node.JsonNodeFactory;
+import tools.jackson.databind.node.ObjectNode;
+import tools.jackson.databind.util.TokenBuffer;
import org.assertj.core.api.Assertions;
import org.junit.jupiter.api.Test;
@@ -68,7 +69,7 @@ void testTokenBufferAssembly() throws Exception {
final TokenBuffer tokenBuffer = tokenBufferRef.get();
Assertions.assertThat(tokenBuffer).isNotNull();
- final JsonNode jsonNode = objectMapper.readTree(tokenBuffer.asParserOnFirstToken());
+ final JsonNode jsonNode = objectMapper.readTree(tokenBuffer.asParserOnFirstToken(ObjectReadContext.empty()));
final ObjectNode expectedObject = JsonNodeFactory.instance.objectNode();
expectedObject.putObject("args");
@@ -134,7 +135,7 @@ public void end() {
final TokenBuffer tokenBuffer1 = tokenBufferList.get(0);
Assertions.assertThat(tokenBuffer1).isNotNull();
- final JsonNode jsonNode1 = objectMapper.readTree(tokenBuffer1.asParserOnFirstToken());
+ final JsonNode jsonNode1 = objectMapper.readTree(tokenBuffer1.asParserOnFirstToken(ObjectReadContext.empty()));
final ObjectNode expectedObject1 = JsonNodeFactory.instance.objectNode();
expectedObject1.put("url", "http://httpbin.org/stream/3");
@@ -157,7 +158,7 @@ public void end() {
final TokenBuffer tokenBuffer2 = tokenBufferList.get(1);
Assertions.assertThat(tokenBuffer2).isNotNull();
- final JsonNode jsonNode2 = objectMapper.readTree(tokenBuffer2.asParserOnFirstToken());
+ final JsonNode jsonNode2 = objectMapper.readTree(tokenBuffer2.asParserOnFirstToken(ObjectReadContext.empty()));
final ObjectNode expectedObject2 = JsonNodeFactory.instance.objectNode();
expectedObject2.put("url", "http://httpbin.org/stream/3");
@@ -180,7 +181,7 @@ public void end() {
final TokenBuffer tokenBuffer3 = tokenBufferList.get(2);
Assertions.assertThat(tokenBuffer3).isNotNull();
- final JsonNode jsonNode3 = objectMapper.readTree(tokenBuffer3.asParserOnFirstToken());
+ final JsonNode jsonNode3 = objectMapper.readTree(tokenBuffer3.asParserOnFirstToken(ObjectReadContext.empty()));
final ObjectNode expectedObject3 = JsonNodeFactory.instance.objectNode();
expectedObject3.put("url", "http://httpbin.org/stream/3");
@@ -259,7 +260,7 @@ public void end() {
final TokenBuffer tokenBuffer1 = tokenBufferList.get(0);
Assertions.assertThat(tokenBuffer1).isNotNull();
- final JsonNode jsonNode1 = objectMapper.readTree(tokenBuffer1.asParserOnFirstToken());
+ final JsonNode jsonNode1 = objectMapper.readTree(tokenBuffer1.asParserOnFirstToken(ObjectReadContext.empty()));
final ObjectNode expectedObject1 = JsonNodeFactory.instance.objectNode();
expectedObject1.put("url", "http://httpbin.org/stream/3");
@@ -282,7 +283,7 @@ public void end() {
final TokenBuffer tokenBuffer2 = tokenBufferList.get(1);
Assertions.assertThat(tokenBuffer2).isNotNull();
- final JsonNode jsonNode2 = objectMapper.readTree(tokenBuffer2.asParserOnFirstToken());
+ final JsonNode jsonNode2 = objectMapper.readTree(tokenBuffer2.asParserOnFirstToken(ObjectReadContext.empty()));
final ObjectNode expectedObject2 = JsonNodeFactory.instance.objectNode();
expectedObject2.put("url", "http://httpbin.org/stream/3");
@@ -305,7 +306,7 @@ public void end() {
final TokenBuffer tokenBuffer3 = tokenBufferList.get(2);
Assertions.assertThat(tokenBuffer3).isNotNull();
- final JsonNode jsonNode3 = objectMapper.readTree(tokenBuffer3.asParserOnFirstToken());
+ final JsonNode jsonNode3 = objectMapper.readTree(tokenBuffer3.asParserOnFirstToken(ObjectReadContext.empty()));
final ObjectNode expectedObject3 = JsonNodeFactory.instance.objectNode();
expectedObject3.put("url", "http://httpbin.org/stream/3");
diff --git a/httpcore5-jackson2/src/test/java/org/apache/hc/core5/jackson2/JsonTokenEventHandlerAdaptorTest.java b/httpcore5-jackson3/src/test/java/org/apache/hc/core5/jackson3/JsonTokenEventHandlerAdaptorTest.java
similarity index 84%
rename from httpcore5-jackson2/src/test/java/org/apache/hc/core5/jackson2/JsonTokenEventHandlerAdaptorTest.java
rename to httpcore5-jackson3/src/test/java/org/apache/hc/core5/jackson3/JsonTokenEventHandlerAdaptorTest.java
index cd0219500..c0b9cdfcd 100644
--- a/httpcore5-jackson2/src/test/java/org/apache/hc/core5/jackson2/JsonTokenEventHandlerAdaptorTest.java
+++ b/httpcore5-jackson3/src/test/java/org/apache/hc/core5/jackson3/JsonTokenEventHandlerAdaptorTest.java
@@ -24,12 +24,12 @@
* .
*
*/
-package org.apache.hc.core5.jackson2;
+package org.apache.hc.core5.jackson3;
-import java.io.IOException;
-
-import com.fasterxml.jackson.core.JsonParser;
-import com.fasterxml.jackson.core.JsonTokenId;
+import tools.jackson.core.JsonParser;
+import tools.jackson.core.JsonToken;
+import tools.jackson.core.JsonTokenId;
+import tools.jackson.core.exc.InputCoercionException;
import org.assertj.core.api.Assertions;
import org.junit.jupiter.api.Test;
@@ -57,8 +57,10 @@ void testIntTokenWithBigIntegerOutOfLongRangeThrowsIOException() throws Exceptio
final JsonTokenEventHandler eventHandler = Mockito.mock(JsonTokenEventHandler.class);
final JsonParser jsonParser = Mockito.mock(JsonParser.class);
Mockito.when(jsonParser.getNumberType()).thenReturn(JsonParser.NumberType.BIG_INTEGER);
- Mockito.when(jsonParser.getText()).thenReturn("9223372036854775808");
- Mockito.when(jsonParser.getLongValue()).thenThrow(new IOException("Numeric value out of range"));
+ Mockito.when(jsonParser.getString()).thenReturn("9223372036854775808");
+ final InputCoercionException coercionError = new InputCoercionException(
+ null, "Numeric value out of range", JsonToken.VALUE_NUMBER_INT, long.class);
+ Mockito.when(jsonParser.getLongValue()).thenThrow(coercionError);
final JsonTokenEventHandlerAdaptor adaptor = new JsonTokenEventHandlerAdaptor(eventHandler);
Assertions.assertThatIOException().isThrownBy(
diff --git a/httpcore5-jackson2/src/test/java/org/apache/hc/core5/jackson2/JsonTokenizerTest.java b/httpcore5-jackson3/src/test/java/org/apache/hc/core5/jackson3/JsonTokenizerTest.java
similarity index 72%
rename from httpcore5-jackson2/src/test/java/org/apache/hc/core5/jackson2/JsonTokenizerTest.java
rename to httpcore5-jackson3/src/test/java/org/apache/hc/core5/jackson3/JsonTokenizerTest.java
index ac4a7ee24..af0f1eccd 100644
--- a/httpcore5-jackson2/src/test/java/org/apache/hc/core5/jackson2/JsonTokenizerTest.java
+++ b/httpcore5-jackson3/src/test/java/org/apache/hc/core5/jackson3/JsonTokenizerTest.java
@@ -24,7 +24,7 @@
* .
*
*/
-package org.apache.hc.core5.jackson2;
+package org.apache.hc.core5.jackson3;
import java.io.InputStream;
import java.net.URL;
@@ -32,8 +32,8 @@
import java.util.ArrayList;
import java.util.List;
-import com.fasterxml.jackson.core.JsonFactory;
-import com.fasterxml.jackson.core.JsonTokenId;
+import tools.jackson.core.json.JsonFactory;
+import tools.jackson.core.JsonTokenId;
import org.assertj.core.api.Assertions;
import org.junit.jupiter.api.Test;
@@ -55,31 +55,31 @@ void testTokenizer() throws Exception {
Assertions.assertThat(tokens1).containsExactly(
JsonTokenId.ID_START_OBJECT,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_START_OBJECT,
JsonTokenId.ID_END_OBJECT,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_START_OBJECT,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
JsonTokenId.ID_END_OBJECT,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
JsonTokenId.ID_END_OBJECT,
JsonTokenId.ID_NO_TOKEN
@@ -107,15 +107,15 @@ void testTokenizer() throws Exception {
JsonTokenId.ID_END_ARRAY,
JsonTokenId.ID_START_ARRAY,
JsonTokenId.ID_START_OBJECT,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
JsonTokenId.ID_END_OBJECT,
JsonTokenId.ID_START_OBJECT,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
JsonTokenId.ID_END_OBJECT,
JsonTokenId.ID_START_OBJECT,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
JsonTokenId.ID_END_OBJECT,
JsonTokenId.ID_END_ARRAY,
@@ -123,13 +123,13 @@ void testTokenizer() throws Exception {
JsonTokenId.ID_NUMBER_INT,
JsonTokenId.ID_NUMBER_FLOAT,
JsonTokenId.ID_START_OBJECT,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
JsonTokenId.ID_END_OBJECT,
JsonTokenId.ID_END_ARRAY,
JsonTokenId.ID_START_ARRAY,
JsonTokenId.ID_START_OBJECT,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_NUMBER_INT,
JsonTokenId.ID_END_OBJECT,
JsonTokenId.ID_END_ARRAY,
@@ -147,93 +147,93 @@ void testTokenizer() throws Exception {
Assertions.assertThat(tokens3).containsExactly(
JsonTokenId.ID_START_OBJECT,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_START_OBJECT,
JsonTokenId.ID_END_OBJECT,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_START_OBJECT,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
JsonTokenId.ID_END_OBJECT,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_NUMBER_INT,
JsonTokenId.ID_END_OBJECT,
JsonTokenId.ID_START_OBJECT,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_START_OBJECT,
JsonTokenId.ID_END_OBJECT,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_START_OBJECT,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
JsonTokenId.ID_END_OBJECT,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_NUMBER_INT,
JsonTokenId.ID_END_OBJECT,
JsonTokenId.ID_START_OBJECT,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_START_OBJECT,
JsonTokenId.ID_END_OBJECT,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_START_OBJECT,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
JsonTokenId.ID_END_OBJECT,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_NUMBER_INT,
JsonTokenId.ID_END_OBJECT,
JsonTokenId.ID_NO_TOKEN
@@ -250,93 +250,93 @@ void testTokenizer() throws Exception {
Assertions.assertThat(tokens6).containsExactly(
JsonTokenId.ID_START_ARRAY,
JsonTokenId.ID_START_OBJECT,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_START_OBJECT,
JsonTokenId.ID_END_OBJECT,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_START_OBJECT,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
JsonTokenId.ID_END_OBJECT,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_NUMBER_INT,
JsonTokenId.ID_END_OBJECT,
JsonTokenId.ID_START_OBJECT,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_START_OBJECT,
JsonTokenId.ID_END_OBJECT,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_START_OBJECT,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
JsonTokenId.ID_END_OBJECT,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_NUMBER_INT,
JsonTokenId.ID_END_OBJECT,
JsonTokenId.ID_START_OBJECT,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_START_OBJECT,
JsonTokenId.ID_END_OBJECT,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_START_OBJECT,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
JsonTokenId.ID_END_OBJECT,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_NUMBER_INT,
JsonTokenId.ID_END_OBJECT,
JsonTokenId.ID_END_ARRAY,
@@ -372,31 +372,31 @@ void testAsyncTokenizer() throws Exception {
Assertions.assertThat(tokens1).containsExactly(
JsonTokenId.ID_START_OBJECT,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_START_OBJECT,
JsonTokenId.ID_END_OBJECT,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_START_OBJECT,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
JsonTokenId.ID_END_OBJECT,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
JsonTokenId.ID_END_OBJECT,
JsonTokenId.ID_NO_TOKEN
@@ -427,15 +427,15 @@ void testAsyncTokenizer() throws Exception {
JsonTokenId.ID_END_ARRAY,
JsonTokenId.ID_START_ARRAY,
JsonTokenId.ID_START_OBJECT,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
JsonTokenId.ID_END_OBJECT,
JsonTokenId.ID_START_OBJECT,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
JsonTokenId.ID_END_OBJECT,
JsonTokenId.ID_START_OBJECT,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
JsonTokenId.ID_END_OBJECT,
JsonTokenId.ID_END_ARRAY,
@@ -443,13 +443,13 @@ void testAsyncTokenizer() throws Exception {
JsonTokenId.ID_NUMBER_INT,
JsonTokenId.ID_NUMBER_FLOAT,
JsonTokenId.ID_START_OBJECT,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
JsonTokenId.ID_END_OBJECT,
JsonTokenId.ID_END_ARRAY,
JsonTokenId.ID_START_ARRAY,
JsonTokenId.ID_START_OBJECT,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_NUMBER_INT,
JsonTokenId.ID_END_OBJECT,
JsonTokenId.ID_END_ARRAY,
@@ -470,93 +470,93 @@ void testAsyncTokenizer() throws Exception {
Assertions.assertThat(tokens3).containsExactly(
JsonTokenId.ID_START_OBJECT,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_START_OBJECT,
JsonTokenId.ID_END_OBJECT,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_START_OBJECT,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
JsonTokenId.ID_END_OBJECT,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_NUMBER_INT,
JsonTokenId.ID_END_OBJECT,
JsonTokenId.ID_START_OBJECT,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_START_OBJECT,
JsonTokenId.ID_END_OBJECT,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_START_OBJECT,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
JsonTokenId.ID_END_OBJECT,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_NUMBER_INT,
JsonTokenId.ID_END_OBJECT,
JsonTokenId.ID_START_OBJECT,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_START_OBJECT,
JsonTokenId.ID_END_OBJECT,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_START_OBJECT,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
JsonTokenId.ID_END_OBJECT,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_NUMBER_INT,
JsonTokenId.ID_END_OBJECT,
JsonTokenId.ID_NO_TOKEN
@@ -583,7 +583,7 @@ void testConsumePartial() throws Exception {
Assertions.assertThat(tokens1).containsExactly(
JsonTokenId.ID_START_OBJECT,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
JsonTokenId.ID_END_OBJECT,
JsonTokenId.ID_NO_TOKEN
@@ -602,7 +602,7 @@ void testConsumePartial() throws Exception {
Assertions.assertThat(tokens2).containsExactly(
JsonTokenId.ID_START_OBJECT,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
JsonTokenId.ID_END_OBJECT,
JsonTokenId.ID_NO_TOKEN
diff --git a/httpcore5-jackson2/src/test/java/org/apache/hc/core5/jackson2/bulk/JsonBulkArrayReaderTest.java b/httpcore5-jackson3/src/test/java/org/apache/hc/core5/jackson3/bulk/JsonBulkArrayReaderTest.java
similarity index 96%
rename from httpcore5-jackson2/src/test/java/org/apache/hc/core5/jackson2/bulk/JsonBulkArrayReaderTest.java
rename to httpcore5-jackson3/src/test/java/org/apache/hc/core5/jackson3/bulk/JsonBulkArrayReaderTest.java
index 690ac18ad..d71602ed2 100644
--- a/httpcore5-jackson2/src/test/java/org/apache/hc/core5/jackson2/bulk/JsonBulkArrayReaderTest.java
+++ b/httpcore5-jackson3/src/test/java/org/apache/hc/core5/jackson3/bulk/JsonBulkArrayReaderTest.java
@@ -24,7 +24,7 @@
* .
*
*/
-package org.apache.hc.core5.jackson2.bulk;
+package org.apache.hc.core5.jackson3.bulk;
import java.io.InputStream;
import java.net.URI;
@@ -34,12 +34,12 @@
import java.util.HashMap;
import java.util.List;
-import com.fasterxml.jackson.core.JsonFactory;
-import com.fasterxml.jackson.core.type.TypeReference;
-import com.fasterxml.jackson.databind.ObjectMapper;
+import tools.jackson.core.json.JsonFactory;
+import tools.jackson.core.type.TypeReference;
+import tools.jackson.databind.ObjectMapper;
import org.apache.hc.core5.http.message.BasicHeader;
-import org.apache.hc.core5.jackson2.http.RequestData;
+import org.apache.hc.core5.jackson3.http.RequestData;
import org.assertj.core.api.Assertions;
import org.junit.jupiter.api.Test;
diff --git a/httpcore5-jackson2/src/test/java/org/apache/hc/core5/jackson2/http/BasicDataStreamChannel.java b/httpcore5-jackson3/src/test/java/org/apache/hc/core5/jackson3/http/BasicDataStreamChannel.java
similarity index 98%
rename from httpcore5-jackson2/src/test/java/org/apache/hc/core5/jackson2/http/BasicDataStreamChannel.java
rename to httpcore5-jackson3/src/test/java/org/apache/hc/core5/jackson3/http/BasicDataStreamChannel.java
index bde2e4a0c..32cdb6e81 100644
--- a/httpcore5-jackson2/src/test/java/org/apache/hc/core5/jackson2/http/BasicDataStreamChannel.java
+++ b/httpcore5-jackson3/src/test/java/org/apache/hc/core5/jackson3/http/BasicDataStreamChannel.java
@@ -24,7 +24,7 @@
* .
*
*/
-package org.apache.hc.core5.jackson2.http;
+package org.apache.hc.core5.jackson3.http;
import java.io.IOException;
import java.nio.ByteBuffer;
diff --git a/httpcore5-jackson2/src/test/java/org/apache/hc/core5/jackson2/http/CompletableFutureCallback.java b/httpcore5-jackson3/src/test/java/org/apache/hc/core5/jackson3/http/CompletableFutureCallback.java
similarity index 97%
rename from httpcore5-jackson2/src/test/java/org/apache/hc/core5/jackson2/http/CompletableFutureCallback.java
rename to httpcore5-jackson3/src/test/java/org/apache/hc/core5/jackson3/http/CompletableFutureCallback.java
index f66efabb4..0eec3c00d 100644
--- a/httpcore5-jackson2/src/test/java/org/apache/hc/core5/jackson2/http/CompletableFutureCallback.java
+++ b/httpcore5-jackson3/src/test/java/org/apache/hc/core5/jackson3/http/CompletableFutureCallback.java
@@ -24,7 +24,7 @@
* .
*
*/
-package org.apache.hc.core5.jackson2.http;
+package org.apache.hc.core5.jackson3.http;
import java.util.concurrent.CompletableFuture;
diff --git a/httpcore5-jackson2/src/test/java/org/apache/hc/core5/jackson2/http/HttpResponseException.java b/httpcore5-jackson3/src/test/java/org/apache/hc/core5/jackson3/http/HttpResponseException.java
similarity index 97%
rename from httpcore5-jackson2/src/test/java/org/apache/hc/core5/jackson2/http/HttpResponseException.java
rename to httpcore5-jackson3/src/test/java/org/apache/hc/core5/jackson3/http/HttpResponseException.java
index 33ac4ec23..8d60b0c9f 100644
--- a/httpcore5-jackson2/src/test/java/org/apache/hc/core5/jackson2/http/HttpResponseException.java
+++ b/httpcore5-jackson3/src/test/java/org/apache/hc/core5/jackson3/http/HttpResponseException.java
@@ -24,7 +24,7 @@
* .
*
*/
-package org.apache.hc.core5.jackson2.http;
+package org.apache.hc.core5.jackson3.http;
import java.io.IOException;
diff --git a/httpcore5-jackson2/src/test/java/org/apache/hc/core5/jackson2/http/JsonEntityConsumersTest.java b/httpcore5-jackson3/src/test/java/org/apache/hc/core5/jackson3/http/JsonEntityConsumersTest.java
similarity index 95%
rename from httpcore5-jackson2/src/test/java/org/apache/hc/core5/jackson2/http/JsonEntityConsumersTest.java
rename to httpcore5-jackson3/src/test/java/org/apache/hc/core5/jackson3/http/JsonEntityConsumersTest.java
index c3abd6d98..13edbe1b9 100644
--- a/httpcore5-jackson2/src/test/java/org/apache/hc/core5/jackson2/http/JsonEntityConsumersTest.java
+++ b/httpcore5-jackson3/src/test/java/org/apache/hc/core5/jackson3/http/JsonEntityConsumersTest.java
@@ -24,7 +24,7 @@
* .
*
*/
-package org.apache.hc.core5.jackson2.http;
+package org.apache.hc.core5.jackson3.http;
import java.io.InputStream;
import java.net.URI;
@@ -38,21 +38,21 @@
import java.util.concurrent.atomic.AtomicInteger;
import java.util.concurrent.atomic.AtomicReference;
-import com.fasterxml.jackson.core.JsonFactory;
-import com.fasterxml.jackson.core.JsonTokenId;
-import com.fasterxml.jackson.core.type.TypeReference;
-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.JsonNodeFactory;
-import com.fasterxml.jackson.databind.node.ObjectNode;
+import tools.jackson.core.json.JsonFactory;
+import tools.jackson.core.JsonTokenId;
+import tools.jackson.core.type.TypeReference;
+import tools.jackson.databind.JsonNode;
+import tools.jackson.databind.ObjectMapper;
+import tools.jackson.databind.node.ArrayNode;
+import tools.jackson.databind.node.JsonNodeFactory;
+import tools.jackson.databind.node.ObjectNode;
import org.apache.hc.core5.concurrent.FutureCallback;
import org.apache.hc.core5.http.ContentType;
import org.apache.hc.core5.http.UnsupportedMediaTypeException;
import org.apache.hc.core5.http.impl.BasicEntityDetails;
import org.apache.hc.core5.http.message.BasicHeader;
-import org.apache.hc.core5.jackson2.JsonResultSink;
+import org.apache.hc.core5.jackson3.JsonResultSink;
import org.assertj.core.api.Assertions;
import org.assertj.core.api.AssertionsForClassTypes;
import org.junit.jupiter.api.Test;
@@ -546,31 +546,31 @@ void testJsonTokenCorrectlyProcessed() throws Exception {
}
Assertions.assertThat(tokenIds).containsExactly(
JsonTokenId.ID_START_OBJECT,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_START_OBJECT,
JsonTokenId.ID_END_OBJECT,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_START_OBJECT,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
JsonTokenId.ID_END_OBJECT,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
- JsonTokenId.ID_FIELD_NAME,
+ JsonTokenId.ID_PROPERTY_NAME,
JsonTokenId.ID_STRING,
JsonTokenId.ID_END_OBJECT,
JsonTokenId.ID_NO_TOKEN
@@ -645,8 +645,8 @@ public void cancelled() {
entityConsumer.streamEnd(null);
AssertionsForClassTypes.assertThat(resultRef.get()).satisfies(e -> {
- Assertions.assertThat(e.isTextual()).isTrue();
- Assertions.assertThat(e.asText()).isEqualTo("KaaaaaaaBoooooom");
+ Assertions.assertThat(e.isString()).isTrue();
+ Assertions.assertThat(e.asString()).isEqualTo("KaaaaaaaBoooooom");
});
}
diff --git a/httpcore5-jackson2/src/test/java/org/apache/hc/core5/jackson2/http/JsonEntityProducersTest.java b/httpcore5-jackson3/src/test/java/org/apache/hc/core5/jackson3/http/JsonEntityProducersTest.java
similarity index 96%
rename from httpcore5-jackson2/src/test/java/org/apache/hc/core5/jackson2/http/JsonEntityProducersTest.java
rename to httpcore5-jackson3/src/test/java/org/apache/hc/core5/jackson3/http/JsonEntityProducersTest.java
index 20239a76d..853413bac 100644
--- a/httpcore5-jackson2/src/test/java/org/apache/hc/core5/jackson2/http/JsonEntityProducersTest.java
+++ b/httpcore5-jackson3/src/test/java/org/apache/hc/core5/jackson3/http/JsonEntityProducersTest.java
@@ -24,7 +24,7 @@
* .
*
*/
-package org.apache.hc.core5.jackson2.http;
+package org.apache.hc.core5.jackson3.http;
import java.io.IOException;
import java.nio.ByteBuffer;
@@ -34,10 +34,10 @@
import java.util.List;
import java.util.concurrent.atomic.AtomicInteger;
-import com.fasterxml.jackson.core.JsonFactory;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.databind.node.ArrayNode;
-import com.fasterxml.jackson.databind.node.JsonNodeFactory;
+import tools.jackson.core.json.JsonFactory;
+import tools.jackson.databind.ObjectMapper;
+import tools.jackson.databind.node.ArrayNode;
+import tools.jackson.databind.node.JsonNodeFactory;
import org.apache.hc.core5.http.Header;
import org.apache.hc.core5.http.NameValuePair;
diff --git a/httpcore5-jackson2/src/test/java/org/apache/hc/core5/jackson2/http/JsonRequestConsumersTest.java b/httpcore5-jackson3/src/test/java/org/apache/hc/core5/jackson3/http/JsonRequestConsumersTest.java
similarity index 99%
rename from httpcore5-jackson2/src/test/java/org/apache/hc/core5/jackson2/http/JsonRequestConsumersTest.java
rename to httpcore5-jackson3/src/test/java/org/apache/hc/core5/jackson3/http/JsonRequestConsumersTest.java
index 7666444f5..c1adb7bae 100644
--- a/httpcore5-jackson2/src/test/java/org/apache/hc/core5/jackson2/http/JsonRequestConsumersTest.java
+++ b/httpcore5-jackson3/src/test/java/org/apache/hc/core5/jackson3/http/JsonRequestConsumersTest.java
@@ -24,7 +24,7 @@
* .
*
*/
-package org.apache.hc.core5.jackson2.http;
+package org.apache.hc.core5.jackson3.http;
import java.io.InputStream;
import java.net.URL;
@@ -34,7 +34,7 @@
import java.util.List;
import java.util.concurrent.atomic.AtomicReference;
-import com.fasterxml.jackson.databind.ObjectMapper;
+import tools.jackson.databind.ObjectMapper;
import org.apache.hc.core5.concurrent.FutureCallback;
import org.apache.hc.core5.http.ContentType;
diff --git a/httpcore5-jackson2/src/test/java/org/apache/hc/core5/jackson2/http/JsonResponseConsumersTest.java b/httpcore5-jackson3/src/test/java/org/apache/hc/core5/jackson3/http/JsonResponseConsumersTest.java
similarity index 97%
rename from httpcore5-jackson2/src/test/java/org/apache/hc/core5/jackson2/http/JsonResponseConsumersTest.java
rename to httpcore5-jackson3/src/test/java/org/apache/hc/core5/jackson3/http/JsonResponseConsumersTest.java
index 8015fad80..c5cc81db7 100644
--- a/httpcore5-jackson2/src/test/java/org/apache/hc/core5/jackson2/http/JsonResponseConsumersTest.java
+++ b/httpcore5-jackson3/src/test/java/org/apache/hc/core5/jackson3/http/JsonResponseConsumersTest.java
@@ -24,7 +24,7 @@
* .
*
*/
-package org.apache.hc.core5.jackson2.http;
+package org.apache.hc.core5.jackson3.http;
import java.io.InputStream;
import java.net.URI;
@@ -37,10 +37,10 @@
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.atomic.AtomicReference;
-import com.fasterxml.jackson.core.JsonFactory;
-import com.fasterxml.jackson.core.JsonParser;
-import com.fasterxml.jackson.core.JsonTokenId;
-import com.fasterxml.jackson.databind.ObjectMapper;
+import tools.jackson.core.TokenStreamFactory;
+import tools.jackson.core.JsonParser;
+import tools.jackson.core.JsonTokenId;
+import tools.jackson.databind.ObjectMapper;
import org.apache.hc.core5.concurrent.FutureCallback;
import org.apache.hc.core5.http.ContentType;
@@ -54,7 +54,7 @@
import org.apache.hc.core5.http.nio.entity.StringAsyncEntityConsumer;
import org.apache.hc.core5.http.protocol.HttpCoreContext;
import org.apache.hc.core5.http.support.BasicResponseBuilder;
-import org.apache.hc.core5.jackson2.JsonTokenConsumer;
+import org.apache.hc.core5.jackson3.JsonTokenConsumer;
import org.assertj.core.api.Assertions;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
@@ -331,7 +331,7 @@ public void cancelled() {
@Test
void testResponseJsonTokenContentCorrectlyProcessed() throws Exception {
- final JsonFactory jsonFactory = objectMapper.getFactory();
+ final TokenStreamFactory jsonFactory = objectMapper.tokenStreamFactory();
final JsonTokenConsumer mockJsonTokenConsumer = Mockito.mock(JsonTokenConsumer.class);
final AsyncResponseConsumer responseConsumer = new JsonSequenceResponseConsumer<>(
@@ -355,7 +355,7 @@ void testResponseJsonTokenContentCorrectlyProcessed() throws Exception {
Mockito.verify(mockJsonTokenConsumer).accept(
Mockito.eq(JsonTokenId.ID_START_OBJECT), Mockito.any(JsonParser.class));
Mockito.verify(mockJsonTokenConsumer).accept(
- Mockito.eq(JsonTokenId.ID_FIELD_NAME), Mockito.any(JsonParser.class));
+ Mockito.eq(JsonTokenId.ID_PROPERTY_NAME), Mockito.any(JsonParser.class));
Mockito.verify(mockJsonTokenConsumer).accept(
Mockito.eq(JsonTokenId.ID_STRING), Mockito.any(JsonParser.class));
Mockito.verify(mockJsonTokenConsumer).accept(
@@ -380,7 +380,7 @@ void testAsyncPipelineErrorResponseInvokesErrorCallbackAndSignalsResultCallback(
RequestData.class,
response -> {
},
- error -> errorRef.set(error != null ? error.asText() : null),
+ error -> errorRef.set(error != null ? error.asString() : null),
requestData -> {
})
.result(new FutureCallback() {
diff --git a/httpcore5-jackson2/src/test/java/org/apache/hc/core5/jackson2/http/RequestData.java b/httpcore5-jackson3/src/test/java/org/apache/hc/core5/jackson3/http/RequestData.java
similarity index 97%
rename from httpcore5-jackson2/src/test/java/org/apache/hc/core5/jackson2/http/RequestData.java
rename to httpcore5-jackson3/src/test/java/org/apache/hc/core5/jackson3/http/RequestData.java
index ffeb23dda..c7d5a8515 100644
--- a/httpcore5-jackson2/src/test/java/org/apache/hc/core5/jackson2/http/RequestData.java
+++ b/httpcore5-jackson3/src/test/java/org/apache/hc/core5/jackson3/http/RequestData.java
@@ -24,14 +24,14 @@
* .
*
*/
-package org.apache.hc.core5.jackson2.http;
+package org.apache.hc.core5.jackson3.http;
import java.net.URI;
import java.util.Arrays;
import java.util.Map;
import java.util.stream.Collectors;
-import com.fasterxml.jackson.databind.JsonNode;
+import tools.jackson.databind.JsonNode;
import org.apache.hc.core5.http.Header;
import org.apache.hc.core5.http.NameValuePair;
diff --git a/httpcore5-jackson2/src/test/java/org/apache/hc/core5/jackson2/http/WritableByteChannelMock.java b/httpcore5-jackson3/src/test/java/org/apache/hc/core5/jackson3/http/WritableByteChannelMock.java
similarity index 98%
rename from httpcore5-jackson2/src/test/java/org/apache/hc/core5/jackson2/http/WritableByteChannelMock.java
rename to httpcore5-jackson3/src/test/java/org/apache/hc/core5/jackson3/http/WritableByteChannelMock.java
index 4981cd302..9e77a7cba 100644
--- a/httpcore5-jackson2/src/test/java/org/apache/hc/core5/jackson2/http/WritableByteChannelMock.java
+++ b/httpcore5-jackson3/src/test/java/org/apache/hc/core5/jackson3/http/WritableByteChannelMock.java
@@ -25,7 +25,7 @@
*
*/
-package org.apache.hc.core5.jackson2.http;
+package org.apache.hc.core5.jackson3.http;
import java.io.IOException;
import java.nio.ByteBuffer;
diff --git a/httpcore5-jackson2/src/test/java/org/apache/hc/core5/jackson2/http/examples/JsonBulkArrayReaderExample.java b/httpcore5-jackson3/src/test/java/org/apache/hc/core5/jackson3/http/examples/JsonBulkArrayReaderExample.java
similarity index 86%
rename from httpcore5-jackson2/src/test/java/org/apache/hc/core5/jackson2/http/examples/JsonBulkArrayReaderExample.java
rename to httpcore5-jackson3/src/test/java/org/apache/hc/core5/jackson3/http/examples/JsonBulkArrayReaderExample.java
index ac723c70d..076b67e9a 100644
--- a/httpcore5-jackson2/src/test/java/org/apache/hc/core5/jackson2/http/examples/JsonBulkArrayReaderExample.java
+++ b/httpcore5-jackson3/src/test/java/org/apache/hc/core5/jackson3/http/examples/JsonBulkArrayReaderExample.java
@@ -24,18 +24,18 @@
* .
*
*/
-package org.apache.hc.core5.jackson2.http.examples;
+package org.apache.hc.core5.jackson3.http.examples;
import java.io.InputStream;
import java.net.URL;
import java.nio.ByteBuffer;
-import com.fasterxml.jackson.core.JsonFactory;
-import com.fasterxml.jackson.core.type.TypeReference;
-import com.fasterxml.jackson.databind.ObjectMapper;
+import tools.jackson.core.json.JsonFactory;
+import tools.jackson.core.type.TypeReference;
+import tools.jackson.databind.ObjectMapper;
-import org.apache.hc.core5.jackson2.bulk.JsonBulkArrayReader;
-import org.apache.hc.core5.jackson2.http.RequestData;
+import org.apache.hc.core5.jackson3.bulk.JsonBulkArrayReader;
+import org.apache.hc.core5.jackson3.http.RequestData;
public class JsonBulkArrayReaderExample {
diff --git a/httpcore5-jackson2/src/test/java/org/apache/hc/core5/jackson2/http/examples/JsonNodeResponseExample.java b/httpcore5-jackson3/src/test/java/org/apache/hc/core5/jackson3/http/examples/JsonNodeResponseExample.java
similarity index 95%
rename from httpcore5-jackson2/src/test/java/org/apache/hc/core5/jackson2/http/examples/JsonNodeResponseExample.java
rename to httpcore5-jackson3/src/test/java/org/apache/hc/core5/jackson3/http/examples/JsonNodeResponseExample.java
index a65b446d7..15ba97b55 100644
--- a/httpcore5-jackson2/src/test/java/org/apache/hc/core5/jackson2/http/examples/JsonNodeResponseExample.java
+++ b/httpcore5-jackson3/src/test/java/org/apache/hc/core5/jackson3/http/examples/JsonNodeResponseExample.java
@@ -24,14 +24,14 @@
* .
*
*/
-package org.apache.hc.core5.jackson2.http.examples;
+package org.apache.hc.core5.jackson3.http.examples;
import java.net.URI;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.TimeUnit;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
+import tools.jackson.databind.JsonNode;
+import tools.jackson.databind.ObjectMapper;
import org.apache.hc.core5.concurrent.FutureCallback;
import org.apache.hc.core5.http.HttpResponse;
@@ -40,7 +40,7 @@
import org.apache.hc.core5.http.impl.bootstrap.HttpAsyncRequester;
import org.apache.hc.core5.http.protocol.HttpCoreContext;
import org.apache.hc.core5.io.CloseMode;
-import org.apache.hc.core5.jackson2.http.AsyncJsonClientPipeline;
+import org.apache.hc.core5.jackson3.http.AsyncJsonClientPipeline;
import org.apache.hc.core5.reactor.IOReactorConfig;
import org.apache.hc.core5.util.Timeout;
diff --git a/httpcore5-jackson2/src/test/java/org/apache/hc/core5/jackson2/http/examples/JsonObjectRequestExample.java b/httpcore5-jackson3/src/test/java/org/apache/hc/core5/jackson3/http/examples/JsonObjectRequestExample.java
similarity index 89%
rename from httpcore5-jackson2/src/test/java/org/apache/hc/core5/jackson2/http/examples/JsonObjectRequestExample.java
rename to httpcore5-jackson3/src/test/java/org/apache/hc/core5/jackson3/http/examples/JsonObjectRequestExample.java
index 7096a0730..817f855af 100644
--- a/httpcore5-jackson2/src/test/java/org/apache/hc/core5/jackson2/http/examples/JsonObjectRequestExample.java
+++ b/httpcore5-jackson3/src/test/java/org/apache/hc/core5/jackson3/http/examples/JsonObjectRequestExample.java
@@ -24,15 +24,16 @@
* .
*
*/
-package org.apache.hc.core5.jackson2.http.examples;
+package org.apache.hc.core5.jackson3.http.examples;
import java.net.URI;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.TimeUnit;
-import com.fasterxml.jackson.core.JsonFactory;
-import com.fasterxml.jackson.databind.DeserializationFeature;
-import com.fasterxml.jackson.databind.ObjectMapper;
+import tools.jackson.core.json.JsonFactory;
+import tools.jackson.databind.DeserializationFeature;
+import tools.jackson.databind.ObjectMapper;
+import tools.jackson.databind.json.JsonMapper;
import org.apache.hc.core5.concurrent.FutureCallback;
import org.apache.hc.core5.http.HttpResponse;
@@ -42,8 +43,8 @@
import org.apache.hc.core5.http.message.BasicNameValuePair;
import org.apache.hc.core5.http.protocol.HttpCoreContext;
import org.apache.hc.core5.io.CloseMode;
-import org.apache.hc.core5.jackson2.http.AsyncJsonClientPipeline;
-import org.apache.hc.core5.jackson2.http.RequestData;
+import org.apache.hc.core5.jackson3.http.AsyncJsonClientPipeline;
+import org.apache.hc.core5.jackson3.http.RequestData;
import org.apache.hc.core5.reactor.IOReactorConfig;
import org.apache.hc.core5.util.Timeout;
@@ -81,8 +82,9 @@ public static void main(final String... args) throws Exception {
System.out.println("Executing POST " + uri);
final JsonFactory factory = new JsonFactory();
- final ObjectMapper objectMapper = new ObjectMapper(factory);
- objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
+ final ObjectMapper objectMapper = JsonMapper.builder(factory)
+ .configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false)
+ .build();
final CountDownLatch latch = new CountDownLatch(1);
requester.execute(
diff --git a/httpcore5-jackson2/src/test/java/org/apache/hc/core5/jackson2/http/examples/JsonSequenceRequestExample.java b/httpcore5-jackson3/src/test/java/org/apache/hc/core5/jackson3/http/examples/JsonSequenceRequestExample.java
similarity index 90%
rename from httpcore5-jackson2/src/test/java/org/apache/hc/core5/jackson2/http/examples/JsonSequenceRequestExample.java
rename to httpcore5-jackson3/src/test/java/org/apache/hc/core5/jackson3/http/examples/JsonSequenceRequestExample.java
index 463953db2..b25238dfb 100644
--- a/httpcore5-jackson2/src/test/java/org/apache/hc/core5/jackson2/http/examples/JsonSequenceRequestExample.java
+++ b/httpcore5-jackson3/src/test/java/org/apache/hc/core5/jackson3/http/examples/JsonSequenceRequestExample.java
@@ -24,15 +24,16 @@
* .
*
*/
-package org.apache.hc.core5.jackson2.http.examples;
+package org.apache.hc.core5.jackson3.http.examples;
import java.net.URI;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.TimeUnit;
-import com.fasterxml.jackson.core.JsonFactory;
-import com.fasterxml.jackson.databind.DeserializationFeature;
-import com.fasterxml.jackson.databind.ObjectMapper;
+import tools.jackson.core.json.JsonFactory;
+import tools.jackson.databind.DeserializationFeature;
+import tools.jackson.databind.ObjectMapper;
+import tools.jackson.databind.json.JsonMapper;
import org.apache.hc.core5.concurrent.FutureCallback;
import org.apache.hc.core5.http.ContentType;
@@ -45,8 +46,8 @@
import org.apache.hc.core5.http.protocol.HttpCoreContext;
import org.apache.hc.core5.http.support.BasicRequestBuilder;
import org.apache.hc.core5.io.CloseMode;
-import org.apache.hc.core5.jackson2.http.AsyncJsonClientPipeline;
-import org.apache.hc.core5.jackson2.http.RequestData;
+import org.apache.hc.core5.jackson3.http.AsyncJsonClientPipeline;
+import org.apache.hc.core5.jackson3.http.RequestData;
import org.apache.hc.core5.reactor.IOReactorConfig;
import org.apache.hc.core5.util.Timeout;
@@ -82,8 +83,9 @@ public static void main(final String... args) throws Exception {
final URI uri = URI.create("http://httpbin.org/post");
final JsonFactory factory = new JsonFactory();
- final ObjectMapper objectMapper = new ObjectMapper(factory);
- objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
+ final ObjectMapper objectMapper = JsonMapper.builder(factory)
+ .configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false)
+ .build();
System.out.println("Executing POST " + uri);
diff --git a/httpcore5-jackson2/src/test/java/org/apache/hc/core5/jackson2/http/examples/JsonSequenceResponseExample.java b/httpcore5-jackson3/src/test/java/org/apache/hc/core5/jackson3/http/examples/JsonSequenceResponseExample.java
similarity index 94%
rename from httpcore5-jackson2/src/test/java/org/apache/hc/core5/jackson2/http/examples/JsonSequenceResponseExample.java
rename to httpcore5-jackson3/src/test/java/org/apache/hc/core5/jackson3/http/examples/JsonSequenceResponseExample.java
index 26b794341..5f299bf30 100644
--- a/httpcore5-jackson2/src/test/java/org/apache/hc/core5/jackson2/http/examples/JsonSequenceResponseExample.java
+++ b/httpcore5-jackson3/src/test/java/org/apache/hc/core5/jackson3/http/examples/JsonSequenceResponseExample.java
@@ -24,22 +24,22 @@
* .
*
*/
-package org.apache.hc.core5.jackson2.http.examples;
+package org.apache.hc.core5.jackson3.http.examples;
import java.net.URI;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.TimeUnit;
-import com.fasterxml.jackson.core.JsonFactory;
-import com.fasterxml.jackson.databind.ObjectMapper;
+import tools.jackson.core.json.JsonFactory;
+import tools.jackson.databind.ObjectMapper;
import org.apache.hc.core5.concurrent.FutureCallback;
import org.apache.hc.core5.http.impl.bootstrap.AsyncRequesterBootstrap;
import org.apache.hc.core5.http.impl.bootstrap.HttpAsyncRequester;
import org.apache.hc.core5.http.protocol.HttpCoreContext;
import org.apache.hc.core5.io.CloseMode;
-import org.apache.hc.core5.jackson2.http.AsyncJsonClientPipeline;
-import org.apache.hc.core5.jackson2.http.RequestData;
+import org.apache.hc.core5.jackson3.http.AsyncJsonClientPipeline;
+import org.apache.hc.core5.jackson3.http.RequestData;
import org.apache.hc.core5.reactor.IOReactorConfig;
import org.apache.hc.core5.util.Timeout;
diff --git a/httpcore5-jackson2/src/test/java/org/apache/hc/core5/jackson2/http/examples/JsonServerExample.java b/httpcore5-jackson3/src/test/java/org/apache/hc/core5/jackson3/http/examples/JsonServerExample.java
similarity index 96%
rename from httpcore5-jackson2/src/test/java/org/apache/hc/core5/jackson2/http/examples/JsonServerExample.java
rename to httpcore5-jackson3/src/test/java/org/apache/hc/core5/jackson3/http/examples/JsonServerExample.java
index 4ebd440a4..49d4e6766 100644
--- a/httpcore5-jackson2/src/test/java/org/apache/hc/core5/jackson2/http/examples/JsonServerExample.java
+++ b/httpcore5-jackson3/src/test/java/org/apache/hc/core5/jackson3/http/examples/JsonServerExample.java
@@ -24,7 +24,7 @@
* .
*
*/
-package org.apache.hc.core5.jackson2.http.examples;
+package org.apache.hc.core5.jackson3.http.examples;
import java.net.InetSocketAddress;
import java.net.URISyntaxException;
@@ -32,7 +32,7 @@
import java.util.concurrent.Future;
import java.util.concurrent.TimeUnit;
-import com.fasterxml.jackson.databind.ObjectMapper;
+import tools.jackson.databind.ObjectMapper;
import org.apache.hc.core5.function.Supplier;
import org.apache.hc.core5.http.EndpointDetails;
@@ -50,8 +50,8 @@
import org.apache.hc.core5.http.protocol.HttpCoreContext;
import org.apache.hc.core5.http.protocol.HttpDateGenerator;
import org.apache.hc.core5.io.CloseMode;
-import org.apache.hc.core5.jackson2.http.AsyncJsonServerPipeline;
-import org.apache.hc.core5.jackson2.http.RequestData;
+import org.apache.hc.core5.jackson3.http.AsyncJsonServerPipeline;
+import org.apache.hc.core5.jackson3.http.RequestData;
import org.apache.hc.core5.reactor.IOReactorConfig;
import org.apache.hc.core5.reactor.ListenerEndpoint;
import org.apache.hc.core5.util.TimeValue;
diff --git a/httpcore5-jackson2/src/test/java/org/apache/hc/core5/jackson2/http/examples/JsonTokenEventResponseExample.java b/httpcore5-jackson3/src/test/java/org/apache/hc/core5/jackson3/http/examples/JsonTokenEventResponseExample.java
similarity index 96%
rename from httpcore5-jackson2/src/test/java/org/apache/hc/core5/jackson2/http/examples/JsonTokenEventResponseExample.java
rename to httpcore5-jackson3/src/test/java/org/apache/hc/core5/jackson3/http/examples/JsonTokenEventResponseExample.java
index fb3dd8e67..9dbe44fdc 100644
--- a/httpcore5-jackson2/src/test/java/org/apache/hc/core5/jackson2/http/examples/JsonTokenEventResponseExample.java
+++ b/httpcore5-jackson3/src/test/java/org/apache/hc/core5/jackson3/http/examples/JsonTokenEventResponseExample.java
@@ -24,22 +24,22 @@
* .
*
*/
-package org.apache.hc.core5.jackson2.http.examples;
+package org.apache.hc.core5.jackson3.http.examples;
import java.net.URI;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.TimeUnit;
-import com.fasterxml.jackson.core.JsonFactory;
-import com.fasterxml.jackson.databind.ObjectMapper;
+import tools.jackson.core.json.JsonFactory;
+import tools.jackson.databind.ObjectMapper;
import org.apache.hc.core5.concurrent.FutureCallback;
import org.apache.hc.core5.http.impl.bootstrap.AsyncRequesterBootstrap;
import org.apache.hc.core5.http.impl.bootstrap.HttpAsyncRequester;
import org.apache.hc.core5.http.protocol.HttpCoreContext;
import org.apache.hc.core5.io.CloseMode;
-import org.apache.hc.core5.jackson2.JsonTokenEventHandler;
-import org.apache.hc.core5.jackson2.http.AsyncJsonClientPipeline;
+import org.apache.hc.core5.jackson3.JsonTokenEventHandler;
+import org.apache.hc.core5.jackson3.http.AsyncJsonClientPipeline;
import org.apache.hc.core5.reactor.IOReactorConfig;
import org.apache.hc.core5.util.Timeout;
diff --git a/httpcore5-jackson2/src/test/resources/sample1.json b/httpcore5-jackson3/src/test/resources/sample1.json
similarity index 100%
rename from httpcore5-jackson2/src/test/resources/sample1.json
rename to httpcore5-jackson3/src/test/resources/sample1.json
diff --git a/httpcore5-jackson2/src/test/resources/sample2.json b/httpcore5-jackson3/src/test/resources/sample2.json
similarity index 100%
rename from httpcore5-jackson2/src/test/resources/sample2.json
rename to httpcore5-jackson3/src/test/resources/sample2.json
diff --git a/httpcore5-jackson2/src/test/resources/sample3.json b/httpcore5-jackson3/src/test/resources/sample3.json
similarity index 100%
rename from httpcore5-jackson2/src/test/resources/sample3.json
rename to httpcore5-jackson3/src/test/resources/sample3.json
diff --git a/httpcore5-jackson2/src/test/resources/sample4.json b/httpcore5-jackson3/src/test/resources/sample4.json
similarity index 100%
rename from httpcore5-jackson2/src/test/resources/sample4.json
rename to httpcore5-jackson3/src/test/resources/sample4.json
diff --git a/httpcore5-jackson2/src/test/resources/sample5.json b/httpcore5-jackson3/src/test/resources/sample5.json
similarity index 100%
rename from httpcore5-jackson2/src/test/resources/sample5.json
rename to httpcore5-jackson3/src/test/resources/sample5.json
diff --git a/httpcore5-jackson2/src/test/resources/sample6.json b/httpcore5-jackson3/src/test/resources/sample6.json
similarity index 100%
rename from httpcore5-jackson2/src/test/resources/sample6.json
rename to httpcore5-jackson3/src/test/resources/sample6.json
diff --git a/httpcore5-jackson2/src/test/resources/sample7.json b/httpcore5-jackson3/src/test/resources/sample7.json
similarity index 100%
rename from httpcore5-jackson2/src/test/resources/sample7.json
rename to httpcore5-jackson3/src/test/resources/sample7.json
diff --git a/pom.xml b/pom.xml
index b0d02beeb..8391e5625 100644
--- a/pom.xml
+++ b/pom.xml
@@ -63,7 +63,6 @@
httpcore5
httpcore5-h2
httpcore5-reactive
- httpcore5-jackson2
httpcore5-testing
@@ -75,6 +74,7 @@
${maven.compiler.source}
2.5.2
+ 3.2.0
5.14.4
5.0.0
4.11.0
@@ -107,7 +107,7 @@
org.apache.httpcomponents.core5
- httpcore5-jackson2
+ httpcore5-jackson3
${project.version}
@@ -319,6 +319,22 @@
+
+
+ jackson3
+
+
+ !hc.jackson3.skip
+
+
+
+ httpcore5-jackson3
+
+
use-toolchains