Go to file
Sam Brannen 35f458fa5f Improve diagnostics for negative repeated text count in SpEL
Due to the changes in gh-31341, if the repeat count in a SpEL
expression (using the repeat operator '*') is negative, we throw a
SpelEvaluationException with the MAX_REPEATED_TEXT_SIZE_EXCEEDED
message which is incorrect and misleading.

Prior to gh-31341, a negative repeat count resulted in an
IllegalArgumentException being thrown by String#repeat(), which was
acceptable in terms of diagnostics, but that did not make it
immediately clear to the user what the underlying cause was.

In light of the above, this commit improves diagnostics for a negative
repeated text count in SpEL expressions by throwing a
SpelEvaluationException with a new NEGATIVE_REPEATED_TEXT_COUNT error
message.

Closes gh-31342
2023-09-29 17:45:21 +02:00
.github Use the shared antora playbook 2023-05-04 15:35:05 +01:00
buildSrc Polishing 2023-03-24 16:05:40 +01:00
ci Upgrade Ubuntu in CI image 2023-09-07 17:27:41 +02:00
framework-bom
framework-docs Explicit note on local bean access within @PostConstruct method 2023-09-29 14:57:40 +02:00
framework-platform Upgrade to Context Propagation 1.0.5 2023-09-13 18:19:06 +02:00
gradle Upgrade to Gradle 8.3 2023-08-17 17:32:05 +02:00
integration-tests Polishing 2023-08-06 14:25:39 +02:00
spring-aop Simplify equals() implementation in PerTargetInstantiationModelPointcut 2023-09-23 12:40:28 +02:00
spring-aspects Consistent dependency declarations 2023-08-02 00:56:50 +02:00
spring-beans Review AOT-generated code for beanClass and targetType 2023-09-18 16:58:01 +02:00
spring-context Polishing 2023-09-29 14:58:02 +02:00
spring-context-indexer Consistent dependency declarations 2023-08-02 00:56:50 +02:00
spring-context-support Polishing 2023-08-14 19:28:19 +02:00
spring-core Polishing 2023-09-29 14:58:02 +02:00
spring-core-test Fix RuntimeHintsPredicates matching rules 2023-09-15 17:50:53 +02:00
spring-expression Improve diagnostics for negative repeated text count in SpEL 2023-09-29 17:45:21 +02:00
spring-instrument
spring-jcl Align abstract method signatures with original Commons Logging API 2023-09-11 17:36:07 +02:00
spring-jdbc Polishing 2023-09-13 17:27:32 +02:00
spring-jms Provide best-effort toString for Lazy resolved message 2023-09-26 12:29:00 +02:00
spring-messaging Document some non-nullable Kotlin extensions can throw NoSuchElementException 2023-09-08 13:07:58 +02:00
spring-orm Polishing 2023-09-29 14:58:02 +02:00
spring-oxm Consistent dependency declarations 2023-08-02 00:56:50 +02:00
spring-r2dbc Polishing 2023-09-29 14:58:02 +02:00
spring-test Revise Checkstyle rules to prohibit use of assertions other than AssertJ 2023-08-26 15:28:25 +02:00
spring-tx Cache CGLIB proxy classes properly again 2023-09-20 16:56:09 +02:00
spring-web Remove Reactor Netty 2 from integration tests 2023-09-15 18:15:26 +02:00
spring-webflux Remove Reactor Netty 2 from integration tests 2023-09-15 18:15:26 +02:00
spring-webmvc Refine CORS documentation for wildcard processing 2023-09-11 18:07:31 +02:00
spring-websocket Polishing 2023-08-03 18:10:13 +02:00
src Revise Checkstyle rules to prohibit use of assertions other than AssertJ 2023-08-26 15:28:25 +02:00
.editorconfig
.gitattributes
.gitignore Add `/framework-*/build` to .gitignore 2023-09-02 18:28:24 +02:00
.mailmap
.sdkmanrc Updated sdkmanrc 2023-04-24 12:30:02 +02:00
CODE_OF_CONDUCT.adoc
CONTRIBUTING.md
LICENSE.txt
README.md
SECURITY.md
build.gradle Upgrade to Checkstyle 10.12.3 2023-08-28 14:43:40 +02:00
gradle.properties Next development version (v6.0.13-SNAPSHOT) 2023-09-14 08:03:11 +00:00
gradlew Upgrade to Gradle 8.3 2023-08-17 17:32:05 +02:00
gradlew.bat
import-into-eclipse.md
import-into-idea.md
settings.gradle Upgrade dependencies 2023-04-02 19:20:49 +02:00
update_copyright_headers.sh

README.md

Spring Framework Build Status Revved up by Gradle Enterprise

This is the home of the Spring Framework: the foundation for all Spring projects. Collectively the Spring Framework and the family of Spring projects are often referred to simply as "Spring".

Spring provides everything required beyond the Java programming language for creating enterprise applications for a wide range of scenarios and architectures. Please read the Overview section as reference for a more complete introduction.

Code of Conduct

This project is governed by the Spring Code of Conduct. By participating, you are expected to uphold this code of conduct. Please report unacceptable behavior to spring-code-of-conduct@pivotal.io.

Access to Binaries

For access to artifacts or a distribution zip, see the Spring Framework Artifacts wiki page.

Documentation

The Spring Framework maintains reference documentation (published and source), GitHub wiki pages, and an API reference. There are also guides and tutorials across Spring projects.

Micro-Benchmarks

See the Micro-Benchmarks wiki page.

Build from Source

See the Build from Source wiki page and the CONTRIBUTING.md file.

Continuous Integration Builds

Information regarding CI builds can be found in the Spring Framework Concourse pipeline documentation.

Stay in Touch

Follow @SpringCentral, @SpringFramework, and its team members on Twitter. In-depth articles can be found at The Spring Blog, and releases are announced via our news feed.

License

The Spring Framework is released under version 2.0 of the Apache License.