Commit Graph

14173 Commits

Author SHA1 Message Date
Juergen Hoeller 69326dbf9a Upgrade to Hibernate ORM 5.2.7 and Rome 1.7.1 2017-01-19 21:20:54 +01:00
Andy Wilkinson 6fe7b176c4 Apply propdeps-maven plugin to ensure the optional deps are in poms
Issue: SPR-15167
2017-01-19 17:27:43 +00:00
Kazuki Shimizu 053ac64101 Add "Problem Details for HTTP APIs" media types
See RFC 7807: Problem Details for HTTP APIs

* application/problem+json
* application/problem+xml

Issue: SPR-15110
2017-01-19 15:14:35 +01:00
Sebastien Deleuze 35d5dca571 Upgrade to Kotlin 1.1-beta-17
Spring Framework 5.0 now requires Kotlin 1.1+. This commit
also re-enable Kotlin JSR 223 unit tests.

Issue: SPR-15100
2017-01-19 13:09:38 +01:00
Arjen Poutsma b77e03b1e0 Map to UnsupportedMediaTypeStatusException
This commit maps the UnsupportedMediaTypeException, used by both client
and server, to a server-side UnsupportedMediaTypeStatusException in the
functional web framework.
2017-01-19 11:12:29 +01:00
Arjen Poutsma b39ebfd6e8 Added FormHttpMessage[Reader|Writer] to functional config
This commit adds the FormHttpMessageReader and FormHttpMessageWriter to
the server and client default configuration respectively.
2017-01-19 09:59:40 +01:00
Sam Brannen 264edb3fb5 Improve initialization of Assume class
Prior to this commit, the org.springframework.tests.Assume class could
fail to load resulting in a NoClassDefFoundError if parsing of the
'testGroups' system property failed. This is because the parsing took
place while initializing a static field.

This commit addresses this issue by moving the 'testGroups' system
property lookup to a dedicated method that is lazily invoked upon
demand instead of eagerly when loading the Assume class itself.

In addition, when an error occurs, TestGroup.parse() now logs the
complete original value of the supplied test groups string instead of
potentially omitting the "all-" prefix. This results in more
informative error messages similar to the following.

  java.lang.IllegalStateException: Failed to parse 'testGroups' system
  property: Unable to find test group 'bogus' when parsing testGroups
  value: 'all-bogus'. Available groups include:
  [LONG_RUNNING,PERFORMANCE,JMXMP,CI]

Issue: SPR-15163
2017-01-19 05:58:02 +01:00
Rossen Stoyanchev bb3b1f2fe2 Additional convenience methods in UriUtils
The generic encode method in UriUtils that encodes any character
outside the reserved character set for a URI is meant for "strict"
encoding of URI variable values. This commit adds a couple more
conveninence methods that accept a Map or array of URI variable
values to encode.

This facilitates the use case where the URI template is assumed to
be encoded while URI variables are encoded strictly to avoid any
possibility for unwanted reserved characters:

Map<String, ?> encodedUriVars = UriUtils.encodeUriVariables(uriVars);
uriComponentsBuilder.build(true).expand(encodedUriVars).toUri();

Issue: SPR-14970
2017-01-18 21:45:33 -05:00
Rossen Stoyanchev f2e293aadf UriComponents allows "+" in a query param
Issue: SPR-14828
2017-01-18 21:04:37 -05:00
Rossen Stoyanchev 8703cdd9cb ResponseStatusExceptionHandler is ordered at 0
Issue: SPR-15134
2017-01-18 20:57:22 -05:00
Rossen Stoyanchev b609f3a546 WebHttpHandlerBuilder supports @Order on beans
Issue: SPR-15074
2017-01-18 20:55:29 -05:00
Rossen Stoyanchev 9faaa22fd4 Enable reactive web integration tests 2017-01-18 20:55:29 -05:00
Rob Winch 95da47f579 Use dependency-management-plugin:1.0.0.BUILD-SNAPSHOT
This fixes an issue where the dependencyManagement entries are not
added to the generated pom [1]

