1. 30 5月, 2015 2 次提交
  2. 29 5月, 2015 4 次提交
    • S
      Polishing · 8f233786
      Sam Brannen 提交于
      8f233786
    • S
      Remove trailing whitespace in Java source code · 7018747c
      Sam Brannen 提交于
      7018747c
    • S
      Merge from sbrannen/SPR-13067 · a31d1bdf
      Sam Brannen 提交于
      * SPR-13067:
        Synthesize annotation from a map of attributes
      a31d1bdf
    • S
      Synthesize annotation from a map of attributes · e30c9b2e
      Sam Brannen 提交于
      Spring Framework 4.2 RC1 introduced support for synthesizing an
      annotation from an existing annotation in order to provide additional
      functionality above and beyond that provided by Java. Specifically,
      such synthesized annotations provide support for @AliasFor semantics.
      As luck would have it, the same principle can be used to synthesize an
      annotation from any map of attributes, and in particular, from an
      instance of AnnotationAttributes.
      
      The following highlight the major changes in this commit toward
      achieving this goal.
      
      - Introduced AnnotationAttributeExtractor abstraction and refactored
        SynthesizedAnnotationInvocationHandler to delegate to an
        AnnotationAttributeExtractor.
      
      - Extracted code from SynthesizedAnnotationInvocationHandler into new
        AbstractAliasAwareAnnotationAttributeExtractor and
        DefaultAnnotationAttributeExtractor implementation classes.
      
      - Introduced MapAnnotationAttributeExtractor for synthesizing an
        annotation that is backed by a map or AnnotationAttributes instance.
      
      - Introduced a variant of synthesizeAnnotation() in AnnotationUtils
        that accepts a map.
      
      - Introduced findAnnotation(*) methods in AnnotatedElementUtils that
        synthesize merged AnnotationAttributes back into an annotation of the
        target type.
      
      The following classes have been refactored to use the new support for
      synthesizing AnnotationAttributes back into an annotation.
      
      - ApplicationListenerMethodAdapter
      - TestAnnotationUtils
      - AbstractTestContextBootstrapper
      - ActiveProfilesUtils
      - ContextLoaderUtils
      - DefaultActiveProfilesResolver
      - DirtiesContextTestExecutionListener
      - TestPropertySourceAttributes
      - TestPropertySourceUtils
      - TransactionalTestExecutionListener
      - MetaAnnotationUtils
      - MvcUriComponentsBuilder
      - RequestMappingHandlerMapping
      
      In addition, this commit also includes changes to ensure that arrays
      returned by synthesized annotations are properly cloned first.
      
      Issue: SPR-13067
      e30c9b2e
  3. 27 5月, 2015 3 次提交
    • S
      Ensure synthesized nested annotation arrays retain correct type · f41de12c
      Sam Brannen 提交于
      Prior to this commit, when a nested array of annotations was
      synthesized while adapting values within an AnnotationAttributes map,
      the array was improperly replaced with an array of type Annotation[]
      instead of an array of the concrete annotation type, which can lead to
      unexpected run-time exceptions.
      
      This commit fixes this bug by replacing annotations in the existing
      array with synthesized versions of those annotations, thereby retaining
      the original array's component type.
      
      Issue: SPR-13077
      f41de12c
    • S
      Support nested annotations in AnnotationAttributes · a2f152ce
      Sam Brannen 提交于
      This commit introduces support in AnnotationAttributes for retrieving
      nested annotations that is on par with the existing type-safe support
      for retrieving nested AnnotationAttributes.
      
      Issue: SPR-13074
      a2f152ce
    • S
      Document public API in AnnotationAttributes · 0ac0e2ce
      Sam Brannen 提交于
      AnnotationAttributes has existed for several years, but none of the
      "get" methods that make up its public API are documented. In many
      cases, the behavior can be inferred from the name of the method, but
      for some methods there are "hidden gems" and unexpected behavior
      lurking behind the scenes.
      
      This commit addresses this issue by documenting all public methods. In
      addition, the hidden support for converting single elements into
      single-element arrays has also been documented and tested.
      
      Issue: SPR-13072
      0ac0e2ce
  4. 24 5月, 2015 20 次提交
  5. 23 5月, 2015 11 次提交