diff --git a/build.gradle b/build.gradle index d5f9de6f..a3bece6f 100644 --- a/build.gradle +++ b/build.gradle @@ -15,6 +15,7 @@ group = 'org.springframework.session' ext.springBootVersion = '1.2.3.RELEASE' ext.JAVA_GRADLE = "$rootDir/gradle/java.gradle" +ext.SPRING3_GRADLE = "$rootDir/gradle/spring3.gradle" ext.MAVEN_GRADLE = "$rootDir/gradle/publish-maven.gradle" ext.TOMCAT_GRADLE = "$rootDir/gradle/tomcat.gradle" ext.TOMCAT_6_GRADLE = "$rootDir/gradle/tomcat6.gradle" diff --git a/gradle/spring3.gradle b/gradle/spring3.gradle new file mode 100644 index 00000000..f81af009 --- /dev/null +++ b/gradle/spring3.gradle @@ -0,0 +1,24 @@ +configurations { + spring3TestRuntime.extendsFrom testRuntime +} + +configurations.spring3TestRuntime { + resolutionStrategy.eachDependency { DependencyResolveDetails details -> + if (details.requested.group == 'org.springframework' + && details.requested.name != 'spring-websocket' + && details.requested.name != 'spring-messaging') { + details.useVersion '3.2.14.RELEASE' + } + } +} + +task spring3Test(type: Test) { + jvmArgs = ['-ea', '-Xmx500m', '-XX:MaxPermSize=128M'] + classpath = sourceSets.test.output + sourceSets.main.output + configurations.spring3TestRuntime + exclude "org/springframework/session/web/socket/**" + reports { + html.destination = project.file("$buildDir/spring3-test-results/") + junitXml.destination = project.file("$buildDir/reports/spring3-tests/") + } +} +check.dependsOn spring3Test \ No newline at end of file diff --git a/spring-session/build.gradle b/spring-session/build.gradle index 55851d9d..aaf75ec1 100644 --- a/spring-session/build.gradle +++ b/spring-session/build.gradle @@ -1,4 +1,5 @@ apply from: JAVA_GRADLE +apply from: SPRING3_GRADLE apply from: MAVEN_GRADLE apply plugin: 'spring-io' diff --git a/spring-session/src/test/java/org/springframework/session/web/http/SessionRepositoryFilterTests.java b/spring-session/src/test/java/org/springframework/session/web/http/SessionRepositoryFilterTests.java index b6ad17c4..e8dce10c 100644 --- a/spring-session/src/test/java/org/springframework/session/web/http/SessionRepositoryFilterTests.java +++ b/spring-session/src/test/java/org/springframework/session/web/http/SessionRepositoryFilterTests.java @@ -50,7 +50,7 @@ import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.runners.MockitoJUnitRunner; import org.springframework.core.Ordered; -import org.springframework.core.annotation.OrderUtils; +import org.springframework.core.annotation.AnnotationAwareOrderComparator; import org.springframework.mock.web.MockFilterChain; import org.springframework.mock.web.MockHttpServletRequest; import org.springframework.mock.web.MockHttpServletResponse; @@ -1169,7 +1169,7 @@ public class SessionRepositoryFilterTests { @Test public void order() { - assertThat(OrderUtils.getOrder(filter.getClass())).isEqualTo(SessionRepositoryFilter.DEFAULT_ORDER); + assertThat(AnnotationAwareOrderComparator.INSTANCE.compare(filter, new SessionRepositoryFilterDefaultOrder())); } // We want the filter to work without any dependencies on Spring @@ -1257,4 +1257,10 @@ public class SessionRepositoryFilterTests { } void doFilter(HttpServletRequest wrappedRequest) {} } + + static class SessionRepositoryFilterDefaultOrder implements Ordered { + public int getOrder() { + return SessionRepositoryFilter.DEFAULT_ORDER; + } + } } \ No newline at end of file