From d23b0fec0c80232cb6c67ac07f01e3a35cccf6ff Mon Sep 17 00:00:00 2001 From: Rossen Stoyanchev Date: Wed, 16 Jul 2014 21:43:25 -0400 Subject: [PATCH] Polish --- .../GroovyMarkupBeanDefinitionParser.java | 5 ++- .../ViewResolversBeanDefinitionParser.java | 10 ++--- .../annotation/ViewResolverRegistry.java | 24 +++++------ .../web/servlet/config/spring-mvc-4.1.xsd | 42 +++++++++++++------ .../web/servlet/config/MvcNamespaceTests.java | 7 ++-- .../ViewResolutionIntegrationTests.java | 6 +-- .../annotation/ViewResolverRegistryTests.java | 4 +- ...ig-view-resolution-content-negotiation.xml | 2 +- .../config/mvc-config-view-resolution.xml | 4 +- 9 files changed, 61 insertions(+), 43 deletions(-) diff --git a/spring-webmvc/src/main/java/org/springframework/web/servlet/config/GroovyMarkupBeanDefinitionParser.java b/spring-webmvc/src/main/java/org/springframework/web/servlet/config/GroovyMarkupBeanDefinitionParser.java index 3fdc4b18a8..3f8109bd06 100644 --- a/spring-webmvc/src/main/java/org/springframework/web/servlet/config/GroovyMarkupBeanDefinitionParser.java +++ b/spring-webmvc/src/main/java/org/springframework/web/servlet/config/GroovyMarkupBeanDefinitionParser.java @@ -34,6 +34,7 @@ public class GroovyMarkupBeanDefinitionParser extends AbstractSimpleBeanDefiniti public static final String BEAN_NAME = "mvcGroovyMarkupConfigurer"; + @Override protected String resolveId(Element element, AbstractBeanDefinition definition, ParserContext parserContext) { return BEAN_NAME; @@ -45,8 +46,8 @@ public class GroovyMarkupBeanDefinitionParser extends AbstractSimpleBeanDefiniti } @Override - protected boolean isEligibleAttribute(String attributeName) { - return attributeName.equals("resource-loader-path"); + protected boolean isEligibleAttribute(String name) { + return (name.equals("auto-indent") || name.equals("cache-templates") || name.equals("resource-loader-path")); } } diff --git a/spring-webmvc/src/main/java/org/springframework/web/servlet/config/ViewResolversBeanDefinitionParser.java b/spring-webmvc/src/main/java/org/springframework/web/servlet/config/ViewResolversBeanDefinitionParser.java index 9c69d53802..7889c282eb 100644 --- a/spring-webmvc/src/main/java/org/springframework/web/servlet/config/ViewResolversBeanDefinitionParser.java +++ b/spring-webmvc/src/main/java/org/springframework/web/servlet/config/ViewResolversBeanDefinitionParser.java @@ -76,7 +76,7 @@ public class ViewResolversBeanDefinitionParser implements BeanDefinitionParser { ManagedList resolvers = new ManagedList(4); resolvers.setSource(context.extractSource(element)); - String[] names = new String[] {"jsp", "tiles", "bean-name", "freemarker", "velocity", "groovy-markup", "bean", "ref"}; + String[] names = new String[] {"jsp", "tiles", "bean-name", "freemarker", "velocity", "groovy", "bean", "ref"}; for (Element resolverElement : DomUtils.getChildElementsByTagName(element, names)) { String name = resolverElement.getLocalName(); @@ -105,14 +105,14 @@ public class ViewResolversBeanDefinitionParser implements BeanDefinitionParser { resolverBeanDef.getPropertyValues().add("suffix", ".vm"); addUrlBasedViewResolverProperties(resolverElement, resolverBeanDef); } - else if ("bean-name".equals(name)) { - resolverBeanDef = new RootBeanDefinition(BeanNameViewResolver.class); - } - else if ("groovy-markup".equals(name)) { + else if ("groovy".equals(name)) { resolverBeanDef = new RootBeanDefinition(GroovyMarkupViewResolver.class); resolverBeanDef.getPropertyValues().add("suffix", ".tpl"); addUrlBasedViewResolverProperties(resolverElement, resolverBeanDef); } + else if ("bean-name".equals(name)) { + resolverBeanDef = new RootBeanDefinition(BeanNameViewResolver.class); + } else { // Should never happen throw new IllegalStateException("Unexpected element name: " + name); diff --git a/spring-webmvc/src/main/java/org/springframework/web/servlet/config/annotation/ViewResolverRegistry.java b/spring-webmvc/src/main/java/org/springframework/web/servlet/config/annotation/ViewResolverRegistry.java index f6b0091ece..81108fb521 100644 --- a/spring-webmvc/src/main/java/org/springframework/web/servlet/config/annotation/ViewResolverRegistry.java +++ b/spring-webmvc/src/main/java/org/springframework/web/servlet/config/annotation/ViewResolverRegistry.java @@ -218,21 +218,12 @@ public class ViewResolverRegistry { } /** - * Register a bean name view resolver that interprets view names as the names - * of {@link org.springframework.web.servlet.View} beans. - */ - public void beanName() { - BeanNameViewResolver resolver = new BeanNameViewResolver(); - this.viewResolvers.add(resolver); - } - - /** - * Register a Groovy Markup Template view resolver with an empty default view name + * Register a Groovy markup view resolver with an empty default view name * prefix and a default suffix of ".tpl". */ - public UrlBasedViewResolverRegistration groovyMarkup() { + public UrlBasedViewResolverRegistration groovy() { if (this.applicationContext != null && !hasBeanOfType(GroovyMarkupConfigurer.class)) { - throw new BeanInitializationException("In addition to a Groovy Markup Template view resolver " + + throw new BeanInitializationException("In addition to a Groovy markup view resolver " + "there must also be a single GroovyMarkupConfig bean in this web application context " + "(or its parent): GroovyMarkupConfigurer is the usual implementation. " + "This bean may be given any name."); @@ -242,6 +233,15 @@ public class ViewResolverRegistry { return registration; } + /** + * Register a bean name view resolver that interprets view names as the names + * of {@link org.springframework.web.servlet.View} beans. + */ + public void beanName() { + BeanNameViewResolver resolver = new BeanNameViewResolver(); + this.viewResolvers.add(resolver); + } + /** * Register a {@link ViewResolver} bean instance. This may be useful to * configure a custom (or 3rd party) resolver implementation. It may also be diff --git a/spring-webmvc/src/main/resources/org/springframework/web/servlet/config/spring-mvc-4.1.xsd b/spring-webmvc/src/main/resources/org/springframework/web/servlet/config/spring-mvc-4.1.xsd index 7a4cc369dc..83b1c4e91c 100644 --- a/spring-webmvc/src/main/resources/org/springframework/web/servlet/config/spring-mvc-4.1.xsd +++ b/spring-webmvc/src/main/resources/org/springframework/web/servlet/config/spring-mvc-4.1.xsd @@ -741,11 +741,21 @@ element. + To configure Velocity you must also add a top-level element or declare a VelocityConfigurer bean. ]]> + + + element + or declare a GroovyMarkupConfigurer bean. + ]]> + + - - - element. - or declare a GroovyMarkupConfigurer bean. - ]]> - - + + + + + + + + + + diff --git a/spring-webmvc/src/test/java/org/springframework/web/servlet/config/MvcNamespaceTests.java b/spring-webmvc/src/test/java/org/springframework/web/servlet/config/MvcNamespaceTests.java index e5252e0b52..d08724a344 100644 --- a/spring-webmvc/src/test/java/org/springframework/web/servlet/config/MvcNamespaceTests.java +++ b/spring-webmvc/src/test/java/org/springframework/web/servlet/config/MvcNamespaceTests.java @@ -567,7 +567,7 @@ public class MvcNamespaceTests { ViewResolverComposite compositeResolver = this.appContext.getBean(ViewResolverComposite.class); assertNotNull(compositeResolver); - assertEquals(8, compositeResolver.getViewResolvers().size()); + assertEquals("Actual: " + compositeResolver.getViewResolvers(), 8, compositeResolver.getViewResolvers().size()); assertEquals(0, compositeResolver.getOrder()); List resolvers = compositeResolver.getViewResolvers(); @@ -628,8 +628,9 @@ public class MvcNamespaceTests { GroovyMarkupConfigurer groovyMarkupConfigurer = appContext.getBean(GroovyMarkupConfigurer.class); assertNotNull(groovyMarkupConfigurer); - accessor = new DirectFieldAccessor(groovyMarkupConfigurer); - assertEquals("/test", accessor.getPropertyValue("resourceLoaderPath")); + assertEquals("/test", groovyMarkupConfigurer.getResourceLoaderPath()); + assertTrue(groovyMarkupConfigurer.isAutoIndent()); + assertFalse(groovyMarkupConfigurer.isCacheTemplates()); } @Test diff --git a/spring-webmvc/src/test/java/org/springframework/web/servlet/config/annotation/ViewResolutionIntegrationTests.java b/spring-webmvc/src/test/java/org/springframework/web/servlet/config/annotation/ViewResolutionIntegrationTests.java index 46c55a20bb..a8763a0ef1 100644 --- a/spring-webmvc/src/test/java/org/springframework/web/servlet/config/annotation/ViewResolutionIntegrationTests.java +++ b/spring-webmvc/src/test/java/org/springframework/web/servlet/config/annotation/ViewResolutionIntegrationTests.java @@ -97,7 +97,7 @@ public class ViewResolutionIntegrationTests { @Test public void groovyMarkupInvalidConfig() throws Exception { - this.thrown.expectMessage("In addition to a Groovy Markup Template view resolver "); + this.thrown.expectMessage("In addition to a Groovy markup view resolver "); runTest(InvalidGroovyMarkupWebConfig.class); } @@ -192,7 +192,7 @@ public class ViewResolutionIntegrationTests { @Override public void configureViewResolvers(ViewResolverRegistry registry) { - registry.groovyMarkup(); + registry.groovy(); } @Bean @@ -235,7 +235,7 @@ public class ViewResolutionIntegrationTests { @Override public void configureViewResolvers(ViewResolverRegistry registry) { - registry.groovyMarkup(); + registry.groovy(); } } diff --git a/spring-webmvc/src/test/java/org/springframework/web/servlet/config/annotation/ViewResolverRegistryTests.java b/spring-webmvc/src/test/java/org/springframework/web/servlet/config/annotation/ViewResolverRegistryTests.java index e70cbbca17..89fb60f0fd 100644 --- a/spring-webmvc/src/test/java/org/springframework/web/servlet/config/annotation/ViewResolverRegistryTests.java +++ b/spring-webmvc/src/test/java/org/springframework/web/servlet/config/annotation/ViewResolverRegistryTests.java @@ -170,14 +170,14 @@ public class ViewResolverRegistryTests { @Test public void groovyMarkup() { - this.registry.groovyMarkup().prefix("/").suffix(".groovy").cache(true); + this.registry.groovy().prefix("/").suffix(".groovy").cache(true); GroovyMarkupViewResolver resolver = checkAndGetResolver(GroovyMarkupViewResolver.class); checkPropertyValues(resolver, "prefix", "/", "suffix", ".groovy", "cacheLimit", 1024); } @Test public void groovyMarkupDefaultValues() { - this.registry.groovyMarkup(); + this.registry.groovy(); GroovyMarkupViewResolver resolver = checkAndGetResolver(GroovyMarkupViewResolver.class); checkPropertyValues(resolver, "prefix", "", "suffix", ".tpl"); } diff --git a/spring-webmvc/src/test/resources/org/springframework/web/servlet/config/mvc-config-view-resolution-content-negotiation.xml b/spring-webmvc/src/test/resources/org/springframework/web/servlet/config/mvc-config-view-resolution-content-negotiation.xml index 6b6c2c8c49..3eeca14d8e 100644 --- a/spring-webmvc/src/test/resources/org/springframework/web/servlet/config/mvc-config-view-resolution-content-negotiation.xml +++ b/spring-webmvc/src/test/resources/org/springframework/web/servlet/config/mvc-config-view-resolution-content-negotiation.xml @@ -25,7 +25,7 @@ - + diff --git a/spring-webmvc/src/test/resources/org/springframework/web/servlet/config/mvc-config-view-resolution.xml b/spring-webmvc/src/test/resources/org/springframework/web/servlet/config/mvc-config-view-resolution.xml index fdff4f55a2..3b9460ab6f 100644 --- a/spring-webmvc/src/test/resources/org/springframework/web/servlet/config/mvc-config-view-resolution.xml +++ b/spring-webmvc/src/test/resources/org/springframework/web/servlet/config/mvc-config-view-resolution.xml @@ -12,7 +12,7 @@ - + @@ -31,7 +31,7 @@ - + \ No newline at end of file