Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: spring-projects/spring-framework
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v5.2.6.RELEASE
Choose a base ref
...
head repository: spring-projects/spring-framework
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v5.2.7.RELEASE
Choose a head ref
Loading
Showing with 3,767 additions and 1,887 deletions.
  1. +10 −0 .github/workflows/gradle-wrapper-validation.yml
  2. +24 −24 build.gradle
  3. +1 −1 gradle.properties
  4. +119 −0 .../src/test/java/org/springframework/aop/config/AopNamespaceHandlerAdviceOrderIntegrationTests.java
  5. +233 −0 ...java/org/springframework/aop/framework/autoproxy/AspectJAutoProxyAdviceOrderIntegrationTests.java
  6. +23 −0 ...rces/org/springframework/aop/config/AopNamespaceHandlerAdviceOrderIntegrationTests-afterFirst.xml
  7. +23 −0 ...urces/org/springframework/aop/config/AopNamespaceHandlerAdviceOrderIntegrationTests-afterLast.xml
  8. +19 −6 ...aop/src/main/java/org/springframework/aop/aspectj/annotation/ReflectiveAspectJAdvisorFactory.java
  9. +22 −20 .../src/main/java/org/springframework/aop/aspectj/autoproxy/AspectJAwareAdvisorAutoProxyCreator.java
  10. +27 −31 spring-aop/src/main/java/org/springframework/aop/aspectj/autoproxy/AspectJPrecedenceComparator.java
  11. +3 −3 spring-aop/src/main/java/org/springframework/aop/config/AopNamespaceHandler.java
  12. +4 −4 ...ng-aop/src/main/java/org/springframework/aop/framework/adapter/MethodBeforeAdviceInterceptor.java
  13. +7 −5 ...op/src/main/java/org/springframework/aop/framework/autoproxy/AbstractAdvisorAutoProxyCreator.java
  14. +139 −122 .../src/test/java/org/springframework/aop/aspectj/annotation/AbstractAspectJAdvisorFactoryTests.java
  15. +3 −2 spring-aop/src/test/java/org/springframework/aop/aspectj/annotation/AspectJPointcutAdvisorTests.java
  16. +3 −3 spring-aop/src/test/java/org/springframework/aop/aspectj/annotation/AspectMetadataTests.java
  17. +5 −4 ...rc/test/java/org/springframework/aop/aspectj/annotation/ReflectiveAspectJAdvisorFactoryTests.java
  18. +2 −2 spring-beans/src/main/java/org/springframework/beans/CachedIntrospectionResults.java
  19. +6 −7 spring-beans/src/main/java/org/springframework/beans/factory/annotation/Lookup.java
  20. +64 −4 spring-beans/src/main/java/org/springframework/beans/factory/config/YamlProcessor.java
  21. +2 −2 spring-beans/src/main/java/org/springframework/beans/factory/support/AbstractBeanFactory.java
  22. +20 −1 spring-beans/src/main/java/org/springframework/beans/factory/support/AutowireCandidateResolver.java
  23. +3 −4 spring-beans/src/main/java/org/springframework/beans/factory/support/ConstructorResolver.java
  24. +2 −4 spring-beans/src/main/java/org/springframework/beans/factory/support/DefaultListableBeanFactory.java
  25. +19 −2 ...ain/java/org/springframework/beans/factory/support/GenericTypeAwareAutowireCandidateResolver.java
  26. +22 −1 ...eans/src/main/java/org/springframework/beans/factory/support/SimpleAutowireCandidateResolver.java
  27. +60 −18 spring-beans/src/test/java/org/springframework/beans/factory/config/YamlProcessorTests.java
  28. +2 −1 spring-context-support/src/main/java/org/springframework/cache/caffeine/CaffeineCache.java
  29. +2 −1 spring-context-support/src/main/java/org/springframework/cache/ehcache/EhCacheCache.java
  30. +2 −1 spring-context-support/src/main/java/org/springframework/cache/ehcache/EhCacheCacheManager.java
  31. +2 −1 spring-context-support/src/main/java/org/springframework/cache/jcache/JCacheCache.java
  32. +2 −1 spring-context-support/src/main/java/org/springframework/cache/jcache/JCacheCacheManager.java
  33. +3 −17 spring-context/src/main/java/org/springframework/cache/concurrent/ConcurrentMapCache.java
  34. +2 −4 spring-context/src/main/java/org/springframework/cache/concurrent/ConcurrentMapCacheManager.java
  35. +5 −4 spring-context/src/main/java/org/springframework/cache/interceptor/CacheAspectSupport.java
  36. +2 −1 spring-context/src/main/java/org/springframework/cache/support/NoOpCache.java
  37. +2 −2 spring-context/src/main/java/org/springframework/cache/support/NoOpCacheManager.java
  38. +10 −1 spring-context/src/main/java/org/springframework/context/ConfigurableApplicationContext.java
  39. +6 −1 ...-context/src/main/java/org/springframework/context/expression/StandardBeanExpressionResolver.java
  40. +3 −2 spring-context/src/main/java/org/springframework/context/support/AbstractApplicationContext.java
  41. +16 −26 ...text/src/main/java/org/springframework/context/support/AbstractRefreshableApplicationContext.java
  42. +1 −1 spring-context/src/main/java/org/springframework/context/support/DefaultLifecycleProcessor.java
  43. +1 −6 spring-context/src/main/java/org/springframework/context/support/SimpleThreadScope.java
  44. +9 −2 spring-context/src/main/java/org/springframework/scripting/groovy/GroovyScriptFactory.java
  45. +2 −3 ...text/src/main/java/org/springframework/validation/beanvalidation/MethodValidationInterceptor.java
  46. +2 −2 ...xt/src/main/java/org/springframework/validation/beanvalidation/MethodValidationPostProcessor.java
  47. +1 −2 spring-context/src/test/java/org/springframework/cache/CacheReproTests.java
  48. +11 −20 ...ng-context/src/test/java/org/springframework/cache/concurrent/ConcurrentMapCacheManagerTests.java
  49. +5 −6 spring-context/src/test/java/org/springframework/cache/concurrent/ConcurrentMapCacheTests.java
  50. +2 −2 spring-core/src/main/java/org/springframework/core/ReactiveAdapterRegistry.java
  51. +31 −4 spring-core/src/main/java/org/springframework/core/ReactiveTypeDescriptor.java
  52. +26 −11 spring-core/src/main/java/org/springframework/core/ResolvableType.java
  53. +4 −1 spring-core/src/main/java/org/springframework/core/env/AbstractPropertyResolver.java
  54. +11 −1 spring-core/src/main/java/org/springframework/core/env/EnumerablePropertySource.java
  55. +9 −1 spring-core/src/main/java/org/springframework/core/env/MapPropertySource.java
  56. +1 −3 spring-core/src/main/java/org/springframework/core/env/PropertyResolver.java
  57. +3 −1 spring-core/src/main/java/org/springframework/core/env/PropertySource.java
  58. +15 −1 spring-core/src/main/java/org/springframework/core/serializer/Deserializer.java
  59. +17 −1 spring-core/src/main/java/org/springframework/core/serializer/Serializer.java
  60. +2 −6 spring-core/src/main/java/org/springframework/core/serializer/support/SerializingConverter.java
  61. +0 −1 spring-core/src/main/java/org/springframework/util/ClassUtils.java
  62. +14 −150 spring-core/src/main/java/org/springframework/util/CollectionUtils.java
  63. +3 −3 spring-core/src/main/java/org/springframework/util/LinkedCaseInsensitiveMap.java
  64. +7 −146 spring-core/src/main/java/org/springframework/util/LinkedMultiValueMap.java
  65. +178 −0 spring-core/src/main/java/org/springframework/util/MultiValueMapAdapter.java
  66. +4 −1 spring-core/src/main/java/org/springframework/util/SystemPropertyUtils.java
  67. +7 −4 spring-core/src/main/java/org/springframework/util/xml/StaxEventXMLReader.java
  68. +7 −4 spring-core/src/main/java/org/springframework/util/xml/StaxStreamXMLReader.java
  69. +19 −2 spring-core/src/test/java/org/springframework/core/ReactiveAdapterRegistryTests.java
  70. +28 −15 spring-jdbc/src/main/java/org/springframework/jdbc/core/JdbcOperations.java
  71. +3 −3 spring-jdbc/src/main/java/org/springframework/jdbc/core/metadata/GenericTableMetaDataProvider.java
  72. +32 −25 spring-jdbc/src/main/java/org/springframework/jdbc/core/namedparam/NamedParameterJdbcOperations.java
  73. +0 −3 spring-jdbc/src/main/java/org/springframework/jdbc/datasource/DataSourceTransactionManager.java
  74. +13 −21 spring-jdbc/src/test/java/org/springframework/jdbc/core/JdbcTemplateQueryTests.java
  75. +12 −1 ...-jdbc/src/test/java/org/springframework/jdbc/core/namedparam/NamedParameterJdbcTemplateTests.java
  76. +2 −3 spring-jdbc/src/test/java/org/springframework/jdbc/datasource/DataSourceTransactionManagerTests.java
  77. +9 −9 ...-jdbc/src/test/java/org/springframework/jdbc/support/SQLErrorCodeSQLExceptionTranslatorTests.java
  78. +5 −5 spring-messaging/src/main/java/org/springframework/messaging/rsocket/MetadataEncoder.java
  79. +1 −2 ...ging/src/main/java/org/springframework/messaging/rsocket/annotation/support/MessagingRSocket.java
  80. +4 −1 spring-messaging/src/main/java/org/springframework/messaging/support/AbstractMessageChannel.java
  81. +4 −4 spring-orm/src/main/java/org/springframework/orm/hibernate5/LocalSessionFactoryBean.java
  82. +4 −4 spring-orm/src/main/java/org/springframework/orm/hibernate5/LocalSessionFactoryBuilder.java
  83. +2 −2 spring-orm/src/main/java/org/springframework/orm/hibernate5/SpringBeanContainer.java
  84. +3 −3 spring-orm/src/main/java/org/springframework/orm/hibernate5/support/OpenSessionInViewFilter.java
  85. +1 −1 spring-orm/src/main/java/org/springframework/orm/jpa/JpaTransactionManager.java
  86. +2 −2 spring-orm/src/main/java/org/springframework/orm/jpa/vendor/HibernateJpaDialect.java
  87. +5 −5 spring-orm/src/main/java/org/springframework/orm/jpa/vendor/HibernateJpaVendorAdapter.java
  88. +9 −9 spring-oxm/src/main/java/org/springframework/oxm/xstream/XStreamMarshaller.java
  89. +50 −52 spring-oxm/src/test/java/org/springframework/oxm/xstream/XStreamMarshallerTests.java
  90. +84 −46 spring-test/src/main/java/org/springframework/mock/http/server/reactive/MockServerHttpRequest.java
  91. +0 −5 ...g-test/src/main/java/org/springframework/mock/web/reactive/function/server/MockServerRequest.java
  92. +4 −3 spring-tx/src/main/java/org/springframework/transaction/PlatformTransactionManager.java
  93. +3 −2 spring-tx/src/main/java/org/springframework/transaction/ReactiveTransactionManager.java
  94. +13 −6 spring-tx/src/main/java/org/springframework/transaction/annotation/EnableTransactionManagement.java
  95. +6 −4 spring-tx/src/main/java/org/springframework/transaction/annotation/Transactional.java
  96. +6 −5 spring-tx/src/main/java/org/springframework/transaction/interceptor/TransactionAspectSupport.java
  97. +4 −4 ...src/main/java/org/springframework/transaction/interceptor/TransactionAttributeSourcePointcut.java
  98. +4 −4 spring-tx/src/main/java/org/springframework/transaction/jta/WebSphereUowTransactionManager.java
  99. +5 −4 spring-tx/src/main/java/org/springframework/transaction/reactive/TransactionalOperator.java
  100. +1 −6 spring-tx/src/main/java/org/springframework/transaction/support/SimpleTransactionScope.java
  101. +2 −2 ...g-tx/src/main/java/org/springframework/transaction/support/TransactionSynchronizationManager.java
  102. +21 −12 spring-tx/src/main/resources/org/springframework/transaction/config/spring-tx.xsd
  103. +19 −17 spring-web/src/main/java/org/springframework/http/HttpHeaders.java
  104. +3 −3 spring-web/src/main/java/org/springframework/http/ReadOnlyHttpHeaders.java
  105. +3 −1 spring-web/src/main/java/org/springframework/http/RequestEntity.java
  106. +20 −18 spring-web/src/main/java/org/springframework/http/ResponseEntity.java
  107. +19 −2 spring-web/src/main/java/org/springframework/http/client/HttpComponentsClientHttpRequestFactory.java
  108. +3 −1 spring-web/src/main/java/org/springframework/http/client/support/InterceptingHttpAccessor.java
  109. +8 −12 spring-web/src/main/java/org/springframework/http/codec/ServerSentEventHttpMessageReader.java
  110. +4 −7 spring-web/src/main/java/org/springframework/http/codec/ServerSentEventHttpMessageWriter.java
  111. +25 −1 spring-web/src/main/java/org/springframework/http/codec/json/Jackson2CodecSupport.java
  112. +5 −5 spring-web/src/main/java/org/springframework/http/codec/support/BaseCodecConfigurer.java
  113. +38 −4 ...b/src/main/java/org/springframework/http/converter/json/AbstractJackson2HttpMessageConverter.java
  114. +7 −7 ...g-web/src/main/java/org/springframework/http/server/reactive/DefaultServerHttpRequestBuilder.java
  115. +7 −4 spring-web/src/main/java/org/springframework/http/server/reactive/ReactorServerHttpRequest.java
  116. +6 −6 spring-web/src/main/java/org/springframework/http/server/reactive/ServerHttpRequest.java
  117. +8 −6 spring-web/src/main/java/org/springframework/http/server/reactive/ServerHttpRequestDecorator.java
  118. +8 −5 spring-web/src/main/java/org/springframework/http/server/reactive/ServletServerHttpRequest.java
  119. +7 −5 spring-web/src/main/java/org/springframework/http/server/reactive/UndertowServerHttpRequest.java
  120. +13 −1 spring-web/src/main/java/org/springframework/http/server/reactive/WriteResultPublisher.java
  121. +1 −1 spring-web/src/main/java/org/springframework/web/accept/ContentNegotiationManagerFactoryBean.java
  122. +27 −13 spring-web/src/main/java/org/springframework/web/client/DefaultResponseErrorHandler.java
  123. +15 −5 spring-web/src/main/java/org/springframework/web/client/HttpMessageConverterExtractor.java
  124. +128 −0 spring-web/src/main/java/org/springframework/web/client/UnknownContentTypeException.java
  125. +2 −2 spring-web/src/main/java/org/springframework/web/cors/reactive/UrlBasedCorsConfigurationSource.java
  126. +62 −58 spring-web/src/main/java/org/springframework/web/util/DefaultUriBuilderFactory.java
  127. +8 −5 spring-web/src/main/java/org/springframework/web/util/ServletContextPropertyUtils.java
  128. +54 −7 spring-web/src/main/java/org/springframework/web/util/UriBuilder.java
  129. +4 −2 spring-web/src/main/java/org/springframework/web/util/UriBuilderFactory.java
  130. +31 −0 spring-web/src/main/java/org/springframework/web/util/pattern/PathPatternParser.java
  131. +8 −0 spring-web/src/test/java/org/springframework/http/HttpHeadersTests.java
  132. +11 −5 spring-web/src/test/java/org/springframework/http/codec/cbor/Jackson2CborDecoderTests.java
  133. +8 −0 spring-web/src/test/java/org/springframework/http/codec/cbor/Jackson2CborEncoderTests.java
  134. +4 −0 spring-web/src/test/java/org/springframework/http/codec/json/Jackson2JsonDecoderTests.java
  135. +7 −0 spring-web/src/test/java/org/springframework/http/codec/json/Jackson2JsonEncoderTests.java
  136. +13 −6 spring-web/src/test/java/org/springframework/http/codec/json/Jackson2SmileDecoderTests.java
  137. +7 −0 spring-web/src/test/java/org/springframework/http/codec/json/Jackson2SmileEncoderTests.java
  138. +37 −15 spring-web/src/test/java/org/springframework/http/codec/support/CodecConfigurerTests.java
  139. +4 −0 ...c/test/java/org/springframework/http/converter/json/MappingJackson2HttpMessageConverterTests.java
  140. +5 −0 .../java/org/springframework/http/converter/smile/MappingJackson2SmileHttpMessageConverterTests.java
  141. +4 −0 ...test/java/org/springframework/http/converter/xml/MappingJackson2XmlHttpMessageConverterTests.java
  142. +7 −1 ...Fixtures/java/org/springframework/web/testfixture/http/client/reactive/MockClientHttpRequest.java
  143. +1 −1 ...ixtures/java/org/springframework/web/testfixture/http/client/reactive/MockClientHttpResponse.java
  144. +84 −46 ...Fixtures/java/org/springframework/web/testfixture/http/server/reactive/MockServerHttpRequest.java
  145. +4 −1 ...webflux/src/main/java/org/springframework/web/reactive/config/DelegatingWebFluxConfiguration.java
  146. +16 −10 ...ng-webflux/src/main/java/org/springframework/web/reactive/config/WebFluxConfigurationSupport.java
  147. +21 −20 spring-webflux/src/main/java/org/springframework/web/reactive/function/client/ClientResponse.java
  148. +14 −10 .../src/main/java/org/springframework/web/reactive/function/client/DefaultClientResponseBuilder.java
  149. +1 −4 spring-webflux/src/main/java/org/springframework/web/reactive/function/client/DefaultWebClient.java
  150. +13 −19 ...bflux/src/main/java/org/springframework/web/reactive/function/client/DefaultWebClientBuilder.java
  151. +19 −13 ...x/src/main/java/org/springframework/web/reactive/function/server/DefaultServerRequestBuilder.java
  152. +2 −4 ...ux/src/main/java/org/springframework/web/reactive/function/server/PathResourceLookupFunction.java
  153. +1 −4 spring-webflux/src/main/java/org/springframework/web/reactive/function/server/RequestPredicates.java
  154. +12 −10 spring-webflux/src/main/java/org/springframework/web/reactive/function/server/ServerRequest.java
  155. +2 −4 spring-webflux/src/main/java/org/springframework/web/reactive/resource/ResourceUrlProvider.java
  156. +16 −15 ...lux/src/main/java/org/springframework/web/reactive/result/condition/ConsumesRequestCondition.java
  157. +23 −11 ...flux/src/main/java/org/springframework/web/reactive/result/condition/HeadersRequestCondition.java
  158. +23 −13 ...bflux/src/main/java/org/springframework/web/reactive/result/condition/ParamsRequestCondition.java
  159. +29 −35 ...lux/src/main/java/org/springframework/web/reactive/result/condition/PatternsRequestCondition.java
  160. +19 −16 ...lux/src/main/java/org/springframework/web/reactive/result/condition/ProducesRequestCondition.java
  161. +18 −10 ...c/main/java/org/springframework/web/reactive/result/condition/RequestMethodsRequestCondition.java
  162. +93 −34 spring-webflux/src/main/java/org/springframework/web/reactive/result/method/RequestMappingInfo.java
  163. +17 −8 ...test/java/org/springframework/web/reactive/function/client/DefaultClientResponseBuilderTests.java
  164. +13 −3 .../test/java/org/springframework/web/reactive/function/server/DefaultServerRequestBuilderTests.java
  165. +26 −18 ...rc/test/java/org/springframework/web/reactive/result/condition/PatternsRequestConditionTests.java
  166. +19 −2 ...flux/src/test/java/org/springframework/web/reactive/result/condition/RequestMappingInfoTests.java
  167. +3 −3 ...src/main/java/org/springframework/web/servlet/config/annotation/ContentNegotiationConfigurer.java
  168. +2 −4 spring-webmvc/src/main/java/org/springframework/web/servlet/function/PathResourceLookupFunction.java
  169. +1 −4 spring-webmvc/src/main/java/org/springframework/web/servlet/function/RequestPredicates.java
  170. +20 −16 ...-webmvc/src/main/java/org/springframework/web/servlet/mvc/condition/ConsumesRequestCondition.java
  171. +28 −15 ...g-webmvc/src/main/java/org/springframework/web/servlet/mvc/condition/HeadersRequestCondition.java
  172. +20 −9 ...ng-webmvc/src/main/java/org/springframework/web/servlet/mvc/condition/ParamsRequestCondition.java
  173. +48 −44 ...-webmvc/src/main/java/org/springframework/web/servlet/mvc/condition/PatternsRequestCondition.java
  174. +22 −17 ...-webmvc/src/main/java/org/springframework/web/servlet/mvc/condition/ProducesRequestCondition.java
  175. +18 −4 ...c/src/main/java/org/springframework/web/servlet/mvc/condition/RequestMethodsRequestCondition.java
  176. +68 −23 spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/method/RequestMappingInfo.java
  177. +6 −6 ...rg/springframework/web/servlet/mvc/method/annotation/AbstractMessageConverterMethodProcessor.java
  178. +2 −1 ...main/java/org/springframework/web/servlet/mvc/method/annotation/RequestMappingHandlerMapping.java
  179. +15 −1 spring-webmvc/src/main/resources/org/springframework/web/servlet/config/spring-mvc.xsd
  180. +14 −13 ...vc/src/test/java/org/springframework/web/servlet/mvc/condition/PatternsRequestConditionTests.java
  181. +21 −2 spring-webmvc/src/test/java/org/springframework/web/servlet/mvc/method/RequestMappingInfoTests.java
  182. +2 −2 ...rg/springframework/web/servlet/mvc/method/annotation/RequestResponseBodyMethodProcessorTests.java
  183. +7 −11 spring-websocket/src/main/java/org/springframework/web/socket/WebSocketHttpHeaders.java
  184. +18 −9 .../src/main/java/org/springframework/web/socket/sockjs/transport/session/AbstractSockJsSession.java
  185. +1 −5 ...ket/src/test/java/org/springframework/web/socket/sockjs/transport/session/SockJsSessionTests.java
  186. +60 −27 src/docs/asciidoc/core/core-aop.adoc
  187. +11 −8 src/docs/asciidoc/core/core-expressions.adoc
  188. +544 −92 src/docs/asciidoc/data-access.adoc
  189. +2 −2 src/docs/asciidoc/index.adoc
  190. +8 −6 src/docs/asciidoc/languages/dynamic-languages.adoc
  191. +22 −23 src/docs/asciidoc/rsocket.adoc
  192. +4 −7 src/docs/asciidoc/web/webflux.adoc
  193. +6 −6 src/docs/asciidoc/web/webmvc.adoc
