- 20 6月, 2015 1 次提交
-
-
由 Sam Brannen 提交于
Prior to this commit, the implementation of getRepeatableAnnotation() in Spring's AnnotationUtils complied neither with the contract of getAnnotationsByType() nor with the contract of getDeclaredAnnotationsByType() as defined in AnnotatedElement in Java 8. Specifically, unexpected results can be encountered when using Spring's support for @Repeatable annotations: either annotations show up in the returned set in the wrong order, or annotations are returned in the set that should not even be found based on the semantics of @Repeatable. This commit remedies this problem by deprecating the existing getRepeatableAnnotation() methods and replacing them with new getRepeatableAnnotations() and getDeclaredRepeatableAnnotations() methods that comply with the contracts of Java's getAnnotationsByType() and getDeclaredAnnotationsByType(), respectively. Issue: SPR-13068
-
- 19 6月, 2015 8 次提交
-
-
由 Sam Brannen 提交于
-
由 Sam Brannen 提交于
-
由 Sam Brannen 提交于
-
由 Sam Brannen 提交于
-
由 Sam Brannen 提交于
-
由 Sam Brannen 提交于
-
由 Sam Brannen 提交于
The initial support for synthesizing an annotation from a Map (or AnnotationAttributes) introduced in SPR-13067 required that the map contain key-value pairs for every attribute defined by the supplied annotationType. However, there are use cases that would benefit from being able to supply a reduced set of attributes and still have the annotation synthesized properly. This commit refines the validation mechanism in MapAnnotationAttributeExtractor so that a reduced set of attributes may be supplied. Specifically, if an attribute is missing in the supplied map the attribute will be set either to value of its alias (if an alias value configured via @AliasFor exists) or to the value of the attribute's default value (if defined), and otherwise an exception will be thrown. Furthermore, TransactionalTestExecutionListener has been refactored to take advantage of this new feature by synthesizing an instance of @TransactionConfiguration solely from the default values of its declared attributes. Issue: SPR-13087
-
由 Sebastien Deleuze 提交于
-
- 18 6月, 2015 9 次提交
-
-
由 Juergen Hoeller 提交于
-
由 Juergen Hoeller 提交于
Issue: SPR-13085
-
由 Rossen Stoyanchev 提交于
Issue: SPR-11193
-
由 Rossen Stoyanchev 提交于
Before this change ResponseStatusExceptionResolver always used .sendError despite the javadoc on @ResponseStatus#code. This was perhaps justifiable from a HandlerExceptionResolver. Nevertheless .setStatus should be more REST API friendly while still marking the response as an error. Issue: SPR-11193
-
由 Rossen Stoyanchev 提交于
Before this change the AbstractMessageConverterMethodProcessor always raised a 406 if it couldn't find a converter. However if the reason for not finding it is because there is simply no converter for the return value type (i.e. programming error) and doesn't have anything to do with content negotiation, then we should raise a 500 instead and make it easier to figure out what's wrong. Issue: SPR-13135
-
由 Sam Brannen 提交于
-
由 Sam Brannen 提交于
-
由 Sam Brannen 提交于
-
由 Martin Lippert 提交于
Issue: SPR-13139
-
- 17 6月, 2015 11 次提交
-
-
由 Stephane Nicoll 提交于
Issue: SPR-13133
-
由 Juergen Hoeller 提交于
Issue: SPR-13131
-
由 Juergen Hoeller 提交于
TransactionAttributeSourcePointcut pointcut skips target classes with TransactionalProxy marker (e.g. Spring Data proxies) This 4.2 commit also makes TransactionProxyFactoryBean expose the TransactionalProxy marker and refines SpringProxy marker handling. Issue: SPR-13109
-
由 Brian Clozel 提交于
Prior to this change, `XpathResultMatchers` and more generally the `MockHttpServletResponse` would default to ISO-8859-1 encoding even when it's not supposed to. The Servlet/HTTP specs mention this encoding for all `text/*` mime types when decoding bodies to Strings, but this issue is about XML Parsers. XML Parsers should use the encoding: * defined in the `Content-Type` response header (if available) * written in the XML declaration of the document * "guessed" by a built-in auto-detection mechanism This commit changes the following: * XPathMatchers now feed the XML parser with byte arrays instead of decoded Strings * the response should be written to `MockHttpServletResponse` using its OutputStream, and not a PrintWriter which defaults to ISO-8859-1 Issue: SPR-12676
-
由 Brian Clozel 提交于
This commit improves SPR-13090 and avoids adding duplicate ETag and Last-Modified headers in HTTP responses. Previously, those were added twice to the response since: * we're adding all ResponseEntity headers to the response * the `checkNotModified` methods automatically add those headers Issue: SPR-13090
-
由 Sam Brannen 提交于
-
由 Sam Brannen 提交于
-
由 Sam Brannen 提交于
-
由 Juergen Hoeller 提交于
-
由 Juergen Hoeller 提交于
Fixed fallback mode in ObjenesisCglibAopProxy, plus consistent support for bypassing Objenesis (e.g. on Google App Engine) This 4.2 commit revises SpringObjenesis towards a smart delegate, including support for a "spring.objenesis.ignore" system property. Issue: SPR-13131
-
由 Juergen Hoeller 提交于
Issue: SPR-13128
-
- 16 6月, 2015 11 次提交
-
-
由 Stephane Nicoll 提交于
Review bd093eb6 to provide a generic type on `JmsResponse` Issue: SPR-13133
-
由 Stephane Nicoll 提交于
-
由 Stephane Nicoll 提交于
Add JmsResponse that can be used as return type of any JMS listener method to indicate not only the response but also the actual destination to which the reply should be sent. Issue: SPR-13133
-
由 Rossen Stoyanchev 提交于
Before this change HandlerMethodReturnValueHandler's were invoked in a specific order (type-based, annotation-based, custom). However handlers that deal with asynchronous return value handling need to always be considered first. This affects custom handlers in particular since they are normally ordered last. This change introduces an AsyncHandlerMethodReturnValueHandler sub-interface with a single method to determine if the return value is asynchronous and if it is to look for a matching handler only among those that are of type AsyncHandlerMethodReturnValueHandler. Issue: SPR-13083
-
由 Sebastien Deleuze 提交于
Issue: SPR-13078
-
由 Sebastien Deleuze 提交于
This commit introduces the following changes in AbstractHandlerExceptionResolver: - warnLogger used to log exception is enabled by default - the exception message is now logged instead of the whole exception stacktrace - warn logging is only performed if doResolveException() returns a non-null ModelAndView, in order to avoid logging multiple times the error Issue: SPR-13100
-
由 Juergen Hoeller 提交于
-
由 Juergen Hoeller 提交于
-
由 Juergen Hoeller 提交于
-
由 Juergen Hoeller 提交于
-
由 Rossen Stoyanchev 提交于
Before this change a missing path variable value resulted in a 400 error where in fact the error is due to a mismatch between the declared @PathVariable and the URI template, i.e. a 500 error. This change introduced a MissingPathVariableException as a sub-class of ServletRequestBindingException (the exception previously thrown) and results in a response status code of 500 by default. Issue: SPR-13121
-