- 04 5月, 2015 2 次提交
-
-
由 Rossen Stoyanchev 提交于
Issue: SPR-12956
-
由 Rossen Stoyanchev 提交于
Issue: SPR-12955
-
- 03 5月, 2015 2 次提交
-
-
由 Sam Brannen 提交于
-
由 Sam Brannen 提交于
Issue: SPR-12969
-
- 02 5月, 2015 1 次提交
-
-
由 Sam Brannen 提交于
-
- 30 4月, 2015 2 次提交
-
-
由 Stephane Maldini 提交于
-
由 Stephane Maldini 提交于
-
- 27 4月, 2015 4 次提交
-
-
由 Sam Brannen 提交于
-
由 Sam Brannen 提交于
-
由 Sam Brannen 提交于
This commit fixes recent build failures involving MessageBrokerBeanDefinitionParserTests and NoClassDefFoundError: io/netty/channel/nio/NioEventLoopGroup.
-
由 Sam Brannen 提交于
This commit documents the status quo for the getMetaAnnotationTypes() method in AnnotatedElementUtils and adds appropriate regression tests to AnnotatedElementUtilsTests. In addition, this commit also introduces a SimpleAnnotationProcessor base class in AnnotatedElementUtils. Issue: SPR-11514
-
- 26 4月, 2015 2 次提交
-
-
由 Sam Brannen 提交于
This commit documents return values throughout AnnotatedElementUtils and improves the documentation for the internal Processor API. Issue: SPR-11514
-
由 Sam Brannen 提交于
Prior to this commit it was possible for two @BootstrapWith annotations to be 'present' on a test class -- for example, via competing custom composed annotations. However, only one of the annotations will ever be used to bootstrap the TestContext Framework. Thus, in such scenarios one of the annotations will be silently ignored. This commit introduces a check for such scenarios. BootstrapUtils' resolveTestContextBootstrapper() method now throws an IllegalStateException if more than one @BootstrapWith annotation is 'present' on a given test class. Issue: SPR-12602
-
- 25 4月, 2015 4 次提交
-
-
由 Juergen Hoeller 提交于
Issue: SPR-12932
-
由 Sam Brannen 提交于
Issue: SPR-12738
-
由 Sam Brannen 提交于
This commit consistently documents the 'element' and 'annotationType' method arguments throughout AnnotatedElementUtils. In addition, this commit introduces assertions against preconditions for all 'element' and 'annotationType' method arguments. Issue: SPR-11514
-
由 Rob Winch 提交于
Previously MockHttpServletRequestBuilder merge method would append the parent's (default) RequestPostProcessor implementations to the end. This means that the default RequestPostProcessor implementations would override values set by previous RequestPostProcessor implementations. This commit ensures that the default RequestPostProcessor are preformed first so that additional RequestPostProcessor implementations override the defaults. Issue: SPR-12945
-
- 24 4月, 2015 7 次提交
-
-
由 Juergen Hoeller 提交于
Issue: SPR-12928
-
由 Rossen Stoyanchev 提交于
Issue: SPR-12296
-
由 Rossen Stoyanchev 提交于
Issue: SPR-12296
-
由 Rossen Stoyanchev 提交于
Issue: SPR-12599
-
由 Stephane Maldini 提交于
Issue: SPR-12599
-
由 Sam Brannen 提交于
-
由 Sam Brannen 提交于
This commit introduces support for finding annotations on abstract, bridge, and interface methods in AnnotatedElementUtils. - Introduced dedicated findAnnotationAttributes() methods in AnnotatedElementUtils that provide first-class support for processing methods, class hierarchies, interfaces, bridge methods, etc. - Introduced find/get search algorithm dichotomy in AnnotatedElementUtils which is visible in the public API as well as in the internal implementation. This was necessary in order to maintain backwards compatibility with the existing API (even though it was undocumented). - Reverted all recent changes made to the "get semantics" search algorithm in AnnotatedElementUtils in order to ensure backwards compatibility, and reverted recent changes to JtaTransactionAnnotationParser and SpringTransactionAnnotationParser accordingly. - Documented internal AnnotatedElementUtils.Processor<T> interface. - Enabled failing tests and introduced findAnnotationAttributesFromBridgeMethod() test in AnnotatedElementUtilsTests. - Refactored ApplicationListenerMethodAdapter.getCondition() and enabled failing test in TransactionalEventListenerTests. - AnnotationUtils.isInterfaceWithAnnotatedMethods() is now package private. Issue: SPR-12738, SPR-11514, SPR-11598
-
- 23 4月, 2015 12 次提交
-
-
由 Sam Brannen 提交于
-
由 Sam Brannen 提交于
-
由 Rossen Stoyanchev 提交于
Before 4.2 the MvcUriComponentsBuilder exposed only static factory methods and therefore there should be no reason for it to extend UriComponentsBuilder (design oversight). It's also highly unlikely for application code to treat MvcUriCB as UriCB since there is no need and no way to obtain an instance (constructor is protected). This change removes the base class declaration from MvcUriCB. Issue: SPR-12617
-
由 Rossen Stoyanchev 提交于
-
由 Rossen Stoyanchev 提交于
Before this change MvcUriComponentsBuilder exposed only static factory methods for creating links where the links are relative to the current request or a baseUrl explicitly provided as an argument. This change allows creating an MvcUriComponents builder instance with a built-in baseUrl. The instance can then be used with non-static withXxx(...) method alternatives to the static fromXxx(...) methods. Issue: SPR-12617
-
由 Sam Brannen 提交于
Prior to this commit, AnnotationAttributes retrieved from MetaAnnotationUtils's AnnotationDescriptor could contain attributes from the wrong annotation if an inherited annotation shadowed a locally declared composed annotation. This commit addresses this issue by invoking the new getAnnotationAttributes() method in AnnotatedElementUtils that provides a flag to control whether superclasses should be searched -- which coincidentally processes local annotations before searching the class hierarchy. Issue: SPR-12749, SPR-11598
-
由 Sam Brannen 提交于
Issue: SPR-12738
-
由 Sam Brannen 提交于
Issue: SPR-12738
-
由 Sam Brannen 提交于
This commit introduces support in AnnotatedElementUtils for finding annotations declared on interfaces at the type level. NB: this commit does not include support for finding annotations declared on interface methods. In order to maintain backward compatibility with @Transactional annotation attribute processing, a new getAnnotationAttributes() method has been added to AnnotatedElementUtils that provides a flag to control whether interfaces should be searched. SpringTransactionAnnotationParser and JtaTransactionAnnotationParser have been updated accordingly to ensure that interfaces are not unintentionally searched in the @Transactional resolution process. This commit also introduces additional tests and updates TODOs for SPR-12738. Issue: SPR-12944, SPR-12738
-
由 Sam Brannen 提交于
-
由 Sam Brannen 提交于
-
由 Rossen Stoyanchev 提交于
Issue: SPR-12170
-
- 22 4月, 2015 4 次提交
-
-
由 Sebastien Deleuze 提交于
This commit adds support for script based templating. Any templating library running on top of a JSR-223 ScriptEngine that implements Invocable like Nashorn or JRuby could be used. For example, in order to render Mustache templates thanks to the Nashorn Javascript engine provided with Java 8+, you should declare the following configuration: @Configuration @EnableWebMvc public class MustacheConfig extends WebMvcConfigurerAdapter { @Override public void configureViewResolvers(ViewResolverRegistry registry) { registry.scriptTemplate(); } @Bean public ScriptTemplateConfigurer configurer() { ScriptTemplateConfigurer configurer = new ScriptTemplateConfigurer(); configurer.setEngineName("nashorn"); configurer.setScripts("mustache.js"); configurer.setRenderObject("Mustache"); configurer.setRenderFunction("render"); return configurer; } } The XML counterpart is: <beans> <mvc:annotation-driven /> <mvc:view-resolvers> <mvc:script-template /> </mvc:view-resolvers> <mvc:script-template-configurer engine-name="nashorn" render-object="Mustache" render-function="render"> <mvc:script location="mustache.js" /> </mvc:script-template-configurer> </beans> Tested with: - Handlebars running on Nashorn - Mustache running on Nashorn - React running on Nashorn - EJS running on Nashorn - ERB running on JRuby - String templates running on Jython Issue: SPR-12266
-
由 Rossen Stoyanchev 提交于
Issue: SPR-12884
-
由 Sam Brannen 提交于
-
由 Sam Brannen 提交于
Prior to this commit, the search algorithm used by the findAnnotation(Method, Class) method in AnnotationUtils only found direct annotations or direct meta-annotations (i.e., one level of meta-annotations). This commit reworks the search algorithm so that it supports arbitrary levels of meta-annotations on methods. To make this possible, a new findAnnotation(AnnotatedElement, Class) method has been introduced in AnnotationUtils. This fix also allows for the @Ignore'd tests in TransactionalEventListenerTests to be re-enabled. Issue: SPR-12941
-