Commit Graph

8138 Commits

Author SHA1 Message Date
Juergen Hoeller 2cdc066daf Relaxed statement on early validation of bean references
Issue: SPR-11495
2014-03-05 22:41:26 +01:00
Juergen Hoeller 2a2816dfc3 Restored proper handling of varargs in case of unresolvable type variable
Fixed through falling back to the raw parameter type in the TypeDescriptor(MethodParameter) constructor, properly detecting the vararg array even in case of an unresolvable type variable, and through restoring getElementTypeDescriptor's original behavior for arrays, i.e. always returning a non-null descriptor.

Issue: SPR-11494
2014-03-05 22:36:12 +01:00
Rossen Stoyanchev 34924810fe Remove field no longer used after previous commit
Issue: SPR-11516
2014-03-05 14:50:16 -05:00
Rossen Stoyanchev 74de35df1e Refactor async result handling in Spring MVC Test
This change removes the use of a CountDownLatch to wait for the
asynchronously computed controller method return value. Instead we
check in a loop every 200 milliseconds if the result has been set.
If the result is not set within the specified amount of time to wait
an IllegalStateException is raised.

Additional changes:
 - Use AtomicReference to hold the async result
 - Remove @Ignore annotations on AsyncTests methods
 - Remove checks for the presence of Servlet 3

Issue: SPR-11516
2014-03-05 12:55:39 -05:00
Juergen Hoeller e50cff47c1 KeyGenerators should not return a plain array parameter as raw key but rather always handle that case in a deepHashCode fashion
Issue: SPR-11505
2014-03-05 17:37:09 +01:00
Rossen Stoyanchev a434903a2a Adjust log level in LoggingWebSocketHandlerDecorator 2014-03-05 11:13:41 -05:00
Stephane Nicoll 9325a99bf0 Merge pull request #462 from snicoll/cache-tx-tests
* cache-tx-tests:
  Add tests for TransactionAwareCacheDecorator
2014-03-05 16:48:35 +01:00
Stephane Nicoll 45406aa19b Add tests for TransactionAwareCacheDecorator
This commit adds tests for TransactionAwareCacheDecorator. In
particular, the put/evict behaviour when the operation is invoked in
the course of Spring-managed transaction.
2014-03-05 16:48:20 +01:00
Juergen Hoeller ad317774fb instantiateUsingFactoryMethod avoids NPE and reports argument types in case of explicitArgs and resolved generic arguments as well
Issue: SPR-11517
2014-03-05 16:16:29 +01:00
Sam Brannen 9891bdc7b4 Clean up "abstract" test issues
- Deleted empty AbstractWebSocketClientTests class.

 - AbstractServletHandlerMethodTests and AbstractHttpRequestTests are
   now actually declared as abstract.

 - The following classes are not abstract but currently have an
   "Abstract" prefix and therefore get ignored by the Gradle build.
   This commit renames each of these by deleting the "Abstract" prefix.

   - AbstractFlashMapManagerTests
   - AbstractMappingContentNegotiationStrategyTests
   - AbstractSockJsServiceTests
   - AbstractWebSocketHandlerRegistrationTests
2014-03-05 12:41:26 +01:00
Sam Brannen b42f258c54 Use unmodifiable set in AbstractSockJsSession 2014-03-05 11:04:06 +01:00
Rossen Stoyanchev 705efc5bdf Fix timing issue with obtaining async result
Issue: SPR-11516
2014-03-04 21:38:42 -05:00
Stephane Nicoll c146be2eb7 Merge pull request #477 from candrews/patch-1
* patch-1:
  Fix SimpleKey equality with array argument
2014-03-04 14:24:03 +01:00
Craig Andrews 6d8f3a0a20 Fix SimpleKey equality with array argument
Prior to this commit, an array argument was not handled properly in
SimpleKey#equals and SimpleKey#hashCode. As a result, two method
invocations with the same array argument lead to two different keys
and therefore two different entries in the cache.

This commit uses deepEquals and deepHashCode to properly handle
methods that have arguments that are array types.

