Fix NPE in ResponseBodyEmitterReturnValueHandler

The possibility of NPE was introduced in the previous commit:
971ccab038

Issue: SPR-14046
master
Rossen Stoyanchev 9 years ago
parent 9439a008d7
commit 92dd4eb3ef
  1. 8
      spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/method/annotation/ResponseBodyEmitterReturnValueHandler.java
  2. 5
      spring-webmvc/src/test/java/org/springframework/web/servlet/mvc/method/annotation/ResponseBodyEmitterReturnValueHandlerTests.java

@ -81,9 +81,11 @@ public class ResponseBodyEmitterReturnValueHandler implements AsyncHandlerMethod
}
private ResponseBodyEmitterAdapter getAdapterFor(Class<?> type) {
for (Class<?> adapteeType : getAdapterMap().keySet()) {
if (adapteeType.isAssignableFrom(type)) {
return getAdapterMap().get(adapteeType);
if (type != null) {
for (Class<?> adapteeType : getAdapterMap().keySet()) {
if (adapteeType.isAssignableFrom(type)) {
return getAdapterMap().get(adapteeType);
}
}
}
return null;

@ -81,6 +81,7 @@ public class ResponseBodyEmitterReturnValueHandlerTests {
assertTrue(this.handler.supportsReturnType(returnType("handleResponseEntity")));
assertFalse(this.handler.supportsReturnType(returnType("handleResponseEntityString")));
assertFalse(this.handler.supportsReturnType(returnType("handleResponseEntityParameterized")));
assertFalse(this.handler.supportsReturnType(returnType("handleRawResponseEntity")));
}
@Test
@ -229,6 +230,10 @@ public class ResponseBodyEmitterReturnValueHandlerTests {
return null;
}
private ResponseEntity handleRawResponseEntity() {
return null;
}
}
private static class SimpleBean {

Loading…
Cancel
Save