client:page strategy and client:app strategy conflicting with client strategy
-----------------------------------------------------------------------------
Key: TAPESTRY-411
URL: http://issues.apache.org/jira/browse/TAPESTRY-411
Project: Tapestry
Type: Bug
Components: Framework
Versions: 4.0
Environment: Windows XP
Reporter: Kent Tong
In tapestry.persist.xml:
<contribution configuration-id="PersistenceStrategy">
<strategy name="session"
object="service:SessionPropertyPersistenceStrategy"/>
<strategy name="client"
object="service:PageClientPropertyPersistenceStrategy"/>
<strategy name="client:page"
object="service:PageClientPropertyPersistenceStrategy"/>
<strategy name="client:app"
object="service:AppClientPropertyPersistenceStrategy"/>
</contribution>
First, "client" and "client:page" are exactly the same. But if a persistent
property is changed, the PageRecorderImpl will call findStrategy() and expect
to find a single strategy. It means only the "client" strategy is updated with
the new value, but the "client:page" strategy will keep the old value. When the
page is rendered, both strategies are applied so the "client:page" strategy
will overwrite the new value in the query parameters with the old value.
Second, "client:app" also uses the ClientPropertyPersistenceStrategy class,
which initializes itself from the "state" parameter, ignoring its scope. This
is probably incorrect because this query parameter is meant for the "client"
strategy. Again, if the persistent property is updated, it won't see the new
value but it will still output the old value, overwriting the new one.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]