Skip to content

Commit 753bb85

Browse files
committed
Rename Configuration to StrategiesSupplier
1 parent bf6653b commit 753bb85

18 files changed

+199
-125
lines changed

spring-web-reactive/src/main/java/org/springframework/web/reactive/function/BodyExtractor.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,9 +33,9 @@ public interface BodyExtractor<T> {
3333
/**
3434
* Extract from the given request.
3535
* @param request the request to extract from
36-
* @param configuration the configuration to use
36+
* @param strategies the strategies to use
3737
* @return the extracted data
3838
*/
39-
T extract(ServerHttpRequest request, Configuration configuration);
39+
T extract(ServerHttpRequest request, StrategiesSupplier strategies);
4040

4141
}

spring-web-reactive/src/main/java/org/springframework/web/reactive/function/BodyExtractors.java

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ public static <T> BodyExtractor<Mono<T>> toMono(Class<? extends T> elementClass)
6161
*/
6262
public static <T> BodyExtractor<Mono<T>> toMono(ResolvableType elementType) {
6363
Assert.notNull(elementType, "'elementType' must not be null");
64-
return (request, configuration) -> readWithMessageReaders(request, configuration,
64+
return (request, strategies) -> readWithMessageReaders(request, strategies,
6565
elementType,
6666
reader -> reader.readMono(elementType, request, Collections.emptyMap()),
6767
Mono::error);
@@ -86,22 +86,21 @@ public static <T> BodyExtractor<Flux<T>> toFlux(Class<? extends T> elementClass)
8686
*/
8787
public static <T> BodyExtractor<Flux<T>> toFlux(ResolvableType elementType) {
8888
Assert.notNull(elementType, "'elementType' must not be null");
89-
return (request, configuration) -> readWithMessageReaders(request, configuration,
89+
return (request, strategies) -> readWithMessageReaders(request, strategies,
9090
elementType,
9191
reader -> reader.read(elementType, request, Collections.emptyMap()),
9292
Flux::error);
9393
}
9494

9595
private static <T, S extends Publisher<T>> S readWithMessageReaders(
9696
ServerHttpRequest request,
97-
Configuration configuration,
97+
StrategiesSupplier strategies,
9898
ResolvableType elementType,
9999
Function<HttpMessageReader<T>, S> readerFunction,
100100
Function<Throwable, S> unsupportedError) {
101101

102102
MediaType contentType = contentType(request);
103-
Supplier<Stream<HttpMessageReader<?>>> messageReaders =
104-
configuration.messageReaders();
103+
Supplier<Stream<HttpMessageReader<?>>> messageReaders = strategies.messageReaders();
105104
return messageReaders.get()
106105
.filter(r -> r.canRead(elementType, contentType, Collections.emptyMap()))
107106
.findFirst()

spring-web-reactive/src/main/java/org/springframework/web/reactive/function/BodyInserter.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,10 +39,10 @@ public interface BodyInserter<T> {
3939
/**
4040
* Insert into the given response.
4141
* @param response the response to insert into
42-
* @param configuration the configuration to use
42+
* @param strategies the strategies to use
4343
* @return a {@code Mono} that indicates completion or error
4444
*/
45-
Mono<Void> insert(ServerHttpResponse response, Configuration configuration);
45+
Mono<Void> insert(ServerHttpResponse response, StrategiesSupplier strategies);
4646

4747
/**
4848
* Return the type contained in the body.
@@ -58,7 +58,7 @@ public interface BodyInserter<T> {
5858
* @param <T> the type supplied and written by the inserter
5959
* @return the new {@code BodyInserter}
6060
*/
61-
static <T> BodyInserter<T> of(BiFunction<ServerHttpResponse, Configuration, Mono<Void>> writer,
61+
static <T> BodyInserter<T> of(BiFunction<ServerHttpResponse, StrategiesSupplier, Mono<Void>> writer,
6262
Supplier<T> supplier) {
6363

6464
Assert.notNull(writer, "'writer' must not be null");

spring-web-reactive/src/main/java/org/springframework/web/reactive/function/BodyInserters.java

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ public abstract class BodyInserters {
6464
public static <T> BodyInserter<T> fromObject(T body) {
6565
Assert.notNull(body, "'body' must not be null");
6666
return BodyInserter.of(
67-
(response, configuration) -> writeWithMessageWriters(response, configuration,
67+
(response, strategies) -> writeWithMessageWriters(response, strategies,
6868
Mono.just(body), ResolvableType.forInstance(body)),
6969
() -> body);
7070
}
@@ -99,7 +99,7 @@ public static <S extends Publisher<T>, T> BodyInserter<S> fromPublisher(S publis
9999
Assert.notNull(publisher, "'publisher' must not be null");
100100
Assert.notNull(elementType, "'elementType' must not be null");
101101
return BodyInserter.of(
102-
(response, configuration) -> writeWithMessageWriters(response, configuration,
102+
(response, strategies) -> writeWithMessageWriters(response, strategies,
103103
publisher, elementType),
104104
() -> publisher
105105
);
@@ -117,7 +117,7 @@ public static <S extends Publisher<T>, T> BodyInserter<S> fromPublisher(S publis
117117
public static <T extends Resource> BodyInserter<T> fromResource(T resource) {
118118
Assert.notNull(resource, "'resource' must not be null");
119119
return BodyInserter.of(
120-
(response, configuration) -> {
120+
(response, strategies) -> {
121121
ResourceHttpMessageWriter messageWriter = new ResourceHttpMessageWriter();
122122
MediaType contentType = response.getHeaders().getContentType();
123123
return messageWriter.write(Mono.just(resource), RESOURCE_TYPE, contentType,
@@ -139,7 +139,7 @@ public static <T, S extends Publisher<ServerSentEvent<T>>> BodyInserter<S> fromS
139139

140140
Assert.notNull(eventsPublisher, "'eventsPublisher' must not be null");
141141
return BodyInserter.of(
142-
(response, configuration) -> {
142+
(response, strategies) -> {
143143
ServerSentEventHttpMessageWriter messageWriter = sseMessageWriter();
144144
MediaType contentType = response.getHeaders().getContentType();
145145
return messageWriter.write(eventsPublisher, SERVER_SIDE_EVENT_TYPE,
@@ -183,7 +183,7 @@ public static <T, S extends Publisher<T>> BodyInserter<S> fromServerSentEvents(S
183183
Assert.notNull(eventsPublisher, "'eventsPublisher' must not be null");
184184
Assert.notNull(eventType, "'eventType' must not be null");
185185
return BodyInserter.of(
186-
(response, configuration) -> {
186+
(response, strategies) -> {
187187
ServerSentEventHttpMessageWriter messageWriter = sseMessageWriter();
188188
MediaType contentType = response.getHeaders().getContentType();
189189
return messageWriter.write(eventsPublisher, eventType, contentType, response,
@@ -201,13 +201,13 @@ private static ServerSentEventHttpMessageWriter sseMessageWriter() {
201201
}
202202

203203
private static <T> Mono<Void> writeWithMessageWriters(ServerHttpResponse response,
204-
Configuration configuration,
204+
StrategiesSupplier strategies,
205205
Publisher<T> body,
206206
ResolvableType bodyType) {
207207

208208
// TODO: use ContentNegotiatingResultHandlerSupport
209209
MediaType contentType = response.getHeaders().getContentType();
210-
return configuration.messageWriters().get()
210+
return strategies.messageWriters().get()
211211
.filter(messageWriter -> messageWriter.canWrite(bodyType, contentType, Collections
212212
.emptyMap()))
213213
.findFirst()
@@ -228,20 +228,20 @@ private static <T> HttpMessageWriter<T> cast(HttpMessageWriter<?> messageWriter)
228228

229229
static class DefaultBodyInserter<T> implements BodyInserter<T> {
230230

231-
private final BiFunction<ServerHttpResponse, Configuration, Mono<Void>> writer;
231+
private final BiFunction<ServerHttpResponse, StrategiesSupplier, Mono<Void>> writer;
232232

233233
private final Supplier<T> supplier;
234234

235235
public DefaultBodyInserter(
236-
BiFunction<ServerHttpResponse, Configuration, Mono<Void>> writer,
236+
BiFunction<ServerHttpResponse, StrategiesSupplier, Mono<Void>> writer,
237237
Supplier<T> supplier) {
238238
this.writer = writer;
239239
this.supplier = supplier;
240240
}
241241

242242
@Override
243-
public Mono<Void> insert(ServerHttpResponse response, Configuration configuration) {
244-
return this.writer.apply(response, configuration);
243+
public Mono<Void> insert(ServerHttpResponse response, StrategiesSupplier strategies) {
244+
return this.writer.apply(response, strategies);
245245
}
246246

247247
@Override

spring-web-reactive/src/main/java/org/springframework/web/reactive/function/DefaultRequest.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -42,11 +42,11 @@ class DefaultRequest implements Request {
4242

4343
private final Headers headers;
4444

45-
private final Configuration configuration;
45+
private final StrategiesSupplier strategies;
4646

47-
DefaultRequest(ServerWebExchange exchange, Configuration configuration) {
47+
DefaultRequest(ServerWebExchange exchange, StrategiesSupplier strategies) {
4848
this.exchange = exchange;
49-
this.configuration = configuration;
49+
this.strategies = strategies;
5050
this.headers = new DefaultHeaders();
5151
}
5252

@@ -67,7 +67,7 @@ public Headers headers() {
6767

6868
@Override
6969
public <T> T body(BodyExtractor<T> extractor) {
70-
return extractor.extract(request(), this.configuration);
70+
return extractor.extract(request(), this.strategies);
7171
}
7272

7373
@Override

spring-web-reactive/src/main/java/org/springframework/web/reactive/function/DefaultResponseBuilder.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -142,20 +142,20 @@ public Response.BodyBuilder varyBy(String... requestHeaders) {
142142
@Override
143143
public Response<Void> build() {
144144
return body(BodyInserter.of(
145-
(response, configuration) -> response.setComplete(),
145+
(response, strategies) -> response.setComplete(),
146146
() -> null));
147147
}
148148

149149
@Override
150150
public <T extends Publisher<Void>> Response<T> build(T voidPublisher) {
151151
Assert.notNull(voidPublisher, "'voidPublisher' must not be null");
152152
return body(BodyInserter.of(
153-
(response, configuration) -> Flux.from(voidPublisher).then(response.setComplete()),
153+
(response, strategies) -> Flux.from(voidPublisher).then(response.setComplete()),
154154
() -> null));
155155
}
156156

157157
@Override
158-
public <T> Response<T> body(BiFunction<ServerHttpResponse, Configuration, Mono<Void>> writer,
158+
public <T> Response<T> body(BiFunction<ServerHttpResponse, StrategiesSupplier, Mono<Void>> writer,
159159
Supplier<T> supplier) {
160160
return body(BodyInserter.of(writer, supplier));
161161
}
@@ -250,10 +250,10 @@ public T body() {
250250
}
251251

252252
@Override
253-
public Mono<Void> writeTo(ServerWebExchange exchange, Configuration configuration) {
253+
public Mono<Void> writeTo(ServerWebExchange exchange, StrategiesSupplier strategies) {
254254
ServerHttpResponse response = exchange.getResponse();
255255
writeStatusAndHeaders(response);
256-
return this.inserter.insert(response, configuration);
256+
return this.inserter.insert(response, strategies);
257257
}
258258

259259
}
@@ -281,12 +281,12 @@ public Rendering body() {
281281
}
282282

283283
@Override
284-
public Mono<Void> writeTo(ServerWebExchange exchange, Configuration configuration) {
284+
public Mono<Void> writeTo(ServerWebExchange exchange, StrategiesSupplier strategies) {
285285
ServerHttpResponse response = exchange.getResponse();
286286
writeStatusAndHeaders(response);
287287
MediaType contentType = exchange.getResponse().getHeaders().getContentType();
288288
Locale locale = Locale.ENGLISH; // TODO: resolve locale
289-
Stream<ViewResolver> viewResolverStream = configuration.viewResolvers().get();
289+
Stream<ViewResolver> viewResolverStream = strategies.viewResolvers().get();
290290
return Flux.fromStream(viewResolverStream)
291291
.concatMap(viewResolver -> viewResolver.resolveViewName(this.name, locale))
292292
.next()
Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717
package org.springframework.web.reactive.function;
1818

1919
import java.util.ArrayList;
20-
import java.util.Collection;
2120
import java.util.Collections;
2221
import java.util.List;
2322
import java.util.function.Supplier;
@@ -41,20 +40,22 @@
4140
import org.springframework.web.reactive.result.view.ViewResolver;
4241

4342
/**
43+
* Default implementation of {@link StrategiesSupplier.Builder}.
44+
*
4445
* @author Arjen Poutsma
4546
* @since 5.0
4647
*/
47-
class DefaultConfigurationBuilder implements Configuration.Builder {
48+
class DefaultStrategiesSupplierBuilder implements StrategiesSupplier.Builder {
4849

4950
private static final boolean jackson2Present =
5051
ClassUtils.isPresent("com.fasterxml.jackson.databind.ObjectMapper",
51-
DefaultConfigurationBuilder.class.getClassLoader()) &&
52+
DefaultStrategiesSupplierBuilder.class.getClassLoader()) &&
5253
ClassUtils.isPresent("com.fasterxml.jackson.core.JsonGenerator",
53-
DefaultConfigurationBuilder.class.getClassLoader());
54+
DefaultStrategiesSupplierBuilder.class.getClassLoader());
5455

5556
private static final boolean jaxb2Present =
5657
ClassUtils.isPresent("javax.xml.bind.Binder",
57-
DefaultConfigurationBuilder.class.getClassLoader());
58+
DefaultStrategiesSupplierBuilder.class.getClassLoader());
5859

5960

6061
private final List<HttpMessageReader<?>> messageReaders = new ArrayList<>();
@@ -85,41 +86,41 @@ public void applicationContext(ApplicationContext applicationContext) {
8586
}
8687

8788
@Override
88-
public Configuration.Builder messageReader(HttpMessageReader<?> messageReader) {
89+
public StrategiesSupplier.Builder messageReader(HttpMessageReader<?> messageReader) {
8990
Assert.notNull(messageReader, "'messageReader' must not be null");
9091
this.messageReaders.add(messageReader);
9192
return this;
9293
}
9394

9495
@Override
95-
public Configuration.Builder messageWriter(HttpMessageWriter<?> messageWriter) {
96+
public StrategiesSupplier.Builder messageWriter(HttpMessageWriter<?> messageWriter) {
9697
Assert.notNull(messageWriter, "'messageWriter' must not be null");
9798
this.messageWriters.add(messageWriter);
9899
return this;
99100
}
100101

101102
@Override
102-
public Configuration.Builder viewResolver(ViewResolver viewResolver) {
103+
public StrategiesSupplier.Builder viewResolver(ViewResolver viewResolver) {
103104
Assert.notNull(viewResolver, "'viewResolver' must not be null");
104105
this.viewResolvers.add(viewResolver);
105106
return this;
106107
}
107108

108109
@Override
109-
public Configuration build() {
110-
return new DefaultConfiguration(this.messageReaders, this.messageWriters,
110+
public StrategiesSupplier build() {
111+
return new DefaultStrategiesSupplier(this.messageReaders, this.messageWriters,
111112
this.viewResolvers);
112113
}
113114

114-
private static class DefaultConfiguration implements Configuration {
115+
private static class DefaultStrategiesSupplier implements StrategiesSupplier {
115116

116117
private final List<HttpMessageReader<?>> messageReaders;
117118

118119
private final List<HttpMessageWriter<?>> messageWriters;
119120

120121
private final List<ViewResolver> viewResolvers;
121122

122-
public DefaultConfiguration(
123+
public DefaultStrategiesSupplier(
123124
List<HttpMessageReader<?>> messageReaders,
124125
List<HttpMessageWriter<?>> messageWriters,
125126
List<ViewResolver> viewResolvers) {

spring-web-reactive/src/main/java/org/springframework/web/reactive/function/Response.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,9 +67,10 @@ public interface Response<T> {
6767
* Writes this response to the given web exchange.
6868
*
6969
* @param exchange the web exchange to write to
70+
* @param strategies the strategies to use when writing
7071
* @return {@code Mono<Void>} to indicate when request handling is complete
7172
*/
72-
Mono<Void> writeTo(ServerWebExchange exchange, Configuration configuration);
73+
Mono<Void> writeTo(ServerWebExchange exchange, StrategiesSupplier strategies);
7374

7475
// Static builder methods
7576

@@ -315,7 +316,7 @@ interface BodyBuilder extends HeadersBuilder<BodyBuilder> {
315316
* @param <T> the type contained in the body
316317
* @return the built response
317318
*/
318-
<T> Response<T> body(BiFunction<ServerHttpResponse, Configuration, Mono<Void>> writer,
319+
<T> Response<T> body(BiFunction<ServerHttpResponse, StrategiesSupplier, Mono<Void>> writer,
319320
Supplier<T> supplier);
320321

321322
/**

0 commit comments

Comments
 (0)