Commit Graph

14389 Commits

Author SHA1 Message Date
Sam Brannen 0f0aa46e49 Delete unnecessary PropertySourcesPlaceholderConfigurer beans
Issue: SPR-14140
2017-03-28 20:02:27 +02:00
Sam Brannen 7a01771a45 Polishing 2017-03-28 19:27:03 +02:00
Sam Brannen 0b11785852 Improve tests for PropertySourcesPlaceholderConfigurer 2017-03-28 19:26:45 +02:00
Rossen Stoyanchev e06871ef17 Internal RequestMappingHandlerAdapter refactoring
Extract controller method caches including associated code and
discovery of @ControllerAdvice components into a separate, package
private helper class (ControllerMethodResolver).
2017-03-27 18:29:03 -04:00
Rossen Stoyanchev 525f30ad5e Remove dated references on URI template RFC 2017-03-27 15:49:20 -04:00
Rossen Stoyanchev 0479e3eefc Fix typo 2017-03-27 15:16:59 -04:00
Rossen Stoyanchev 9e96cfa7cd Polish 2017-03-27 15:15:45 -04:00
Rossen Stoyanchev f8a21ab11b Add ClientCodecConfigurer
Issue: SPR-15247
2017-03-27 14:57:55 -04:00
Rossen Stoyanchev dc3851df00 Extract AbstractCodecConfigurer base class
Issue: SPR-15247
2017-03-27 14:57:49 -04:00
Stephane Nicoll 5211a099d5 Merge pull request #1278 from stonio:patch-1
* pr/1278:
  Update Apache Licence 2.0 URL
2017-03-27 15:41:35 +02:00
stonio 88e3665d9d Update Apache Licence 2.0 URL
Closes gh-1278
2017-03-27 15:41:14 +02:00
Stephane Nicoll a3bf2c4a82 Merge pull request #1333 from stonio:patch-2
* pr/1333:
  Replace size() check with isEmpty()
2017-03-27 15:35:01 +02:00
stonio 90388e4701 Replace size() check with isEmpty()
Closes gh-1333
2017-03-27 15:34:23 +02:00
Stephane Nicoll d7eabeae26 Merge pull request #1334 from stonio:patch-3
* pr/1334:
  Polish CollectionFactoryTests
2017-03-27 12:51:27 +02:00
stonio 412947a53f Polish CollectionFactoryTests
Closes gh-1334
2017-03-27 12:51:11 +02:00
Juergen Hoeller 0ddcce4169 Merge pull request #1366 from arturgspb/master
Spring JDBC not correctly processing Postgresql ?| and ?& operator
2017-03-27 10:57:15 +02:00
arturgspb e3afd35c0d Merge remote-tracking branch 'origin/master' 2017-03-27 11:47:04 +03:00
arturgspb 8db8c85b69 SPR-15382 Spring Jdbc add Postgresql ?| and ?& operators support 2017-03-27 11:46:55 +03:00
Stephane Nicoll f78bc953f4 Merge pull request #1354 from QBNemo:master
* pr/1354:
  Fix typo
2017-03-27 10:12:26 +02:00
QBNemo 26101892c1 Fix typo
Closes gh-1354
2017-03-27 10:11:50 +02:00
Stephane Nicoll b4530e19fc Merge pull request #1361 from linbaiye:fix-typo
* pr/1361:
  Remove a redundant word
2017-03-27 10:09:42 +02:00
Connor Lin c8fd4cb584 Remove a redundant word
Closes gh-1361
2017-03-27 10:06:42 +02:00
Stephane Nicoll 0bcdec7d91 Merge pull request #1364 from nertzy:patch-1
* pr/1364:
  Fix typo
2017-03-27 10:04:49 +02:00
Grant Hutchins e087db1ecb Fix typo
Closes gh-1364
2017-03-27 10:04:15 +02:00
Sebastien Deleuze 3598addc0e Use FormHttpMessageReader by default in ServerCodecConfigurer 2017-03-26 03:21:05 +02:00
Sebastien Deleuze c9f4fca944 Temporarily downgrade Reactor BOM to fix the build 2017-03-26 03:05:15 +02:00
Rossen Stoyanchev ba3b521af3 Merge ServerCodecConfigurer + refactoring 2017-03-24 18:02:26 -04:00
Rossen Stoyanchev ec5b5c8578 Rename Http[Encoder|Decoder] to HttpMessage[Encoder|Decoder] 2017-03-24 17:48:40 -04:00
Rossen Stoyanchev 5414cd0cf8 Collape ServerHttpMessage[Reader|Writer]
This commit folds ServerHttpMessage[Reader|Writer] into its parent
HttpMessage[Reader|Writer] with the server methods pre-implemented
by default to be simple pass-through delegates.
2017-03-24 17:48:40 -04:00
Rossen Stoyanchev 4a7218f54f Introduce ServerCodecConfigurer
Issue: SPR-15247
2017-03-24 17:47:44 -04:00
Juergen Hoeller e644c557e7 Latest dependency updates (RxJava 1.2.9, JiBX 1.3.1, H2 1.4.194, JBoss Logging 3.3.1, WebJars Locator 0.32-1) 2017-03-24 18:01:11 +01:00
Brian Clozel 2baceac5ff Resolve ResourceUrlProvider from current request
This commit changes `ResourceTransformerSupport` to look for the
`ResourceUrlProvider` in the current request if none is configured on
the resource transformer itself.

Issue: SPR-15369
2017-03-24 16:09:14 +01:00
Brian Clozel fdd503152d VersionResourceResolver should delegate to the chain
Prior to this commit, the `VersionResourceResolver` implementations of
`resolveUrlPathInternal` would delegate to the resolver chain but would
never use the give result if the current request didn't match a
configured version strategy pattern.

