Fix warnings in HeaderMethodArgumentResolver

This commit is contained in:
Phillip Webb 2014-01-20 13:53:17 -08:00
parent 5053fdc8c9
commit 6bb6b6e6b5
1 changed files with 10 additions and 6 deletions

View File

@ -16,6 +16,9 @@
package org.springframework.messaging.handler.annotation.support; package org.springframework.messaging.handler.annotation.support;
import java.util.List;
import java.util.Map;
import org.apache.commons.logging.Log; import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory; import org.apache.commons.logging.LogFactory;
import org.springframework.beans.factory.config.ConfigurableBeanFactory; import org.springframework.beans.factory.config.ConfigurableBeanFactory;
@ -25,10 +28,6 @@ import org.springframework.messaging.Message;
import org.springframework.messaging.MessageHandlingException; import org.springframework.messaging.MessageHandlingException;
import org.springframework.messaging.handler.annotation.Header; import org.springframework.messaging.handler.annotation.Header;
import org.springframework.messaging.support.NativeMessageHeaderAccessor; import org.springframework.messaging.support.NativeMessageHeaderAccessor;
import org.springframework.util.MultiValueMap;
import java.util.List;
import java.util.Map;
/** /**
* Resolves method parameters annotated with {@link Header @Header}. * Resolves method parameters annotated with {@link Header @Header}.
@ -77,8 +76,7 @@ public class HeaderMethodArgumentResolver extends AbstractNamedValueMethodArgume
private Object getNativeHeaderValue(Message<?> message, String name) { private Object getNativeHeaderValue(Message<?> message, String name) {
Map<String, List<String>> nativeHeaders = Map<String, List<String>> nativeHeaders = getNativeHeaders(message);
(Map<String, List<String>>) message.getHeaders().get(NativeMessageHeaderAccessor.NATIVE_HEADERS);
if (name.startsWith("nativeHeaders.")) { if (name.startsWith("nativeHeaders.")) {
name = name.substring("nativeHeaders.".length()); name = name.substring("nativeHeaders.".length());
@ -95,6 +93,12 @@ public class HeaderMethodArgumentResolver extends AbstractNamedValueMethodArgume
return (nativeHeaderValues.size() == 1) ? nativeHeaderValues.get(0) : nativeHeaderValues; return (nativeHeaderValues.size() == 1) ? nativeHeaderValues.get(0) : nativeHeaderValues;
} }
@SuppressWarnings("unchecked")
private Map<String, List<String>> getNativeHeaders(Message<?> message) {
return (Map<String, List<String>>) message.getHeaders().get(
NativeMessageHeaderAccessor.NATIVE_HEADERS);
}
@Override @Override
protected void handleMissingValue(String headerName, MethodParameter parameter, Message<?> message) { protected void handleMissingValue(String headerName, MethodParameter parameter, Message<?> message) {
throw new MessageHandlingException(message, "Missing header '" + headerName + throw new MessageHandlingException(message, "Missing header '" + headerName +