1. 26 11月, 2014 1 次提交
  2. 22 11月, 2014 1 次提交
  3. 20 11月, 2014 1 次提交
    • C
      Allow non-String args in JOptCommandLinePropertySource · dff48ad8
      Chris Beams 提交于
      Prior to this commit, JOptCommandLinePropertySource prevented the
      possibility of non-String option arguments. This effectively prevents
      the use of JOpt's #ofType support (which allows specifying custom
      argument types).
      
      Now, non-String arguments are detected and converted to strings as
      necessary. JOpt's #ofType now works as expected. A test has been added
      to cover this case.
      dff48ad8
  4. 21 10月, 2014 2 次提交
  5. 24 9月, 2014 1 次提交
  6. 22 9月, 2014 1 次提交
  7. 20 9月, 2014 1 次提交
  8. 12 9月, 2014 1 次提交
  9. 04 9月, 2014 1 次提交
  10. 22 8月, 2014 3 次提交
  11. 20 8月, 2014 1 次提交
  12. 13 8月, 2014 1 次提交
  13. 06 8月, 2014 1 次提交
    • D
      Change GenericConversionService to better handle enum · d0e6f0f7
      David Haraburda 提交于
      Prior to this commit, given an enum which implements some interface,
      GenericConversionService would select the String -> Enum converter even
      if a converter for String -> SomeInterface was registered.  This also
      affected converters that were registered for String ->
      SomeBaseInterface, when SomeInterface extended SomeBaseInterface.
      
      This change modifies the behavior of the private method
      getClassHierarchy() by placing Enum.class as late as possible, pretty
      much the same way as Object.class is handled.
      
      Issue: SPR-12050
      d0e6f0f7
  14. 25 6月, 2014 1 次提交
  15. 17 6月, 2014 1 次提交
  16. 05 6月, 2014 1 次提交
    • S
      Support for @order at the bean declaration level · 001d0e73
      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
      001d0e73
  17. 31 5月, 2014 1 次提交
  18. 07 5月, 2014 1 次提交
  19. 01 5月, 2014 1 次提交
  20. 22 4月, 2014 1 次提交
    • S
      Don't mutate annotation metadata when merging attrs · e1720d89
      Sam Brannen 提交于
      Prior to this commit, invoking the getMergedAnnotationAttributes()
      method in AnnotationReadingVisitorUtils resulted in mutation of the
      internal state of the ASM-based annotation metadata supplied to the
      method.
      
      This commit fixes this issue by making a copy of the original
      AnnotationAttributes for the target annotation before merging attribute
      values from the meta-annotation hierarchy.
      
      This commit also introduces a slight performance improvement by
      avoiding duplicate processing of the attributes of the target
      annotation.
      
      Issue: SPR-11710
      e1720d89
  21. 06 4月, 2014 1 次提交
  22. 01 4月, 2014 1 次提交
    • S
      javax.annotation.Priority alternative to @order · dcf5f4a6
      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
      dcf5f4a6
  23. 26 3月, 2014 2 次提交
    • J
      b9bac1d3
    • S
      Don't detect annotations on superclass in StAnMeta · a2f1169e
      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
      a2f1169e
  24. 20 3月, 2014 1 次提交
    • S
      Support meta-annotation overrides in ASM processing · 99cd2f60
      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
      99cd2f60
  25. 10 3月, 2014 1 次提交
  26. 08 3月, 2014 1 次提交
  27. 26 2月, 2014 2 次提交
    • S
      Favor 'local' annotations over inherited ones · 1d30bf83
      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
      1d30bf83
    • S
      Do not inspect meta-annotations on Java annotations · 979c4833
      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
      979c4833
  28. 24 2月, 2014 1 次提交
  29. 20 2月, 2014 1 次提交
    • S
      Support nested meta-annotations in AnnotationUtils · 42a36349
      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
      42a36349
  30. 19 2月, 2014 1 次提交
  31. 09 2月, 2014 1 次提交
  32. 04 2月, 2014 1 次提交
    • S
      Ensure all tests are executed in the Gradle build · b8ed2f49
      Sam Brannen 提交于
      Prior to this commit several test classes named "*Test" were not
      recognized as tests by the Gradle build. This is due to the configured
      inclusion of '**/*Tests.*' which follows Spring's naming convention for
      test classes.
      
      This commit addresses this issue by:
      
       - Renaming real test classes consistently to "*Tests".
       - Renaming internal test classes to "*TestCase".
       - Renaming @WebTest to @WebTestStereotype.
       - Disabling broken tests in AnnoDrivenStaticEntityMockingControlTest.
       - Modifying the Gradle build configuration so that classes ending in
         either "*Tests" or "*Test" are considered test classes.
      
      Issue: SPR-11384
      b8ed2f49
  33. 02 2月, 2014 1 次提交
  34. 01 2月, 2014 1 次提交
  35. 25 1月, 2014 1 次提交