Commit Graph

10206 Commits

Author SHA1 Message Date
Sam Brannen
6584a53bcb Merge pull request #792 from kazuki43zoo/SPR-12992
Remove unnecessary RemoteAccountService example from reference manual
2015-05-06 13:18:15 +02:00
Sam Brannen
6aef452e59 Merge pull request #793 from kazuki43zoo/SPR-12993
Fix typo in reference document
2015-05-06 13:12:54 +02:00
Kazuki Shimizu
702fb08dd5 Modify typo in reference document
* AccountServletEndpoint -> AccountServiceEndpoint

Issue: SPR-12993
2015-05-06 19:31:31 +09:00
Kazuki Shimizu
e3bd728088 Remove the RemoteAccountService
Issue: SPR-12992
2015-05-06 19:15:25 +09:00
Stephane Nicoll
b8f10f69a9 Fix binary compatibility for SmartApplicationListener
Making sure that `GenericApplicationListenerAdapter` implements
`SmartApplicationListener` again as older code may try to cast an
instance to `SmartApplicationListener`.

Issue: SPR-8201
2015-05-06 08:52:47 +09:00
Sam Brannen
5d67219a4e Eliminate inspection of annotations on core Java annotations
This commit picks up where SPR-11483 left off, with the goal of
eliminating all unnecessary inspection of core JDK annotations in
Spring's annotation search algorithms in AnnotatedElementUtils and
AnnotationMetadataReadingVisitor.

Issue: SPR-12989
2015-05-06 00:17:12 +02:00
Sam Brannen
ba84458c65 Overhaul AnnotatedElementUtils
- Methods which search for a specific annotation now properly ensure
   that the sought annotation was actually found.

 - Both the "get" and the "find" search algorithms no longer needlessly
   traverse meta-annotation hierarchies twice.

 - Both the "get" and the "find" search algorithms now properly
   increment the metaDepth when recursively searching within the
   meta-annotation hierarchy.

 - Redesigned getMetaAnnotationTypes() so that it doesn't needlessly
   search irrelevant annotations.

 - Documented and tested hasMetaAnnotationTypes().

 - Documented isAnnotated().

Issue: SPR-11514
2015-05-05 23:35:00 +02:00
Rossen Stoyanchev
8853107f76 Find CORS config by HandlerMethod
Before this change AbstractHandlerMethodMapping used a map from Method
to CorsConfiguration. That works for regular @RequestMapping methods.
However frameworks like Spring Boot and Spring Integration may
programmatically register the same Method under multiple mappings,
i.e. adapter/gateway type classes.

This change ensures that CorsConfiguraiton is indexed by HandlerMethod
so that we can store CorsConfiguration for different handler instances
even when the method is the same.

In order for to make this work, HandlerMethod now provides an
additional field called resolvedFromHandlerMethod that returns the
original HandlerMethod (with the String bean name). This makes it
possible to  perform reliable lookups.

Issue: SPR-11541
2015-05-05 12:56:07 -04:00
Rossen Stoyanchev
4a8baebf59 Improve MappingRegistry tests and polish
Issue: SPR-11541
2015-05-05 12:56:06 -04:00
Sam Brannen
16b189cc1a Add failing test for concrete @RequestMapping method in abstract superclass
This commit introduces failing (but currently disabled) test cases in
HandlerMethodAnnotationDetectionTests that attempt to reproduce the
scenario described in SPR-9517.

See: ParameterizedSubclassDoesNotOverrideConcreteImplementationsFromGenericAbstractSuperclass

Furthermore, this commit also introduces passing tests cases for a
similar scenario. See: ParameterizedSubclassOverridesDefaultMappings

Issue: SPR-9517
2015-05-05 17:31:30 +02:00
Sam Brannen
5dd70a8e46 Simplify HandlerMethodAnnotationDetectionTests config 2015-05-05 17:31:30 +02:00
Brian Clozel
4b07bc39da Always set heart-beat header in STOMP CONNECTED frames
Since SPR-10954, the SimpleBrokerMessageHandler supports `heart-beats`.

Even if the STOMP spec states that the `heart-beat` header is OPTIONAL,
and if absent considered as `heart-beat: 0,0`,
some clients rely on this to be set in CONNECTED frames.

This commit adds this header information even if no task
scheduler/heart-beat have been configured.

See: https://stomp.github.io/stomp-specification-1.2.html#Heart-beating

