Sam Brannen
202b7ea47b
Merge branch '5.3.x'
2022-01-04 15:17:05 +01:00
Sam Brannen
c3ce4f0f90
Polish contribution
...
See gh-27823
2022-01-04 15:12:29 +01:00
Marten Deinum
e1200f34e7
Use try-with-resources for AutoClosables where feasible
...
Where unfeasible, this commit adds inline comments to explain why
try-with-resources must not be used in certain scenarios. The purpose
of the comments is to avoid accidental conversion to try-with-resources
at a later date.
Closes gh-27823
2022-01-04 15:12:29 +01:00
Marten Deinum
941b6af9ac
Use Collection factory methods when applicable
...
This commit replaces the use of Collections.unmodifiableList/Set/Map
with the corresponding 'of(...)' factory methods introduced in Java 9.
Closes gh-27824
2022-01-04 12:01:13 +01:00
liuzhifei
7021eb5bb1
Apply "instanceof pattern matching" in additional locations
...
Closes gh-27696
2022-01-03 16:52:38 +01:00
Stephane Nicoll
ca6911a532
Update copyright year of changed file
...
See gh-24636
2021-12-21 09:49:08 +01:00
陈其苗
dbbdd044cd
Use Collections.addAll instead of Collection.addAll
...
See gh-24636
2021-12-21 09:47:30 +01:00
Juergen Hoeller
96e2fc69ed
Merge branch '5.3.x'
...
# Conflicts:
# build.gradle
# spring-core/src/main/java/org/springframework/core/type/StandardAnnotationMetadata.java
# spring-core/src/main/java/org/springframework/core/type/classreading/SimpleAnnotationMetadata.java
2021-12-15 18:03:51 +01:00
Juergen Hoeller
1885ab3e07
Polishing
2021-12-15 17:58:28 +01:00
Juergen Hoeller
50c7c84886
Introduce getDeclaredMethods() for MethodMetadata of all user-declared methods
...
Closes gh-27701
2021-12-15 13:32:42 +01:00
Juergen Hoeller
bfdb93b406
Merge branch '5.3.x'
...
# Conflicts:
# build.gradle
# src/docs/asciidoc/integration.adoc
2021-12-14 16:51:00 +01:00
Juergen Hoeller
ac581bed92
Avoid NPE against null value from toString call
...
Closes gh-27782
2021-12-14 16:46:42 +01:00
Juergen Hoeller
0802581aff
Unit test for identifying type variable argument
...
See gh-27748
2021-12-14 16:46:26 +01:00
Juergen Hoeller
aeff664cf9
Polishing
2021-12-14 09:46:52 +01:00
Rossen Stoyanchev
3a43ca3a34
Merge branch '5.3.x' into main
2021-12-08 11:41:02 +00:00
Rossen Stoyanchev
99c7608ffe
Replace both EOL and control characters
2021-12-08 11:25:38 +00:00
Arjen Poutsma
81af7330f6
Deprecate StringUtils::trimWhitespace and variants
...
This commits deprecates
- StringUtils::trimWhitespace in favor of String::strip
- StringUtils::trimLeadingWhitespace in favor of String::stripLeading
- StringUtils::trimTrailingWhitespace in favor of String::stripTrailing
Closes gh-27769
2021-12-06 13:37:16 +01:00
liuzhifei
68cf95f499
Use String::strip in StringUtils::trimWhitespace
...
See gh-27703
2021-12-06 11:29:43 +01:00
Juergen Hoeller
7f43128a0e
Merge branch '5.3.x'
...
# Conflicts:
# build.gradle
# spring-web/src/main/java/org/springframework/web/server/MediaTypeNotSupportedStatusException.java
# spring-web/src/main/java/org/springframework/web/util/ContentCachingRequestWrapper.java
# spring-webmvc/src/main/java/org/springframework/web/servlet/handler/HandlerMappingIntrospector.java
2021-12-03 22:42:05 +01:00
Juergen Hoeller
7c834d98c2
Upgrade to ASM master (including early support for Java 19 bytecode)
...
Closes gh-27740
2021-12-03 22:32:26 +01:00
Stephane Nicoll
e986ff8d07
Update copyright year of changed files
...
See gh-27239
2021-12-02 11:32:46 +01:00
Frederick Zhang
baed0785fd
Replace XMLReaderFactory with SAXParserFactory
...
XMLReaderFactory has been marked as deprecated and without additional
configuration, and it's slower than SAXParserFactory.
Previously `XMLReaderFactory.createXMLReader()` is called upon every
request. This is an anti-pattern as mentioned in [1] and it can be very
slow since it loads the jar service file unless a parser has been
pre-assigned [2] (e.g. by setting org.xml.sax.driver).
SAXParserFactory uses a FactoryFinder [3] instead, which takes advantage
of a thread-local cache provided by ServiceLoader. Developers can still
pre-assign a factory by setting javax.xml.parsers.SAXParserFactory to
make it faster.
[1] https://bugs.openjdk.java.net/browse/JDK-6925410
[2] c8add223a1/src/java.xml/share/classes/org/xml/sax/helpers/XMLReaderFactory.java (L144-L148)
[3] 66c653c561/src/java.xml/share/classes/javax/xml/parsers/SAXParserFactory.java (L181-L185)
See gh-27239
2021-12-02 11:32:46 +01:00
Stephane Nicoll
46cb5ab135
Polish contribution
...
See gh-23813
2021-11-30 14:29:05 +01:00
Johnny Lim
5c4cde7853
Polish AbstractResource
...
See gh-23813
2021-11-30 14:25:40 +01:00
Arjen Poutsma
6d9136013e
Refactor MimeType/MediaType specificity
...
This commit makes several changes to MimeType and MediaType
related to the topic of specificity.
This commit deprecates the MimeType and MediaType Comparators.
Comparators require a transitive relationship, and the desired order for
these types is not transitive (see #27488 ).
Instead, this commit introduces two new MimeType methods: isMoreSpecific
and isLessSpecific, both of which return booleans. MediaType overrides
these methods to include the quality factor (q) in the comparison.
All MediaType sorting methods have been deprecated in favor of
MimeTypeUtils::sortBySpecificity. This sorting method now uses
MimeType::isLessSpecific in combination a bubble sort algorithm (which
does not require a transitive compare function).
Closes gh-27580
2021-11-23 11:49:01 +01:00
Juergen Hoeller
4750a9430c
Early removal of 5.x-deprecated code
...
Closes gh-27686
2021-11-18 09:18:06 +01:00
Arjen Poutsma
17cdd97c37
Merge branch '5.3.x'
2021-11-17 16:57:02 +01:00
Arjen Poutsma
5fbdd6dcfe
Throw exception using capturing patterns in AntPathMatcher
...
Closes gh-27688
2021-11-17 16:52:17 +01:00
SungMin
32af39d6e6
Use 'toString(Charset)' instead of 'toString(String)' for encodings ( #27646 )
...
Co-authored-by: 홍성민(SungMin Hong)/Platform Engineering팀/11ST <devmonster@11stcorp.com>
2021-11-10 15:11:33 +01:00
Rossen Stoyanchev
ec947065a9
Merge branch '5.3.x' into main
2021-11-09 10:23:14 +00:00
Rossen Stoyanchev
c5de5c9939
Update Javadoc of LogFormatUtils
...
Closes gh-27632
2021-11-08 21:21:54 +00:00
Sam Brannen
56fd97184c
Avoid generic type parameter hiding in UnmodifiableValueCollection
2021-10-29 11:32:44 +02:00
Sam Brannen
4464468465
Clean up warnings in UnmodifiableMultiValueMapTests
2021-10-29 11:27:38 +02:00
최유진(Yujin Choi)/Platform Engineering팀/11ST
8dd385b440
Use toUnmodifiableSet and toList instead of collectingAndThen
...
Since Spring Framework 6 uses JDK 17 for its baseline, we can make use
of toList() and toUnmodifiableSet() which were introduced in JDK 16 and
JDK 10, respectively.
Closes gh-27618
2021-10-28 16:37:41 +02:00
Arjen Poutsma
0a58419df4
Add immutable MultiValueMap wrapper
...
This commit introduces UnmodifiableMultiValueMap, an immutable wrapper
around a MultiValueMap, similar to what is returned by
Collections.unmodifiable*.
CollectionUtils::unmodifiableMultiValueMap now returns
UnmodifiableMultiValueMap.
Closes gh-27608
2021-10-26 15:31:34 +02:00
Sam Brannen
170d6dd5f2
Merge branch '5.3.x'
2021-10-22 13:17:59 +02:00
Sam Brannen
9af11ad5ce
Fix Javadoc formatting issues
2021-10-22 11:08:45 +02:00
Arjen Poutsma
e4b493456b
Remove custom EnumerationIterator
...
This commit removes our custom EnumerationIterator, in favor of
Enumeration::asIterator (since JDK 9).
2021-10-20 18:29:33 +02:00
Arjen Poutsma
9804e75051
Merge branch '5.3.x'
2021-10-19 11:59:53 +02:00
Arjen Poutsma
a248a52575
Revert transitive MediaType comparators
...
The fix made for gh-27488 resulted in a change of the default order
of codecs. This commit reverts these changes, so that the previous
order is restored.
Closes gh-27573
2021-10-19 11:53:22 +02:00
Arjen Poutsma
2a3c9e403f
Revert "Polishing"
...
This reverts commit bfa01b35df .
2021-10-19 10:16:27 +02:00
Rossen Stoyanchev
24b0035369
Merge branch '5.3.x' into main
2021-10-18 16:56:02 +01:00
Rossen Stoyanchev
346b755802
Fix assertion message in DefaultDataBuffer
...
Closes gh-27567
2021-10-18 16:54:24 +01:00
Sam Brannen
cb17441780
Apply "instanceof pattern matching" Eclipse clean-up in spring-core
...
This commit also applies additional clean-up tasks such as the following.
- final fields
- diamond operator (<>) for anonymous inner classes
This has only been applied to `src/main/java`.
2021-10-14 18:30:06 +02:00
Rossen Stoyanchev
3633b2a24f
Merge branch '5.3.x' into main
2021-10-13 21:22:34 +01:00
Rossen Stoyanchev
a178bbe86f
DefaultResponseErrorHandler shows full error details
...
Closes gh-27552
2021-10-13 20:51:34 +01:00
Juergen Hoeller
da457abd5b
Merge branch '5.3.x'
2021-10-12 15:19:40 +02:00
Juergen Hoeller
715f300fa1
Avoid expensive isReadable() check during classpath scan
...
Closes gh-25741
See gh-21372
2021-10-12 15:15:51 +02:00
Juergen Hoeller
b53275f2d2
Add efficient existence check to ClassPathResource.isReadable()
...
Includes reduced isReadable() check in PathResourceLookupFunction, aligned with PathResourceResolver.
Closes gh-27538
See gh-21372
2021-10-12 15:13:05 +02:00
Stephane Nicoll
d16574f807
Merge branch '5.3.x'
2021-10-11 16:21:14 +02:00