diff --git a/sdks/java/io/amazon-web-services/src/main/java/org/apache/beam/sdk/io/aws/options/AwsModule.java b/sdks/java/io/amazon-web-services/src/main/java/org/apache/beam/sdk/io/aws/options/AwsModule.java index 30add9b4823c..79f9db0f92d1 100644 --- a/sdks/java/io/amazon-web-services/src/main/java/org/apache/beam/sdk/io/aws/options/AwsModule.java +++ b/sdks/java/io/amazon-web-services/src/main/java/org/apache/beam/sdk/io/aws/options/AwsModule.java @@ -36,9 +36,7 @@ import com.fasterxml.jackson.annotation.JsonTypeInfo; import com.fasterxml.jackson.core.JsonGenerator; import com.fasterxml.jackson.core.JsonParser; -import com.fasterxml.jackson.core.JsonToken; import com.fasterxml.jackson.core.type.TypeReference; -import com.fasterxml.jackson.core.type.WritableTypeId; import com.fasterxml.jackson.databind.DeserializationContext; import com.fasterxml.jackson.databind.JsonDeserializer; import com.fasterxml.jackson.databind.JsonSerializer; @@ -158,9 +156,8 @@ public void serializeWithType( SerializerProvider serializers, TypeSerializer typeSerializer) throws IOException { - WritableTypeId typeId = - typeSerializer.writeTypePrefix( - jsonGenerator, typeSerializer.typeId(credentialsProvider, JsonToken.START_OBJECT)); + typeSerializer.writeTypePrefixForObject(credentialsProvider, jsonGenerator); + if (credentialsProvider.getClass().equals(AWSStaticCredentialsProvider.class)) { jsonGenerator.writeStringField( AWS_ACCESS_KEY_ID, credentialsProvider.getCredentials().getAWSAccessKeyId()); @@ -200,7 +197,7 @@ public void serializeWithType( throw new IllegalArgumentException( "Unsupported AWS credentials provider type " + credentialsProvider.getClass()); } - typeSerializer.writeTypeSuffix(jsonGenerator, typeId); + typeSerializer.writeTypeSuffixForObject(credentialsProvider, jsonGenerator); } } diff --git a/sdks/java/io/amazon-web-services2/src/main/java/org/apache/beam/sdk/io/aws2/options/AwsModule.java b/sdks/java/io/amazon-web-services2/src/main/java/org/apache/beam/sdk/io/aws2/options/AwsModule.java index 79e8d151cebc..4adad6773b30 100644 --- a/sdks/java/io/amazon-web-services2/src/main/java/org/apache/beam/sdk/io/aws2/options/AwsModule.java +++ b/sdks/java/io/amazon-web-services2/src/main/java/org/apache/beam/sdk/io/aws2/options/AwsModule.java @@ -20,9 +20,7 @@ import com.fasterxml.jackson.annotation.JsonTypeInfo; import com.fasterxml.jackson.core.JsonGenerator; import com.fasterxml.jackson.core.JsonParser; -import com.fasterxml.jackson.core.JsonToken; import com.fasterxml.jackson.core.type.TypeReference; -import com.fasterxml.jackson.core.type.WritableTypeId; import com.fasterxml.jackson.databind.DeserializationContext; import com.fasterxml.jackson.databind.JsonDeserializer; import com.fasterxml.jackson.databind.JsonSerializer; @@ -141,9 +139,7 @@ public void serializeWithType( SerializerProvider serializer, TypeSerializer typeSerializer) throws IOException { - WritableTypeId typeId = - typeSerializer.writeTypePrefix( - jsonGenerator, typeSerializer.typeId(credentialsProvider, JsonToken.START_OBJECT)); + typeSerializer.writeTypePrefixForObject(credentialsProvider, jsonGenerator); if (credentialsProvider.getClass().equals(StaticCredentialsProvider.class)) { jsonGenerator.writeStringField( ACCESS_KEY_ID, credentialsProvider.resolveCredentials().accessKeyId()); @@ -153,7 +149,7 @@ public void serializeWithType( throw new IllegalArgumentException( "Unsupported AWS credentials provider type " + credentialsProvider.getClass()); } - typeSerializer.writeTypeSuffix(jsonGenerator, typeId); + typeSerializer.writeTypeSuffixForObject(credentialsProvider, jsonGenerator); } }