@ -16,15 +16,20 @@
@@ -16,15 +16,20 @@
package org.springframework.web.servlet.config ;
import static org.junit.Assert.assertEquals ;
import static org.junit.Assert.assertFalse ;
import static org.junit.Assert.assertNotNull ;
import static org.junit.Assert.assertTrue ;
import java.util.Date ;
import java.util.Locale ;
import javax.validation.Valid ;
import javax.validation.constraints.NotNull ;
import static org.junit.Assert.* ;
import org.junit.Before ;
import org.junit.Ignore ;
import org.junit.Test ;
import org.springframework.beans.factory.xml.XmlBeanDefinitionReader ;
import org.springframework.context.i18n.LocaleContextHolder ;
import org.springframework.core.convert.ConversionFailedException ;
@ -44,8 +49,11 @@ import org.springframework.validation.beanvalidation.LocalValidatorFactoryBean;
@@ -44,8 +49,11 @@ import org.springframework.validation.beanvalidation.LocalValidatorFactoryBean;
import org.springframework.web.bind.annotation.RequestMapping ;
import org.springframework.web.bind.annotation.RequestParam ;
import org.springframework.web.context.support.GenericWebApplicationContext ;
import org.springframework.web.servlet.HandlerExecutionChain ;
import org.springframework.web.servlet.i18n.LocaleChangeInterceptor ;
import org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter ;
import org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping ;
import org.springframework.web.servlet.theme.ThemeChangeInterceptor ;
/ * *
* @author Keith Donald
@ -132,16 +140,22 @@ public class MvcNamespaceTests {
@@ -132,16 +140,22 @@ public class MvcNamespaceTests {
}
@Test
@Ignore
public void testInterceptors ( ) throws Exception {
XmlBeanDefinitionReader reader = new XmlBeanDefinitionReader ( container ) ;
reader . loadBeanDefinitions ( new ClassPathResource ( "mvc-config-interceptors.xml" , getClass ( ) ) ) ;
assertEquals ( 4 , container . getBeanDefinitionCount ( ) ) ;
DefaultAnnotationHandlerMapping mapping = container . getBean ( DefaultAnnotationHandlerMapping . class ) ;
assertNotNull ( mapping ) ;
assertEquals ( 0 , mapping . getOrder ( ) ) ;
AnnotationMethodHandlerAdapter adapter = container . getBean ( AnnotationMethodHandlerAdapter . class ) ;
assertNotNull ( adapter ) ;
assertNotNull ( container . getBean ( FormattingConversionServiceFactoryBean . class ) ) ;
mapping . setRootHandler ( new TestController ( ) ) ;
MockHttpServletRequest request = new MockHttpServletRequest ( ) ;
request . addParameter ( "locale" , "en" ) ;
request . addParameter ( "theme" , "green" ) ;
HandlerExecutionChain chain = mapping . getHandler ( request ) ;
assertEquals ( 2 , chain . getInterceptors ( ) . length ) ;
assertTrue ( chain . getInterceptors ( ) [ 0 ] instanceof LocaleChangeInterceptor ) ;
assertTrue ( chain . getInterceptors ( ) [ 1 ] instanceof ThemeChangeInterceptor ) ;
}
@Controller