Skip to content

Commit 1de73b9

Browse files
committed
Polish
1 parent b28b3e8 commit 1de73b9

File tree

5 files changed

+72
-56
lines changed

5 files changed

+72
-56
lines changed

spring-web-reactive/src/main/java/org/springframework/web/reactive/config/WebReactiveConfiguration.java

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -86,8 +86,10 @@
8686
public class WebReactiveConfiguration implements ApplicationContextAware {
8787

8888
private static final boolean jackson2Present =
89-
ClassUtils.isPresent("com.fasterxml.jackson.databind.ObjectMapper", WebReactiveConfiguration.class.getClassLoader()) &&
90-
ClassUtils.isPresent("com.fasterxml.jackson.core.JsonGenerator", WebReactiveConfiguration.class.getClassLoader());
89+
ClassUtils.isPresent("com.fasterxml.jackson.databind.ObjectMapper",
90+
WebReactiveConfiguration.class.getClassLoader()) &&
91+
ClassUtils.isPresent("com.fasterxml.jackson.core.JsonGenerator",
92+
WebReactiveConfiguration.class.getClassLoader());
9193

9294
private static final boolean jaxb2Present =
9395
ClassUtils.isPresent("javax.xml.bind.Binder", WebReactiveConfiguration.class.getClassLoader());
@@ -318,7 +320,8 @@ protected final void addDefaultHttpMessageReaders(List<HttpMessageReader<?>> rea
318320
readers.add(new DecoderHttpMessageReader<>(new Jaxb2XmlDecoder()));
319321
}
320322
if (jackson2Present) {
321-
readers.add(new Jackson2ServerHttpMessageReader(new DecoderHttpMessageReader<>(new Jackson2JsonDecoder())));
323+
readers.add(new Jackson2ServerHttpMessageReader(
324+
new DecoderHttpMessageReader<>(new Jackson2JsonDecoder())));
322325
}
323326
}
324327

