diff --git a/spring-webmvc/src/main/java/org/springframework/web/servlet/config/annotation/InterceptorRegistration.java b/spring-webmvc/src/main/java/org/springframework/web/servlet/config/annotation/InterceptorRegistration.java index 3b037f2d119..08cc9e69823 100644 --- a/spring-webmvc/src/main/java/org/springframework/web/servlet/config/annotation/InterceptorRegistration.java +++ b/spring-webmvc/src/main/java/org/springframework/web/servlet/config/annotation/InterceptorRegistration.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2018 the original author or authors. + * Copyright 2002-2019 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -102,7 +102,7 @@ public class InterceptorRegistration { /** * Specify an order position to be used. Default is 0. - * @since 5.0 + * @since 4.23 */ public InterceptorRegistration order(int order){ this.order = order; @@ -111,13 +111,11 @@ public class InterceptorRegistration { /** * Return the order position to be used. - * @since 5.0 */ protected int getOrder() { return this.order; } - /** * Build the underlying interceptor. If URL patterns are provided, the returned * type is {@link MappedInterceptor}; otherwise {@link HandlerInterceptor}. diff --git a/spring-webmvc/src/test/java/org/springframework/web/servlet/config/annotation/InterceptorRegistryTests.java b/spring-webmvc/src/test/java/org/springframework/web/servlet/config/annotation/InterceptorRegistryTests.java index 693737118cd..d9c76fc9ffb 100644 --- a/spring-webmvc/src/test/java/org/springframework/web/servlet/config/annotation/InterceptorRegistryTests.java +++ b/spring-webmvc/src/test/java/org/springframework/web/servlet/config/annotation/InterceptorRegistryTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2017 the original author or authors. + * Copyright 2002-2019 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -154,6 +154,30 @@ public class InterceptorRegistryTests { assertEquals(Collections.emptyList(), getInterceptorsForPath("/path1/secret")); } + @Test + public void orderedInterceptors() { + this.registry.addInterceptor(this.interceptor1).order(Ordered.LOWEST_PRECEDENCE); + this.registry.addInterceptor(this.interceptor2).order(Ordered.HIGHEST_PRECEDENCE); + + List interceptors = this.registry.getInterceptors(); + assertEquals(2, interceptors.size()); + + assertSame(this.interceptor2, interceptors.get(0)); + assertSame(this.interceptor1, interceptors.get(1)); + } + + @Test + public void nonOrderedInterceptors() { + this.registry.addInterceptor(this.interceptor1).order(0); + this.registry.addInterceptor(this.interceptor2).order(0); + + List interceptors = this.registry.getInterceptors(); + assertEquals(2, interceptors.size()); + + assertSame(this.interceptor1, interceptors.get(0)); + assertSame(this.interceptor2, interceptors.get(1)); + } + private List getInterceptorsForPath(String lookupPath) { PathMatcher pathMatcher = new AntPathMatcher(); @@ -183,6 +207,7 @@ public class InterceptorRegistryTests { assertTrue(webInterceptor.preHandleInvoked); } + private static class TestWebRequestInterceptor implements WebRequestInterceptor { private boolean preHandleInvoked = false; @@ -201,27 +226,4 @@ public class InterceptorRegistryTests { } } - @Test - public void orderedInterceptors() throws Exception { - this.registry.addInterceptor(this.interceptor1).order(Ordered.LOWEST_PRECEDENCE); - this.registry.addInterceptor(this.interceptor2).order(Ordered.HIGHEST_PRECEDENCE); - - List interceptors = this.registry.getInterceptors(); - assertEquals(2, interceptors.size()); - - assertSame(this.interceptor2, interceptors.get(0)); - assertSame(this.interceptor1, interceptors.get(1)); - } - - @Test - public void nonOrderedInterceptors() throws Exception { - this.registry.addInterceptor(this.interceptor1).order(0); - this.registry.addInterceptor(this.interceptor2).order(0); - - List interceptors = this.registry.getInterceptors(); - assertEquals(2, interceptors.size()); - - assertSame(this.interceptor1, interceptors.get(0)); - assertSame(this.interceptor2, interceptors.get(1)); - } }