Fix NPE in ResponseBodyEmitterReturnValueHandler

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

Issue: SPR-14046
This commit is contained in:
Rossen Stoyanchev 2016-03-16 13:37:54 -04:00
parent 9439a008d7
commit 92dd4eb3ef
2 changed files with 10 additions and 3 deletions

View File

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

View File

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