From 10933e644a8c37d3587959dc22ecca2380f0a865 Mon Sep 17 00:00:00 2001 From: Arturo Bernal Date: Fri, 10 Jul 2026 14:52:30 +0200 Subject: [PATCH] Migrate JSON bindings to Jackson 3 Rename module and package to jackson3, move to tools.jackson 3.2.0, translate unchecked JacksonException to IOException, target Java 17. --- .github/workflows/maven.yml | 13 +- README.md | 3 +- .../pom.xml | 25 +- .../hc/core5/jackson3/JacksonSupport.java | 61 ++++ .../core5/jackson3}/JsonAsyncTokenizer.java | 21 +- .../hc/core5/jackson3}/JsonConsumer.java | 2 +- .../hc/core5/jackson3}/JsonNodeAssembler.java | 14 +- .../hc/core5/jackson3}/JsonResultSink.java | 2 +- .../hc/core5/jackson3}/JsonTokenConsumer.java | 6 +- .../jackson3}/JsonTokenEventHandler.java | 2 +- .../JsonTokenEventHandlerAdaptor.java | 17 +- .../hc/core5/jackson3}/JsonTokenizer.java | 17 +- .../core5/jackson3}/TokenBufferAssembler.java | 12 +- .../jackson3}/TopLevelArrayTokenFilter.java | 6 +- .../jackson3}/bulk/JsonBulkArrayReader.java | 29 +- .../http/AbstractJsonEntityConsumer.java | 10 +- .../http/AbstractJsonEntityProducer.java | 2 +- .../http/AbstractJsonMessageConsumer.java | 2 +- .../AbstractJsonSequenceEntityConsumer.java | 23 +- .../http/AsyncJsonClientPipeline.java | 20 +- .../http/AsyncJsonServerPipeline.java | 20 +- .../core5/jackson3}/http/InternalBuffer.java | 2 +- .../jackson3}/http/JsonMessageProducer.java | 2 +- .../http/JsonNodeEntityConsumer.java | 12 +- .../http/JsonNodeEntityFallbackConsumer.java | 18 +- .../http/JsonNodeEntityProducer.java | 14 +- .../http/JsonNodeSequenceEntityConsumer.java | 10 +- .../http/JsonObjectEntityConsumer.java | 23 +- .../http/JsonObjectEntityProducer.java | 12 +- .../jackson3}/http/JsonRequestConsumer.java | 2 +- .../jackson3}/http/JsonRequestConsumers.java | 22 +- .../http/JsonRequestObjectProducer.java | 2 +- .../jackson3}/http/JsonRequestProducers.java | 14 +- .../jackson3}/http/JsonResponseConsumer.java | 2 +- .../jackson3}/http/JsonResponseConsumers.java | 32 +- .../http/JsonResponseObjectProducer.java | 2 +- .../jackson3}/http/JsonResponseProducers.java | 14 +- .../http/JsonSequenceEntityConsumer.java | 12 +- .../http/JsonSequenceEntityProducer.java | 12 +- .../http/JsonSequenceRequestConsumer.java | 4 +- .../http/JsonSequenceResponseConsumer.java | 4 +- .../http/JsonTokenEntityConsumer.java | 16 +- .../http/JsonTokenEntityProducer.java | 25 +- .../core5/jackson3}/http/ObjectChannel.java | 2 +- .../core5/jackson3}/http/ObjectProducer.java | 2 +- .../jackson3}/JsonNodeAssemblerTest.java | 12 +- .../JsonTokenBufferAssemblerTest.java | 29 +- .../JsonTokenEventHandlerAdaptorTest.java | 16 +- .../hc/core5/jackson3}/JsonTokenizerTest.java | 312 +++++++++--------- .../bulk/JsonBulkArrayReaderTest.java | 10 +- .../http/BasicDataStreamChannel.java | 2 +- .../http/CompletableFutureCallback.java | 2 +- .../jackson3}/http/HttpResponseException.java | 2 +- .../http/JsonEntityConsumersTest.java | 48 +-- .../http/JsonEntityProducersTest.java | 10 +- .../http/JsonRequestConsumersTest.java | 4 +- .../http/JsonResponseConsumersTest.java | 18 +- .../hc/core5/jackson3}/http/RequestData.java | 4 +- .../http/WritableByteChannelMock.java | 2 +- .../examples/JsonBulkArrayReaderExample.java | 12 +- .../examples/JsonNodeResponseExample.java | 8 +- .../examples/JsonObjectRequestExample.java | 18 +- .../examples/JsonSequenceRequestExample.java | 18 +- .../examples/JsonSequenceResponseExample.java | 10 +- .../http/examples/JsonServerExample.java | 8 +- .../JsonTokenEventResponseExample.java | 10 +- .../src/test/resources/sample1.json | 0 .../src/test/resources/sample2.json | 0 .../src/test/resources/sample3.json | 0 .../src/test/resources/sample4.json | 0 .../src/test/resources/sample5.json | 0 .../src/test/resources/sample6.json | 0 .../src/test/resources/sample7.json | 0 pom.xml | 20 +- 74 files changed, 648 insertions(+), 494 deletions(-) rename {httpcore5-jackson2 => httpcore5-jackson3}/pom.xml (76%) create mode 100644 httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3/JacksonSupport.java rename {httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2 => httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3}/JsonAsyncTokenizer.java (87%) rename {httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2 => httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3}/JsonConsumer.java (97%) rename {httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2 => httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3}/JsonNodeAssembler.java (95%) rename {httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2 => httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3}/JsonResultSink.java (97%) rename {httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2 => httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3}/JsonTokenConsumer.java (92%) rename {httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2 => httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3}/JsonTokenEventHandler.java (98%) rename {httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2 => httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3}/JsonTokenEventHandlerAdaptor.java (88%) rename {httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2 => httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3}/JsonTokenizer.java (81%) rename {httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2 => httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3}/TokenBufferAssembler.java (90%) rename {httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2 => httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3}/TopLevelArrayTokenFilter.java (94%) rename {httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2 => httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3}/bulk/JsonBulkArrayReader.java (78%) rename {httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2 => httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3}/http/AbstractJsonEntityConsumer.java (93%) rename {httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2 => httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3}/http/AbstractJsonEntityProducer.java (98%) rename {httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2 => httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3}/http/AbstractJsonMessageConsumer.java (99%) rename {httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2 => httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3}/http/AbstractJsonSequenceEntityConsumer.java (78%) rename {httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2 => httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3}/http/AsyncJsonClientPipeline.java (96%) rename {httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2 => httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3}/http/AsyncJsonServerPipeline.java (97%) rename {httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2 => httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3}/http/InternalBuffer.java (98%) rename {httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2 => httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3}/http/JsonMessageProducer.java (98%) rename {httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2 => httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3}/http/JsonNodeEntityConsumer.java (84%) rename {httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2 => httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3}/http/JsonNodeEntityFallbackConsumer.java (93%) rename {httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2 => httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3}/http/JsonNodeEntityProducer.java (83%) rename {httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2 => httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3}/http/JsonNodeSequenceEntityConsumer.java (84%) rename {httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2 => httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3}/http/JsonObjectEntityConsumer.java (80%) rename {httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2 => httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3}/http/JsonObjectEntityProducer.java (88%) rename {httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2 => httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3}/http/JsonRequestConsumer.java (98%) rename {httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2 => httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3}/http/JsonRequestConsumers.java (94%) rename {httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2 => httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3}/http/JsonRequestObjectProducer.java (98%) rename {httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2 => httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3}/http/JsonRequestProducers.java (92%) rename {httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2 => httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3}/http/JsonResponseConsumer.java (98%) rename {httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2 => httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3}/http/JsonResponseConsumers.java (96%) rename {httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2 => httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3}/http/JsonResponseObjectProducer.java (98%) rename {httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2 => httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3}/http/JsonResponseProducers.java (92%) rename {httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2 => httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3}/http/JsonSequenceEntityConsumer.java (88%) rename {httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2 => httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3}/http/JsonSequenceEntityProducer.java (92%) rename {httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2 => httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3}/http/JsonSequenceRequestConsumer.java (96%) rename {httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2 => httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3}/http/JsonSequenceResponseConsumer.java (97%) rename {httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2 => httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3}/http/JsonTokenEntityConsumer.java (80%) rename {httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2 => httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3}/http/JsonTokenEntityProducer.java (68%) rename {httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2 => httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3}/http/ObjectChannel.java (97%) rename {httpcore5-jackson2/src/main/java/org/apache/hc/core5/jackson2 => httpcore5-jackson3/src/main/java/org/apache/hc/core5/jackson3}/http/ObjectProducer.java (97%) rename {httpcore5-jackson2/src/test/java/org/apache/hc/core5/jackson2 => httpcore5-jackson3/src/test/java/org/apache/hc/core5/jackson3}/JsonNodeAssemblerTest.java (94%) rename {httpcore5-jackson2/src/test/java/org/apache/hc/core5/jackson2 => httpcore5-jackson3/src/test/java/org/apache/hc/core5/jackson3}/JsonTokenBufferAssemblerTest.java (95%) rename {httpcore5-jackson2/src/test/java/org/apache/hc/core5/jackson2 => httpcore5-jackson3/src/test/java/org/apache/hc/core5/jackson3}/JsonTokenEventHandlerAdaptorTest.java (84%) rename {httpcore5-jackson2/src/test/java/org/apache/hc/core5/jackson2 => httpcore5-jackson3/src/test/java/org/apache/hc/core5/jackson3}/JsonTokenizerTest.java (72%) rename {httpcore5-jackson2/src/test/java/org/apache/hc/core5/jackson2 => httpcore5-jackson3/src/test/java/org/apache/hc/core5/jackson3}/bulk/JsonBulkArrayReaderTest.java (96%) rename {httpcore5-jackson2/src/test/java/org/apache/hc/core5/jackson2 => httpcore5-jackson3/src/test/java/org/apache/hc/core5/jackson3}/http/BasicDataStreamChannel.java (98%) rename {httpcore5-jackson2/src/test/java/org/apache/hc/core5/jackson2 => httpcore5-jackson3/src/test/java/org/apache/hc/core5/jackson3}/http/CompletableFutureCallback.java (97%) rename {httpcore5-jackson2/src/test/java/org/apache/hc/core5/jackson2 => httpcore5-jackson3/src/test/java/org/apache/hc/core5/jackson3}/http/HttpResponseException.java (97%) rename {httpcore5-jackson2/src/test/java/org/apache/hc/core5/jackson2 => httpcore5-jackson3/src/test/java/org/apache/hc/core5/jackson3}/http/JsonEntityConsumersTest.java (95%) rename {httpcore5-jackson2/src/test/java/org/apache/hc/core5/jackson2 => httpcore5-jackson3/src/test/java/org/apache/hc/core5/jackson3}/http/JsonEntityProducersTest.java (96%) rename {httpcore5-jackson2/src/test/java/org/apache/hc/core5/jackson2 => httpcore5-jackson3/src/test/java/org/apache/hc/core5/jackson3}/http/JsonRequestConsumersTest.java (99%) rename {httpcore5-jackson2/src/test/java/org/apache/hc/core5/jackson2 => httpcore5-jackson3/src/test/java/org/apache/hc/core5/jackson3}/http/JsonResponseConsumersTest.java (97%) rename {httpcore5-jackson2/src/test/java/org/apache/hc/core5/jackson2 => httpcore5-jackson3/src/test/java/org/apache/hc/core5/jackson3}/http/RequestData.java (97%) rename {httpcore5-jackson2/src/test/java/org/apache/hc/core5/jackson2 => httpcore5-jackson3/src/test/java/org/apache/hc/core5/jackson3}/http/WritableByteChannelMock.java (98%) rename {httpcore5-jackson2/src/test/java/org/apache/hc/core5/jackson2 => httpcore5-jackson3/src/test/java/org/apache/hc/core5/jackson3}/http/examples/JsonBulkArrayReaderExample.java (86%) rename {httpcore5-jackson2/src/test/java/org/apache/hc/core5/jackson2 => httpcore5-jackson3/src/test/java/org/apache/hc/core5/jackson3}/http/examples/JsonNodeResponseExample.java (95%) rename {httpcore5-jackson2/src/test/java/org/apache/hc/core5/jackson2 => httpcore5-jackson3/src/test/java/org/apache/hc/core5/jackson3}/http/examples/JsonObjectRequestExample.java (89%) rename {httpcore5-jackson2/src/test/java/org/apache/hc/core5/jackson2 => httpcore5-jackson3/src/test/java/org/apache/hc/core5/jackson3}/http/examples/JsonSequenceRequestExample.java (90%) rename {httpcore5-jackson2/src/test/java/org/apache/hc/core5/jackson2 => httpcore5-jackson3/src/test/java/org/apache/hc/core5/jackson3}/http/examples/JsonSequenceResponseExample.java (94%) rename {httpcore5-jackson2/src/test/java/org/apache/hc/core5/jackson2 => httpcore5-jackson3/src/test/java/org/apache/hc/core5/jackson3}/http/examples/JsonServerExample.java (96%) rename {httpcore5-jackson2/src/test/java/org/apache/hc/core5/jackson2 => httpcore5-jackson3/src/test/java/org/apache/hc/core5/jackson3}/http/examples/JsonTokenEventResponseExample.java (96%) rename {httpcore5-jackson2 => httpcore5-jackson3}/src/test/resources/sample1.json (100%) rename {httpcore5-jackson2 => httpcore5-jackson3}/src/test/resources/sample2.json (100%) rename {httpcore5-jackson2 => httpcore5-jackson3}/src/test/resources/sample3.json (100%) rename {httpcore5-jackson2 => httpcore5-jackson3}/src/test/resources/sample4.json (100%) rename {httpcore5-jackson2 => httpcore5-jackson3}/src/test/resources/sample5.json (100%) rename {httpcore5-jackson2 => httpcore5-jackson3}/src/test/resources/sample6.json (100%) rename {httpcore5-jackson2 => httpcore5-jackson3}/src/test/resources/sample7.json (100%) 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