@@ -454,10 +457,11 @@ protected final void addDefaultHttpMessageWriters(List<HttpMessageWriter<?>> wri
454457
writers.add(new EncoderHttpMessageWriter<>(new Jaxb2XmlEncoder()));
455458
}
456459
if (jackson2Present) {
457-
Jackson2JsonEncoder jacksonEncoder = new Jackson2JsonEncoder();
458-
writers.add(new Jackson2ServerHttpMessageWriter(new EncoderHttpMessageWriter<>(jacksonEncoder)));
459-
sseDataEncoders.add(jacksonEncoder);
460-
writers.add(new Jackson2ServerHttpMessageWriter(new ServerSentEventHttpMessageWriter(sseDataEncoders)));
460+
Jackson2JsonEncoder encoder = new Jackson2JsonEncoder();
461+
writers.add(new Jackson2ServerHttpMessageWriter(encoder));
462+
sseDataEncoders.add(encoder);
463+
HttpMessageWriter<Object> writer = new ServerSentEventHttpMessageWriter(sseDataEncoders);
464+
writers.add(new Jackson2ServerHttpMessageWriter(writer));
461465
}
462466
else {
463467
writers.add(new ServerSentEventHttpMessageWriter(sseDataEncoders));

spring-web-reactive/src/main/java/org/springframework/web/reactive/result/method/annotation/RequestMappingHandlerAdapter.java

Lines changed: 42 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -61,23 +61,24 @@ public class RequestMappingHandlerAdapter implements HandlerAdapter, BeanFactory
6161
private static final Log logger = LogFactory.getLog(RequestMappingHandlerAdapter.class);
6262

6363

64-
private List<HandlerMethodArgumentResolver> customArgumentResolvers;
65-
66-
private List<HandlerMethodArgumentResolver> argumentResolvers;
67-
6864
private final List<HttpMessageReader<?>> messageReaders = new ArrayList<>(10);
6965

66+
private WebBindingInitializer webBindingInitializer;
67+
7068
private ReactiveAdapterRegistry reactiveAdapters = new ReactiveAdapterRegistry();
7169

72-
private WebBindingInitializer webBindingInitializer;
70+
private List<HandlerMethodArgumentResolver> customArgumentResolvers;
71+
72+
private List<HandlerMethodArgumentResolver> argumentResolvers;
7373

7474
private ConversionService conversionService = new DefaultFormattingConversionService();
7575

7676
private Validator validator;
7777

7878
private ConfigurableBeanFactory beanFactory;
7979

80-
private final Map<Class<?>, ExceptionHandlerMethodResolver> exceptionHandlerCache = new ConcurrentHashMap<>(64);
80+
private final Map<Class<?>, ExceptionHandlerMethodResolver> exceptionHandlerCache =
81+
new ConcurrentHashMap<>(64);
8182

8283

8384

@@ -88,47 +89,33 @@ public RequestMappingHandlerAdapter() {
8889

8990

9091
/**
91-
* Provide custom argument resolvers without overriding the built-in ones.
92-
*/
93-
public void setCustomArgumentResolvers(List<HandlerMethodArgumentResolver> argumentResolvers) {
94-
this.customArgumentResolvers = argumentResolvers;
95-
}
96-
97-
/**
98-
* Return the custom argument resolvers.
99-
*/
100-
public List<HandlerMethodArgumentResolver> getCustomArgumentResolvers() {
101-
return this.customArgumentResolvers;
102-
}
103-
104-
/**
105-
* Configure the complete list of supported argument types thus overriding
106-
* the resolvers that would otherwise be configured by default.
92+
* Configure message readers to de-serialize the request body with.
10793
*/
108-
public void setArgumentResolvers(List<HandlerMethodArgumentResolver> resolvers) {
109-
this.argumentResolvers = new ArrayList<>(resolvers);
94+
public void setMessageReaders(List<HttpMessageReader<?>> messageReaders) {
95+
this.messageReaders.clear();
96+
this.messageReaders.addAll(messageReaders);
11097
}
11198

11299
/**
113-
* Return the configured argument resolvers.
100+
* Return the configured message readers.
114101
*/
115-
public List<HandlerMethodArgumentResolver> getArgumentResolvers() {
116-
return this.argumentResolvers;
102+
public List<HttpMessageReader<?>> getMessageReaders() {
103+
return this.messageReaders;
117104
}
118105

119106
/**
120-
* Configure message readers to de-serialize the request body with.
107+
* Provide a WebBindingInitializer with "global" initialization to apply
108+
* to every DataBinder instance.
121109
*/
122-
public void setMessageReaders(List<HttpMessageReader<?>> messageReaders) {
123-
this.messageReaders.clear();
124-
this.messageReaders.addAll(messageReaders);
110+
public void setWebBindingInitializer(WebBindingInitializer webBindingInitializer) {
111+
this.webBindingInitializer = webBindingInitializer;
125112
}
126113

127114
/**
128-
* Return the configured message readers.
115+
* Return the configured WebBindingInitializer, or {@code null} if none.
129116
*/
130-
public List<HttpMessageReader<?>> getMessageReaders() {
131-
return this.messageReaders;
117+
public WebBindingInitializer getWebBindingInitializer() {
118+
return this.webBindingInitializer;
132119
}
133120

134121
public void setReactiveAdapterRegistry(ReactiveAdapterRegistry registry) {
@@ -140,18 +127,32 @@ public ReactiveAdapterRegistry getReactiveAdapterRegistry() {
140127
}
141128

142129
/**
143-
* Provide a WebBindingInitializer with "global" initialization to apply
144-
* to every DataBinder instance.
130+
* Provide custom argument resolvers without overriding the built-in ones.
145131
*/
146-
public void setWebBindingInitializer(WebBindingInitializer webBindingInitializer) {
147-
this.webBindingInitializer = webBindingInitializer;
132+
public void setCustomArgumentResolvers(List<HandlerMethodArgumentResolver> argumentResolvers) {
133+
this.customArgumentResolvers = argumentResolvers;
148134
}
149135

150136
/**
151-
* Return the configured WebBindingInitializer, or {@code null} if none.
137+
* Return the custom argument resolvers.
152138
*/
153-
public WebBindingInitializer getWebBindingInitializer() {
154-
return this.webBindingInitializer;
139+
public List<HandlerMethodArgumentResolver> getCustomArgumentResolvers() {
140+
return this.customArgumentResolvers;
141+
}
142+
143+
/**
144+
* Configure the complete list of supported argument types thus overriding
145+
* the resolvers that would otherwise be configured by default.
146+
*/
147+
public void setArgumentResolvers(List<HandlerMethodArgumentResolver> resolvers) {
148+
this.argumentResolvers = new ArrayList<>(resolvers);
149+
}
150+
151+
/**
152+
* Return the configured argument resolvers.
153+
*/
154+
public List<HandlerMethodArgumentResolver> getArgumentResolvers() {
155+
return this.argumentResolvers;
155156
}
156157

157158
/**

spring-web/src/main/java/org/springframework/http/codec/Jackson2ServerHttpMessageWriter.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424

2525
import org.springframework.core.MethodParameter;
2626
import org.springframework.core.ResolvableType;
27+
import org.springframework.core.codec.Encoder;
2728
import org.springframework.http.MediaType;
2829
import org.springframework.http.codec.json.AbstractJackson2Codec;
2930
import org.springframework.http.server.reactive.ServerHttpRequest;
@@ -40,10 +41,16 @@
4041
*/
4142
public class Jackson2ServerHttpMessageWriter extends AbstractServerHttpMessageWriter<Object> {
4243

44+
45+
public Jackson2ServerHttpMessageWriter(Encoder<Object> encoder) {
46+
super(new EncoderHttpMessageWriter<>(encoder));
47+
}
48+
4349
public Jackson2ServerHttpMessageWriter(HttpMessageWriter<Object> writer) {
4450
super(writer);
4551
}
4652

53+
4754
@Override
4855
protected Map<String, Object> resolveWriteHints(ResolvableType streamType,
4956
ResolvableType elementType, MediaType mediaType, ServerHttpRequest request) {

spring-web/src/main/java/org/springframework/http/codec/ServerSentEventHttpMessageWriter.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
package org.springframework.http.codec;
1818

1919
import java.nio.charset.StandardCharsets;
20+
import java.util.ArrayList;
2021
import java.util.Collections;
2122
import java.util.List;
2223
import java.util.Map;
@@ -47,20 +48,21 @@
4748
*/
4849
public class ServerSentEventHttpMessageWriter implements HttpMessageWriter<Object> {
4950

50-
private static final MediaType TEXT_EVENT_STREAM =
51-
new MediaType("text", "event-stream");
51+
private static final MediaType TEXT_EVENT_STREAM = new MediaType("text", "event-stream");
5252

5353
private final List<Encoder<?>> dataEncoders;
5454

55+
5556
public ServerSentEventHttpMessageWriter() {
5657
this.dataEncoders = Collections.emptyList();
5758
}
5859

5960
public ServerSentEventHttpMessageWriter(List<Encoder<?>> dataEncoders) {
6061
Assert.notNull(dataEncoders, "'dataEncoders' must not be null");
61-
this.dataEncoders = dataEncoders;
62+
this.dataEncoders = new ArrayList<>(dataEncoders);
6263
}
6364

65+
6466
@Override
6567
public boolean canWrite(ResolvableType elementType, MediaType mediaType) {
6668
return mediaType == null || TEXT_EVENT_STREAM.isCompatibleWith(mediaType) ||

spring-web/src/main/java/org/springframework/web/bind/support/DefaultDataBinderFactory.java

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,8 @@ public DefaultDataBinderFactory(WebBindingInitializer initializer) {
4848
*/
4949
@Override
5050
@SuppressWarnings("deprecation")
51-
public final WebDataBinder createBinder(NativeWebRequest webRequest, Object target, String objectName)
52-
throws Exception {
51+
public final WebDataBinder createBinder(NativeWebRequest webRequest, Object target,
52+
String objectName) throws Exception {
5353

5454
WebDataBinder dataBinder = createBinderInstance(target, objectName, webRequest);
5555
if (this.initializer != null) {
@@ -67,8 +67,8 @@ public final WebDataBinder createBinder(NativeWebRequest webRequest, Object targ
6767
* @param webRequest the current request
6868
* @throws Exception in case of invalid state or arguments
6969
*/
70-
protected WebDataBinder createBinderInstance(Object target, String objectName, NativeWebRequest webRequest)
71-
throws Exception {
70+
protected WebDataBinder createBinderInstance(Object target, String objectName,
71+
NativeWebRequest webRequest) throws Exception {
7272

7373
return new WebRequestDataBinder(target, objectName);
7474
}
@@ -81,7 +81,9 @@ protected WebDataBinder createBinderInstance(Object target, String objectName, N
8181
* @param webRequest the current request
8282
* @throws Exception if initialization fails
8383
*/
84-
protected void initBinder(WebDataBinder dataBinder, NativeWebRequest webRequest) throws Exception {
84+
protected void initBinder(WebDataBinder dataBinder, NativeWebRequest webRequest)
85+
throws Exception {
86+
8587
}
8688

8789
}

0 commit comments

Comments
 (0)