This is a problem if the resolver supposed to resolve the resource path
is configured after a `VersionResourceResolver` in the resolver chain;
this means that other resolver never gets to participate in the result
of the chain.

Issue: SPR-15372
2017-03-24 14:14:43 +01:00
Juergen Hoeller 65ba865d70 Support for populating model attributes through data class constructors
Includes a new overloaded ModelAndView constructor with an HttpStatus argument, as well as a HandlerMethodArgumentResolverSupport refactoring (revised checkParameterType signature, actually implementing the HandlerMethodArgumentResolver interface).

Issue: SPR-15199
2017-03-24 12:15:45 +01:00
Juergen Hoeller b3154357f0 Latest dependency updates (Jetty 9.4.3, Joda-Time 2.9.9, SLF4J 1.7.25) 2017-03-24 11:10:53 +01:00
Juergen Hoeller 2236262fc6 Up-to-date guidelines for serialization-based endpoints
Issue: SPR-15317
2017-03-24 11:09:57 +01:00
Juergen Hoeller b90d3d0e88 Clarification: Spring AOP pointcuts may match non-public methods
Issue: SPR-15354
2017-03-24 11:08:57 +01:00
Juergen Hoeller b2a6a572d3 Drop outdated DeferredQueryInvocationHandler.finalize() implementation
Issue: SPR-15363
2017-03-24 11:07:14 +01:00
Juergen Hoeller 15bff8f911 HeaderValueHolder.toString() exposes underlying list of header values
Issue: SPR-15375
2017-03-24 11:07:01 +01:00
Juergen Hoeller 5ea4abdb85 Revised supportedMethods null handling in HttpRequestMethodNotSupportedException
Issue: SPR-15377
2017-03-24 11:06:47 +01:00
Juergen Hoeller b73153cd7c StandardMultipartFile.transferTo falls back to manual copy
Issue: SPR-15257
2017-03-24 11:06:39 +01:00
Rossen Stoyanchev 0662dbf044 String decoding for text only vs any MIME type
Follow-up to:
https://github.com/spring-projects/spring-framework/commit/3d68c496f15c80a75711480a569cda1f7c64dc91

StringDecoder can be created in text-only vs "*/*" mode which in turn
allows a more intuitive order of client side decoders, e.g. SSE does
not have to be ahead of StringDecoder.

The commit also explicitly disables String from the supported types in
Jackson2Decoder leaving it to the StringDecoder in "*/*" mode which
comes after. This does not change the current arrangement since the
the StringDecoder ahead having "*/*" picks up JSON content just the
same.

From a broader perspective this change allows any decoder to deal with
String if it wants to after examining the content type be it the SSE
or another, custom decoder. For Jackson there is very little value in
decoding to String which works only if the output contains a single
JSON string but will fail to parse anything else (JSON object/array)
while StringDecoder in "*/*" mode will not fail.

Issue: SPR-15374
2017-03-23 16:53:06 -04:00
Arjen Poutsma a287e67992 Introduce 'useRegisteredExtensionsOnly' property in classes using MediaTypeFactory
This commit introduces a `useRegisteredExtensionsOnly` property that
indicates whether classes that use the `MediaTypeFactory` for supplying
default media types can do so.

 - In classes that were introduced in Spring 5.0, the
 `useRegisteredExtensionsOnly` property takes the place of the
 `useJaf` property that was removed in 0aaa652
 - In classes that existed before Spring 5.0, the
 `useRegisteredExtensionsOnly` property is added in addition to the
 deprecated `useJaf`, the latter delegating to the former, but with
 flipped behavior.

Issue: SPR-14908
2017-03-23 17:16:46 +01:00
Arjen Poutsma e2aa880301 Return null from MockServletContext.getMimeType for unknown type
ServletContext.getMimeType() returns `null` for unknown mime types; not
`application/octet-stream`.

Issue: SPR-14908
2017-03-23 12:45:48 +01:00
Arjen Poutsma fd1db57e05 Change MediaTypeFactory to return Optional
This commit changes the `MediaTypeFactory` to return
`Optional<MediaType>` (instead of a plain `MediaType`) for the
`getMediaType` methods.

Issue: SPR-14908
2017-03-23 10:14:43 +01:00
Rossen Stoyanchev 3d68c496f1 String encoding for any MIME type
CharSequenceEncoder now supports all MIME types, however since encoding
Flux<String> can overlap with other encoders (e.g. SSE) there are now
two ways to create a CharSequenceEncoder -- with support for text/plain
only or with support for any MIME type.

In WebFlux configuration we insert one CharSequenceEncoder for
text/plain (as we have so far) and a second instance with support for
any MIME type at the very end.

Issue: SPR-15374
2017-03-22 18:01:32 -04:00
Rossen Stoyanchev 2896c5d2ab Revise "streaming" MediaType support
Push the knowledge of what media types represent "streaming" down to
the Encoder level where knowledge is required (e.g. to encode a
JSON array vs a stream of JSON elements).
2017-03-22 18:01:32 -04:00
Arjen Poutsma 290e9bea14 Change MethodNotAllowedException to use HttpMethod
Changed the MethodNotAllowedException to use HttpMethod, instead of
Strings.
2017-03-22 16:38:41 +01:00
Sebastien Deleuze 4db2daae5c Add class level @JsonView tests
Issue: SPR-14925
2017-03-22 13:28:04 +01:00
Arjen Poutsma 722e23066c Allow for subclassing ServerResponse
This commit changes `ServerResponse` and subtypes to use properties
instead of fields during response rendering. This allows for overriding
these methods in a response subclass.
2017-03-22 12:52:02 +01:00