You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by "Johan Compagner (JIRA)" <ji...@apache.org> on 2008/10/05 21:35:44 UTC

[jira] Closed: (WICKET-1740) RequestCycle.urlFor modifies page parameters

     [ https://issues.apache.org/jira/browse/WICKET-1740?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Johan Compagner closed WICKET-1740.
-----------------------------------

       Resolution: Fixed
    Fix Version/s: 1.4-M4
                   1.3.5

> RequestCycle.urlFor modifies page parameters
> --------------------------------------------
>
>                 Key: WICKET-1740
>                 URL: https://issues.apache.org/jira/browse/WICKET-1740
>             Project: Wicket
>          Issue Type: Bug
>    Affects Versions: 1.3.4
>            Reporter: Juliano Viana
>            Assignee: Johan Compagner
>             Fix For: 1.3.5, 1.4-M4
>
>
> The method RequestCycle.urlFor(final Component component,final RequestListenerInterface listener, ValueMap params) (RequestCycle.java line 824) obtains a PageParameters instance from the current page or creates a new instance if the page has no associated PageParameters. It then proceeds to add to the PageParameters instance all the parameters passed on the 'params' argument. If its using the PageParameters instance associated with the current Page that means the parameters of the page are permanently altered and any code later in the request cycle that depends upon these parameters is going to be broken. 
> I believe the soluction would be to clone the PageParameters instance obtained from the Page, as in:
> 	PageParameters pageParameters = page.getPageParameters();
> 			if (pageParameters == null)
> 			{
> 				pageParameters = new PageParameters();
> 			}
> 			else
> 				pageParameters = (PageParameters)pageParameters.clone();
> The above change doesn't seem to break any test cases.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.