1. 24 5月, 2015 16 次提交
  2. 23 5月, 2015 3 次提交
  3. 22 5月, 2015 8 次提交
    • S
      Polish annotation utility tests · 73170224
      Sam Brannen 提交于
      73170224
    • S
      Verify that SynthesizedAnnotation must be public · e7ea9256
      Sam Brannen 提交于
      This commit introduces a test that will fail if SynthesizedAnnotation is
      not public as is required by the contract for getProxyClass() in
      java.lang.reflect.Proxy.
      
      Issue: SPR-13057
      e7ea9256
    • S
      Introduce putIfAbsent() in AnnotationAttributes · ca09b1ff
      Sam Brannen 提交于
      Issue: SPR-13060
      ca09b1ff
    • S
      Support CompletableFuture in @MessageMapping handler methods · 5255e7ae
      Sebastien Deleuze 提交于
      Issue: SPR-12207
      5255e7ae
    • J
      ByteBufferConverter explicitly declares applicability to byte[] · 792b7b9d
      Juergen Hoeller 提交于
      Includes an optimization for simple ByteBuffer duplication.
      
      Issue: SPR-13056
      792b7b9d
    • S
      Polish · 27c435c4
      Stephane Nicoll 提交于
      27c435c4
    • S
      Make SynthetizedAnnotation public · 39b2fbbc
      Stephane Nicoll 提交于
      Enable public visibility on SynthetizedAnnotation to allow annotation
      outside its package to be proxied properly. This commit is pending a
      unit test that actually reproduces the problem.
      
      Issue: SPR-13057
      39b2fbbc
    • S
      Support annotation attribute aliases and overrides via @AliasFor · ca66e076
      Sam Brannen 提交于
      This commit introduces first-class support for aliases for annotation
      attributes. Specifically, this commit introduces a new @AliasFor
      annotation that can be used to declare a pair of aliased attributes
      within a single annotation or an alias from an attribute in a custom
      composed annotation to an attribute in a meta-annotation.
      
      To support @AliasFor within annotation instances, AnnotationUtils has
      been overhauled to "synthesize" any annotations returned by "get" and
      "find" searches. A SynthesizedAnnotation is an annotation that is
      wrapped in a JDK dynamic proxy which provides run-time support for
      @AliasFor semantics. SynthesizedAnnotationInvocationHandler is the
      actual handler behind the proxy.
      
      In addition, the contract for @AliasFor is fully validated, and an
      AnnotationConfigurationException is thrown in case invalid
      configuration is detected.
      
      For example, @ContextConfiguration from the spring-test module is now
      declared as follows:
      
          public @interface ContextConfiguration {
      
              @AliasFor(attribute = "locations")
              String[] value() default {};
      
              @AliasFor(attribute = "value")
              String[] locations() default {};
      
              // ...
          }
      
      The following annotations and their related support classes have been
      modified to use @AliasFor.
      
      - @ManagedResource
      - @ContextConfiguration
      - @ActiveProfiles
      - @TestExecutionListeners
      - @TestPropertySource
      - @Sql
      - @ControllerAdvice
      - @RequestMapping
      
      Similarly, support for AnnotationAttributes has been reworked to
      support @AliasFor as well. This allows for fine-grained control over
      exactly which attributes are overridden within an annotation hierarchy.
      In fact, it is now possible to declare an alias for the 'value'
      attribute of a meta-annotation.
      
      For example, given the revised declaration of @ContextConfiguration
      above, one can now develop a composed annotation with a custom
      attribute override as follows.
      
          @ContextConfiguration
          public @interface MyTestConfig {
      
              @AliasFor(
                 annotation = ContextConfiguration.class,
                 attribute = "locations"
              )
              String[] xmlFiles();
      
              // ...
          }
      
      Consequently, the following are functionally equivalent.
      
      - @MyTestConfig(xmlFiles = "test.xml")
      - @ContextConfiguration("test.xml")
      - @ContextConfiguration(locations = "test.xml").
      
      Issue: SPR-11512, SPR-11513
      ca66e076
  4. 20 5月, 2015 1 次提交
  5. 19 5月, 2015 1 次提交
  6. 18 5月, 2015 2 次提交
  7. 15 5月, 2015 2 次提交
    • S
      Harmonize default converters · 0612bc7b
      Stephane Nicoll 提交于
      Provide Converter implementations for Charset, Currency and TimeZone as
      related PropertyEditors are available for those.
      
      Issue: SPR-13020
      0612bc7b
    • S
      Document "present" terminology in AnnotationUtils · 477d4c51
      Sam Brannen 提交于
      Prior to this commit, the documentation in AnnotationUtils was
      inconsistent, and at times even misleading, with regard to finding
      annotations that are "present" or "directly present" on annotated
      elements.
      
      This commit defines the terminology used within AnnotationUtils and
      introduces the explicit notion of "meta-present" to denote that
      annotations are present within annotation hierarchies above annotated
      elements.
      
      Issue: SPR-13030
      477d4c51
  8. 13 5月, 2015 4 次提交
    • S
      Favor local, composed annotations in AnnotatedElementUtils · ebed52cc
      Sam Brannen 提交于
      This commit updates the "get semantics" search algorithm used in
      `AnnotatedElementUtils` so that locally declared 'composed annotations'
      are favored over inherited annotations.
      
      Specifically, the internal `searchWithGetSemantics()` method now
      searches locally declared annotations before searching inherited
      annotations.
      
      All TODOs in `AnnotatedElementUtilsTests` have been completed, and all
      ignored tests have been reinstated.
      
      Issue: SPR-11598
      ebed52cc
    • J
      Polishing · 0711d6d0
      Juergen Hoeller 提交于
      0711d6d0
    • J
      SimpleAliasRegistry prevents NPE for alias resolved to null · e83d495c
      Juergen Hoeller 提交于
      Issue: SPR-13016
      e83d495c
    • S
      Document search scope in Ann*[Element]Utils · 52153bd4
      Sam Brannen 提交于
      This commit improves the documentation for AnnotationUtils and
      AnnotatedElementUtils by explaining that the scope of most annotation
      searches is limited to finding the first such annotation, resulting in
      additional such annotations being silently ignored.
      
      Issue: SPR-13015
      52153bd4
  9. 12 5月, 2015 1 次提交
  10. 11 5月, 2015 1 次提交
  11. 10 5月, 2015 1 次提交