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