While the methods manipulating or accessing the list are synchronized,
the ConversationContainer class is also subject to serialization.
Issue: SWF-1668
The JSF com.sun.faces.facelets.tag.jsf.ComponentSupport in 2.2.7
started using FacesContext#isPostBack to check if a new component
tree is being built prior to attempting to find a child component.
In Web Flow where we redirect prior to rendering, and hence lose
the value of isPostback (because ResponseStateManagerImpl no longer
finds the parameter with the view state), it causes components to
be re-created and lose their local values.
This change overrides isPostback in FlowFacesContext in order to
return true in cases where the UIViewRoot has been restored from
flash scope and is fully built.
Issue: SWF-1645
Spring Framework 4.2 removes the queryForInt method on JdbcTemplate in
favour of queryForObject which is also available in earlier versions.
This commit replaces calls to queryForInt with queryForObject, thereby
allowing the tests to be run against Spring Framework 4.1 (the default)
and Spring Framework 4.2 (for Spring IO Platform 2.0 compatibility
testing).
Spring IO Platform 2.0 will remove the managed versions .properties
file as support for it has been removed in Spring Boot 1.3.
This commit moves the build onto a new version of the Spring IO Plugin
that uses the Maven bom rather than the properties file.
Mojarra 2.2.10 generates responses that begin with an XML
declaration:
<?xml version='1.0' encoding='utf-8'?>
This change broke the expectation in JsfAjaxHandlerTests's
testSendAjaxRedirect. The test has been updated to expect the
XML declaration.
ResourcesBeanDefinitionParserTests has been updated to set up and
tear down the mock JDF infrastructure. This ensures that it does not
leave any side-effects that cause subsequent tests to fail on some
platforms.
Update JsfView so that state saving no longer occurs during
processUserEvent(). This is required to ensure that Mojarra's
StateContext.release(...) method is not called too early.
Prior to Mojarra 2.1.16 multiple calls to saveView had no side effects,
but the fix to JAVASERVERFACES-2609 changed this behavior.
In order to retain the fix for SWF-1577 the saveState() method is now
called from getUserEventState(). This should ensure that the
StateContext$AddRemoveListerner is still removed, even when WebFlow
bypasses the usual state saving for certain flow redirects.
Issue: SWF-1631
This reverts commit d31900e5f9.
The fix for SWF-1571 reported against Mojarra 2.1.8 seems to be
problematic when Web Flow's ResponseStateManager is not used as
reported in SWF-1630.
Testing with Mojarra 2.1.20 I can no longer reproduce SWF-1571
and originally it was suspected to be a Mojarra issue. Hence
this revert.
Issue: SWF-1571, SWF-1630
Configure the Spring IO plugin such that it's only applied when the
build is run with -PplatformVersion=<version>. This platformVersion
property is used to determine the version of the Platform that will
be used when running the springIoCheck task. The plugin can be used
by running a build as follows:
./gradlew clean springIoCheck -PplatformVersion=1.0.0.BUILD-SNAPSHOT -PJDK7_HOME=… -PJDK8_HOME=…
This will test the project on JDK7 and JDK 8 using the dependencies
defined in the latest snapshot of Spring IO Platform 1.0.0.
The Spring IO test tasks have been configured to exclude the Tiles 2
tests as Spring IO uses Tiles 3.