- 02 12月, 2014 2 次提交
-
-
由 Juergen Hoeller 提交于
Issue: SPR-12493
-
由 Juergen Hoeller 提交于
Issue: SPR-12489
-
- 29 10月, 2014 1 次提交
-
-
由 Juergen Hoeller 提交于
Normalized AnnotationAttributesReadingVisitor class layout and improved diagnostics through delegating to AnnotationUtils Issue: SPR-12387
-
- 21 10月, 2014 4 次提交
-
-
由 Juergen Hoeller 提交于
OrderUtils.getPriority uses AnnotationUtils.findAnnotation for consistent lookup rules and diagnostics Issue: SPR-12357
-
由 Juergen Hoeller 提交于
Issue: SPR-12325
-
由 Juergen Hoeller 提交于
-
由 Juergen Hoeller 提交于
AnnotationUtils favors local composed annotations over interface annotations and consistently logs introspection failures via lazily initialized logger Issue: SPR-12355 Issue: SPR-12325 Issue: SPR-12329
-
- 04 9月, 2014 1 次提交
-
-
由 Juergen Hoeller 提交于
Issue: SPR-11310 Issue: SPR-10548
-
- 08 8月, 2014 1 次提交
-
-
由 Juergen Hoeller 提交于
Issue: SPR-12065
-
- 02 8月, 2014 1 次提交
-
-
由 Sam Brannen 提交于
-
- 08 7月, 2014 1 次提交
-
-
由 Juergen Hoeller 提交于
-
- 01 7月, 2014 1 次提交
-
-
由 Juergen Hoeller 提交于
-
- 27 6月, 2014 1 次提交
-
-
由 Juergen Hoeller 提交于
ReflectionUtils caches Class.getDeclaredMethods() results; AnnotationUtils caches findAnnotation results Issue: SPR-11882
-
- 24 6月, 2014 2 次提交
-
-
由 Juergen Hoeller 提交于
AnnotationUtils defensively catches and logs unexpected exceptions from retrieval attempts (proceeding like the annotation wasn't there) Issue: SPR-11874
-
由 Juergen Hoeller 提交于
AnnotationUtils defensively catches unexpected exceptions from retrieval attempts (proceeding like the annotation wasn't there) This is analogous to what the JVM does for cases where the annotation type itself isn't present on the classpath. We're effectively extending that policy to values referenced within an annotation declaration. Issue: SPR-11874
-
- 05 6月, 2014 1 次提交
-
-
由 Stephane Nicoll 提交于
This commit introduces OrderProvider and OrderProviderComparator, two interfaces designed to externalize how a collection of element is sorted according to their order value. FactoryAwareOrderProvider is an OrderProvider implementation that knows about the objects to order and the corresponding BeanFactory instance. This allows to retrieve additional metadata about the actual instances to sort, such as its factory method. A @Bean method can now holds an additional @order to define the order value that this bean should have when injected as part of a collection or array. Issue: SPR-11310
-
- 30 4月, 2014 2 次提交
-
-
由 Juergen Hoeller 提交于
-
由 Juergen Hoeller 提交于
-
- 29 4月, 2014 1 次提交
-
-
由 Juergen Hoeller 提交于
-
- 23 4月, 2014 1 次提交
-
-
由 Juergen Hoeller 提交于
-
- 01 4月, 2014 1 次提交
-
-
由 Stephane Nicoll 提交于
This commit rationalizes the use of @order so that the standard @Priority annotation can be used instead. The handling of both annotations are now defined in OrderUtils. This also updates the link to the JavaEE API so that we refer to JavaEE7 instead of JavaEE6. Issue: SPR-11639
-
- 26 3月, 2014 1 次提交
-
-
由 Sam Brannen 提交于
Changes introduced in conjunction with issue SPR-11475 altered the behavior of StandardAnnotationMetadata such that annotations could be detected on superclasses, specifically in the case where the AnnotatedElementUtils.getAllAnnotationAttributes() method is invoked to obtain multiple annotations of the same type (on the lowest level in the class hierarchy), as is the case for @Profile and @Conditional. This commit partially reverts these changes as follows: - All methods in AnnotatedElementUtils now set the traverseClassHierarchy to false, thereby effectively reverting the changes made in commit 1d30bf83. Note, however, that the changes made to AnnotationUtils remain in place. - Introduced tests in AnnotationMetadataTests that verify behavior present in Spring Framework 4.0.2 and earlier. - Updated tests in AnnotatedElementUtilsTests so that they pass against the reverted changes (i.e., align with the behavior present in Spring Framework 4.0.2 and earlier). - Refined Javadoc in AnnotationMetadata with regard to annotations being "present" vs. "defined". - Refined Javadoc in AnnotatedTypeMetadata. Issue: SPR-11475, SPR-11595
-
- 20 3月, 2014 1 次提交
-
-
由 Sam Brannen 提交于
Prior to this commit, Spring supported meta-annotation attribute overrides in custom composed annotations with reflection-based annotation processing but not with ASM-based annotation processing. This commit ensures that meta-annotation attribute overrides are supported in AnnotationMetadataReadingVisitor.getAnnotationAttributes(). Issue: SPR-11574
-
- 28 2月, 2014 1 次提交
-
-
由 Juergen Hoeller 提交于
Issue: SPR-10441
-
- 27 2月, 2014 1 次提交
-
-
由 Sam Brannen 提交于
The previous commit introduced a dependency on Class.getDeclaredAnnotation() which is a Java 8 API. This commit refactors AnnotationUtils.findAnnotation(Class, Class, Set) to use Class.getAnnotation() in conjunction with isAnnotationDeclaredLocally() in order to achieve the same desired behavior. Issue: SPR-11475
-
- 26 2月, 2014 2 次提交
-
-
由 Sam Brannen 提交于
Prior to this commit, the implementations of findAnnotation() in AnnotationUtils and getAnnotationAttributes() in AnnotatedElementUtils favored inherited annotations and inherited composed annotations over composed annotations that are declared closer to the starting class passed to these methods. This commit addresses this issue as follows: - Refactored AnnotationUtils to use getDeclaredAnnotation() and getDeclaredAnnotations() instead of getAnnotation() and getAnnotations() where appropriate. - AnnotatedElementUtils.doProcess() supports a traverseClassHierarchy flag to control whether the class hierarchy should be traversed, using getDeclaredAnnotations() instead of getAnnotations() if the flag is true. - Overhauled Javadoc in AnnotatedElementUtils. Issue: SPR-11475
-
由 Sam Brannen 提交于
This commit introduces a new isInJavaLangAnnotationPackage(Annotation) method in AnnotationUtils. This method is now used in AnnotationUtils, AnnotatedElementUtils, and MetaAnnotationUtils to ensure that search algorithms do no search for meta-annotations on annotations in the "java.lang.annotation" package. The following are some empirical results from this change: - The number of times that the findAnnotation(Class,Class,Set) method in AnnotationUtils is recursively invoked while executing AnnotationUtilsTests drops from 51 to 29. - The number of times that the process(AnnotatedElement) method in AnnotationUtils.AnnotationCollector is recursively invoked while executing AnnotationUtilsTests.getRepeatableFromMethod() drops from 16 to 2. - The number of times that the doProcess() method in AnnotatedElementUtils is recursively invoked while executing the "getAnnotationAttributes() On MetaCycleAnnotatedClass with missing target meta-annotation" test in AnnotatedElementUtilsTests drops from 23 to 5. - The number of times that the findAnnotationDescriptor(Class,Set,Class) method in MetaAnnotationUtils is recursively invoked while executing the "findAnnotationDescriptor() on MetaCycleAnnotatedClass with missing target meta-annotation" test in MetaAnnotationUtilsTests drops from 16 to 8. Issue: SPR-11483
-
- 22 2月, 2014 1 次提交
-
-
由 Sam Brannen 提交于
-
- 20 2月, 2014 1 次提交
-
-
由 Sam Brannen 提交于
Prior to this commit, AnnotationUtils.findAnnotation(Class, Class) claimed to recursively search through annotations; however, only one level of annotations was supported by the algorithm. This commit alters the search algorithm so that nested meta-annotations (i.e., meta-annotations on meta-annotations) are also supported. Issue: SPR-11448
-
- 27 11月, 2013 1 次提交
-
-
由 Phillip Webb 提交于
Apply consistent styling to new classes introduced in Spring 4.0. - Javadoc line wrapping, whitespace and formatting - General code whitespace - Consistent Assert.notNull messages
-
- 26 11月, 2013 1 次提交
-
-
由 Phillip Webb 提交于
Fix remaining Java compiler warnings, mainly around missing generics or deprecated code. Also add the `-Werror` compiler option to ensure that any future warnings will fail the build. Issue: SPR-11064
-
- 22 11月, 2013 1 次提交
-
-
由 Sam Brannen 提交于
- Added explicit reference to “get” and “find” lookup types in the class-level Javadoc. - Updated documentation for the underlying algorithms in findAnnotation(Method,Class) and findAnnotation(Class,Class) in line with the status quo. - Reverted recent changes to findAnnotationDeclaringClass() by removing meta-annotation support in order to maintain backwards compatibility with previous releases.
-
- 21 11月, 2013 1 次提交
-
-
由 Sam Brannen 提交于
Prior to this commit, the getValue(Annotation, String) method in AnnotationUtils failed to retrieve the value of the desired annotation attribute if the annotation itself was not public -- for example if the annotation was declared as package private. This commit addresses this issue by ensuring that getValue(Annotation, String) uses reflection to make the desired annotation attribute method accessible before attempting to invoke it to retrieve the value. Issue: SPR-11104
-
- 28 10月, 2013 1 次提交
-
-
由 Sam Brannen 提交于
Spring 3.0 already allows component stereotypes to be used in a meta-annotation fashion, for example by creating a custom @TransactionalService stereotype annotation which combines @Transactional and @Service in a single, reusable, application-specific annotation. However, the Spring TestContext Framework (TCF) currently does not provide any support for test-related annotations to be used as meta-annotations. This commit overhauls the TCF with regard to how annotations are retrieved and adds explicit support for the following annotations to be used as meta-annotations in conjunction with the TCF. - @ContextConfiguration - @ContextHierarchy - @ActiveProfiles - @DirtiesContext - @IfProfileValue - @ProfileValueSourceConfiguration - @BeforeTransaction - @AfterTransaction - @TransactionConfiguration - @Rollback - @TestExecutionListeners - @Repeat - @Timed - @WebAppConfiguration Note that meta-annotation support for @Transactional was already available prior to this commit. The following is a summary of the major changes included in this commit. - Now using AnnotationUtils.getAnnotation() instead of Class.getAnnotation() where appropriate in the TestContext Framework. - Now using AnnotationUtils.findAnnotation() instead of Class.isAnnotationPresent() where appropriate in the TestContext Framework. - Introduced findAnnotationPrefersInteracesOverLocalMetaAnnotations() in AnnotationUtilsTests in order to verify the status quo. - AnnotationUtils.findAnnotationDeclaringClass() and AnnotationUtils.findAnnotationDeclaringClassForTypes() now support meta annotations. - Introduced MetaAnnotationUtils and AnnotationDescriptor in the spring-test module. - Introduced UntypedAnnotationDescriptor in MetaAnnotationUtils. - Introduced findAnnotationDescriptorForTypes() in MetaAnnotationUtils. - ContextLoaderUtils now uses MetaAnnotationUtils for looking up @ActiveProfiles as a potential meta-annotation. - TestContextManager now uses MetaAnnotationUtils for looking up @TestExecutionListeners as a potential meta-annotation. - DirtiesContextTestExecutionListener now uses AnnotationUtils for looking up @DirtiesContext as a potential meta-annotation. - Introduced DirtiesContextTestExecutionListenerTests. - ProfileValueUtils now uses AnnotationUtils for looking up @IfProfileValue and @ProfileValueSourceConfiguration as potential meta-annotations. - @BeforeTransaction and @AfterTransaction now support ANNOTATION_TYPE as a target, allowing them to be used as meta-annotations. - TransactionalTestExecutionListener now uses AnnotationUtils for looking up @BeforeTransaction, @AfterTransaction, @Rollback, and @TransactionConfiguration as potential meta-annotations. - Introduced TransactionalTestExecutionListenerTests. - @Repeat and @Timed now support ANNOTATION_TYPE as a target, allowing them to be used as meta-annotations. - SpringJUnit4ClassRunner now uses AnnotationUtils for looking up @Repeat and @Timed as potential meta-annotations. - Moved all remaining logic for building the MergedContextConfiguration from the DefaultTestContext constructor to ContextLoaderUtils.buildMergedContextConfiguration(). - Verified meta-annotation support for @WebAppConfiguration and @ContextConfiguration. Issue: SPR-7827
-
- 23 10月, 2013 1 次提交
-
-
由 Phillip Webb 提交于
Support repeatable @PropertySource annotations in Java 8 and add @PropertySources container annotation for Java 6/7. Also add an ignoreResourceNotFound attribute to @PropertySource allowing missing property resources to be silently ignored. This commit also introduces some generally useful methods to AnnotationUtils for working with @Repeatable annotations. Issue: SPR-8371
-
- 28 8月, 2013 1 次提交
-
-
由 Juergen Hoeller 提交于
This turned into a rather huge affair since it led to the introduction of a new AutowireCandidateResolver implementation in the spring-context module. That ACR impl is now being set through AnnotationConfigUtils; GenericApplicationContext and co do not set a default QualifierAnnotationAutowireCandidateResolver anymore (which has always been a smell anyway). At the same time, dependency ordering has moved from AutowiredAnnotationBeanPostProcessor to DefaultListableBeanFactory itself through a "dependencyComparator" strategy, applying to constructor dependencies and lazy resolution proxies as well. Issue: SPR-10353
-
- 22 8月, 2013 1 次提交
-
-
由 Juergen Hoeller 提交于
Issue: SPR-5574
-
- 21 8月, 2013 2 次提交
-
-
由 Juergen Hoeller 提交于
Issue: SPR-10181
-
由 Juergen Hoeller 提交于
Issue: SPR-10181
-
- 17 5月, 2013 1 次提交
-
-
由 Juergen Hoeller 提交于
Issue: SPR-10514
-