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 (<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 ? "&" : "?") >> > .append("rand=") >> > >> >> >> >> -- >> Martin Grigorov >> jWeekend >> Training, Consulting, Development >> http://jWeekend.com > > -- Martin Grigorov jWeekend Training, Consulting, Development http://jWeekend.com
