Polishing
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2002-2015 the original author or authors.
|
||||
* Copyright 2002-2017 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -135,8 +135,9 @@ public abstract class AbstractMessageConverter implements SmartMessageConverter
|
||||
* @param payloadClass either byte[] or String
|
||||
*/
|
||||
public void setSerializedPayloadClass(Class<?> payloadClass) {
|
||||
Assert.isTrue(byte[].class == payloadClass || String.class == payloadClass,
|
||||
"Payload class must be byte[] or String: " + payloadClass);
|
||||
if (!(byte[].class == payloadClass || String.class == payloadClass)) {
|
||||
throw new IllegalArgumentException("Payload class must be byte[] or String: " + payloadClass);
|
||||
}
|
||||
this.serializedPayloadClass = payloadClass;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2002-2015 the original author or authors.
|
||||
* Copyright 2002-2018 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -25,7 +25,6 @@ import org.springframework.messaging.MessageHeaders;
|
||||
import org.springframework.messaging.handler.annotation.Headers;
|
||||
import org.springframework.messaging.handler.invocation.HandlerMethodArgumentResolver;
|
||||
import org.springframework.messaging.support.MessageHeaderAccessor;
|
||||
import org.springframework.util.Assert;
|
||||
import org.springframework.util.ReflectionUtils;
|
||||
|
||||
/**
|
||||
@@ -45,15 +44,12 @@ public class HeadersMethodArgumentResolver implements HandlerMethodArgumentResol
|
||||
public boolean supportsParameter(MethodParameter parameter) {
|
||||
Class<?> paramType = parameter.getParameterType();
|
||||
return ((parameter.hasParameterAnnotation(Headers.class) && Map.class.isAssignableFrom(paramType)) ||
|
||||
MessageHeaders.class == paramType ||
|
||||
MessageHeaderAccessor.class.isAssignableFrom(paramType));
|
||||
MessageHeaders.class == paramType || MessageHeaderAccessor.class.isAssignableFrom(paramType));
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object resolveArgument(MethodParameter parameter, Message<?> message) throws Exception {
|
||||
|
||||
Class<?> paramType = parameter.getParameterType();
|
||||
|
||||
if (Map.class.isAssignableFrom(paramType)) {
|
||||
return message.getHeaders();
|
||||
}
|
||||
@@ -68,7 +64,10 @@ public class HeadersMethodArgumentResolver implements HandlerMethodArgumentResol
|
||||
}
|
||||
else {
|
||||
Method method = ReflectionUtils.findMethod(paramType, "wrap", Message.class);
|
||||
Assert.notNull(method, "Cannot create accessor of type " + paramType + " for message " + message);
|
||||
if (method == null) {
|
||||
throw new IllegalStateException(
|
||||
"Cannot create accessor of type " + paramType + " for message " + message);
|
||||
}
|
||||
return ReflectionUtils.invokeMethod(method, null, message);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -24,7 +24,6 @@ import java.util.concurrent.ConcurrentHashMap;
|
||||
|
||||
import org.springframework.core.MethodParameter;
|
||||
import org.springframework.messaging.Message;
|
||||
import org.springframework.util.Assert;
|
||||
|
||||
/**
|
||||
* Resolves method parameters by delegating to a list of registered
|
||||
@@ -106,9 +105,10 @@ public class HandlerMethodArgumentResolverComposite implements HandlerMethodArgu
|
||||
*/
|
||||
@Override
|
||||
public Object resolveArgument(MethodParameter parameter, Message<?> message) throws Exception {
|
||||
|
||||
HandlerMethodArgumentResolver resolver = getArgumentResolver(parameter);
|
||||
Assert.notNull(resolver, "Unknown parameter type [" + parameter.getParameterType().getName() + "]");
|
||||
if (resolver == null) {
|
||||
throw new IllegalStateException("Unknown parameter type [" + parameter.getParameterType().getName() + "]");
|
||||
}
|
||||
return resolver.resolveArgument(parameter, message);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user