Commit Graph

19930 Commits

Author SHA1 Message Date
Rossen Stoyanchev
a0bba453da Add comment to use Stack Overflow before JIRA 2015-12-14 11:04:42 -05:00
Juergen Hoeller
a36c0a50e6 Defensive error reporting when StandardAnnotationMetadata introspects declared methods
Issue: SPR-13791
2015-12-14 15:13:29 +01:00
Juergen Hoeller
21329df7e1 Polishing 2015-12-14 00:56:06 +01:00
Juergen Hoeller
bdb606b8b1 Polishing 2015-12-13 23:27:05 +01:00
Juergen Hoeller
ef1e17fd15 Polishing 2015-12-13 01:14:38 +01:00
Juergen Hoeller
04f765506e Fine-tuned method/field access checks 2015-12-13 01:10:01 +01:00
Andy Clement
a28fc760ba Fix SpEL compilation of static method/property/field operations
Before this change the compilation of a method reference or property/field
access was not properly cleaning up the stack if compilation meant
calling a static method or accessing a static field. In these cases there
is no need for a target object on the stack and it should be removed if
present. For a simple expression it is harmless since the end result of
the expression is the thing on the top of the stack, but for nested
expressions if the inner expression suffered this issue, the outer
expression can find itself operating on the wrong element.

The particular issue covered the case of a static field access but this
fix (and associated tests) cover static method, property and field access.

Issue: SPR-13781
2015-12-11 15:59:40 -08:00
Juergen Hoeller
9d944fbe7f Upgrade to Guava 19.0 and Undertow 1.3.10 2015-12-11 21:57:28 +01:00
Juergen Hoeller
0968e47b04 Polishing 2015-12-11 21:56:26 +01:00
Juergen Hoeller
356eaef20e Merge pull request #935 from garyrussell/SPR-13784
Base64Utils: URL/File Safe Alphabet

Issue: SPR-13784
2015-12-11 21:49:44 +01:00
Gary Russell
14fc6c2a99 SPR-13784: Base64Utils: URL/File Safe Alphabet
JIRA: https://jira.spring.io/browse/SPR-13784

JDK8 and Apache Commons Codec support the RFC 4648
"URL and Filename Safe" Base64 alphabet.

Add methods to `Base64Utils` to support this feature.
2015-12-11 14:55:15 -05:00
Rossen Stoyanchev
5231e7da7b Fix failing test 2015-12-10 16:50:28 -05:00
Rossen Stoyanchev
a0018d13e1 Add DispatcherHandlerErrorTests
The tests demonstrate failures at various phases of request processing
and the resulting error signals.
2015-12-10 16:35:40 -05:00
Rossen Stoyanchev
4ba3d0736f Add HttpExceptionHandler 2015-12-10 16:35:40 -05:00
Rossen Stoyanchev
448aac813a Add MockServerHttpRequest/Response 2015-12-10 16:35:40 -05:00
Rossen Stoyanchev
aaffc2366c Remove file committed by error in last commit 2015-12-10 12:26:26 -05:00
Rossen Stoyanchev
dc7ed57c67 Support resource URL encoding at context path
Issue: SPR-13757
2015-12-10 12:24:04 -05:00
Juergen Hoeller
beef5ff4c3 Polishing 2015-12-10 01:12:58 +01:00
Juergen Hoeller
ca9a078d82 Polishing 2015-12-10 00:31:37 +01:00
Juergen Hoeller
f119962378 SimpAnnotationMethodMessageHandler ignores empty marker annotations
Issue: SPR-13704
2015-12-10 00:30:50 +01:00
Juergen Hoeller
fdc14a16ee AbstractApplicationContext clears ReflectionUtils cache as well
Issue: SPR-13783
2015-12-09 19:25:27 +01:00
Juergen Hoeller
78dad4cfc3 Jdbc4SqlXmlHandler returns null as documented (instead of throwing NPE)
Issue: SPR-13782
2015-12-09 16:09:11 +01:00
Juergen Hoeller
7f7f24949b Polishing 2015-12-09 15:13:41 +01:00
Juergen Hoeller
76f84b914f Polishing 2015-12-09 13:10:04 +01:00
Juergen Hoeller
11806b9215 Class identity comparisons wherever possible (and further polishing)
Issue: SPR-12926
2015-12-09 12:28:09 +01:00
Juergen Hoeller
4261f34b63 Consistent and lenient HttpMethod resolution across all web modules
Issue: SPR-13776
2015-12-09 12:26:44 +01:00
Stephane Nicoll
34b596c6bf Polish cache javadoc
Issue: SPR-13746
2015-12-09 11:24:53 +01:00
Sebastien Deleuze
78454f5a2e Add a link to Spring Reactive Playground 2015-12-09 11:18:50 +01:00
Juergen Hoeller
0d6545f47c Latest dependency updates (Jackson 2.6.4, Quartz 2.2.2, C3P0 0.9.5.2) 2015-12-09 11:11:03 +01:00
Rossen Stoyanchev
ef3560a55a Add HttpHandlerDecorator and fix test package 2015-12-08 22:50:25 -05:00
Rossen Stoyanchev
1dcaff8a5c Updates to Javadoc 2015-12-08 22:50:24 -05:00
Stephane Maldini
fbb0c702c9 minor reactor server impl to fulfill core introspection 2015-12-09 01:58:53 +00:00
Rossen Stoyanchev
ad4be9462b Drop use of WebApplicationContext in tests
It brings along Servlet imports.
2015-12-08 14:33:23 -05:00
Juergen Hoeller
8346eeda27 Reset BytesMessage after payload extraction
Issue: SPR-13769
2015-12-08 17:12:38 +01:00
Juergen Hoeller
9589749fb2 Introduced createMethodJmsListenerEndpoint template method
Issue: SPR-13774
2015-12-08 17:07:40 +01:00
Stephane Maldini
4616938525 Prepare for a future change to downstream() inner method in reactor-core 2015-12-08 13:21:35 +00:00
Juergen Hoeller
b3115fcd85 Upgrade to Tomcat 8.0.30 and Undertow 1.3.9 2015-12-07 23:38:48 +01:00
Rossen Stoyanchev
45706422dd InvocableHandlerMethod and arg resolution updates
General improvements e.g. make use of Java 8 Stream. The main reason
for the refactoring however to tighten error handling. To that extent:

