From 36bbbab02da4d5c4500523f23a5ce28fa6a87dfb Mon Sep 17 00:00:00 2001 From: Sebastien Deleuze Date: Tue, 24 Jul 2018 17:18:53 +0200 Subject: [PATCH] Deprecate ExtensionRegistryInitializer in protobuf support In order to be consistent with SPR-15776, and since it does not provide clear added value, this commit deprecates ExtensionRegistryInitializer and uses ExtensionRegistry parameter instead in ProtobufHttpMessageConverter and ProtobufJsonFormatHttpMessageConverter constructors. Issue: SPR-17081 --- .../ExtensionRegistryInitializer.java | 3 ++ .../ProtobufHttpMessageConverter.java | 27 ++++++++++++----- ...rotobufJsonFormatHttpMessageConverter.java | 29 +++++++++++++++++-- .../ProtobufHttpMessageConverterTests.java | 19 ++++++++++-- ...ufJsonFormatHttpMessageConverterTests.java | 17 +++++++++-- 5 files changed, 80 insertions(+), 15 deletions(-) diff --git a/spring-web/src/main/java/org/springframework/http/converter/protobuf/ExtensionRegistryInitializer.java b/spring-web/src/main/java/org/springframework/http/converter/protobuf/ExtensionRegistryInitializer.java index decb36208d6..95b5d430b21 100644 --- a/spring-web/src/main/java/org/springframework/http/converter/protobuf/ExtensionRegistryInitializer.java +++ b/spring-web/src/main/java/org/springframework/http/converter/protobuf/ExtensionRegistryInitializer.java @@ -25,10 +25,13 @@ import com.google.protobuf.ExtensionRegistry; *

This interface provides a facility to populate the {@code ExtensionRegistry}. * * @author Alex Antonov + * @author Sebastien Deleuze * @since 4.1 * @see * com.google.protobuf.ExtensionRegistry + * @deprecated as of Spring Framework 5.1, use {@link ExtensionRegistry} based contructors instead */ +@Deprecated public interface ExtensionRegistryInitializer { /** diff --git a/spring-web/src/main/java/org/springframework/http/converter/protobuf/ProtobufHttpMessageConverter.java b/spring-web/src/main/java/org/springframework/http/converter/protobuf/ProtobufHttpMessageConverter.java index 585b0edfdea..75ece8284d5 100644 --- a/spring-web/src/main/java/org/springframework/http/converter/protobuf/ProtobufHttpMessageConverter.java +++ b/spring-web/src/main/java/org/springframework/http/converter/protobuf/ProtobufHttpMessageConverter.java @@ -77,6 +77,7 @@ import static org.springframework.http.MediaType.TEXT_PLAIN; * @author Alex Antonov * @author Brian Clozel * @author Juergen Hoeller + * @author Sebastien Deleuze * @since 4.1 * @see FormatFactory * @see JsonFormat @@ -107,7 +108,7 @@ public class ProtobufHttpMessageConverter extends AbstractHttpMessageConverter, Method> methodCache = new ConcurrentReferenceHashMap<>(); - private final ExtensionRegistry extensionRegistry = ExtensionRegistry.newInstance(); + final ExtensionRegistry extensionRegistry; @Nullable private final ProtobufFormatSupport protobufFormatSupport; @@ -117,20 +118,34 @@ public class ProtobufHttpMessageConverter extends AbstractHttpMessageConverter