[
https://issues.apache.org/jira/browse/TAP5-1549?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Howard M. Lewis Ship closed TAP5-1549.
--------------------------------------
Resolution: Fixed
Fix Version/s: 5.3
> ParameterWorker forces evaluation of default method, even if the parameter is
> bound by other means
> --------------------------------------------------------------------------------------------------
>
> Key: TAP5-1549
> URL: https://issues.apache.org/jira/browse/TAP5-1549
> Project: Tapestry 5
> Issue Type: Bug
> Components: tapestry-core
> Affects Versions: 5.2.5
> Reporter: Robert Zeigler
> Assignee: Howard M. Lewis Ship
> Fix For: 5.3
>
>
> The revised implementation of ParameterWorker evaluates the defaultXXX method
> regardless of whether or not the parameter is bound. This can easily lead to
> application exceptions, particularly when the defaultXXX value is computed
> rather than static.
> For example, loop's "encoder" parameter attempts to get a ValueEncoder from
> ValueEncoderSource. This will fail if, for instance, the loop's value is a
> hibernate entity with a multi-column PK, even if the developer binds a custom
> ValueEncoder to the parameter to handle the entity. Admittedly, this case has
> a workaround: contribute the custom encoder to ValueEncoderSource. But
> that's only one edge case.
> The correct solution is to lazily evaluate defaultXXX methods.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira