Fix Class isAssignableFrom checks for Resource conversion

Issue: SPR-16606
This commit is contained in:
Rossen Stoyanchev
2018-03-16 16:17:02 -04:00
parent 842c29103f
commit 30583a62cf
3 changed files with 15 additions and 22 deletions

View File

@@ -51,9 +51,7 @@ public class ResourceDecoder extends AbstractDataBufferDecoder<Resource> {
@Override
public boolean canDecode(ResolvableType elementType, @Nullable MimeType mimeType) {
Class<?> clazz = elementType.getRawClass();
return (clazz != null &&
(InputStreamResource.class == clazz || clazz.isAssignableFrom(ByteArrayResource.class)) &&
super.canDecode(elementType, mimeType));
return clazz != null && Resource.class.isAssignableFrom(clazz) && super.canDecode(elementType, mimeType);
}
@Override
@@ -77,7 +75,7 @@ public class ResourceDecoder extends AbstractDataBufferDecoder<Resource> {
if (InputStreamResource.class == clazz) {
return new InputStreamResource(new ByteArrayInputStream(bytes));
}
else if (clazz.isAssignableFrom(ByteArrayResource.class)) {
else if (Resource.class.isAssignableFrom(clazz)) {
return new ByteArrayResource(bytes);
}
else {