10 changes: 10 additions & 0 deletions .github/workflows/gradle-wrapper-validation.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
name: "Validate Gradle Wrapper"
on: [push, pull_request]

jobs:
validation:
name: "Validation"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: gradle/wrapper-validation-action@v1
48 changes: 24 additions & 24 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -26,17 +26,17 @@ configure(allprojects) { project ->

dependencyManagement {
imports {
mavenBom "com.fasterxml.jackson:jackson-bom:2.10.3"
mavenBom "io.netty:netty-bom:4.1.49.Final"
mavenBom "io.projectreactor:reactor-bom:Dysprosium-SR7"
mavenBom "io.rsocket:rsocket-bom:1.0.0-RC7"
mavenBom "org.eclipse.jetty:jetty-bom:9.4.28.v20200408"
mavenBom "com.fasterxml.jackson:jackson-bom:2.10.4"
mavenBom "io.netty:netty-bom:4.1.50.Final"
mavenBom "io.projectreactor:reactor-bom:Dysprosium-SR8"
mavenBom "io.rsocket:rsocket-bom:1.0.0"
mavenBom "org.eclipse.jetty:jetty-bom:9.4.29.v20200521"
mavenBom "org.jetbrains.kotlin:kotlin-bom:1.3.72"
mavenBom "org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.3.5"
mavenBom "org.junit:junit-bom:5.6.2"
}
dependencies {
dependencySet(group: 'org.apache.logging.log4j', version: '2.13.2') {
dependencySet(group: 'org.apache.logging.log4j', version: '2.13.3') {
entry 'log4j-api'
entry 'log4j-core'
entry 'log4j-slf4j-impl'
@@ -50,7 +50,7 @@ configure(allprojects) { project ->
entry 'aspectjtools'
entry 'aspectjweaver'
}
dependencySet(group: 'org.codehaus.groovy', version: '2.5.11') {
dependencySet(group: 'org.codehaus.groovy', version: '2.5.12') {
entry 'groovy'
entry 'groovy-jsr223'
entry 'groovy-templates'
@@ -75,7 +75,7 @@ configure(allprojects) { project ->
exclude group: "xpp3", name: "xpp3_min"
exclude group: "xmlpull", name: "xmlpull"
}
dependency "org.apache.johnzon:johnzon-jsonb:1.2.4"
dependency "org.apache.johnzon:johnzon-jsonb:1.2.6"
dependency("org.codehaus.jettison:jettison:1.3.8") {
exclude group: "stax", name: "stax-api"
}
@@ -87,11 +87,11 @@ configure(allprojects) { project ->
dependency "org.yaml:snakeyaml:1.26"

dependency "com.h2database:h2:1.4.200"
dependency "com.github.ben-manes.caffeine:caffeine:2.8.1"
dependency "com.github.librepdf:openpdf:1.3.14"
dependency "com.github.ben-manes.caffeine:caffeine:2.8.4"
dependency "com.github.librepdf:openpdf:1.3.17"
dependency "com.rometools:rome:1.12.2"
dependency "commons-io:commons-io:2.5"
dependency "io.vavr:vavr:0.10.2"
dependency "io.vavr:vavr:0.10.3"
dependency "net.sf.jopt-simple:jopt-simple:5.0.4"
dependencySet(group: 'org.apache.activemq', version: '5.8.0') {
entry 'activemq-broker'
@@ -115,19 +115,19 @@ configure(allprojects) { project ->
dependency "net.sf.ehcache:ehcache:2.10.6"
dependency "org.ehcache:jcache:1.0.1"
dependency "org.ehcache:ehcache:3.4.0"
dependency "org.hibernate:hibernate-core:5.4.14.Final"
dependency "org.hibernate:hibernate-validator:6.1.4.Final"
dependency "org.webjars:webjars-locator-core:0.44"
dependency "org.hibernate:hibernate-core:5.4.17.Final"
dependency "org.hibernate:hibernate-validator:6.1.5.Final"
dependency "org.webjars:webjars-locator-core:0.45"
dependency "org.webjars:underscorejs:1.8.3"

dependencySet(group: 'org.apache.tomcat', version: '9.0.34') {
dependencySet(group: 'org.apache.tomcat', version: '9.0.36') {
entry 'tomcat-util'
entry('tomcat-websocket') {
exclude group: "org.apache.tomcat", name: "tomcat-websocket-api"
exclude group: "org.apache.tomcat", name: "tomcat-servlet-api"
}
}
dependencySet(group: 'org.apache.tomcat.embed', version: '9.0.34') {
dependencySet(group: 'org.apache.tomcat.embed', version: '9.0.36') {
entry 'tomcat-embed-core'
entry 'tomcat-embed-websocket'
}
@@ -142,7 +142,7 @@ configure(allprojects) { project ->
}
}

dependencySet(group: 'com.squareup.okhttp3', version: '3.14.7') {
dependencySet(group: 'com.squareup.okhttp3', version: '3.14.9') {
entry 'okhttp'
entry 'mockwebserver'
}
@@ -152,7 +152,7 @@ configure(allprojects) { project ->
dependency("org.apache.httpcomponents:httpasyncclient:4.1.4") {
exclude group: "commons-logging", name: "commons-logging"
}
dependency "org.eclipse.jetty:jetty-reactive-httpclient:1.1.2"
dependency "org.eclipse.jetty:jetty-reactive-httpclient:1.1.3"

dependency "org.jruby:jruby:9.2.11.1"
dependency "org.python:jython-standalone:2.7.1"
@@ -179,7 +179,7 @@ configure(allprojects) { project ->
dependency "org.testng:testng:6.14.3"
dependency "org.hamcrest:hamcrest:2.1"
dependency "org.awaitility:awaitility:3.1.6"
dependency "org.assertj:assertj-core:3.15.0"
dependency "org.assertj:assertj-core:3.16.1"
dependencySet(group: 'org.xmlunit', version: '2.6.2') {
entry 'xmlunit-assertj'
entry('xmlunit-matchers') {
@@ -194,10 +194,10 @@ configure(allprojects) { project ->
}
dependency "io.mockk:mockk:1.10.0"

dependency("net.sourceforge.htmlunit:htmlunit:2.39.1") {
dependency("net.sourceforge.htmlunit:htmlunit:2.40.0") {
exclude group: "commons-logging", name: "commons-logging"
}
dependency("org.seleniumhq.selenium:htmlunit-driver:2.39.0") {
dependency("org.seleniumhq.selenium:htmlunit-driver:2.40.0") {
exclude group: "commons-logging", name: "commons-logging"
}
dependency("org.seleniumhq.selenium:selenium-java:3.141.59") {
@@ -223,8 +223,8 @@ configure(allprojects) { project ->
}

dependency "com.ibm.websphere:uow:6.0.2.17"
dependency "com.jamonapi:jamon:2.81"
dependency "joda-time:joda-time:2.10.5"
dependency "com.jamonapi:jamon:2.82"
dependency "joda-time:joda-time:2.10.6"
dependency "org.eclipse.persistence:org.eclipse.persistence.jpa:2.7.6"
dependency "org.javamoney:moneta:1.3"

@@ -325,7 +325,7 @@ configure([rootProject] + javaProjects) { project ->
}

checkstyle {
toolVersion = "8.31"
toolVersion = "8.33"
configDir = rootProject.file("src/checkstyle")
}

2 changes: 1 addition & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
version=5.2.6.BUILD-SNAPSHOT
version=5.2.7.RELEASE
org.gradle.jvmargs=-Xmx1536M
org.gradle.caching=true
org.gradle.parallel=true
Original file line number Diff line number Diff line change
@@ -0,0 +1,119 @@
/*
* Copyright 2002-2020 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.
* You may obtain a copy of the License at
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

package org.springframework.aop.config;

import java.util.ArrayList;
import java.util.List;

import org.aspectj.lang.ProceedingJoinPoint;
import org.junit.jupiter.api.Nested;
import org.junit.jupiter.api.Test;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.annotation.DirtiesContext;
import org.springframework.test.context.junit.jupiter.SpringJUnitConfig;

import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.assertThatExceptionOfType;

/**
* Integration tests for advice invocation order for advice configured via the
* AOP namespace.
*
* @author Sam Brannen
* @since 5.2.7
* @see org.springframework.aop.framework.autoproxy.AspectJAutoProxyAdviceOrderIntegrationTests
*/
class AopNamespaceHandlerAdviceOrderIntegrationTests {

@Nested
@SpringJUnitConfig(locations = "AopNamespaceHandlerAdviceOrderIntegrationTests-afterFirst.xml")
@DirtiesContext
class AfterAdviceFirstTests {

@Test
void afterAdviceIsInvokedFirst(@Autowired Echo echo, @Autowired InvocationTrackingAspect aspect) throws Exception {
assertThat(aspect.invocations).isEmpty();
assertThat(echo.echo(42)).isEqualTo(42);
assertThat(aspect.invocations).containsExactly("around - start", "before", "around - end", "after", "after returning");

aspect.invocations.clear();
assertThatExceptionOfType(Exception.class).isThrownBy(() -> echo.echo(new Exception()));
assertThat(aspect.invocations).containsExactly("around - start", "before", "around - end", "after", "after throwing");
}
}

@Nested
@SpringJUnitConfig(locations = "AopNamespaceHandlerAdviceOrderIntegrationTests-afterLast.xml")
@DirtiesContext
class AfterAdviceLastTests {

@Test
void afterAdviceIsInvokedLast(@Autowired Echo echo, @Autowired InvocationTrackingAspect aspect) throws Exception {
assertThat(aspect.invocations).isEmpty();
assertThat(echo.echo(42)).isEqualTo(42);
assertThat(aspect.invocations).containsExactly("around - start", "before", "around - end", "after returning", "after");

aspect.invocations.clear();
assertThatExceptionOfType(Exception.class).isThrownBy(() -> echo.echo(new Exception()));
assertThat(aspect.invocations).containsExactly("around - start", "before", "around - end", "after throwing", "after");
}
}


static class Echo {

Object echo(Object obj) throws Exception {
if (obj instanceof Exception) {
throw (Exception) obj;
}
return obj;
}
}

static class InvocationTrackingAspect {

List<String> invocations = new ArrayList<>();

Object around(ProceedingJoinPoint joinPoint) throws Throwable {
invocations.add("around - start");
try {
return joinPoint.proceed();
}
finally {
invocations.add("around - end");
}
}

void before() {
invocations.add("before");
}

void afterReturning() {
invocations.add("after returning");
}

void afterThrowing() {
invocations.add("after throwing");
}

void after() {
invocations.add("after");
}
}

}
Loading