Issue: SPR-11505
2014-03-04 14:18:11 +01:00
Juergen Hoeller 9b771573ec Log4jWebConfigurer does not try to parse empty "log4jRefreshInterval" context-param
Issue: SPR-11507
2014-03-04 13:31:59 +01:00
Juergen Hoeller f3884084f2 Optimized DefaultResourceLoader's getResource implementation for "/..." paths, not relying on URL parsing exceptions for such a common case anymore
Issue: SPR-8283
2014-03-04 13:31:51 +01:00
Juergen Hoeller cb41f42791 AbstractApplicationEventMulticaster filters listeners against their type first, avoiding eager retrieval of listener instances for non-matching events
Issue: SPR-11501
2014-03-04 13:31:40 +01:00
Sam Brannen fa44224430 Aggregate JUnit and TestNG test reports
Prior to this commit, the test results for JUnit tests overwrote the
results for TestNG tests in the HTML test report generated by the
Gradle build.

This commit addresses this problem by introducing a new
'aggregateTestReports' task in the spring-test module and making the
'check' task depend on it.

To see aggregated reports in the spring-test module, execute either
`gradle build` or `gradle check`. Executing `gradle test` alone will
not trigger test report aggregation.

Issue: SPR-11509
2014-03-04 13:18:42 +01:00
Sam Brannen a60b34fd9e Merge pull request #476 from platan/master
Update MockRestServiceServer example in reference manual
2014-03-03 22:46:11 +01:00
Marcin Mielnicki 7cf5e3a508 Outdated code example correction in section 10.3.6 2014-03-03 22:20:28 +01:00
Brian Clozel 53017da0c3 Update reference documentation for SPR-11486
Issue: SPR-11486
2014-03-03 12:13:17 +01:00
Stephane Nicoll 035d9d5af0 Clarify exception handling in converter
Issue: SPR-11500
2014-03-03 10:02:39 +01:00
Sam Brannen 8f3a897502 Polish AbstractSockJsSession 2014-03-02 16:21:48 +01:00
Rossen Stoyanchev 4238299661 Add smart logging for disconnected SockJS clients
The Servlet API does not provide notifications when a client
disconnects, see see https://java.net/jira/browse/SERVLET_SPEC-44.
Therefore network IO failures may occur simply because a client has
gone away. Before this change that could fill logs with unnecessary
stack traces.

After this change we make a best effort to identify such network
failures, on a per-server basis (tested with Jetty, Tomcat, Glassfish,
and WildFly), and log them under a separate log category.

A simple one-line message is logged at DEBUG level (i.e. no stack trace)
while a full stack trace is shown at TRACE level.

Issue: SPR-11438
2014-03-01 14:46:44 -05:00
Sam Brannen 5d4ed4efe5 Fix DocBook to AsciiDoc conversion errors
- "__ `text`__" --> "__`text`__"

 - "`text` s" --> "`text`s"
2014-02-28 22:31:06 +01:00
Sam Brannen 1d47034736 Merge pull request #466 from olivergierke/SPR-11459
* SPR-11459:
  Update ref. manual to favor constructor injection
2014-02-28 22:00:22 +01:00
Oliver Gierke 74969a4794 Update ref. manual to favor constructor injection
The breakout box named "Constructor-based or setter-based DI?" in the
reference manual currently recommends the use of setter injection.

This commit refines this text to align with current best practices and
now favors constructor injection over setter injection.

Issue: SPR-11459
2014-02-28 21:53:54 +01:00
Juergen Hoeller 9af7d2646b Added documentation on how to set up JSR-303 method validation
Also removed outdated Struts references and made use of 'javadocs' term consistent.

Issue: SPR-11473
2014-02-28 19:02:18 +01:00
Juergen Hoeller 473061ec1e Added explicit note on thread safety to JdbcTemplate variants
Issue: SPR-11478
2014-02-28 19:00:31 +01:00
Rossen Stoyanchev c553d681f1 Add Servlet 3.1 methods to mock request
Issue: SPR-11492
2014-02-28 12:28:17 -05:00
Rossen Stoyanchev 3786993eb0 Merge pull request #474 from sdeleuze/SPR-11488 2014-02-28 11:55:57 -05:00
Rossen Stoyanchev c4000727ef Move customize(Un)Marshaller methods to abstract class
Issue: SPR-11488
2014-02-28 11:54:34 -05:00
Sebastien Deleuze 45be8c0692 Add marshalling hooks in Jaxb2RootElementHttpMessageConverter
Allow Jaxb2RootElementHttpMessageConverter subclasses to customize
the {@link Marshaller} and the {@link Unmarshaller} created by the
message converter.

