From d08f79072983b02790a629daa66108c511c9c4c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20Sugawara=20=28=E2=88=A9=EF=BD=80-=C2=B4=29?= =?UTF-8?q?=E2=8A=83=E2=94=81=E7=82=8E=E7=82=8E=E7=82=8E=E7=82=8E=E7=82=8E?= Date: Tue, 22 Apr 2025 13:24:56 -0700 Subject: [PATCH 1/5] Remove fast unmarshaller dialup code --- .../poet/builder/BaseClientBuilderClass.java | 7 --- .../json/BaseAwsJsonProtocolFactory.java | 9 ---- .../unmarshall/JsonProtocolUnmarshaller.java | 51 +++---------------- .../benchmark/apicall/protocol/JsonCodec.java | 1 - 4 files changed, 7 insertions(+), 61 deletions(-) diff --git a/codegen/src/main/java/software/amazon/awssdk/codegen/poet/builder/BaseClientBuilderClass.java b/codegen/src/main/java/software/amazon/awssdk/codegen/poet/builder/BaseClientBuilderClass.java index 1ca3f9b38ba5..eebc3a6cc273 100644 --- a/codegen/src/main/java/software/amazon/awssdk/codegen/poet/builder/BaseClientBuilderClass.java +++ b/codegen/src/main/java/software/amazon/awssdk/codegen/poet/builder/BaseClientBuilderClass.java @@ -508,13 +508,6 @@ private MethodSpec finalizeServiceConfigurationMethod() { .addCode(" .fipsEnabled(c.get($T.FIPS_ENDPOINT_ENABLED))", AwsClientOption.class) .addCode(" .build());"); - if (model.getMetadata().isJsonProtocol()) { - if (model.getCustomizationConfig().getEnableFastUnmarshaller()) { - builder.addStatement("builder.option($1T.ENABLE_FAST_UNMARSHALLER, true)", - SdkClientJsonProtocolAdvancedOption.class); - } - } - if (hasRequestAlgorithmMember(model) || hasResponseAlgorithms(model)) { builder.addStatement("$T clientConfig = config", SdkClientConfiguration.class); diff --git a/core/protocols/aws-json-protocol/src/main/java/software/amazon/awssdk/protocols/json/BaseAwsJsonProtocolFactory.java b/core/protocols/aws-json-protocol/src/main/java/software/amazon/awssdk/protocols/json/BaseAwsJsonProtocolFactory.java index 1f77ba1246e6..94276f510e86 100644 --- a/core/protocols/aws-json-protocol/src/main/java/software/amazon/awssdk/protocols/json/BaseAwsJsonProtocolFactory.java +++ b/core/protocols/aws-json-protocol/src/main/java/software/amazon/awssdk/protocols/json/BaseAwsJsonProtocolFactory.java @@ -88,16 +88,7 @@ protected BaseAwsJsonProtocolFactory(Builder builder) { this.customErrorCodeFieldName = builder.customErrorCodeFieldName; this.hasAwsQueryCompatible = builder.hasAwsQueryCompatible; this.clientConfiguration = builder.clientConfiguration; - Boolean enableFastUnmarshalling = false; - if (clientConfiguration != null) { - enableFastUnmarshalling = - clientConfiguration.option(SdkClientJsonProtocolAdvancedOption.ENABLE_FAST_UNMARSHALLER); - if (enableFastUnmarshalling == null) { - enableFastUnmarshalling = false; - } - } this.protocolUnmarshaller = JsonProtocolUnmarshaller.builder() - .enableFastUnmarshalling(enableFastUnmarshalling) .protocolUnmarshallDependencies( builder.protocolUnmarshallDependencies.get()) .build(); diff --git a/core/protocols/aws-json-protocol/src/main/java/software/amazon/awssdk/protocols/json/internal/unmarshall/JsonProtocolUnmarshaller.java b/core/protocols/aws-json-protocol/src/main/java/software/amazon/awssdk/protocols/json/internal/unmarshall/JsonProtocolUnmarshaller.java index 526d205ca221..90e64a5e869a 100644 --- a/core/protocols/aws-json-protocol/src/main/java/software/amazon/awssdk/protocols/json/internal/unmarshall/JsonProtocolUnmarshaller.java +++ b/core/protocols/aws-json-protocol/src/main/java/software/amazon/awssdk/protocols/json/internal/unmarshall/JsonProtocolUnmarshaller.java @@ -65,36 +65,18 @@ public class JsonProtocolUnmarshaller { private final JsonUnmarshallerRegistry registry; private final JsonUnmarshallingParser unmarshallingParser; - private final JsonNodeParser parser; private JsonProtocolUnmarshaller(Builder builder) { ProtocolUnmarshallDependencies dependencies = builder.protocolUnmarshallDependencies; this.registry = dependencies.jsonUnmarshallerRegistry(); - if (builder.enableFastUnmarshalling) { - this.unmarshallingParser = JsonUnmarshallingParser.builder() - .jsonValueNodeFactory(dependencies.nodeValueFactory()) - .jsonFactory(dependencies.jsonFactory()) - .unmarshallerRegistry(dependencies.jsonUnmarshallerRegistry()) - .defaultTimestampFormat(dependencies.timestampFormats() - .get(MarshallLocation.PAYLOAD)) - - .build(); - this.parser = null; - } else { - this.unmarshallingParser = null; - this.parser = createParser(builder, dependencies); - } - } + this.unmarshallingParser = JsonUnmarshallingParser.builder() + .jsonValueNodeFactory(dependencies.nodeValueFactory()) + .jsonFactory(dependencies.jsonFactory()) + .unmarshallerRegistry(dependencies.jsonUnmarshallerRegistry()) + .defaultTimestampFormat(dependencies.timestampFormats() + .get(MarshallLocation.PAYLOAD)) - private JsonNodeParser createParser(Builder builder, ProtocolUnmarshallDependencies dependencies) { - if (builder.parser != null) { - return builder.parser; - } - return JsonNodeParser - .builder() - .jsonFactory(dependencies.jsonFactory()) - .jsonValueNodeFactory(dependencies.nodeValueFactory()) - .build(); + .build(); } public static DefaultProtocolUnmarshallDependencies defaultProtocolUnmarshallDependencies() { @@ -239,15 +221,6 @@ public T unmarshall(JsonUnmarshallerContext context, public TypeT unmarshall(SdkPojo sdkPojo, SdkHttpFullResponse response) throws IOException { - if (this.unmarshallingParser != null) { - return fastUnmarshall(sdkPojo, response); - } - JsonNode jsonNode = hasJsonPayload(sdkPojo, response) ? parser.parse(response.content().get()) : null; - return unmarshall(sdkPojo, response, jsonNode); - } - - private TypeT fastUnmarshall(SdkPojo sdkPojo, - SdkHttpFullResponse response) throws IOException { if (!hasJsonPayload(sdkPojo, response)) { return unmarshallResponse(sdkPojo, response); } @@ -456,7 +429,6 @@ public static final class Builder { private JsonNodeParser parser; private ProtocolUnmarshallDependencies protocolUnmarshallDependencies; - private boolean enableFastUnmarshalling = false; private Builder() { } @@ -491,15 +463,6 @@ public Builder protocolUnmarshallDependencies( return this; } - /** - * @param enableFastUnmarshalling Whether to enable the fast unmarshalling codepath. Default to {@code false}. - * @return This builder for method chaining. - */ - public Builder enableFastUnmarshalling(boolean enableFastUnmarshalling) { - this.enableFastUnmarshalling = enableFastUnmarshalling; - return this; - } - /** * @return New instance of {@link JsonProtocolUnmarshaller}. */ diff --git a/test/sdk-benchmarks/src/main/java/software/amazon/awssdk/benchmark/apicall/protocol/JsonCodec.java b/test/sdk-benchmarks/src/main/java/software/amazon/awssdk/benchmark/apicall/protocol/JsonCodec.java index 7d85997d59b7..d672c239527f 100644 --- a/test/sdk-benchmarks/src/main/java/software/amazon/awssdk/benchmark/apicall/protocol/JsonCodec.java +++ b/test/sdk-benchmarks/src/main/java/software/amazon/awssdk/benchmark/apicall/protocol/JsonCodec.java @@ -67,7 +67,6 @@ public SdkPojo unmarshall(AwsJsonProtocol protocol, SdkPojo pojo, byte[] bytes) JsonProtocolUnmarshaller unmarshaller = JsonProtocolUnmarshaller .builder() - .enableFastUnmarshalling(true) .protocolUnmarshallDependencies(behavior.protocolUnmarshallDependencies()) .build(); SdkHttpFullResponse response = SdkHttpFullResponse From 485734416de36369c758615ff42aa575ba00129f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20Sugawara=20=28=E2=88=A9=EF=BD=80-=C2=B4=29?= =?UTF-8?q?=E2=8A=83=E2=94=81=E7=82=8E=E7=82=8E=E7=82=8E=E7=82=8E=E7=82=8E?= Date: Tue, 22 Apr 2025 15:05:09 -0700 Subject: [PATCH 2/5] Further cleanup and checkstyle fixes --- .../poet/builder/BaseClientBuilderClass.java | 1 - .../json/BaseAwsJsonProtocolFactory.java | 1 - .../unmarshall/JsonProtocolUnmarshaller.java | 6 ++-- .../SdkClientJsonProtocolAdvancedOption.java | 32 ------------------- .../archtests/InternalApiBoundaryTest.java | 4 +-- .../dynamodb/V2DynamoDbAttributeValue.java | 2 -- 6 files changed, 4 insertions(+), 42 deletions(-) delete mode 100644 core/protocols/aws-json-protocol/src/main/java/software/amazon/awssdk/protocols/json/internal/unmarshall/SdkClientJsonProtocolAdvancedOption.java diff --git a/codegen/src/main/java/software/amazon/awssdk/codegen/poet/builder/BaseClientBuilderClass.java b/codegen/src/main/java/software/amazon/awssdk/codegen/poet/builder/BaseClientBuilderClass.java index eebc3a6cc273..7d64b1586492 100644 --- a/codegen/src/main/java/software/amazon/awssdk/codegen/poet/builder/BaseClientBuilderClass.java +++ b/codegen/src/main/java/software/amazon/awssdk/codegen/poet/builder/BaseClientBuilderClass.java @@ -81,7 +81,6 @@ import software.amazon.awssdk.identity.spi.IdentityProvider; import software.amazon.awssdk.identity.spi.IdentityProviders; import software.amazon.awssdk.identity.spi.TokenIdentity; -import software.amazon.awssdk.protocols.json.internal.unmarshall.SdkClientJsonProtocolAdvancedOption; import software.amazon.awssdk.regions.ServiceMetadataAdvancedOption; import software.amazon.awssdk.utils.AttributeMap; import software.amazon.awssdk.utils.CollectionUtils; diff --git a/core/protocols/aws-json-protocol/src/main/java/software/amazon/awssdk/protocols/json/BaseAwsJsonProtocolFactory.java b/core/protocols/aws-json-protocol/src/main/java/software/amazon/awssdk/protocols/json/BaseAwsJsonProtocolFactory.java index 94276f510e86..67e3bb13b479 100644 --- a/core/protocols/aws-json-protocol/src/main/java/software/amazon/awssdk/protocols/json/BaseAwsJsonProtocolFactory.java +++ b/core/protocols/aws-json-protocol/src/main/java/software/amazon/awssdk/protocols/json/BaseAwsJsonProtocolFactory.java @@ -53,7 +53,6 @@ import software.amazon.awssdk.protocols.json.internal.unmarshall.JsonProtocolUnmarshaller; import software.amazon.awssdk.protocols.json.internal.unmarshall.JsonResponseHandler; import software.amazon.awssdk.protocols.json.internal.unmarshall.ProtocolUnmarshallDependencies; -import software.amazon.awssdk.protocols.json.internal.unmarshall.SdkClientJsonProtocolAdvancedOption; @SdkProtectedApi public abstract class BaseAwsJsonProtocolFactory { diff --git a/core/protocols/aws-json-protocol/src/main/java/software/amazon/awssdk/protocols/json/internal/unmarshall/JsonProtocolUnmarshaller.java b/core/protocols/aws-json-protocol/src/main/java/software/amazon/awssdk/protocols/json/internal/unmarshall/JsonProtocolUnmarshaller.java index 90e64a5e869a..ed49aaf07794 100644 --- a/core/protocols/aws-json-protocol/src/main/java/software/amazon/awssdk/protocols/json/internal/unmarshall/JsonProtocolUnmarshaller.java +++ b/core/protocols/aws-json-protocol/src/main/java/software/amazon/awssdk/protocols/json/internal/unmarshall/JsonProtocolUnmarshaller.java @@ -426,19 +426,19 @@ public static JsonUnmarshallerRegistry timestampFormatRegistryFactory( * Builder for {@link JsonProtocolUnmarshaller}. */ public static final class Builder { - - private JsonNodeParser parser; private ProtocolUnmarshallDependencies protocolUnmarshallDependencies; private Builder() { } /** + * The parser is no longer used by this class. Keeping this method for backwards compatibility. + * * @param parser JSON parser to use. * @return This builder for method chaining. */ + @Deprecated public Builder parser(JsonNodeParser parser) { - this.parser = parser; return this; } diff --git a/core/protocols/aws-json-protocol/src/main/java/software/amazon/awssdk/protocols/json/internal/unmarshall/SdkClientJsonProtocolAdvancedOption.java b/core/protocols/aws-json-protocol/src/main/java/software/amazon/awssdk/protocols/json/internal/unmarshall/SdkClientJsonProtocolAdvancedOption.java deleted file mode 100644 index 0696bef13b05..000000000000 --- a/core/protocols/aws-json-protocol/src/main/java/software/amazon/awssdk/protocols/json/internal/unmarshall/SdkClientJsonProtocolAdvancedOption.java +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"). - * You may not use this file except in compliance with the License. - * A copy of the License is located at - * - * http://aws.amazon.com/apache2.0 - * - * or in the "license" file accompanying this file. This file 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. - */ - -package software.amazon.awssdk.protocols.json.internal.unmarshall; - -import software.amazon.awssdk.annotations.SdkInternalApi; -import software.amazon.awssdk.core.client.config.ClientOption; - -@SdkInternalApi -public class SdkClientJsonProtocolAdvancedOption extends ClientOption { - /** - * Enables the fast unmarshall code path. This option is internal and subject to removal in future releases of the SDK. - */ - public static final SdkClientJsonProtocolAdvancedOption ENABLE_FAST_UNMARSHALLER = - new SdkClientJsonProtocolAdvancedOption<>(Boolean.class); - - protected SdkClientJsonProtocolAdvancedOption(Class valueClass) { - super(valueClass); - } -} diff --git a/test/architecture-tests/src/test/java/software/amazon/awssdk/archtests/InternalApiBoundaryTest.java b/test/architecture-tests/src/test/java/software/amazon/awssdk/archtests/InternalApiBoundaryTest.java index 3b2cf7f78546..e4fc69505102 100644 --- a/test/architecture-tests/src/test/java/software/amazon/awssdk/archtests/InternalApiBoundaryTest.java +++ b/test/architecture-tests/src/test/java/software/amazon/awssdk/archtests/InternalApiBoundaryTest.java @@ -32,14 +32,12 @@ import java.util.stream.Collectors; import org.junit.jupiter.api.Test; import software.amazon.awssdk.annotations.SdkInternalApi; -import software.amazon.awssdk.annotations.SdkProtectedApi; import software.amazon.awssdk.awscore.internal.AwsProtocolMetadata; import software.amazon.awssdk.awscore.internal.AwsServiceProtocol; import software.amazon.awssdk.core.internal.interceptor.trait.RequestCompression; import software.amazon.awssdk.core.internal.util.MetricUtils; import software.amazon.awssdk.core.internal.waiters.WaiterAttribute; import software.amazon.awssdk.http.auth.aws.internal.signer.util.ChecksumUtil; -import software.amazon.awssdk.protocols.json.internal.unmarshall.SdkClientJsonProtocolAdvancedOption; import software.amazon.awssdk.utils.internal.EnumUtils; import software.amazon.awssdk.utils.internal.SystemSettingUtils; @@ -57,7 +55,7 @@ public class InternalApiBoundaryTest { private static final Set> ALLOWED_INTERNAL_API_ACROSS_MODULE_SUPPRESSION = new HashSet<>( Arrays.asList(WaiterAttribute.class, RequestCompression.class, RequestCompression.Builder.class, EnumUtils.class, AwsServiceProtocol.class, AwsProtocolMetadata.class, MetricUtils.class, SystemSettingUtils.class, - ChecksumUtil.class, SdkClientJsonProtocolAdvancedOption.class)); + ChecksumUtil.class)); @Test void internalApi_shouldNotUsedAcrossModule() { diff --git a/test/sdk-benchmarks/src/main/java/software/amazon/awssdk/benchmark/marshaller/dynamodb/V2DynamoDbAttributeValue.java b/test/sdk-benchmarks/src/main/java/software/amazon/awssdk/benchmark/marshaller/dynamodb/V2DynamoDbAttributeValue.java index 71826708417c..0b770c8d1d08 100755 --- a/test/sdk-benchmarks/src/main/java/software/amazon/awssdk/benchmark/marshaller/dynamodb/V2DynamoDbAttributeValue.java +++ b/test/sdk-benchmarks/src/main/java/software/amazon/awssdk/benchmark/marshaller/dynamodb/V2DynamoDbAttributeValue.java @@ -43,7 +43,6 @@ import software.amazon.awssdk.protocols.json.AwsJsonProtocol; import software.amazon.awssdk.protocols.json.AwsJsonProtocolFactory; import software.amazon.awssdk.protocols.json.JsonOperationMetadata; -import software.amazon.awssdk.protocols.json.internal.unmarshall.SdkClientJsonProtocolAdvancedOption; import software.amazon.awssdk.services.dynamodb.model.AttributeValue; import software.amazon.awssdk.services.dynamodb.model.BackupInUseException; import software.amazon.awssdk.services.dynamodb.model.BackupNotFoundException; @@ -80,7 +79,6 @@ public class V2DynamoDbAttributeValue { .clientConfiguration(SdkClientConfiguration .builder() .option(SdkClientOption.ENDPOINT, URI.create("https://localhost")) - .option(SdkClientJsonProtocolAdvancedOption.ENABLE_FAST_UNMARSHALLER, true) .build()) .defaultServiceExceptionSupplier(DynamoDbException::builder) .protocol(AwsJsonProtocol.AWS_JSON) From 30d3e82ae5300a38d3a4670a4e760c5cf14bc501 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20Sugawara=20=28=E2=88=A9=EF=BD=80-=C2=B4=29?= =?UTF-8?q?=E2=8A=83=E2=94=81=E7=82=8E=E7=82=8E=E7=82=8E=E7=82=8E=E7=82=8E?= Date: Tue, 22 Apr 2025 17:06:09 -0700 Subject: [PATCH 3/5] Add the @deprecated javadoc tag --- .../json/internal/unmarshall/JsonProtocolUnmarshaller.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/core/protocols/aws-json-protocol/src/main/java/software/amazon/awssdk/protocols/json/internal/unmarshall/JsonProtocolUnmarshaller.java b/core/protocols/aws-json-protocol/src/main/java/software/amazon/awssdk/protocols/json/internal/unmarshall/JsonProtocolUnmarshaller.java index ed49aaf07794..01d31d5c6cf7 100644 --- a/core/protocols/aws-json-protocol/src/main/java/software/amazon/awssdk/protocols/json/internal/unmarshall/JsonProtocolUnmarshaller.java +++ b/core/protocols/aws-json-protocol/src/main/java/software/amazon/awssdk/protocols/json/internal/unmarshall/JsonProtocolUnmarshaller.java @@ -59,7 +59,7 @@ */ @SdkInternalApi @ThreadSafe -public class JsonProtocolUnmarshaller { +public final class JsonProtocolUnmarshaller { private static final Lazy DEFAULT_DEPENDENCIES = new Lazy<>(JsonProtocolUnmarshaller::newProtocolUnmarshallDependencies); @@ -436,6 +436,7 @@ private Builder() { * * @param parser JSON parser to use. * @return This builder for method chaining. + * @deprecated The json parser is not longer used by this class. If given the value will be ignored. */ @Deprecated public Builder parser(JsonNodeParser parser) { From 58180bd741469c820c633f2a06c29faaafe35eaf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20Sugawara=20=28=E2=88=A9=EF=BD=80-=C2=B4=29?= =?UTF-8?q?=E2=8A=83=E2=94=81=E7=82=8E=E7=82=8E=E7=82=8E=E7=82=8E=E7=82=8E?= Date: Wed, 23 Apr 2025 09:57:11 -0700 Subject: [PATCH 4/5] Add back the SdkClientJsonProtocolAdvancedOption class --- .../SdkClientJsonProtocolAdvancedOption.java | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 core/protocols/aws-json-protocol/src/main/java/software/amazon/awssdk/protocols/json/internal/unmarshall/SdkClientJsonProtocolAdvancedOption.java diff --git a/core/protocols/aws-json-protocol/src/main/java/software/amazon/awssdk/protocols/json/internal/unmarshall/SdkClientJsonProtocolAdvancedOption.java b/core/protocols/aws-json-protocol/src/main/java/software/amazon/awssdk/protocols/json/internal/unmarshall/SdkClientJsonProtocolAdvancedOption.java new file mode 100644 index 000000000000..0696bef13b05 --- /dev/null +++ b/core/protocols/aws-json-protocol/src/main/java/software/amazon/awssdk/protocols/json/internal/unmarshall/SdkClientJsonProtocolAdvancedOption.java @@ -0,0 +1,32 @@ +/* + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"). + * You may not use this file except in compliance with the License. + * A copy of the License is located at + * + * http://aws.amazon.com/apache2.0 + * + * or in the "license" file accompanying this file. This file 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. + */ + +package software.amazon.awssdk.protocols.json.internal.unmarshall; + +import software.amazon.awssdk.annotations.SdkInternalApi; +import software.amazon.awssdk.core.client.config.ClientOption; + +@SdkInternalApi +public class SdkClientJsonProtocolAdvancedOption extends ClientOption { + /** + * Enables the fast unmarshall code path. This option is internal and subject to removal in future releases of the SDK. + */ + public static final SdkClientJsonProtocolAdvancedOption ENABLE_FAST_UNMARSHALLER = + new SdkClientJsonProtocolAdvancedOption<>(Boolean.class); + + protected SdkClientJsonProtocolAdvancedOption(Class valueClass) { + super(valueClass); + } +} From b0a0db1e7f5784a4c02b508f8ec57a28b11d2341 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20Sugawara=20=28=E2=88=A9=EF=BD=80-=C2=B4=29?= =?UTF-8?q?=E2=8A=83=E2=94=81=E7=82=8E=E7=82=8E=E7=82=8E=E7=82=8E=E7=82=8E?= Date: Wed, 23 Apr 2025 10:11:24 -0700 Subject: [PATCH 5/5] Remove the parser setter, we don't need to be backwards compatible --- .../unmarshall/JsonProtocolUnmarshaller.java | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/core/protocols/aws-json-protocol/src/main/java/software/amazon/awssdk/protocols/json/internal/unmarshall/JsonProtocolUnmarshaller.java b/core/protocols/aws-json-protocol/src/main/java/software/amazon/awssdk/protocols/json/internal/unmarshall/JsonProtocolUnmarshaller.java index 01d31d5c6cf7..4ae55937e3ec 100644 --- a/core/protocols/aws-json-protocol/src/main/java/software/amazon/awssdk/protocols/json/internal/unmarshall/JsonProtocolUnmarshaller.java +++ b/core/protocols/aws-json-protocol/src/main/java/software/amazon/awssdk/protocols/json/internal/unmarshall/JsonProtocolUnmarshaller.java @@ -48,7 +48,6 @@ import software.amazon.awssdk.protocols.json.internal.MarshallerUtil; import software.amazon.awssdk.protocols.json.internal.unmarshall.document.DocumentUnmarshaller; import software.amazon.awssdk.protocols.jsoncore.JsonNode; -import software.amazon.awssdk.protocols.jsoncore.JsonNodeParser; import software.amazon.awssdk.protocols.jsoncore.JsonValueNodeFactory; import software.amazon.awssdk.utils.Lazy; import software.amazon.awssdk.utils.builder.Buildable; @@ -431,18 +430,6 @@ public static final class Builder { private Builder() { } - /** - * The parser is no longer used by this class. Keeping this method for backwards compatibility. - * - * @param parser JSON parser to use. - * @return This builder for method chaining. - * @deprecated The json parser is not longer used by this class. If given the value will be ignored. - */ - @Deprecated - public Builder parser(JsonNodeParser parser) { - return this; - } - /** * @param formats The default timestamp formats for each location in the HTTP response. * @return This builder for method chaining.