InvocableHandlerMethod turns all exceptions into Reactive Streams
error signals, in effect never allowing any Exceptions to bubble up.

HandlerMethodArgumentResolver may throw an Exception for sync resolution
or produce an error signal via the returned Publisher. Either way the
exception is consistently wrapped with helpful method argument details.
For the latter case using a custom mapError operator.

HandlerMethodArgumentResolver no longer needs to return Optional for
nullable argument values. Instead (for now) the defaultIfEmpty operator
of reactor.rx.Stream operator is used to ensure a default constant value
(called "NO_VALUE") is produced. That way an argument resolver may
produce 0..1 values where 0 means it did not resolve to any value and
that results in null passed as the argument value.

If a HandlerMethodArgumentResolver produces more than one value, all
additional values beyond the first one will be ignored with the help
of a custom "first" operator.

As HandlerMethod is invoked within the map operator, checked exceptions
are not allowed but instead of wrapping it in a runtime exception what
we really need is to unwrap the target exception for exception
resolution purposes. To this end concatMap is used to produce a nested
Publisher or an error Publisher with the unwrapped target exception.

Related to that InvocableHandlerMethod now returns
Publisher<HandlerResult> instead of Publisher<Object> so that no longer
needs to be externally mapped from Object to HandlerResult.

InvocableHandlerMethodTests provides tests for the above scenarios and
verifies the details of resulting error signals.
2015-12-07 17:36:58 -05:00
Juergen Hoeller
d2ad2c3af8 StatementCreatorUtils detects Microsoft SQL Server driver 4.0 as well
Issue: SPR-13772
2015-12-07 17:37:52 +01:00
Juergen Hoeller
d0814703c4 AnnotationUtils.synthesizeAnnotation explicitly checks whether SynthesizedAnnotation is exposable
Issue: SPR-13696
2015-12-07 17:36:14 +01:00
Juergen Hoeller
40cff5e340 Polishing 2015-12-07 17:30:25 +01:00
Juergen Hoeller
ee35b5ed07 Polishing 2015-12-07 12:52:06 +01:00
Juergen Hoeller
7a8a9c71b6 Javadoc fixes
Issue: SPR-13763
2015-12-07 12:51:44 +01:00
Juergen Hoeller
1585a822d6 Javadoc fixes
Issue: SPR-13765
2015-12-07 12:50:23 +01:00
Juergen Hoeller
b1ef6ece9f AbstractRequestLoggingFilter unwraps request to find ContentCachingRequestWrapper
Issue: SPR-13764
2015-12-07 12:47:38 +01:00
Juergen Hoeller
20beace1bf AnnotationConfigWebApplicationContext allows for custom AnnotatedBeanDefinitionReader/ClassPathBeanDefinitionScanner
Issue: SPR-9324
2015-12-07 12:46:32 +01:00
Sebastien Deleuze
ce0bd2efc2 Improve Gradle dependencies version management
This commit also updates to the following dependencies:
 - Spring Framework 4.2.3.RELEASE
 - RxJava 1.1.0
2015-12-07 11:35:00 +01:00
Juergen Hoeller
9973694ed2 Polishing 2015-12-04 20:43:20 +01:00
Rossen Stoyanchev
153a23dbf9 Configure view controllers with ApplicationContext
Issue: SPR-13762
2015-12-04 13:09:37 -05:00
Juergen Hoeller
3d1ae9c604 Efficient and consistent setAllowedOrigins collection type
Issue: SPR-13761
2015-12-04 16:21:53 +01:00