From c5d6cc41346710f8277057d52ce90dcf0705a528 Mon Sep 17 00:00:00 2001 From: Brian Clozel Date: Tue, 19 May 2015 21:40:52 +0200 Subject: [PATCH] Polish Issue: SPR-12673 --- .../handler/AbstractHandlerMapping.java | 26 ++++++------------- ...ingTests.java => HandlerMappingTests.java} | 8 +++--- 2 files changed, 13 insertions(+), 21 deletions(-) rename spring-webmvc/src/test/java/org/springframework/web/servlet/handler/{AbstractHandlerMappingTests.java => HandlerMappingTests.java} (91%) diff --git a/spring-webmvc/src/main/java/org/springframework/web/servlet/handler/AbstractHandlerMapping.java b/spring-webmvc/src/main/java/org/springframework/web/servlet/handler/AbstractHandlerMapping.java index 6b07cd9438a..2ed1f48f948 100644 --- a/spring-webmvc/src/main/java/org/springframework/web/servlet/handler/AbstractHandlerMapping.java +++ b/spring-webmvc/src/main/java/org/springframework/web/servlet/handler/AbstractHandlerMapping.java @@ -77,9 +77,7 @@ public abstract class AbstractHandlerMapping extends WebApplicationObjectSupport private final List interceptors = new ArrayList(); - private final List handlerInterceptors = new ArrayList(); - - private final List detectedMappedInterceptors = new ArrayList(); + private final List adaptedInterceptors = new ArrayList(); private CorsProcessor corsProcessor = new DefaultCorsProcessor(); @@ -245,7 +243,7 @@ public abstract class AbstractHandlerMapping extends WebApplicationObjectSupport @Override protected void initApplicationContext() throws BeansException { extendInterceptors(this.interceptors); - detectMappedInterceptors(this.detectedMappedInterceptors); + detectMappedInterceptors(this.adaptedInterceptors); initInterceptors(); } @@ -268,7 +266,7 @@ public abstract class AbstractHandlerMapping extends WebApplicationObjectSupport * from the current context and its ancestors. Subclasses can override and refine this policy. * @param mappedInterceptors an empty list to add {@link MappedInterceptor} instances to */ - protected void detectMappedInterceptors(List mappedInterceptors) { + protected void detectMappedInterceptors(List mappedInterceptors) { mappedInterceptors.addAll( BeanFactoryUtils.beansOfTypeIncludingAncestors( getApplicationContext(), MappedInterceptor.class, true, false).values()); @@ -287,11 +285,9 @@ public abstract class AbstractHandlerMapping extends WebApplicationObjectSupport if (interceptor == null) { throw new IllegalArgumentException("Entry number " + i + " in interceptors array is null"); } - this.handlerInterceptors.add(adaptInterceptor(interceptor)); + this.adaptedInterceptors.add(adaptInterceptor(interceptor)); } } - this.handlerInterceptors.addAll(this.detectedMappedInterceptors); - this.interceptors.clear(); } /** @@ -323,14 +319,8 @@ public abstract class AbstractHandlerMapping extends WebApplicationObjectSupport * @return the array of {@link HandlerInterceptor}s, or {@code null} if none */ protected final HandlerInterceptor[] getAdaptedInterceptors() { - List adaptedInterceptors = new ArrayList(); - for (HandlerInterceptor interceptor : this.handlerInterceptors) { - if (!(interceptor instanceof MappedInterceptor)) { - adaptedInterceptors.add(interceptor); - } - } - int count = adaptedInterceptors.size(); - return (count > 0 ? adaptedInterceptors.toArray(new HandlerInterceptor[count]) : null); + int count = this.adaptedInterceptors.size(); + return (count > 0 ? this.adaptedInterceptors.toArray(new HandlerInterceptor[count]) : null); } /** @@ -339,7 +329,7 @@ public abstract class AbstractHandlerMapping extends WebApplicationObjectSupport */ protected final MappedInterceptor[] getMappedInterceptors() { List mappedInterceptors = new ArrayList(); - for (HandlerInterceptor interceptor : this.handlerInterceptors) { + for (HandlerInterceptor interceptor : this.adaptedInterceptors) { if (interceptor instanceof MappedInterceptor) { mappedInterceptors.add((MappedInterceptor) interceptor); } @@ -425,7 +415,7 @@ public abstract class AbstractHandlerMapping extends WebApplicationObjectSupport (HandlerExecutionChain) handler : new HandlerExecutionChain(handler)); String lookupPath = this.urlPathHelper.getLookupPathForRequest(request); - for (HandlerInterceptor interceptor : this.handlerInterceptors) { + for (HandlerInterceptor interceptor : this.adaptedInterceptors) { if (interceptor instanceof MappedInterceptor) { MappedInterceptor mappedInterceptor = (MappedInterceptor) interceptor; if (mappedInterceptor.matches(lookupPath, this.pathMatcher)) { diff --git a/spring-webmvc/src/test/java/org/springframework/web/servlet/handler/AbstractHandlerMappingTests.java b/spring-webmvc/src/test/java/org/springframework/web/servlet/handler/HandlerMappingTests.java similarity index 91% rename from spring-webmvc/src/test/java/org/springframework/web/servlet/handler/AbstractHandlerMappingTests.java rename to spring-webmvc/src/test/java/org/springframework/web/servlet/handler/HandlerMappingTests.java index cc9fa838158..9088e8c66d8 100644 --- a/spring-webmvc/src/test/java/org/springframework/web/servlet/handler/AbstractHandlerMappingTests.java +++ b/spring-webmvc/src/test/java/org/springframework/web/servlet/handler/HandlerMappingTests.java @@ -30,7 +30,6 @@ import org.mockito.Mockito; import org.springframework.http.HttpStatus; import org.springframework.mock.web.test.MockHttpServletRequest; -import org.springframework.mock.web.test.MockHttpServletResponse; import org.springframework.web.HttpRequestHandler; import org.springframework.web.context.support.StaticWebApplicationContext; import org.springframework.web.servlet.HandlerExecutionChain; @@ -38,9 +37,11 @@ import org.springframework.web.servlet.HandlerInterceptor; import org.springframework.web.servlet.support.WebContentGenerator; /** + * Unit tests for + * {@link org.springframework.web.servlet.handler.HandlerMappingTests}. * @author Brian Clozel */ -public class AbstractHandlerMappingTests { +public class HandlerMappingTests { private MockHttpServletRequest request; private AbstractHandlerMapping handlerMapping; @@ -65,7 +66,8 @@ public class AbstractHandlerMappingTests { this.handlerMapping.setApplicationContext(this.context); HandlerExecutionChain chain = this.handlerMapping.getHandlerExecutionChain(new SimpleHandler(), this.request); Assert.assertThat(chain.getInterceptors(), - Matchers.arrayContaining(firstMappedInterceptor, secondHandlerInterceptor, thirdMappedInterceptor, fourthHandlerInterceptor)); + Matchers.arrayContaining(firstMappedInterceptor.getInterceptor(), secondHandlerInterceptor, + thirdMappedInterceptor.getInterceptor(), fourthHandlerInterceptor)); } class TestHandlerMapping extends AbstractHandlerMapping {