Sam Brannen

Avoid deprecation warnings in ValidatorFactoryTests

ValidatorFactoryTests now uses Bean Validation 1.1 APIs where

appropriate.

Polish static resource handling mechanism

  • ResourceResolver and ResourceResolverChain now have a consistent API

    with regard to method names and terminology.

  • ResourceResolver and ResourceResolverChain now accept

    List<? extends Resource> instead of List<Resource> for simplified

    programmatic use.

  • Improved Javadoc across the package.

  • Formatted code to align with standards.

  • Removed all references to ResourceUrlPathTranslator.

Issue: SPR-10933

Fix Javadoc syntax error in HttpRequestHandler

Fix Javadoc formatting in ResourceHttpRequestHandler

Don't mutate annotation metadata when merging attrs

Prior to this commit, invoking the getMergedAnnotationAttributes()

method in AnnotationReadingVisitorUtils resulted in mutation of the

internal state of the ASM-based annotation metadata supplied to the

method.

This commit fixes this issue by making a copy of the original

AnnotationAttributes for the target annotation before merging attribute

values from the meta-annotation hierarchy.

This commit also introduces a slight performance improvement by

avoiding duplicate processing of the attributes of the target

annotation.

Issue: SPR-11710

Don't mutate annotation metadata when merging attrs

Prior to this commit, invoking the getMergedAnnotationAttributes()

method in AnnotationReadingVisitorUtils resulted in mutation of the

internal state of the ASM-based annotation metadata supplied to the

method.

This commit fixes this issue by making a copy of the original

AnnotationAttributes for the target annotation before merging attribute

values from the meta-annotation hierarchy.

This commit also introduces a slight performance improvement by

avoiding duplicate processing of the attributes of the target

annotation.

Issue: SPR-11710

(cherry picked from commit e1720d89fcf65fca6b244df1696c1df67fc0c808)

Update doc for DefaultAopProxyFactory re: CGLIB

Polish ResourceDatabasePopulatorTests

Add script after setting scripts in RsrcDbPopultr

Prior to this commit it was impossible to add additional scripts to a

ResourceDatabasePopulator after setScripts() had been invoked.

This commit fixes this by ensuring that the internal scripts list

continues to be modifiable when setScripts() is invoked.

Issue: SPR-11691

Assert preconditions in ResourceDatabasePopulator

Prior to this commit ResourceDatabasePopulator did not assert any

preconditions for constructor and method arguments. Consequently,

errors would not be encountered until the populator was executed.

This commit addresses this issue by ensuring that preconditions for

constructor and method arguments are asserted immediately, throwing

IllegalArgumentExceptions where appropriate.

Issue: SPR-11690

Improve Javadoc in SQL script support classes

Polish AbstractDatabasePopulatorTests

Make EOF_STATEMENT_SEPARATOR XML friendly

Changed the value of ScriptUtils.EOF_STATEMENT_SEPARATOR from

"<<< END OF SCRIPT >>>" to "^^^ END OF SCRIPT ^^^" so that the angle

brackets do not have to be escaped in XML configuration files.

Issue: SPR-11687

Make EOF_STATEMENT_SEPARATOR XML friendly

Changed the value of ScriptUtils.EOF_STATEMENT_SEPARATOR from

"<<< END OF SCRIPT >>>" to "^^^ END OF SCRIPT ^^^" so that the angle

brackets do not have to be escaped in XML configuration files.

Issue: SPR-11687

(cherry picked from commit 1753f5d1cab1b6b7226f3b655482dd43c111e94f)

Support EOF as statement separator in SQL scripts

Prior to Spring Framework 4.0.3, it was possible to supply a bogus

statement separator (i.e., a separator string that does not exist in

the configured SQL scripts) to ResourceDatabasePopulator with the side

effect that the entire contents of a script file would be interpreted

as a single SQL statement.

This undocumented feature was never intentional; however, some

developers came to rely on it. Unfortunately, changes made in

conjunction with SPR-9531 and SPR-11560 caused such scenarios to no

longer work.

This commit introduces first-class support for executing scripts which

contain a single statement that spans multiple lines but is not

followed by an explicit statement separator.

Specifically, ScriptUtils.EOF_STATEMENT_SEPARATOR may now be specified

as a 'virtual' statement separator to denote that a script contains a

single statement and no actual separator.

Issue: SPR-11687

Support EOF as statement separator in SQL scripts

Prior to Spring Framework 4.0.3, it was possible to supply a bogus

statement separator (i.e., a separator string that does not exist in

the configured SQL scripts) to ResourceDatabasePopulator with the side

effect that the entire contents of a script file would be interpreted

as a single SQL statement.

This undocumented feature was never intentional; however, some

developers came to rely on it. Unfortunately, changes made in

conjunction with SPR-9531 and SPR-11560 caused such scenarios to no

longer work.

This commit introduces first-class support for executing scripts which

contain a single statement that spans multiple lines but is not

followed by an explicit statement separator.

Specifically, ScriptUtils.EOF_STATEMENT_SEPARATOR may now be specified

as a 'virtual' statement separator to denote that a script contains a

single statement and no actual separator.

Issue: SPR-11687

(cherry picked from commit cc0ae3a881dde5910ecc340fa20c2365dd7474fa)

Polish Javadoc in SimpleApplicationEventMulticaster

Polish Javadoc for SpringJUnit4ClassRunner

Deprecate custom/default CtxLdr class name in TCF

Once the new bootstrap strategy for the TestContext framework (TCF) is

introduced in Spring Framework 4.1, a TestContextBootstrapper will

assume full responsibility for determining what ContextLoader to use as

the default. Consequently, the previous support for supplying the class

name for a custom, default ContextLoader will no longer be applicable.

This commit therefore officially deprecates support for custom, default

ContextLoader class names via the following mechanisms:

  • The TestContextManager(Class, String) constructor

  • The getDefaultContextLoaderClassName(Class) method in

    SpringJUnit4ClassRunner

Issue: SPR-11682

Ensure Gradle does not execute inner classes as tests

Polish Javadoc for TestContextBootstrapper

Update ContextLoaderUtils Javadoc due to recent refactoring

Simplify DefaultBootstrapContext.toString()

Merge from sbrannen/SPR-9955

  • SPR-9955:

    Introduce context bootstrap strategy in the TCF

Deprecate getDefTELClasses in TestContextMgr

Since a dedicated bootstrap strategy will be introduced for the

TestContext framework in Spring Framework 4.1, this commit officially

deprecates TestContextManager.getDefaultTestExecutionListenerClasses()

as a forewarning to developers or frameworks that may be using this

obscure feature.

Issue: SPR-11679

Don't encode '@' in

{@code}

tags

Don't encode '@' in

{@code}

tags

Introduce test for PropertySource + ACI in the TCF

This commit introduces an explicit integration test to verify that a

PropertySource can be set via a custom ApplicationContextInitializer in

the Spring TestContext Framework.

Issue: SPR-11666

Clean up warnings due to removal of legacy Jackson support

Clean up warnings that show up in Gradle build