[
https://issues.apache.org/jira/browse/TAPESTRY-2471?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12606941#action_12606941
]
Howard M. Lewis Ship commented on TAPESTRY-2471:
------------------------------------------------
This only affects unbound parameters:
add method: private org.apache.tapestry5.beaneditor.BeanModel
_$read_parameter_model()
{
if (_$model_cached || ! _$resources.isLoaded() || !
_$resources.isBound("model")) return model;
org.apache.tapestry5.beaneditor.BeanModel result = ($r)
((org.apache.tapestry5.beaneditor.BeanModel) _$resources.readParameter("model",
"org.apache.tapestry5.beaneditor.BeanModel"));
if (_$model_invariant || _$resources.isRendering())
{
model = result;
_$model_cached = true;
}
return result;
}
replace read model: _$read_parameter_model();
add method: private void
_$update_parameter_model(org.apache.tapestry5.beaneditor.BeanModel $1)
{
if (! _$resources.isLoaded())
{
model = $1;
return;
}
if (_$resources.isBound("model"))
_$resources.writeParameter("model", ($w)$1);
model = $1;
_$model_cached = _$resources.isRendering();
}
replace write model: _$update_parameter_model();
> Parameter fields that are updated during component event processing (such as
> a form submit) may not clear their values at the end of the request
> ------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: TAPESTRY-2471
> URL: https://issues.apache.org/jira/browse/TAPESTRY-2471
> Project: Tapestry
> Issue Type: Bug
> Components: tapestry-core
> Affects Versions: 5.0.13
> Reporter: Howard M. Lewis Ship
> Assignee: Howard M. Lewis Ship
> Priority: Critical
>
> The logic for clearing a component parameter field is added as so:
> extend method: public void postRenderCleanup()
> if (! _$model_invariant)
> {
> model = _$model_default;
> _$model_cached = false;
> }
> The problem is that this postRenderCleanup() is invoked after the component
> finishes rendering. If a parameter is updated as part of a form submission,
> this code is not called, and the parameter value is left behind. This can
> lead to leaks, as the parameter value is not cleared before the page is
> returned to the pool.
> The solution is to extend the method containingPageDidDetach() as well.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]