Browse Source

Switch to vararg for configuring ResourceResolver's

pull/530/head
Rossen Stoyanchev 12 years ago
parent
commit
f5cbd9aa4a
  1. 5
      spring-webmvc/src/main/java/org/springframework/web/servlet/config/annotation/ResourceHandlerRegistration.java
  2. 10
      spring-webmvc/src/main/java/org/springframework/web/servlet/config/annotation/ResourceHandlerRegistry.java
  3. 6
      spring-webmvc/src/test/java/org/springframework/web/servlet/config/annotation/ResourceHandlerRegistryTests.java
  4. 10
      spring-webmvc/src/test/java/org/springframework/web/servlet/resource/PublicResourceUrlProviderJavaConfigTests.java

5
spring-webmvc/src/main/java/org/springframework/web/servlet/config/annotation/ResourceHandlerRegistration.java

@ -17,6 +17,7 @@
package org.springframework.web.servlet.config.annotation; package org.springframework.web.servlet.config.annotation;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays;
import java.util.List; import java.util.List;
import org.springframework.core.io.Resource; import org.springframework.core.io.Resource;
@ -82,8 +83,8 @@ public class ResourceHandlerRegistration {
* is recommended to add {@link PathResourceResolver} as the last resolver. * is recommended to add {@link PathResourceResolver} as the last resolver.
* @since 4.1 * @since 4.1
*/ */
public void setResourceResolvers(List<ResourceResolver> resourceResolvers) { public void setResourceResolvers(ResourceResolver... resourceResolvers) {
this.resourceResolvers = resourceResolvers; this.resourceResolvers = Arrays.asList(resourceResolvers);
} }
/** /**

10
spring-webmvc/src/main/java/org/springframework/web/servlet/config/annotation/ResourceHandlerRegistry.java

@ -107,8 +107,8 @@ public class ResourceHandlerRegistry {
* Configure the {@link ResourceResolver}s to use by default in resource handlers that * Configure the {@link ResourceResolver}s to use by default in resource handlers that
* don't have them set. * don't have them set.
*/ */
public void setResourceResolvers(List<ResourceResolver> resourceResolvers) { public void setResourceResolvers(ResourceResolver... resourceResolvers) {
this.resourceResolvers = resourceResolvers; this.resourceResolvers = Arrays.asList(resourceResolvers);
} }
/** /**
@ -120,11 +120,11 @@ public class ResourceHandlerRegistry {
} }
Map<String, HttpRequestHandler> urlMap = new LinkedHashMap<String, HttpRequestHandler>(); Map<String, HttpRequestHandler> urlMap = new LinkedHashMap<String, HttpRequestHandler>();
for (ResourceHandlerRegistration registration : registrations) { for (ResourceHandlerRegistration registration : this.registrations) {
for (String pathPattern : registration.getPathPatterns()) { for (String pathPattern : registration.getPathPatterns()) {
ResourceHttpRequestHandler handler = registration.getRequestHandler(); ResourceHttpRequestHandler handler = registration.getRequestHandler();
handler.setServletContext(servletContext); handler.setServletContext(this.servletContext);
handler.setApplicationContext(applicationContext); handler.setApplicationContext(this.applicationContext);
if ((this.resourceResolvers != null) && (registration.getResourceResolvers() == null)) { if ((this.resourceResolvers != null) && (registration.getResourceResolvers() == null)) {
handler.setResourceResolvers(this.resourceResolvers); handler.setResourceResolvers(this.resourceResolvers);
} }

6
spring-webmvc/src/test/java/org/springframework/web/servlet/config/annotation/ResourceHandlerRegistryTests.java

@ -17,7 +17,6 @@
package org.springframework.web.servlet.config.annotation; package org.springframework.web.servlet.config.annotation;
import java.util.Arrays; import java.util.Arrays;
import java.util.List;
import org.junit.Before; import org.junit.Before;
import org.junit.Test; import org.junit.Test;
@ -97,13 +96,12 @@ public class ResourceHandlerRegistryTests {
@Test @Test
public void resourceResolversAndTransformers() { public void resourceResolversAndTransformers() {
ResourceResolver resolver = Mockito.mock(ResourceResolver.class); ResourceResolver resolver = Mockito.mock(ResourceResolver.class);
List<ResourceResolver> resolvers = Arrays.<ResourceResolver>asList(resolver); registry.setResourceResolvers(resolver);
registry.setResourceResolvers(resolvers);
SimpleUrlHandlerMapping hm = (SimpleUrlHandlerMapping) registry.getHandlerMapping(); SimpleUrlHandlerMapping hm = (SimpleUrlHandlerMapping) registry.getHandlerMapping();
ResourceHttpRequestHandler handler = (ResourceHttpRequestHandler) hm.getUrlMap().values().iterator().next(); ResourceHttpRequestHandler handler = (ResourceHttpRequestHandler) hm.getUrlMap().values().iterator().next();
assertEquals(resolvers, handler.getResourceResolvers()); assertEquals(Arrays.asList(resolver), handler.getResourceResolvers());
} }
private ResourceHttpRequestHandler getHandler(String pathPattern) { private ResourceHttpRequestHandler getHandler(String pathPattern) {

10
spring-webmvc/src/test/java/org/springframework/web/servlet/resource/PublicResourceUrlProviderJavaConfigTests.java

@ -16,9 +16,6 @@
package org.springframework.web.servlet.resource; package org.springframework.web.servlet.resource;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
@ -114,14 +111,9 @@ public class PublicResourceUrlProviderJavaConfigTests {
@Override @Override
public void addResourceHandlers(ResourceHandlerRegistry registry) { public void addResourceHandlers(ResourceHandlerRegistry registry) {
List<ResourceResolver> resourceResolvers = new ArrayList<>();
resourceResolvers.add(new FingerprintResourceResolver());
resourceResolvers.add(new PathResourceResolver());
registry.addResourceHandler("/resources/**") registry.addResourceHandler("/resources/**")
.addResourceLocations("classpath:org/springframework/web/servlet/resource/test/") .addResourceLocations("classpath:org/springframework/web/servlet/resource/test/")
.setResourceResolvers(resourceResolvers); .setResourceResolvers(new FingerprintResourceResolver(), new PathResourceResolver());
} }
} }

Loading…
Cancel
Save