From 6bb6b6e6b5620af0f82cd80fb8c65684097f22e5 Mon Sep 17 00:00:00 2001 From: Phillip Webb Date: Mon, 20 Jan 2014 13:53:17 -0800 Subject: [PATCH] Fix warnings in HeaderMethodArgumentResolver --- .../support/HeaderMethodArgumentResolver.java | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/spring-messaging/src/main/java/org/springframework/messaging/handler/annotation/support/HeaderMethodArgumentResolver.java b/spring-messaging/src/main/java/org/springframework/messaging/handler/annotation/support/HeaderMethodArgumentResolver.java index d2a7fda9c4..ec8c21b6c1 100644 --- a/spring-messaging/src/main/java/org/springframework/messaging/handler/annotation/support/HeaderMethodArgumentResolver.java +++ b/spring-messaging/src/main/java/org/springframework/messaging/handler/annotation/support/HeaderMethodArgumentResolver.java @@ -16,6 +16,9 @@ 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.LogFactory; 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.handler.annotation.Header; 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}. @@ -77,8 +76,7 @@ public class HeaderMethodArgumentResolver extends AbstractNamedValueMethodArgume private Object getNativeHeaderValue(Message message, String name) { - Map> nativeHeaders = - (Map>) message.getHeaders().get(NativeMessageHeaderAccessor.NATIVE_HEADERS); + Map> nativeHeaders = getNativeHeaders(message); if (name.startsWith("nativeHeaders.")) { name = name.substring("nativeHeaders.".length()); @@ -95,6 +93,12 @@ public class HeaderMethodArgumentResolver extends AbstractNamedValueMethodArgume return (nativeHeaderValues.size() == 1) ? nativeHeaderValues.get(0) : nativeHeaderValues; } + @SuppressWarnings("unchecked") + private Map> getNativeHeaders(Message message) { + return (Map>) message.getHeaders().get( + NativeMessageHeaderAccessor.NATIVE_HEADERS); + } + @Override protected void handleMissingValue(String headerName, MethodParameter parameter, Message message) { throw new MessageHandlingException(message, "Missing header '" + headerName +