Browse Source

Start building against Spring Framework 7.0.0 snapshots

See gh-47825
pull/48068/head
Stéphane Nicoll 2 months ago committed by Andy Wilkinson
parent
commit
00f60da0de
  1. 4
      documentation/spring-boot-docs/src/main/java/org/springframework/boot/docs/web/servlet/springmvc/messageconverters/MyHttpMessageConvertersConfiguration.java
  2. 4
      documentation/spring-boot-docs/src/main/kotlin/org/springframework/boot/docs/web/servlet/springmvc/messageconverters/MyHttpMessageConvertersConfiguration.kt
  3. 2
      gradle.properties
  4. 6
      module/spring-boot-http-client/src/test/java/org/springframework/boot/http/client/ClientHttpRequestFactoryRuntimeHintsTests.java
  5. 10
      module/spring-boot-http-converter/src/main/java/org/springframework/boot/http/converter/autoconfigure/DefaultClientHttpMessageConvertersCustomizer.java
  6. 10
      module/spring-boot-http-converter/src/main/java/org/springframework/boot/http/converter/autoconfigure/DefaultServerHttpMessageConvertersCustomizer.java
  7. 18
      module/spring-boot-http-converter/src/test/java/org/springframework/boot/http/converter/autoconfigure/HttpMessageConvertersTests.java
  8. 4
      module/spring-boot-restclient/src/test/java/org/springframework/boot/restclient/autoconfigure/HttpMessageConvertersRestClientCustomizerTests.java

4
documentation/spring-boot-docs/src/main/java/org/springframework/boot/docs/web/servlet/springmvc/messageconverters/MyHttpMessageConvertersConfiguration.java

@ -25,8 +25,8 @@ public class MyHttpMessageConvertersConfiguration {
@Bean @Bean
public ClientHttpMessageConvertersCustomizer myClientConvertersCustomizer() { public ClientHttpMessageConvertersCustomizer myClientConvertersCustomizer() {
return (clientBuilder) -> clientBuilder.customMessageConverter(new AdditionalHttpMessageConverter()) return (clientBuilder) -> clientBuilder.addCustomConverter(new AdditionalHttpMessageConverter())
.customMessageConverter(new AnotherHttpMessageConverter()); .addCustomConverter(new AnotherHttpMessageConverter());
} }
} }

4
documentation/spring-boot-docs/src/main/kotlin/org/springframework/boot/docs/web/servlet/springmvc/messageconverters/MyHttpMessageConvertersConfiguration.kt