Issue: SPR-10954
2015-05-05 16:09:42 +02:00
Sam Brannen
76faa2c6d2 Merge pull request #787 from kazuki43zoo/SPR-12980
Do not refer to deprecated ParameterizedBeanPropertyRowMapper in reference manual

Change to the BeanPropertyRowMapper from the ParameterizedBeanPropertyRowMapper
2015-05-05 14:52:14 +02:00
Sam Brannen
4f8ef80342 Update doc for resultsMapCaseInsensitive flag in JdbcTemplate
Issue: SPR-12979
2015-05-05 14:43:32 +02:00
Sam Brannen
123e7c14eb Merge pull request #785 from kazuki43zoo/SPR-12979
Fix description of JdbcTemplate's resultsMapCaseInsensitive support in reference manual
2015-05-05 14:35:45 +02:00
Kazuki Shimizu
9dc64244b5 Change to the BeanPropertyRowMapper from the ParameterizedBeanPropertyRowMapper
Issues: SPR-12980
2015-05-05 21:28:49 +09:00
Sam Brannen
6985b95e25 Merge pull request #786 from kazuki43zoo/SPR-12981
Fixes bad grammar in reference document
2015-05-05 14:28:29 +02:00
Kazuki Shimizu
9fe2f4f9dd Fixes bad grammar in reference document
Issue: SPR-12981
2015-05-05 21:21:06 +09:00
Sam Brannen
572cbb0821 Consistently supply test name to @Parameters 2015-05-05 14:07:00 +02:00
Brian Clozel
77937c5b02 Polish JRubyScriptTemplateTests (case sensitive issue) 2015-05-05 13:56:54 +02:00
Sam Brannen
3fb2645744 Polish HandlerMethodAnnotationDetectionTests 2015-05-05 13:19:09 +02:00
Sebastien Deleuze
7919364db6 Polish script based view tests
Issue: SPR-12266
2015-05-05 11:38:47 +02:00
Kazuki Shimizu
9ed34b81fd Fixes description of JdbcTemplate#setResultsMapCaseInsensitive
Issue: SPR-12979
2015-05-05 17:58:21 +09:00
Rossen Stoyanchev
e306098155 Encapsulate CORS checking within CorsConfiguration
CorsConfiguration now provides methods to check and determine the
allowed origin, method, and headers according to its own configuration.

This simplifies significantly the work that needs to be done from
DefaultCorsProcessor. However an alternative CorsProcessor can still
access the raw CorsConfiguration and perform its own checks.

Issue: SPR-12885
2015-05-05 09:31:41 +02:00
Sebastien Deleuze
83f269b512 Make DefaultCorsProcessor Servlet 2.5 compliant
This commit adds CORS related headers to HttpHeaders
and update DefaultCorsProcessor implementation to
use ServerHttpRequest and ServerHttpResponse instead
of HttpServletRequest and HttpServletResponse. Usage
of ServerHttpResponse allows to avoid using Servlet 3.0
specific methods in order keep CORS support Servlet 2.5
compliant.

Issue: SPR-12885
2015-05-05 09:31:41 +02:00
Rossen Stoyanchev
71683c5f8d Fix regressions from 8f558e7
The change to provide public register/unregister methods in
AbstractHandlerMethodMapping assumed that a single method cannot be
mapped more than once. This is not the case with the MvcEndpoints and
EndpointHandlerMapping from Spring Boot which wrap one or more
non-web Endpoint types with an MvcEndpointAdapter in order to expose
them for use over the web. In effect Spring MVC sees a single handler
method mapped many times.

This change removes that assumption so rather than unregistering with
a HandlerMethod, which is not necessarily unique, the unregister method
now takes the actual mapping, which is the only thing that should actually
be unique.

Issue: SPR-11541
2015-05-04 17:24:49 -04:00
Rossen Stoyanchev
a274ede3ef Polish HierarchicalUriComponents 2015-05-04 11:46:29 -04:00
Rossen Stoyanchev
205e5dfd6f Support bridged methods in MvcUriComponentsBuilder
Issue: SPR-12977
2015-05-04 10:26:46 -04:00
Rossen Stoyanchev
9637b12f89 Fix typo
Issue: SPR-12962
2015-05-04 09:52:27 -04:00
Sam Brannen
efce40c391 Polish internal Javadoc for AnnotatedElementUtils
Issue: SPR-11514
2015-05-04 14:15:16 +02:00
Brian Clozel
10d13892ed Upgrade to Undertow 1.2.4.Final
Issue: SPR-12469
2015-05-04 14:11:19 +02:00
Sam Brannen
e9c4db34ec Improve ex. msg for duplicate methods in MvcUriComponentsBuilder
This commit adds additional context to the exception message generated
when two candidate methods are discovered in MvcUriComponentsBuilder's
getMethod(Class<?>, String, Object...).

