Resolve custom args after annotated args, set PATH_WITHIN_HANDLER_MAPPING attribute, and rename resolver for @ExceptionHandler methods

This commit is contained in:
Rossen Stoyanchev
2011-05-03 15:39:13 +00:00
parent 50117dce40
commit c91ab1ad6e
9 changed files with 74 additions and 82 deletions

View File

@@ -39,7 +39,7 @@ import org.springframework.web.context.support.GenericWebApplicationContext;
import org.springframework.web.method.support.HandlerMethodArgumentResolver;
import org.springframework.web.method.support.ModelAndViewContainer;
import org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMethodAdapter;
import org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMethodExceptionResolver;
import org.springframework.web.servlet.mvc.method.annotation.ExceptionHandlerExceptionResolver;
import org.springframework.web.servlet.mvc.method.annotation.support.ServletWebArgumentResolverAdapter;
/**
@@ -71,14 +71,14 @@ public class AnnotationDrivenBeanDefinitionParserTests {
public void testMessageConverters() {
loadBeanDefinitions("mvc-config-message-converters.xml");
verifyMessageConverters(appContext.getBean(RequestMappingHandlerMethodAdapter.class), true);
verifyMessageConverters(appContext.getBean(RequestMappingHandlerMethodExceptionResolver.class), true);
verifyMessageConverters(appContext.getBean(ExceptionHandlerExceptionResolver.class), true);
}
@Test
public void testMessageConvertersWithoutDefaultRegistrations() {
loadBeanDefinitions("mvc-config-message-converters-defaults-off.xml");
verifyMessageConverters(appContext.getBean(RequestMappingHandlerMethodAdapter.class), false);
verifyMessageConverters(appContext.getBean(RequestMappingHandlerMethodExceptionResolver.class), false);
verifyMessageConverters(appContext.getBean(ExceptionHandlerExceptionResolver.class), false);
}
@SuppressWarnings("unchecked")

View File

@@ -43,18 +43,18 @@ import org.springframework.web.bind.annotation.ResponseStatus;
import org.springframework.web.method.HandlerMethod;
import org.springframework.web.method.support.InvocableHandlerMethod;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMethodExceptionResolver;
import org.springframework.web.servlet.mvc.method.annotation.ExceptionHandlerExceptionResolver;
/**
* Test fixture with {@link RequestMappingHandlerMethodExceptionResolver}.
* Test fixture with {@link ExceptionHandlerExceptionResolver}.
*
* @author Rossen Stoyanchev
* @author Arjen Poutsma
* @since 3.1
*/
public class RequestMappingHandlerMethodExceptionResolverTests {
public class ExceptionHandlerExceptionResolverTests {
private RequestMappingHandlerMethodExceptionResolver exceptionResolver;
private ExceptionHandlerExceptionResolver exceptionResolver;
private MockHttpServletRequest request;
@@ -62,7 +62,7 @@ public class RequestMappingHandlerMethodExceptionResolverTests {
@Before
public void setUp() throws Exception {
exceptionResolver = new RequestMappingHandlerMethodExceptionResolver();
exceptionResolver = new ExceptionHandlerExceptionResolver();
exceptionResolver.afterPropertiesSet();
request = new MockHttpServletRequest();
response = new MockHttpServletResponse();

View File

@@ -2636,7 +2636,7 @@ public class ServletHandlerMethodTests {
Class<?> adapterType = RequestMappingHandlerMethodAdapter.class;
wac.registerBeanDefinition("handlerAdapter", new RootBeanDefinition(adapterType));
Class<?> resolverType = RequestMappingHandlerMethodExceptionResolver.class;
Class<?> resolverType = ExceptionHandlerExceptionResolver.class;
wac.registerBeanDefinition("requestMappingResolver", new RootBeanDefinition(resolverType));
resolverType = ResponseStatusExceptionResolver.class;

View File

@@ -607,7 +607,7 @@ public class UriTemplateServletHandlerMethodTests {
Class<?> adapterType = RequestMappingHandlerMethodAdapter.class;
wac.registerBeanDefinition("handlerAdapter", new RootBeanDefinition(adapterType));
Class<?> resolverType = RequestMappingHandlerMethodExceptionResolver.class;
Class<?> resolverType = ExceptionHandlerExceptionResolver.class;
wac.registerBeanDefinition("requestMappingResolver", new RootBeanDefinition(resolverType));
resolverType = ResponseStatusExceptionResolver.class;