forked from spring-projects/spring-framework
-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
5.3.x #6
Open
manzusaka
wants to merge
3,153
commits into
manzusaka:5.2.x
Choose a base branch
from
spring-projects:5.3.x
base: 5.2.x
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
5.3.x #6
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…tring() Prior to this commit, there was no explicit support for arrays, collections, and maps in nullSafeConciseToString(). This lead to string representations such as the following, regardless of whether the array, collection, or map was empty. - char[]@1623b78d - java.util.ImmutableCollections$List12@74fe5c40 - java.util.ImmutableCollections$MapN@10e31a9a This commit introduces explicit support for arrays, collections, and maps in nullSafeConciseToString(), which results in the following empty/non-empty string representations. - array: {} / {...} - collection: [] / [...] - map: {} / {...} The reason a string representation of an array uses "{}" instead of "[]" (like in Arrays.toString(...)) is that ObjectUtils.nullSafeToString(<array>) already follows that convention, and the implementation of nullSafeConciseToString() aligns with that for the sake of consistency. Closes gh-30811
Specifically, we now check the actual type of a converted collection in various assertions to ensure that converters adhere to their contracts.
Move `alreadySeen` handling out of for-loop. Closes gh-30841
(cherry picked from commit bbcc788)
This commit makes sure that docs artifacts have their attributes set for staging as well. Previously they were not and deployment of Javadoc did not occur. Closes gh-33208
Prior to this commit, the Spring Expression Language (SpEL) incorrectly split single String arguments by comma for Object... varargs method and constructor invocations. This commit addresses this by checking if the single argument type is already "assignable" to the varargs component type instead of "equal" to the varargs component type. See gh-33013 Closes gh-33188 (cherry picked from commit d33f66d)
Prior to this commit, the ConversionService failed to convert a primitive array (such as int[]) to an Object[] due to an error in the logic in ArrayToArrayConverter. This commit addresses this by augmenting the "can bypass conversion" check in ArrayToArrayConverter to ensure that the supplied source object is an instance of the target type (i.e., that the source array can be cast to the target type array without conversion). Closes gh-33212 (cherry picked from commit cb6a5ba) (cherry picked from commit 3e73724)
Prior to this commit, the Indexer in the Spring Expression Language (SpEL) silently ignored a failure to set a property via the indexed property syntax (['<property name>'] = <new value>) – for example, if property write access was disabled in the EvaluationContext. This commit addresses this issue by properly throwing a SpelEvaluationException in PropertyIndexingValueRef.setValue(Object) if the property could not be set. See gh-33310 Closes gh-33312 (cherry picked from commit c57c227)
SimpleEvaluationContext.forReadOnlyDataBinding() documents that it creates a SimpleEvaluationContext for read-only access to public properties; however, prior to this commit write access was not disabled for indexed structures when using the assignment operator, the increment operator, or the decrement operator. In order to better align with the documented contract for forReadOnlyDataBinding(), this commit makes it possible to disable assignment in general in order to enforce read-only semantics for SpEL's SimpleEvaluationContext when created via the forReadOnlyDataBinding() factory method. Specifically: - This commit introduces a new isAssignmentEnabled() "default" method in the EvaluationContext API, which returns true by default. - SimpleEvaluationContext overrides isAssignmentEnabled(), returning false if the context was created via the forReadOnlyDataBinding() factory method. - The Assign, OpDec, and OpInc AST nodes -- representing the assignment (=), increment (++), and decrement (--) operators, respectively -- now throw a SpelEvaluationException if assignment is disabled for the current EvaluationContext. See gh-33319 Closes gh-33320 (cherry picked from commit e1ab306)
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.