[1] https://github.com/spring-gradle-plugins/dependency-management-plugin/issues/141
2017-01-18 17:48:26 -06:00
Brian Clozel a0427209d8 Upgrade to Reactor Aluminium SNAPSHOT 2017-01-18 22:30:28 +01:00
Andy Wilkinson 63106e7ffb Fix dependencyMangement plugin config
Apply the dependency management plugin to all projects
Do not use Maven-style exclusion semantics

Issue: SPR-15162
2017-01-18 22:10:35 +01:00
Brian Clozel 17525ef969 Use Reactor BOM and dependency management plugin
Issue: SPR-15162
2017-01-18 22:10:35 +01:00
Arjen Poutsma 7b341ae5e2 Moved UnsupportedMediaTypeException
Moved UnsupportedMediaTypeException next to Body[Inserters|Extractors],
as that is where they are used. This move should have been done as part
of the inserter and extractor move, but was forgotten.
2017-01-18 16:16:26 +01:00
Arjen Poutsma 13a7563ddd Added form support to Body[Inserter|Extractor]
- Added BodyInserter for MultiValueMap form data in BodyInserters
 - Added BodyExtractor to MultiValueMap in BodyExtractors

Issue: SPR-15144
2017-01-18 15:36:10 +01:00
Sam Brannen bc87c27b18 Use MockitoJUnitRunner from Mockito 2's preferred location
Issue: SPR-14880
2017-01-18 06:37:44 +01:00
Juergen Hoeller ee71e7bae1 Polishing 2017-01-18 01:00:02 +01:00
Juergen Hoeller bea934b5bd Polishing 2017-01-18 00:43:17 +01:00
Juergen Hoeller d21b6e596f Revised Charset handling and common StringUtils.uriDecode delegate
Issue: SPR-14492
2017-01-18 00:09:06 +01:00
Rossen Stoyanchev 8417831602 Add accessor methods to HttpPutFormContentFilter
Issue: SPR-14503
2017-01-17 17:19:04 -05:00
Rossen Stoyanchev 2e414ab25a Well-known names for beans in message broker XML config
Issue: SPR-15068
2017-01-17 17:10:32 -05:00
Sebastien Deleuze be45de0571 Polish Kotlin Web functional DSL
Issue: SPR-15065
2017-01-17 23:04:58 +01:00
Rossen Stoyanchev 6e508f70d3 Add locking to AbstractRequestExpectationManager
This commit ensures that verifying a request, which includes finding
and updating expectations, is done synchronously to avoid concurrent
modification exceptions.

Technically SimpleRequestExpectationManager is not even expected to see
concurrent requests by definition but with
UnorderedRequestExpectationManager it can happen.

Issue: SPR-15029
2017-01-17 16:49:25 -05:00
Juergen Hoeller af7289d6e9 Clarify WebContentInterceptor path mappings and efficiently match them
Issue: SPR-15096
(cherry picked from commit 801b93a)
2017-01-17 21:28:10 +01:00
Juergen Hoeller 99dc96b1a4 Polishing 2017-01-17 20:42:40 +01:00
Juergen Hoeller ad5386773e ContentCachingRequestWrapper supports content cache limit
Issue: SPR-14829
2017-01-17 20:42:19 +01:00
Juergen Hoeller 976d32fc59 SimpleApplicationEventMulticaster defensively swallows ClassCastException without message
Issue: SPR-15145
2017-01-17 20:37:20 +01:00
Rossen Stoyanchev e5f4cb6a1a Merge pull request #1297 from eiiches/SPR-15140 2017-01-17 12:46:47 -05:00
Rossen Stoyanchev 9819558cba Support encoded query string in reactive requests
In addition to the updates from PR#1297 this commit adds an integration
test and fixes for the resulting failures with RxNetty, Reactor Netty,
and Undertow.

