From 914557b9753d2822f79b7be9d33a1258895a69e9 Mon Sep 17 00:00:00 2001 From: Rossen Stoyanchev Date: Wed, 25 Jul 2012 19:22:15 -0400 Subject: [PATCH] Use a default for INTROSPECT_TYPE_LEVEL_MAPPING Usually this request attribute is set for all sub-classes of AbstractUrlHandlerMapping and therefore whenever AnnotationMethodHandlerAdapter is used. However, having a default value to fall back on in AnnotationMethodHandlerAdapter is still appropriate in general and also considering the Javadoc of HandlerMapping.INTROSPECT_TYPE_LEVEL_MAPPING. Issue: SPR-9629 --- .../mvc/annotation/AnnotationMethodHandlerAdapter.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/annotation/AnnotationMethodHandlerAdapter.java b/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/annotation/AnnotationMethodHandlerAdapter.java index 6728ea25c5..8177c562b3 100644 --- a/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/annotation/AnnotationMethodHandlerAdapter.java +++ b/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/annotation/AnnotationMethodHandlerAdapter.java @@ -35,6 +35,7 @@ import java.util.Locale; import java.util.Map; import java.util.Set; import java.util.concurrent.ConcurrentHashMap; + import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; @@ -45,7 +46,6 @@ import javax.servlet.http.HttpSession; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; - import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.BeanFactory; import org.springframework.beans.factory.BeanFactoryAware; @@ -673,7 +673,8 @@ public class AnnotationMethodHandlerAdapter extends WebContentGenerator if (!hasTypeLevelMapping() || ObjectUtils.isEmpty(getTypeLevelMapping().value())) { return false; } - return (Boolean) request.getAttribute(HandlerMapping.INTROSPECT_TYPE_LEVEL_MAPPING); + Object value = request.getAttribute(HandlerMapping.INTROSPECT_TYPE_LEVEL_MAPPING); + return (value != null) ? (Boolean) value : Boolean.TRUE; } private boolean useSuffixPattern(HttpServletRequest request) {