Can we add some test cases that stateless link/form doesn't have the
parameters and stateful have them ?

On Wed, Jan 4, 2012 at 8:56 PM,  <[email protected]> wrote:
> WICKET-4290: Do not render page parameters for statefull links
>
>
> Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
> Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/35c66b27
> Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/35c66b27
> Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/35c66b27
>
> Branch: refs/heads/master
> Commit: 35c66b27e5dd1f9e9fe3f2c1a075f2b717c682a1
> Parents: 184e41e
> Author: Emond Papegaaij <[email protected]>
> Authored: Tue Jan 3 08:09:05 2012 +0100
> Committer: Emond Papegaaij <[email protected]>
> Committed: Wed Jan 4 17:55:14 2012 +0100
>
> ----------------------------------------------------------------------
>  .../src/main/java/org/apache/wicket/Component.java |   17 +++++---
>  .../wicket/behavior/AbstractAjaxBehavior.java      |    3 +-
>  .../org/apache/wicket/markup/html/form/Check.java  |    3 +-
>  .../apache/wicket/markup/html/form/CheckBox.java   |    3 +-
>  .../wicket/markup/html/form/DropDownChoice.java    |    4 +-
>  .../org/apache/wicket/markup/html/form/Form.java   |   33 +++------------
>  .../org/apache/wicket/markup/html/form/Radio.java  |    3 +-
>  .../wicket/markup/html/form/RadioChoice.java       |    3 +-
>  .../wicket/markup/html/form/StatelessForm.java     |    6 +++
>  .../image/resource/LocalizedImageResource.java     |    2 +-
>  .../wicket/markup/html/link/InlineFrame.java       |    2 +-
>  .../org/apache/wicket/markup/html/link/Link.java   |    3 +-
>  .../wicket/markup/html/link/ResourceLink.java      |    2 +-
>  .../wicket/markup/html/link/StatelessLink.java     |    6 +++
>  .../wicket/markup/html/pages/RedirectPage.java     |    5 +-
>  .../request/handler/PageAndComponentProvider.java  |   14 ++++++
>  .../wicket/request/handler/PageProvider.java       |    2 +-
>  .../wicket/util/tester/BaseWicketTester.java       |    8 ++-
>  .../org/apache/wicket/BehaviorRequestTest.java     |    4 +-
>  .../java/org/apache/wicket/BehaviorUrlTest.java    |    4 +-
>  .../wicket/behavior/ImmutableBehaviorIdsTest.java  |    3 +-
>  .../captcha/kittens/KittenCaptchaPanel.java        |    4 +-
>  22 files changed, 81 insertions(+), 53 deletions(-)
> ----------------------------------------------------------------------
>
>
> http://git-wip-us.apache.org/repos/asf/wicket/blob/35c66b27/wicket-core/src/main/java/org/apache/wicket/Component.java
> ----------------------------------------------------------------------
> diff --git a/wicket-core/src/main/java/org/apache/wicket/Component.java 
> b/wicket-core/src/main/java/org/apache/wicket/Component.java
> index 4c25361..8725706 100644
> --- a/wicket-core/src/main/java/org/apache/wicket/Component.java
> +++ b/wicket-core/src/main/java/org/apache/wicket/Component.java
> @@ -3309,7 +3309,7 @@ public abstract class Component
>        {
>                return getRequestCycle().urlFor(pageClass, parameters);
>        }
> -
> +
>        /**
>         * Gets a URL for the listener interface on a behavior (e.g. 
> IBehaviorListener on
>         * AjaxPagingNavigationBehavior).
> @@ -3318,14 +3318,16 @@ public abstract class Component
>         *            The behavior that the URL should point to
>         * @param listener
>         *            The listener interface that the URL should call
> +        * @param parameters
> +        *            The parameters that should be rendered into the urls
>         * @return The URL
>         */
>        public final CharSequence urlFor(final Behavior behaviour,
> -               final RequestListenerInterface listener)
> +               final RequestListenerInterface listener, final PageParameters 
> parameters)
>        {
>                int id = getBehaviorId(behaviour);
>                Page page = getPage();
> -               PageAndComponentProvider provider = new 
> PageAndComponentProvider(page, this);
> +               PageAndComponentProvider provider = new 
> PageAndComponentProvider(page, this, parameters);
>                IRequestHandler handler;
>                if (page.isPageStateless())
>                {
> @@ -3352,7 +3354,7 @@ public abstract class Component
>        {
>                return getRequestCycle().urlFor(requestHandler);
>        }
> -
> +
>        /**
>         * Gets a URL for the listener interface (e.g. ILinkListener).
>         *
> @@ -3360,12 +3362,15 @@ public abstract class Component
>         *
>         * @param listener
>         *            The listener interface that the URL should call
> +        * @param parameters
> +        *            The parameters that should be rendered into the urls
>         * @return The URL
>         */
> -       public final CharSequence urlFor(final RequestListenerInterface 
> listener)
> +       public final CharSequence urlFor(final RequestListenerInterface 
> listener,
> +               final PageParameters parameters)
>        {
>                Page page = getPage();
> -               PageAndComponentProvider provider = new 
> PageAndComponentProvider(page, this);
> +               PageAndComponentProvider provider = new 
> PageAndComponentProvider(page, this, parameters);
>                IRequestHandler handler;
>                if (page.isPageStateless())
>                {
>
> http://git-wip-us.apache.org/repos/asf/wicket/blob/35c66b27/wicket-core/src/main/java/org/apache/wicket/behavior/AbstractAjaxBehavior.java
> ----------------------------------------------------------------------
> diff --git 
> a/wicket-core/src/main/java/org/apache/wicket/behavior/AbstractAjaxBehavior.java
>  
> b/wicket-core/src/main/java/org/apache/wicket/behavior/AbstractAjaxBehavior.java
> index 9d82d59..871f2fb 100644
> --- 
> a/wicket-core/src/main/java/org/apache/wicket/behavior/AbstractAjaxBehavior.java
> +++ 
> b/wicket-core/src/main/java/org/apache/wicket/behavior/AbstractAjaxBehavior.java
> @@ -19,6 +19,7 @@ package org.apache.wicket.behavior;
>  import org.apache.wicket.Component;
>  import org.apache.wicket.RequestListenerInterface;
>  import org.apache.wicket.markup.ComponentTag;
> +import org.apache.wicket.request.mapper.parameter.PageParameters;
>
>  /**
>  * Abstract class for handling Ajax roundtrips. This class serves as a base 
> for javascript specific
> @@ -86,7 +87,7 @@ public abstract class AbstractAjaxBehavior extends Behavior 
> implements IBehavior
>
>                rli = IBehaviorListener.INTERFACE;
>
> -               return getComponent().urlFor(this, rli);
> +               return getComponent().urlFor(this, rli, new PageParameters());
>        }
>
>        /**
>
> http://git-wip-us.apache.org/repos/asf/wicket/blob/35c66b27/wicket-core/src/main/java/org/apache/wicket/markup/html/form/Check.java
> ----------------------------------------------------------------------
> diff --git 
> a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/Check.java 
> b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/Check.java
> index 3f84bc0..a40a516 100644
> --- a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/Check.java
> +++ b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/Check.java
> @@ -23,6 +23,7 @@ import org.apache.wicket.WicketRuntimeException;
>  import org.apache.wicket.markup.ComponentTag;
>  import org.apache.wicket.markup.html.WebMarkupContainer;
>  import org.apache.wicket.model.IModel;
> +import org.apache.wicket.request.mapper.parameter.PageParameters;
>  import org.apache.wicket.util.string.Strings;
>
>
> @@ -196,7 +197,7 @@ public class Check<T> extends LabeledWebMarkupContainer
>                if (group.wantOnSelectionChangedNotifications())
>                {
>                        // url that points to this components 
> IOnChangeListener method
> -                       CharSequence url = 
> group.urlFor(IOnChangeListener.INTERFACE);
> +                       CharSequence url = 
> group.urlFor(IOnChangeListener.INTERFACE, new PageParameters());
>
>                        Form<?> form = group.findParent(Form.class);
>                        if (form != null)
>
> http://git-wip-us.apache.org/repos/asf/wicket/blob/35c66b27/wicket-core/src/main/java/org/apache/wicket/markup/html/form/CheckBox.java
> ----------------------------------------------------------------------
> diff --git 
> a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/CheckBox.java 
> b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/CheckBox.java
> index bd83812..9a55cb8 100644
> --- 
> a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/CheckBox.java
> +++ 
> b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/CheckBox.java
> @@ -20,6 +20,7 @@ import java.util.Locale;
>
>  import org.apache.wicket.markup.ComponentTag;
>  import org.apache.wicket.model.IModel;
> +import org.apache.wicket.request.mapper.parameter.PageParameters;
>  import org.apache.wicket.util.convert.IConverter;
>
>  /**
> @@ -156,7 +157,7 @@ public class CheckBox extends FormComponent<Boolean> 
> implements IOnChangeListene
>                // checkbox is clicked?
>                if (wantOnSelectionChangedNotifications())
>                {
> -                       CharSequence url = 
> urlFor(IOnChangeListener.INTERFACE);
> +                       CharSequence url = 
> urlFor(IOnChangeListener.INTERFACE, new PageParameters());
>
>                        Form<?> form = findParent(Form.class);
>                        if (form != null)
>
> http://git-wip-us.apache.org/repos/asf/wicket/blob/35c66b27/wicket-core/src/main/java/org/apache/wicket/markup/html/form/DropDownChoice.java
> ----------------------------------------------------------------------
> diff --git 
> a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/DropDownChoice.java
>  
> b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/DropDownChoice.java
> index 0f66e5e..55fedd5 100644
> --- 
> a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/DropDownChoice.java
> +++ 
> b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/DropDownChoice.java
> @@ -23,6 +23,7 @@ import org.apache.wicket.markup.ComponentTag;
>  import org.apache.wicket.model.IModel;
>  import org.apache.wicket.request.handler.ListenerInterfaceRequestHandler;
>  import org.apache.wicket.request.handler.PageAndComponentProvider;
> +import org.apache.wicket.request.mapper.parameter.PageParameters;
>
>
>  /**
> @@ -233,7 +234,8 @@ public class DropDownChoice<T> extends 
> AbstractSingleSelectChoice<T> implements
>                        // we do not want relative URL here, because it will 
> be used by
>                        // Form#dispatchEvent
>                        CharSequence url = urlFor(new 
> ListenerInterfaceRequestHandler(
> -                               new PageAndComponentProvider(getPage(), 
> this), IOnChangeListener.INTERFACE));
> +                               new PageAndComponentProvider(getPage(), this, 
> new PageParameters()),
> +                               IOnChangeListener.INTERFACE));
>
>                        Form<?> form = findParent(Form.class);
>                        if (form != null)
>
> http://git-wip-us.apache.org/repos/asf/wicket/blob/35c66b27/wicket-core/src/main/java/org/apache/wicket/markup/html/form/Form.java
> ----------------------------------------------------------------------
> diff --git 
> a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/Form.java 
> b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/Form.java
> index 7f91162..a0f3654 100644
> --- a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/Form.java
> +++ b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/Form.java
> @@ -33,6 +33,7 @@ import org.apache.wicket.behavior.Behavior;
>  import org.apache.wicket.markup.ComponentTag;
>  import org.apache.wicket.markup.MarkupStream;
>  import org.apache.wicket.markup.head.IHeaderResponse;
> +import org.apache.wicket.markup.head.JavaScriptHeaderItem;
>  import org.apache.wicket.markup.html.WebMarkupContainer;
>  import org.apache.wicket.markup.html.form.upload.FileUploadField;
>  import org.apache.wicket.markup.html.form.validation.FormValidatorAdapter;
> @@ -50,7 +51,6 @@ import org.apache.wicket.request.UrlDecoder;
>  import org.apache.wicket.request.UrlRenderer;
>  import org.apache.wicket.request.http.WebRequest;
>  import org.apache.wicket.request.mapper.parameter.PageParameters;
> -import org.apache.wicket.markup.head.JavaScriptHeaderItem;
>  import org.apache.wicket.settings.IApplicationSettings;
>  import org.apache.wicket.util.lang.Args;
>  import org.apache.wicket.util.lang.Bytes;
> @@ -58,8 +58,8 @@ import org.apache.wicket.util.string.AppendingStringBuffer;
>  import org.apache.wicket.util.string.PrependingStringBuffer;
>  import org.apache.wicket.util.string.Strings;
>  import org.apache.wicket.util.string.interpolator.MapVariableInterpolator;
> -import org.apache.wicket.util.upload.FileUploadException;
>  import 
> org.apache.wicket.util.upload.FileUploadBase.SizeLimitExceededException;
> +import org.apache.wicket.util.upload.FileUploadException;
>  import org.apache.wicket.util.value.LongValue;
>  import org.apache.wicket.util.visit.ClassVisitFilter;
>  import org.apache.wicket.util.visit.IVisit;
> @@ -114,9 +114,9 @@ import org.slf4j.LoggerFactory;
>  * Use this with {@link FileUploadField} components. You can attach multiple 
> {@link FileUploadField}
>  * components for multiple file uploads.
>  * <p>
> - * In case of an upload error two resource keys are available to specify 
> error messages: {@code
> - * uploadTooLarge} and {@code uploadFailed}, i.e. for a form with id {@code 
> myform} in {@code
> - * MyPage.properties}:
> + * In case of an upload error two resource keys are available to specify 
> error messages:
> + * {@code uploadTooLarge} and {@code uploadFailed}, i.e. for a form with id 
> {@code myform} in
> + * {@code MyPage.properties}:
>  *
>  * <pre>
>  * myform.uploadTooLarge=You have uploaded a file that is over the allowed 
> limit of 2Mb
> @@ -843,27 +843,6 @@ public class Form<T> extends WebMarkupContainer 
> implements IFormSubmitListener
>                        // Form has no error
>                        delegateSubmit(submittingComponent);
>                }
> -
> -               // If the form is stateless page parameters contain all form 
> component
> -               // values. We need to remove those otherwise they get 
> appended to action URL
> -               final PageParameters parameters = page.getPageParameters();
> -               if (parameters != null)
> -               {
> -                       visitFormComponents(new IVisitor<FormComponent<?>, 
> Void>()
> -                       {
> -                               @Override
> -                               public void component(final FormComponent<?> 
> formComponent, final IVisit<Void> visit)
> -                               {
> -                                       
> parameters.remove(formComponent.getInputName());
> -                               }
> -                       });
> -                       parameters.remove(hiddenFieldId);
> -                       if (submittingComponent instanceof AbstractSubmitLink)
> -                       {
> -                               AbstractSubmitLink submitLink = 
> (AbstractSubmitLink)submittingComponent;
> -                               parameters.remove(submitLink.getInputName());
> -                       }
> -               }
>        }
>
>        /**
> @@ -1532,7 +1511,7 @@ public class Form<T> extends WebMarkupContainer 
> implements IFormSubmitListener
>         */
>        protected CharSequence getActionUrl()
>        {
> -               return urlFor(IFormSubmitListener.INTERFACE);
> +               return urlFor(IFormSubmitListener.INTERFACE, new 
> PageParameters());
>        }
>
>        /**
>
> http://git-wip-us.apache.org/repos/asf/wicket/blob/35c66b27/wicket-core/src/main/java/org/apache/wicket/markup/html/form/Radio.java
> ----------------------------------------------------------------------
> diff --git 
> a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/Radio.java 
> b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/Radio.java
> index 484c597..e4d0cab 100644
> --- a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/Radio.java
> +++ b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/Radio.java
> @@ -21,6 +21,7 @@ import org.apache.wicket.WicketRuntimeException;
>  import org.apache.wicket.markup.ComponentTag;
>  import org.apache.wicket.markup.html.WebMarkupContainer;
>  import org.apache.wicket.model.IModel;
> +import org.apache.wicket.request.mapper.parameter.PageParameters;
>  import org.apache.wicket.util.string.Strings;
>
>  /**
> @@ -182,7 +183,7 @@ public class Radio<T> extends LabeledWebMarkupContainer
>                if (group.wantOnSelectionChangedNotifications())
>                {
>                        // url that points to this components 
> IOnChangeListener method
> -                       CharSequence url = 
> group.urlFor(IOnChangeListener.INTERFACE);
> +                       CharSequence url = 
> group.urlFor(IOnChangeListener.INTERFACE, new PageParameters());
>
>                        Form<?> form = group.findParent(Form.class);
>                        if (form != null)
>
> http://git-wip-us.apache.org/repos/asf/wicket/blob/35c66b27/wicket-core/src/main/java/org/apache/wicket/markup/html/form/RadioChoice.java
> ----------------------------------------------------------------------
> diff --git 
> a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/RadioChoice.java
>  
> b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/RadioChoice.java
> index 85009bf..69aba81 100644
> --- 
> a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/RadioChoice.java
> +++ 
> b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/RadioChoice.java
> @@ -22,6 +22,7 @@ import java.util.Map;
>  import org.apache.wicket.markup.ComponentTag;
>  import org.apache.wicket.markup.MarkupStream;
>  import org.apache.wicket.model.IModel;
> +import org.apache.wicket.request.mapper.parameter.PageParameters;
>  import org.apache.wicket.util.convert.IConverter;
>  import org.apache.wicket.util.string.AppendingStringBuffer;
>  import org.apache.wicket.util.string.Strings;
> @@ -404,7 +405,7 @@ public class RadioChoice<T> extends 
> AbstractSingleSelectChoice<T> implements IOn
>                                // when the option is clicked?
>                                if (wantOnSelectionChangedNotifications())
>                                {
> -                                       CharSequence url = 
> urlFor(IOnChangeListener.INTERFACE);
> +                                       CharSequence url = 
> urlFor(IOnChangeListener.INTERFACE, new PageParameters());
>
>                                        Form<?> form = findParent(Form.class);
>                                        if (form != null)
>
> http://git-wip-us.apache.org/repos/asf/wicket/blob/35c66b27/wicket-core/src/main/java/org/apache/wicket/markup/html/form/StatelessForm.java
> ----------------------------------------------------------------------
> diff --git 
> a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/StatelessForm.java
>  
> b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/StatelessForm.java
> index d584193..034519c 100644
> --- 
> a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/StatelessForm.java
> +++ 
> b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/StatelessForm.java
> @@ -66,4 +66,10 @@ public class StatelessForm<T> extends Form<T>
>                setResponsePage(getPage().getClass(), 
> getPage().getPageParameters());
>                return MethodMismatchResponse.ABORT;
>        }
> +
> +       @Override
> +       protected CharSequence getActionUrl()
> +       {
> +               return urlFor(IFormSubmitListener.INTERFACE, 
> getPage().getPageParameters());
> +       }
>  }
>
> http://git-wip-us.apache.org/repos/asf/wicket/blob/35c66b27/wicket-core/src/main/java/org/apache/wicket/markup/html/image/resource/LocalizedImageResource.java
> ----------------------------------------------------------------------
> diff --git 
> a/wicket-core/src/main/java/org/apache/wicket/markup/html/image/resource/LocalizedImageResource.java
>  
> b/wicket-core/src/main/java/org/apache/wicket/markup/html/image/resource/LocalizedImageResource.java
> index 03d4e92..02b90da 100644
> --- 
> a/wicket-core/src/main/java/org/apache/wicket/markup/html/image/resource/LocalizedImageResource.java
> +++ 
> b/wicket-core/src/main/java/org/apache/wicket/markup/html/image/resource/LocalizedImageResource.java
> @@ -333,7 +333,7 @@ public final class LocalizedImageResource implements 
> IClusterable
>                else
>                {
>                        // Create URL to component
> -                       url = component.urlFor(IResourceListener.INTERFACE);
> +                       url = component.urlFor(IResourceListener.INTERFACE, 
> resourceParameters);
>                }
>
>                // Set the SRC attribute to point to the component or shared 
> resource
>
> http://git-wip-us.apache.org/repos/asf/wicket/blob/35c66b27/wicket-core/src/main/java/org/apache/wicket/markup/html/link/InlineFrame.java
> ----------------------------------------------------------------------
> diff --git 
> a/wicket-core/src/main/java/org/apache/wicket/markup/html/link/InlineFrame.java
>  
> b/wicket-core/src/main/java/org/apache/wicket/markup/html/link/InlineFrame.java
> index 3465224..f9f0959 100644
> --- 
> a/wicket-core/src/main/java/org/apache/wicket/markup/html/link/InlineFrame.java
> +++ 
> b/wicket-core/src/main/java/org/apache/wicket/markup/html/link/InlineFrame.java
> @@ -161,7 +161,7 @@ public class InlineFrame extends WebMarkupContainer 
> implements ILinkListener
>         */
>        protected CharSequence getURL()
>        {
> -               return urlFor(ILinkListener.INTERFACE);
> +               return urlFor(ILinkListener.INTERFACE, new PageParameters());
>        }
>
>        /**
>
> http://git-wip-us.apache.org/repos/asf/wicket/blob/35c66b27/wicket-core/src/main/java/org/apache/wicket/markup/html/link/Link.java
> ----------------------------------------------------------------------
> diff --git 
> a/wicket-core/src/main/java/org/apache/wicket/markup/html/link/Link.java 
> b/wicket-core/src/main/java/org/apache/wicket/markup/html/link/Link.java
> index 46feaba..3383710 100644
> --- a/wicket-core/src/main/java/org/apache/wicket/markup/html/link/Link.java
> +++ b/wicket-core/src/main/java/org/apache/wicket/markup/html/link/Link.java
> @@ -21,6 +21,7 @@ import org.apache.wicket.Page;
>  import org.apache.wicket.WicketRuntimeException;
>  import org.apache.wicket.markup.ComponentTag;
>  import org.apache.wicket.model.IModel;
> +import org.apache.wicket.request.mapper.parameter.PageParameters;
>
>  /**
>  * Implementation of a hyperlink component. A link can be used with an anchor 
> (&lt;a href...)
> @@ -322,7 +323,7 @@ public abstract class Link<T> extends AbstractLink 
> implements ILinkListener
>         */
>        protected CharSequence getURL()
>        {
> -               return urlFor(ILinkListener.INTERFACE);
> +               return urlFor(ILinkListener.INTERFACE, new PageParameters());
>        }
>
>        /**
>
> http://git-wip-us.apache.org/repos/asf/wicket/blob/35c66b27/wicket-core/src/main/java/org/apache/wicket/markup/html/link/ResourceLink.java
> ----------------------------------------------------------------------
> diff --git 
> a/wicket-core/src/main/java/org/apache/wicket/markup/html/link/ResourceLink.java
>  
> b/wicket-core/src/main/java/org/apache/wicket/markup/html/link/ResourceLink.java
> index cf8de63..220bc05 100644
> --- 
> a/wicket-core/src/main/java/org/apache/wicket/markup/html/link/ResourceLink.java
> +++ 
> b/wicket-core/src/main/java/org/apache/wicket/markup/html/link/ResourceLink.java
> @@ -141,6 +141,6 @@ public class ResourceLink<T> extends Link<T> implements 
> IResourceListener
>                        return getRequestCycle().urlFor(
>                                new 
> ResourceReferenceRequestHandler(resourceReference, resourceParameters));
>                }
> -               return urlFor(IResourceListener.INTERFACE);
> +               return urlFor(IResourceListener.INTERFACE, 
> resourceParameters);
>        }
>  }
>
> http://git-wip-us.apache.org/repos/asf/wicket/blob/35c66b27/wicket-core/src/main/java/org/apache/wicket/markup/html/link/StatelessLink.java
> ----------------------------------------------------------------------
> diff --git 
> a/wicket-core/src/main/java/org/apache/wicket/markup/html/link/StatelessLink.java
>  
> b/wicket-core/src/main/java/org/apache/wicket/markup/html/link/StatelessLink.java
> index dd2f4ec..9a4a5c5 100644
> --- 
> a/wicket-core/src/main/java/org/apache/wicket/markup/html/link/StatelessLink.java
> +++ 
> b/wicket-core/src/main/java/org/apache/wicket/markup/html/link/StatelessLink.java
> @@ -48,4 +48,10 @@ public abstract class StatelessLink<T> extends Link<T>
>        {
>                return true;
>        }
> +
> +       @Override
> +       protected CharSequence getURL()
> +       {
> +               return urlFor(ILinkListener.INTERFACE, 
> getPage().getPageParameters());
> +       }
>  }
>
> http://git-wip-us.apache.org/repos/asf/wicket/blob/35c66b27/wicket-core/src/main/java/org/apache/wicket/markup/html/pages/RedirectPage.java
> ----------------------------------------------------------------------
> diff --git 
> a/wicket-core/src/main/java/org/apache/wicket/markup/html/pages/RedirectPage.java
>  
> b/wicket-core/src/main/java/org/apache/wicket/markup/html/pages/RedirectPage.java
> index 7113366..9b60bea 100644
> --- 
> a/wicket-core/src/main/java/org/apache/wicket/markup/html/pages/RedirectPage.java
> +++ 
> b/wicket-core/src/main/java/org/apache/wicket/markup/html/pages/RedirectPage.java
> @@ -69,7 +69,7 @@ public class RedirectPage extends WebPage
>         */
>        public RedirectPage(final Page page)
>        {
> -               this(page.urlFor(IRedirectListener.INTERFACE), 0);
> +               this(page.urlFor(IRedirectListener.INTERFACE, 
> page.getPageParameters()), 0);
>        }
>
>        /**
> @@ -83,7 +83,8 @@ public class RedirectPage extends WebPage
>         */
>        public RedirectPage(final Page page, final int 
> waitBeforeRedirectInSeconds)
>        {
> -               this(page.urlFor(IRedirectListener.INTERFACE), 
> waitBeforeRedirectInSeconds);
> +               this(page.urlFor(IRedirectListener.INTERFACE, 
> page.getPageParameters()),
> +                       waitBeforeRedirectInSeconds);
>        }
>
>        /**
>
> http://git-wip-us.apache.org/repos/asf/wicket/blob/35c66b27/wicket-core/src/main/java/org/apache/wicket/request/handler/PageAndComponentProvider.java
> ----------------------------------------------------------------------
> diff --git 
> a/wicket-core/src/main/java/org/apache/wicket/request/handler/PageAndComponentProvider.java
>  
> b/wicket-core/src/main/java/org/apache/wicket/request/handler/PageAndComponentProvider.java
> index b974605..f8abe86 100644
> --- 
> a/wicket-core/src/main/java/org/apache/wicket/request/handler/PageAndComponentProvider.java
> +++ 
> b/wicket-core/src/main/java/org/apache/wicket/request/handler/PageAndComponentProvider.java
> @@ -134,6 +134,20 @@ public class PageAndComponentProvider extends 
> PageProvider implements IPageAndCo
>                setComponentPath(componentPath);
>        }
>
> +       public PageAndComponentProvider(IRequestablePage page, 
> IRequestableComponent component,
> +               PageParameters parameters)
> +       {
> +               super(page);
> +
> +               Args.notNull(component, "component");
> +
> +               this.component = component;
> +               if (parameters != null)
> +               {
> +                       setPageParameters(parameters);
> +               }
> +       }
> +
>        /**
>         * @see 
> org.apache.wicket.request.handler.IPageAndComponentProvider#getComponent()
>         */
>
> http://git-wip-us.apache.org/repos/asf/wicket/blob/35c66b27/wicket-core/src/main/java/org/apache/wicket/request/handler/PageProvider.java
> ----------------------------------------------------------------------
> diff --git 
> a/wicket-core/src/main/java/org/apache/wicket/request/handler/PageProvider.java
>  
> b/wicket-core/src/main/java/org/apache/wicket/request/handler/PageProvider.java
> index 24056e8..c346a8a 100644
> --- 
> a/wicket-core/src/main/java/org/apache/wicket/request/handler/PageProvider.java
> +++ 
> b/wicket-core/src/main/java/org/apache/wicket/request/handler/PageProvider.java
> @@ -351,7 +351,7 @@ public class PageProvider implements IPageProvider
>         *
>         * @param pageParameters
>         */
> -       private void setPageParameters(PageParameters pageParameters)
> +       protected void setPageParameters(PageParameters pageParameters)
>        {
>                this.pageParameters = pageParameters;
>        }
>
> http://git-wip-us.apache.org/repos/asf/wicket/blob/35c66b27/wicket-core/src/main/java/org/apache/wicket/util/tester/BaseWicketTester.java
> ----------------------------------------------------------------------
> diff --git 
> a/wicket-core/src/main/java/org/apache/wicket/util/tester/BaseWicketTester.java
>  
> b/wicket-core/src/main/java/org/apache/wicket/util/tester/BaseWicketTester.java
> index 7368e1b..2060fa5 100644
> --- 
> a/wicket-core/src/main/java/org/apache/wicket/util/tester/BaseWicketTester.java
> +++ 
> b/wicket-core/src/main/java/org/apache/wicket/util/tester/BaseWicketTester.java
> @@ -948,7 +948,7 @@ public class BaseWicketTester
>        {
>                Args.notNull(link, "link");
>
> -               return link.urlFor(ILinkListener.INTERFACE).toString();
> +               return link.urlFor(ILinkListener.INTERFACE, new 
> PageParameters()).toString();
>        }
>
>        /**
> @@ -1818,8 +1818,10 @@ public class BaseWicketTester
>        public void submitForm(String path)
>        {
>                Form<?> form = (Form<?>)getComponentFromLastRenderedPage(path);
> -               Url url = 
> Url.parse(form.getRootForm().urlFor(IFormSubmitListener.INTERFACE).toString(),
> -                       Charset.forName(request.getCharacterEncoding()));
> +               Url url = Url.parse(
> +                       form.getRootForm()
> +                               .urlFor(IFormSubmitListener.INTERFACE, new 
> PageParameters())
> +                               .toString(), 
> Charset.forName(request.getCharacterEncoding()));
>
>                // make url absolute
>                transform(url);
>
> http://git-wip-us.apache.org/repos/asf/wicket/blob/35c66b27/wicket-core/src/test/java/org/apache/wicket/BehaviorRequestTest.java
> ----------------------------------------------------------------------
> diff --git 
> a/wicket-core/src/test/java/org/apache/wicket/BehaviorRequestTest.java 
> b/wicket-core/src/test/java/org/apache/wicket/BehaviorRequestTest.java
> index 58ab7fb..b14c8e9 100644
> --- a/wicket-core/src/test/java/org/apache/wicket/BehaviorRequestTest.java
> +++ b/wicket-core/src/test/java/org/apache/wicket/BehaviorRequestTest.java
> @@ -27,6 +27,7 @@ import 
> org.apache.wicket.request.handler.IPageAndComponentProvider;
>  import org.apache.wicket.request.handler.ListenerInterfaceRequestHandler;
>  import 
> org.apache.wicket.request.handler.ListenerInvocationNotAllowedException;
>  import org.apache.wicket.request.handler.PageAndComponentProvider;
> +import org.apache.wicket.request.mapper.parameter.PageParameters;
>  import org.apache.wicket.util.resource.IResourceStream;
>  import org.apache.wicket.util.resource.StringResourceStream;
>  import org.junit.Before;
> @@ -134,7 +135,8 @@ public class BehaviorRequestTest extends WicketTestCase
>                public void onComponentTag(Component component, ComponentTag 
> tag)
>                {
>                        super.onComponentTag(component, tag);
> -                       tag.put("href", component.urlFor(this, 
> IBehaviorListener.INTERFACE));
> +                       tag.put("href",
> +                               component.urlFor(this, 
> IBehaviorListener.INTERFACE, new PageParameters()));
>                }
>
>                @Override
>
> http://git-wip-us.apache.org/repos/asf/wicket/blob/35c66b27/wicket-core/src/test/java/org/apache/wicket/BehaviorUrlTest.java
> ----------------------------------------------------------------------
> diff --git a/wicket-core/src/test/java/org/apache/wicket/BehaviorUrlTest.java 
> b/wicket-core/src/test/java/org/apache/wicket/BehaviorUrlTest.java
> index 73d7b1e..0ace3d3 100644
> --- a/wicket-core/src/test/java/org/apache/wicket/BehaviorUrlTest.java
> +++ b/wicket-core/src/test/java/org/apache/wicket/BehaviorUrlTest.java
> @@ -26,6 +26,7 @@ import org.apache.wicket.markup.html.WebMarkupContainer;
>  import org.apache.wicket.markup.html.WebPage;
>  import org.apache.wicket.model.Model;
>  import org.apache.wicket.request.IRequestParameters;
> +import org.apache.wicket.request.mapper.parameter.PageParameters;
>  import org.apache.wicket.util.resource.IResourceStream;
>  import org.apache.wicket.util.resource.StringResourceStream;
>  import org.apache.wicket.util.string.StringValue;
> @@ -131,7 +132,8 @@ public class BehaviorUrlTest extends WicketTestCase
>                public void onComponentTag(Component component, ComponentTag 
> tag)
>                {
>                        super.onComponentTag(component, tag);
> -                       tag.put("href", component.urlFor(this, 
> IBehaviorListener.INTERFACE));
> +                       tag.put("href",
> +                               component.urlFor(this, 
> IBehaviorListener.INTERFACE, new PageParameters()));
>                }
>
>                @Override
>
> http://git-wip-us.apache.org/repos/asf/wicket/blob/35c66b27/wicket-core/src/test/java/org/apache/wicket/behavior/ImmutableBehaviorIdsTest.java
> ----------------------------------------------------------------------
> diff --git 
> a/wicket-core/src/test/java/org/apache/wicket/behavior/ImmutableBehaviorIdsTest.java
>  
> b/wicket-core/src/test/java/org/apache/wicket/behavior/ImmutableBehaviorIdsTest.java
> index a2f2936..0e0b52a 100644
> --- 
> a/wicket-core/src/test/java/org/apache/wicket/behavior/ImmutableBehaviorIdsTest.java
> +++ 
> b/wicket-core/src/test/java/org/apache/wicket/behavior/ImmutableBehaviorIdsTest.java
> @@ -26,6 +26,7 @@ import org.apache.wicket.markup.ComponentTag;
>  import org.apache.wicket.markup.IMarkupResourceStreamProvider;
>  import org.apache.wicket.markup.html.WebMarkupContainer;
>  import org.apache.wicket.markup.html.WebPage;
> +import org.apache.wicket.request.mapper.parameter.PageParameters;
>  import org.apache.wicket.util.resource.IResourceStream;
>  import org.apache.wicket.util.resource.StringResourceStream;
>  import org.junit.Test;
> @@ -164,7 +165,7 @@ public class ImmutableBehaviorIdsTest extends 
> WicketTestCase
>                public void onComponentTag(Component component, ComponentTag 
> tag)
>                {
>                        super.onComponentTag(component, tag);
> -                       tag.put(attr, component.urlFor(this, 
> IBehaviorListener.INTERFACE));
> +                       tag.put(attr, component.urlFor(this, 
> IBehaviorListener.INTERFACE, new PageParameters()));
>                }
>
>                @Override
>
> http://git-wip-us.apache.org/repos/asf/wicket/blob/35c66b27/wicket-extensions/src/main/java/org/apache/wicket/extensions/captcha/kittens/KittenCaptchaPanel.java
> ----------------------------------------------------------------------
> diff --git 
> a/wicket-extensions/src/main/java/org/apache/wicket/extensions/captcha/kittens/KittenCaptchaPanel.java
>  
> b/wicket-extensions/src/main/java/org/apache/wicket/extensions/captcha/kittens/KittenCaptchaPanel.java
> index bac0212..2dda021 100644
> --- 
> a/wicket-extensions/src/main/java/org/apache/wicket/extensions/captcha/kittens/KittenCaptchaPanel.java
> +++ 
> b/wicket-extensions/src/main/java/org/apache/wicket/extensions/captcha/kittens/KittenCaptchaPanel.java
> @@ -31,6 +31,7 @@ import org.apache.wicket.model.AbstractReadOnlyModel;
>  import org.apache.wicket.request.Request;
>  import org.apache.wicket.request.cycle.RequestCycle;
>  import org.apache.wicket.request.http.WebResponse;
> +import org.apache.wicket.request.mapper.parameter.PageParameters;
>  import org.apache.wicket.request.resource.DynamicImageResource;
>  import org.apache.wicket.util.time.Time;
>
> @@ -206,7 +207,8 @@ public class KittenCaptchaPanel extends Panel
>                                        javascript.append("Wicket.$('")
>                                                .append(image.getMarkupId())
>                                                .append("').src = '");
> -                                       CharSequence url = 
> image.urlFor(IResourceListener.INTERFACE);
> +                                       CharSequence url = 
> image.urlFor(IResourceListener.INTERFACE,
> +                                               new PageParameters());
>                                        javascript.append(url);
>                                        
> javascript.append(url.toString().indexOf('?') > -1 ? "&amp;" : "?")
>                                                .append("rand=")
>



-- 
Martin Grigorov
jWeekend
Training, Consulting, Development
http://jWeekend.com

Reply via email to