Also replaced use of URLDecoder which is not for decoding URIs with use
of UriUtils for decoding query parameters.

Issue: SPR-15140
2017-01-17 12:46:05 -05:00
Eiichi Sato 613e65f043 Fix URL decoding issue in reactive @RequestParam
%-encoded strings were injected undecoded into @RequestParam variables,
which does not coincide with spring-webmvc behaviour. This commit
fixes AbstractServerHttpRequest.getQueryParams() to correctly return
decoded name-value pairs.

Issue: SPR-15140
2017-01-17 12:46:05 -05:00
Arjen Poutsma 88c5f5981f Added DataBuffer Encoder/Decoder
This commit adds a DataBuffer Encoder and Decoder, and uses it in
the annotation-based processing model.

Note that these codecs are not used in the functional processing model,
since the BodyInserter/BodyExtractor already have methods for
writing/reading DataBuffers.

Issue: SPR-15148
2017-01-17 16:46:43 +01:00
Violeta Georgieva 141e04aa0f Fix URI construction in UndertowServerHttpRequest
Ensure there is no "?" at the end of the generated URI when there is
no query available.
2017-01-17 10:19:01 -05:00
Daniel Fernández 8b7f3a65ed Fix exception if no RequestDataValueProcessor is present
This modification fixes the way AbstractView retrieves the
RequestDataValueProcessor bean, correctly returning null if there
is no bean of such type at the Application Context.

This avoids an exception in RedirectView (which extends AbstractView)
when trying to post-process the URL generated for redirection, when
no RequestDataValueProcessor exists.

Issue: SPR-15136
2017-01-17 10:10:46 -05:00
Juergen Hoeller 052014783a Remove outdated BeanFactoryLocator documentation references
Issue: SPR-15154
2017-01-17 16:03:17 +01:00
Juergen Hoeller 874b653314 Clarified cookieMaxAge default
Issue: SPR-15155
2017-01-17 15:33:30 +01:00
Juergen Hoeller 2047f8d5ae Reference documentation for Groovy bean definition DSL
Issue: SPR-15153
2017-01-17 15:32:24 +01:00
Juergen Hoeller 54da4a8c8e Correct reference to XJC classpath 2017-01-17 14:00:15 +01:00
Juergen Hoeller ac6aa53031 Drop outdated BeanFactoryLocator / beanRefContext.xml mechanism
Issue: SPR-15154
2017-01-17 13:58:37 +01:00
Juergen Hoeller d96738d613 Revised indexer implementation
Issue: SPR-11890
2017-01-17 12:59:42 +01:00
Juergen Hoeller c42d44a42c Polishing and documentation fixes 2017-01-17 12:47:04 +01:00
Juergen Hoeller 5471d6a465 Revised indexer implementation
Issue: SPR-11890
2017-01-17 12:46:55 +01:00
Brian Clozel 0c99346829 Add SNI support in Netty4ClientHttpRequestFactory
This commit changes the `Bootstrap` to create a SSL Handler with
advisory peer information; this enables support for SNI.

Issue: SPR-15101
2017-01-17 11:15:06 +01:00
Juergen Hoeller e9db4d6f96 Proper resolution of Optional.empty() for header arguments
Issue: SPR-15151
2017-01-17 10:46:37 +01:00
Juergen Hoeller 46fc7fba8f Polishing 2017-01-16 23:08:44 +01:00
Juergen Hoeller e59f4004eb Use MockitoJUnitRunner from Mockito 2's preferred location
Issue: SPR-14880
2017-01-16 23:08:06 +01:00
Juergen Hoeller 95330d0e44 Polishing 2017-01-16 21:49:21 +01:00
Juergen Hoeller 1922f03d24 StandardMultipartHttpServletRequest identifies MaxUploadSizeExceededException through keywords in message
Issue: SPR-9294
2017-01-16 21:45:22 +01:00