1. 06 3月, 2015 3 次提交
  2. 01 3月, 2015 1 次提交
    • S
      Include charset in EncodedResource.equals() · 93c70b74
      Sam Brannen 提交于
      Prior to this commit, the implementation of equals() in EncodedResource
      was based solely on the resource and encoding. Thus, if a Charset were
      specified instead of an encoding, invocations of equals() would not
      work as expected.
      
      This commit addresses this issue by including the charset in the
      implementation of equals() and introducing corresponding tests in a new
      EncodedResourceTests class. Furthermore, this commit makes
      EncodedResource immutable and updates all Javadoc to reflect support
      for the encoding and charset properties.
      
      Issue: SPR-12767
      93c70b74
  3. 28 2月, 2015 3 次提交
  4. 24 2月, 2015 2 次提交
    • S
      polishing · 4ca32d1c
      Stephane Nicoll 提交于
      4ca32d1c
    • S
      Add converter support for Stream · 018adb04
      Stephane Nicoll 提交于
      Add StreamConverter to provide full support for converting
      java.util.stream.Stream instances to and from collections or arrays.
      
      Also attempt to convert the element type if necessary.
      
      StreamConverter is registered by default in the DefaultConversionService
      as long as Java8 is available.
      
      Issue: SPR-12175
      018adb04
  5. 21 2月, 2015 2 次提交
  6. 19 2月, 2015 1 次提交
    • S
      Detect Order on target class as well · 1aec6a6c
      Stephane Nicoll 提交于
      Previously, the `@order` annotation was managed in an inconsistent way
      when placed at the implementation level. For simple beans, it was
      discovered properly but wasn't for beans requiring a proxy.
      
      OrderComparator.SourceProvider now explicitly allows to return several
      order sources; the default implementation returns not only the factory
      method (if  any) but also the target class if it happens to be different
      from the class of the bean.
      
      Issue: SPR-12636
      1aec6a6c
  7. 25 1月, 2015 1 次提交
  8. 08 1月, 2015 1 次提交
    • C
      Performance improvements in ShallowEtagHeaderFilter · 213a3fd7
      Craig Andrews 提交于
      Prior to this change, the ShallowEtagHeaderFilter would use a
      ResizableByteArrayOutputStream to internally write data and calculate
      the ETag. While that implementation is faster than the regular
      ByteArrayOutputStream (since it has a better strategy for growing the
      internal buffer), a lot of buffer copying/writing still happens.
      
      This change adds a new FastByteArrayOutputStream implementation that
      internally uses a LinkedList<Byte[]> to store the content. So when
      writing bytes to that OutputStream implementation, new byte[] are
      added to the list when the previous ones are full. This saves most
      of the instantiating/copying operations.
      
      Note that new methods were added in DigestUtils to allow usage of
      Streams instead of byte[], which is more efficient in our case.
      
      Fixes #653
      
      Issue: SPR-12081
      213a3fd7
  9. 11 12月, 2014 3 次提交
    • S
      Demonstrate that the CollectionFactory API is not type-safe · c62fbea2
      Sam Brannen 提交于
      This commit introduces test methods in CollectionFactoryTests that
      demonstrate how the APIs for createCollection() and createMap() are not
      type-safe, specifically regarding the use of generics, raw types, and
      casting.
      c62fbea2
    • S
      Create empty EnumSets & EnumMaps in CollectionFactory · aec284a4
      Sam Brannen 提交于
      SPR-12483 introduced automatic type conversion support for EnumSet and
      EnumMap. However, the corresponding changes in CollectionFactory
      contradict the existing contract for the "create approximate" methods
      by creating a copy of the supplied set or map, thereby potentially
      including elements in the returned collection when the returned
      collection should in fact be empty.
      
      This commit addresses this issue by ensuring that the collections
      returned by createApproximateCollection() and createApproximateMap()
      are always empty.
      
      Furthermore, this commit improves the Javadoc throughout the
      CollectionFactory class.
      
      Issue: SPR-12533
      aec284a4
    • S
      Demonstrate that the CollectionFactory API is not type-safe · fb426fe6
      Sam Brannen 提交于
      This commit introduces test methods in CollectionFactoryTests that
      demonstrate how the APIs for createApproximateCollection() and
      createApproximateMap() are not type-safe, specifically regarding the use
      of generics, raw types, and casting.
      fb426fe6
  10. 10 12月, 2014 3 次提交
  11. 29 11月, 2014 1 次提交
  12. 26 11月, 2014 1 次提交
  13. 22 11月, 2014 1 次提交
  14. 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
  15. 21 10月, 2014 2 次提交
  16. 30 9月, 2014 1 次提交
    • B
      Fix invalid PATH_WITHIN_HANDLER_MAPPING_ATTRIBUTE · d293889b
      Brian Clozel 提交于
      Prior to this commit, `AntPathMatcher.extractPathWithinPattern` would
      not process correctly `**` patterns and would only match *one* path
      segment in the given path.
      
      This commit changes `extractPathWithinPattern` to allow multiple path
      segments to be matched against a single `**` pattern segment.
      
      Issue: SPR-10515
      d293889b
  17. 24 9月, 2014 1 次提交
  18. 22 9月, 2014 1 次提交
  19. 20 9月, 2014 1 次提交
  20. 12 9月, 2014 1 次提交
  21. 04 9月, 2014 3 次提交
  22. 22 8月, 2014 3 次提交
  23. 20 8月, 2014 1 次提交
  24. 13 8月, 2014 1 次提交
  25. 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