@ -28,8 +28,8 @@ class MyHttpMessageConvertersConfiguration {
fun myClientConvertersCustomizer(): ClientHttpMessageConvertersCustomizer { fun myClientConvertersCustomizer(): ClientHttpMessageConvertersCustomizer {
return ClientHttpMessageConvertersCustomizer { clientBuilder: HttpMessageConverters.ClientBuilder -> return ClientHttpMessageConvertersCustomizer { clientBuilder: HttpMessageConverters.ClientBuilder ->
clientBuilder clientBuilder
.customMessageConverter(AdditionalHttpMessageConverter()) .addCustomConverter(AdditionalHttpMessageConverter())
.customMessageConverter(AnotherHttpMessageConverter()) .addCustomConverter(AnotherHttpMessageConverter())
} }
} }

2
gradle.properties

@ -20,7 +20,7 @@ mavenVersion=3.9.10
mockitoVersion=5.20.0 mockitoVersion=5.20.0
nativeBuildToolsVersion=0.11.2 nativeBuildToolsVersion=0.11.2
snakeYamlVersion=2.5 snakeYamlVersion=2.5
springFrameworkVersion=7.0.0-RC3 springFrameworkVersion=7.0.0-SNAPSHOT
springFramework60xVersion=6.0.23 springFramework60xVersion=6.0.23
tomcatVersion=11.0.13 tomcatVersion=11.0.13
nullabilityPluginVersion=0.0.8 nullabilityPluginVersion=0.0.8

6
module/spring-boot-http-client/src/test/java/org/springframework/boot/http/client/ClientHttpRequestFactoryRuntimeHintsTests.java

@ -59,12 +59,6 @@ class ClientHttpRequestFactoryRuntimeHintsTests {
RuntimeHints hints = new RuntimeHints(); RuntimeHints hints = new RuntimeHints();
new ClientHttpRequestFactoryRuntimeHints().registerHints(hints, getClass().getClassLoader()); new ClientHttpRequestFactoryRuntimeHints().registerHints(hints, getClass().getClassLoader());
ReflectionHintsPredicates reflection = RuntimeHintsPredicates.reflection(); ReflectionHintsPredicates reflection = RuntimeHintsPredicates.reflection();
assertThat(reflection
.onMethodInvocation(method(HttpComponentsClientHttpRequestFactory.class, "setConnectTimeout", int.class)))
.accepts(hints);
assertThat(reflection.onMethodInvocation(
method(HttpComponentsClientHttpRequestFactory.class, "setConnectTimeout", Duration.class)))
.accepts(hints);
assertThat(reflection assertThat(reflection
.onMethodInvocation(method(HttpComponentsClientHttpRequestFactory.class, "setReadTimeout", int.class))) .onMethodInvocation(method(HttpComponentsClientHttpRequestFactory.class, "setReadTimeout", int.class)))
.accepts(hints); .accepts(hints);

10
module/spring-boot-http-converter/src/main/java/org/springframework/boot/http/converter/autoconfigure/DefaultClientHttpMessageConvertersCustomizer.java

@ -43,22 +43,22 @@ class DefaultClientHttpMessageConvertersCustomizer implements ClientHttpMessageC
@Override @Override
public void customize(ClientBuilder builder) { public void customize(ClientBuilder builder) {
if (this.legacyConverters != null) { if (this.legacyConverters != null) {
this.legacyConverters.forEach(builder::customMessageConverter); this.legacyConverters.forEach(builder::addCustomConverter);
} }
else { else {
builder.registerDefaults(); builder.registerDefaults();
this.converters.forEach((converter) -> { this.converters.forEach((converter) -> {
if (converter instanceof StringHttpMessageConverter) { if (converter instanceof StringHttpMessageConverter) {
builder.stringMessageConverter(converter); builder.withStringConverter(converter);
} }
else if (converter instanceof KotlinSerializationJsonHttpMessageConverter) { else if (converter instanceof KotlinSerializationJsonHttpMessageConverter) {
builder.customMessageConverter(converter); builder.addCustomConverter(converter);
} }
else if (converter.getSupportedMediaTypes().contains(MediaType.APPLICATION_JSON)) { else if (converter.getSupportedMediaTypes().contains(MediaType.APPLICATION_JSON)) {
builder.jsonMessageConverter(converter); builder.withJsonConverter(converter);
} }
else { else {
builder.customMessageConverter(converter); builder.addCustomConverter(converter);
} }
}); });
} }

10
module/spring-boot-http-converter/src/main/java/org/springframework/boot/http/converter/autoconfigure/DefaultServerHttpMessageConvertersCustomizer.java

@ -43,22 +43,22 @@ class DefaultServerHttpMessageConvertersCustomizer implements ServerHttpMessageC
@Override @Override
public void customize(ServerBuilder builder) { public void customize(ServerBuilder builder) {
if (this.legacyConverters != null) { if (this.legacyConverters != null) {
this.legacyConverters.forEach(builder::customMessageConverter); this.legacyConverters.forEach(builder::addCustomConverter);
} }
else { else {
builder.registerDefaults(); builder.registerDefaults();
this.converters.forEach((converter) -> { this.converters.forEach((converter) -> {
if (converter instanceof StringHttpMessageConverter) { if (converter instanceof StringHttpMessageConverter) {
builder.stringMessageConverter(converter); builder.withStringConverter(converter);
} }
else if (converter instanceof KotlinSerializationJsonHttpMessageConverter) { else if (converter instanceof KotlinSerializationJsonHttpMessageConverter) {
builder.customMessageConverter(converter); builder.addCustomConverter(converter);
} }
else if (converter.getSupportedMediaTypes().contains(MediaType.APPLICATION_JSON)) { else if (converter.getSupportedMediaTypes().contains(MediaType.APPLICATION_JSON)) {
builder.jsonMessageConverter(converter); builder.withJsonConverter(converter);
} }
else { else {
builder.customMessageConverter(converter); builder.addCustomConverter(converter);
} }
}); });
} }

18
module/spring-boot-http-converter/src/test/java/org/springframework/boot/http/converter/autoconfigure/HttpMessageConvertersTests.java

@ -58,8 +58,8 @@ class HttpMessageConvertersTests {
assertThat(converterClasses).containsExactly(ByteArrayHttpMessageConverter.class, assertThat(converterClasses).containsExactly(ByteArrayHttpMessageConverter.class,
StringHttpMessageConverter.class, ResourceHttpMessageConverter.class, StringHttpMessageConverter.class, ResourceHttpMessageConverter.class,
ResourceRegionHttpMessageConverter.class, AllEncompassingFormHttpMessageConverter.class, ResourceRegionHttpMessageConverter.class, AllEncompassingFormHttpMessageConverter.class,
JacksonJsonHttpMessageConverter.class, JacksonCborHttpMessageConverter.class, KotlinSerializationJsonHttpMessageConverter.class, JacksonJsonHttpMessageConverter.class,
JacksonXmlHttpMessageConverter.class); JacksonCborHttpMessageConverter.class, JacksonXmlHttpMessageConverter.class);
} }
@Test @Test
@ -87,8 +87,8 @@ class HttpMessageConvertersTests {
GsonHttpMessageConverter converter1 = new GsonHttpMessageConverter(); GsonHttpMessageConverter converter1 = new GsonHttpMessageConverter();
HttpMessageConverters converters = new HttpMessageConverters(converter1); HttpMessageConverters converters = new HttpMessageConverters(converter1);
Stream<Class<?>> converterClasses = converters.getConverters().stream().map(HttpMessageConverter::getClass); Stream<Class<?>> converterClasses = converters.getConverters().stream().map(HttpMessageConverter::getClass);
assertThat(converterClasses).containsSequence(GsonHttpMessageConverter.class, assertThat(converterClasses).containsSequence(KotlinSerializationJsonHttpMessageConverter.class,
JacksonJsonHttpMessageConverter.class); GsonHttpMessageConverter.class, JacksonJsonHttpMessageConverter.class);
} }
@Test @Test
@ -106,8 +106,8 @@ class HttpMessageConvertersTests {
KotlinSerializationJsonHttpMessageConverter converter2 = new KotlinSerializationJsonHttpMessageConverter(); KotlinSerializationJsonHttpMessageConverter converter2 = new KotlinSerializationJsonHttpMessageConverter();
HttpMessageConverters converters = new HttpMessageConverters(converter1, converter2); HttpMessageConverters converters = new HttpMessageConverters(converter1, converter2);
Stream<Class<?>> converterClasses = converters.getConverters().stream().map(HttpMessageConverter::getClass); Stream<Class<?>> converterClasses = converters.getConverters().stream().map(HttpMessageConverter::getClass);
assertThat(converterClasses).containsSequence(GsonHttpMessageConverter.class, assertThat(converterClasses).containsSequence(KotlinSerializationJsonHttpMessageConverter.class,
KotlinSerializationJsonHttpMessageConverter.class, JacksonJsonHttpMessageConverter.class); GsonHttpMessageConverter.class, JacksonJsonHttpMessageConverter.class);
} }
@Test @Test
@ -147,7 +147,8 @@ class HttpMessageConvertersTests {
assertThat(converterClasses).containsExactly(ByteArrayHttpMessageConverter.class, assertThat(converterClasses).containsExactly(ByteArrayHttpMessageConverter.class,
StringHttpMessageConverter.class, ResourceHttpMessageConverter.class, StringHttpMessageConverter.class, ResourceHttpMessageConverter.class,
ResourceRegionHttpMessageConverter.class, AllEncompassingFormHttpMessageConverter.class, ResourceRegionHttpMessageConverter.class, AllEncompassingFormHttpMessageConverter.class,
JacksonJsonHttpMessageConverter.class, JacksonCborHttpMessageConverter.class); KotlinSerializationJsonHttpMessageConverter.class, JacksonJsonHttpMessageConverter.class,
JacksonCborHttpMessageConverter.class);
} }
@Test @Test
@ -168,7 +169,8 @@ class HttpMessageConvertersTests {
} }
assertThat(converterClasses).containsExactly(ByteArrayHttpMessageConverter.class, assertThat(converterClasses).containsExactly(ByteArrayHttpMessageConverter.class,
StringHttpMessageConverter.class, ResourceHttpMessageConverter.class, StringHttpMessageConverter.class, ResourceHttpMessageConverter.class,
JacksonJsonHttpMessageConverter.class, JacksonCborHttpMessageConverter.class); KotlinSerializationJsonHttpMessageConverter.class, JacksonJsonHttpMessageConverter.class,
JacksonCborHttpMessageConverter.class);
} }
private List<HttpMessageConverter<?>> extractFormPartConverters(List<HttpMessageConverter<?>> converters) { private List<HttpMessageConverter<?>> extractFormPartConverters(List<HttpMessageConverter<?>> converters) {

4
module/spring-boot-restclient/src/test/java/org/springframework/boot/restclient/autoconfigure/HttpMessageConvertersRestClientCustomizerTests.java

@ -37,8 +37,8 @@ class HttpMessageConvertersRestClientCustomizerTests {
void customizeConfiguresMessageConverters() { void customizeConfiguresMessageConverters() {
HttpMessageConverter<?> c0 = mock(); HttpMessageConverter<?> c0 = mock();
HttpMessageConverter<?> c1 = mock(); HttpMessageConverter<?> c1 = mock();
ClientHttpMessageConvertersCustomizer customizer = (clientBuilder) -> clientBuilder.customMessageConverter(c0) ClientHttpMessageConvertersCustomizer customizer = (clientBuilder) -> clientBuilder.addCustomConverter(c0)
.customMessageConverter(c1); .addCustomConverter(c1);
RestClient.Builder builder = RestClient.builder(); RestClient.Builder builder = RestClient.builder();
new HttpMessageConvertersRestClientCustomizer(customizer).customize(builder); new HttpMessageConvertersRestClientCustomizer(customizer).customize(builder);

Loading…
Cancel
Save