[ 
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.

Reply via email to