Issue: SPR-11488
2014-02-28 11:48:31 -05:00
Sam Brannen 474142a862 Update link to Pro Git in CONTRIBUTING page 2014-02-28 17:43:18 +01:00
Sam Brannen 3a758a8c60 Update link to Pro Git in CONTRIBUTING page 2014-02-28 17:31:18 +01:00
Brian Clozel b22ae598ca update org name in links
SpringSource github org name changed to spring-projects.
2014-02-28 17:21:54 +01:00
Sam Brannen 5637890661 Link to @SpringCentral in README 2014-02-28 17:18:38 +01:00
Sam Brannen 57ecb9f307 Polish formatting and update links in README 2014-02-28 16:05:49 +01:00
Rossen Stoyanchev 035bac025a Use unique names when auto-registering Filters
AbstractDispatcherServletInitializer now adds a unique suffix to a
filter name if it fails to register it.

Issue: SPR-11493
2014-02-28 09:56:46 -05:00
Rossen Stoyanchev 8b24f99487 Update CONTRIBUTING.md 2014-02-28 09:50:31 -05:00
Brian Clozel fc05df0f14 Expose path matching settings in MVC Java config
Prior to this commit, one had to provide her own
RequestMappingHandlerMapping instance (i.e extend
WebMvcConfigurationSupport and override the requestMappingHandlerMapping
method) in order to customize path matching properties on that bean.

Since SPR-10163, XML config users can do that using the
<mvc:path-matching/> XML tag. This commit adds the same feature to MVC
Java config with a PathMatchConfigurer.

Issue: SPR-11486
2014-02-28 15:50:01 +01:00
Rossen Stoyanchev 1c90bf5e4f Update CONTRIBUTING.md 2014-02-28 09:49:17 -05:00
Sam Brannen d108db8a79 Polish CONTRIBUTING page 2014-02-28 15:40:13 +01:00
Sam Brannen 2edff2135f Polish Javadoc for DefaultContentTypeResolver 2014-02-28 15:19:35 +01:00
Juergen Hoeller ac61b13a7c AnnotatedElementUtils wraps unexpected exceptions with descriptive IllegalStateException
Issue: SPR-10441
2014-02-28 14:17:37 +01:00
Juergen Hoeller 1763bfbad0 Fixed content length check in XmlValidationModeDetector
Issue: SPR-11477
2014-02-28 14:00:32 +01:00
Juergen Hoeller bc5af2c6b6 Upgraded to Hibernate 4.2.9 2014-02-28 14:00:00 +01:00
Rossen Stoyanchev 6016536055 Remove ContentTypeResolver from composite converter
Before this change CompositeMessageConverter had a ContentTypeResolver
field that was in turn set on all contained converters.

After this change that field is removed and effectively
CompositeMessageConverter is a simple container of other converters.
Each converter in turn must have been configured with a
ContentTypeResolver.

Doing so means it is less likely to have unexpected consequences when
configuring converters, the ContentTypeResolver set in the composite
converter overriding the one configured in a contained converter.

Also commit 676ce6 added default ContentTypeResolver initialization
to AbstractMessageConverter, which ensures that converters are still
straight forward to configure.

Issue: SPR-11462
2014-02-27 21:41:35 -05:00
Rossen Stoyanchev 0da1eefd74 Add default ContentTypeResolver initialization
Previously AbstractMessageConverter did not have a ContentTypeResolver
configured by default. However the Java config and XML namespace in
spring-messaging and spring-websocket always configured one.

This change ensures every AbstractMessageConverter is configured with an
instance of DefaultContentTypeResolver by default. This makes sense since
all the resolver does is make an attempt to find a content type to use
for matching. If it can't it returns null and it's up to the converter
to decide whether it can convert or not.

Issue: SPR-11462
2014-02-27 21:40:53 -05:00
Rossen Stoyanchev 801237aec1 Add getMatchingPatterns method to Patterns condition
Issue: SPR-11484
2014-02-27 16:27:40 -05:00