On Thu, Jan 5, 2012 at 10:49 AM, Emond Papegaaij
<[email protected]> wrote:
> On Thu, Jan 5, 2012 at 8:48 AM, Martin Grigorov <[email protected]>
> wrote:
>>
>> Can we add some test cases that stateless link/form doesn't have the
>> parameters and stateful have them ?
>
>
> Good point. I'll add them. Btw, it's actually the other way around :)
> Stateless links should have the parameters in the url, stateful should take
> them from the page.

Correct.
This is what I mean :-)

>
> Emond
>
>>
>>
>> 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
>
>



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

Reply via email to