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
This commit is contained in:
Sebastien Deleuze
2018-07-24 17:18:53 +02:00
parent dd4468a74a
commit 36bbbab02d
5 changed files with 80 additions and 15 deletions

View File

@@ -19,6 +19,7 @@ package org.springframework.http.converter.protobuf;
import java.io.IOException;
import java.nio.charset.Charset;
import com.google.protobuf.ExtensionRegistry;
import com.google.protobuf.Message;
import com.google.protobuf.util.JsonFormat;
import org.junit.Before;
@@ -39,11 +40,15 @@ import static org.mockito.Mockito.*;
* @author Alex Antonov
* @author Juergen Hoeller
* @author Andreas Ahlenstorf
* @author Sebastien Deleuze
*/
@SuppressWarnings("deprecation")
public class ProtobufHttpMessageConverterTests {
private ProtobufHttpMessageConverter converter;
private ExtensionRegistry extensionRegistry;
private ExtensionRegistryInitializer registryInitializer;
private Msg testMsg;
@@ -52,6 +57,7 @@ public class ProtobufHttpMessageConverterTests {
@Before
public void setup() {
this.registryInitializer = mock(ExtensionRegistryInitializer.class);
this.extensionRegistry = mock(ExtensionRegistry.class);
this.converter = new ProtobufHttpMessageConverter(this.registryInitializer);
this.testMsg = Msg.newBuilder().setFoo("Foo").setBlah(SecondMsg.newBuilder().setBlah(123).build()).build();
}
@@ -62,9 +68,16 @@ public class ProtobufHttpMessageConverterTests {
verify(this.registryInitializer, times(1)).initializeExtensionRegistry(any());
}
@Test
public void extensionRegistryInitializerNull() {
ProtobufHttpMessageConverter converter = new ProtobufHttpMessageConverter((ExtensionRegistryInitializer)null);
assertNotNull(converter.extensionRegistry);
}
@Test
public void extensionRegistryNull() {
new ProtobufHttpMessageConverter(null);
ProtobufHttpMessageConverter converter = new ProtobufHttpMessageConverter((ExtensionRegistry)null);
assertNotNull(converter.extensionRegistry);
}
@Test
@@ -128,7 +141,7 @@ public class ProtobufHttpMessageConverterTests {
public void writeJsonWithGoogleProtobuf() throws IOException {
this.converter = new ProtobufHttpMessageConverter(
new ProtobufHttpMessageConverter.ProtobufJavaUtilSupport(null, null),
this.registryInitializer);
this.extensionRegistry);
MockHttpOutputMessage outputMessage = new MockHttpOutputMessage();
MediaType contentType = MediaType.APPLICATION_JSON_UTF8;
this.converter.write(this.testMsg, contentType, outputMessage);
@@ -152,7 +165,7 @@ public class ProtobufHttpMessageConverterTests {
public void writeJsonWithJavaFormat() throws IOException {
this.converter = new ProtobufHttpMessageConverter(
new ProtobufHttpMessageConverter.ProtobufJavaFormatSupport(),
this.registryInitializer);
this.extensionRegistry);
MockHttpOutputMessage outputMessage = new MockHttpOutputMessage();
MediaType contentType = MediaType.APPLICATION_JSON_UTF8;
this.converter.write(this.testMsg, contentType, outputMessage);

View File

@@ -18,6 +18,7 @@ package org.springframework.http.converter.protobuf;
import java.io.IOException;
import com.google.protobuf.ExtensionRegistry;
import com.google.protobuf.Message;
import com.google.protobuf.util.JsonFormat;
import org.junit.Before;
@@ -36,11 +37,15 @@ import static org.mockito.Mockito.*;
* Test suite for {@link ProtobufJsonFormatHttpMessageConverter}.
*
* @author Juergen Hoeller
* @author Sebastien Deleuze
*/
@SuppressWarnings("deprecation")
public class ProtobufJsonFormatHttpMessageConverterTests {
private ProtobufHttpMessageConverter converter;
private ExtensionRegistry extensionRegistry;
private ExtensionRegistryInitializer registryInitializer;
private Msg testMsg;
@@ -49,6 +54,7 @@ public class ProtobufJsonFormatHttpMessageConverterTests {
@Before
public void setup() {
this.registryInitializer = mock(ExtensionRegistryInitializer.class);
this.extensionRegistry = mock(ExtensionRegistry.class);
this.converter = new ProtobufJsonFormatHttpMessageConverter(
JsonFormat.parser(), JsonFormat.printer(), this.registryInitializer);
this.testMsg = Msg.newBuilder().setFoo("Foo").setBlah(SecondMsg.newBuilder().setBlah(123).build()).build();
@@ -61,8 +67,15 @@ public class ProtobufJsonFormatHttpMessageConverterTests {
}
@Test
public void extensionRegistryNull() {
new ProtobufHttpMessageConverter(null);
public void extensionRegistryInitializerNull() {
ProtobufHttpMessageConverter converter = new ProtobufHttpMessageConverter((ExtensionRegistryInitializer)null);
assertNotNull(converter);
}
@Test
public void extensionRegistryInitializer() {
ProtobufHttpMessageConverter converter = new ProtobufHttpMessageConverter((ExtensionRegistry)null);
assertNotNull(converter);
}
@Test