Issue: SPR-12977
2015-05-04 13:43:26 +02:00
Sam Brannen
859751b9d9 Add test for bridge method support in MvcUriComponentsBuilder
This commit introduces a new fromMethodNameWithBridgedMethod() test in
MvcUriComponentsBuilderTests which is currently disabled via @Ignore
until this bug is resolved.

Issue: SPR-12977
2015-05-04 13:43:25 +02:00
Brian Clozel
bb3f26483b Fix CachingResourceResolver key generation
When used in combination with GzipResourceResolver, the
CachingResourceResolver does not properly cache results, since it only
takes the request path as a input for cache key generation.

Here's an example of that behavior:

1. an HTTP client requests a resource with `Accept-Encoding: gzip`, so
the GzipResourceResolver can resolve a gzipped resource.
2. the configured CachingResourceResolver caches that resource.
3. another HTTP client requests the same resource, but it does not
support gzip encoding; the previously cached gzipped resource is still
returned.

This commit uses the presence/absence of gzip encoding support as an
input in cache keys generation.

Issue: SPR-12982
2015-05-04 13:33:22 +02:00
Rossen Stoyanchev
3abcea1296 Add RequestMappingInfoBuilder
Issue: SPR-11541
2015-05-04 06:08:26 -04:00
Rossen Stoyanchev
8f558e7c73 Add methods to (un)register HandlerMethod mappings
Issue: SPR-11541
2015-05-04 06:08:26 -04:00
Rossen Stoyanchev
6a28c86d18 Refactor AbstractHandlerMethodMapping
Before this change AbstractHandlerMethodMapping contained multiple
maps all containing different kinds of mapping meta-data. After the
change a MappingDefinitionRegistry inner class encapsulates these
fields along with their initialization code.

Issue: SPR-11541
2015-05-04 06:08:25 -04:00
Rossen Stoyanchev
ff7d4eebd8 Polish AbstractHandlerMethodMapping
Issue: SPR-11541
2015-05-04 06:08:25 -04:00
Rossen Stoyanchev
5538863dc9 Use shared eventLoopGroup in Reactor2TcpClient 2015-05-04 06:08:25 -04:00
Rossen Stoyanchev
49e90575e9 Disable ShallowEtagHeaderFilter for HTTP streaming
Issue: SPR-12960
2015-05-04 06:08:25 -04:00
Rossen Stoyanchev
68ecb92d1f Allow "ws" and "wss" for isValidCorsOrigin checks
Issue: SPR-12956
2015-05-04 06:08:25 -04:00
Rossen Stoyanchev
222f6998e4 Add userProperties to StandardWebSocketClient
Issue: SPR-12955
2015-05-04 06:08:25 -04:00
Sam Brannen
bb1886c5a8 Enable AbstractStaxHandlerTestCase to run w/o Internet connection 2015-05-02 23:23:51 +02:00
Sam Brannen
8049dc358f Upgrade JsonPath dependency in spring-test to 2.0.0
Issue: SPR-12969
2015-05-02 20:46:32 +02:00
Sam Brannen
e56363737b Make findAnnotationAttributes power search private 2015-05-02 10:38:31 +02:00
Stephane Maldini
7891c0d5ca Update reactor2 support 2015-04-30 10:59:11 +02:00
Stephane Maldini
5ebc1a8b60 Update to latest reactor 2.0.1 snapshot 2015-04-30 10:59:00 +02:00
Sam Brannen
a2a105918c Upgrade mockito-core dependency to 1.10.19 2015-04-27 12:30:44 +02:00
Sam Brannen
03037496c3 Upgrade netty-all dependency to 4.0.27.Final 2015-04-27 12:29:12 +02:00
Sam Brannen
b45ebad2c2 Add netty-all test dependency to spring-websocket
This commit fixes recent build failures involving
MessageBrokerBeanDefinitionParserTests and NoClassDefFoundError:
io/netty/channel/nio/NioEventLoopGroup.
2015-04-27 12:20:53 +02:00