The patch fixed the problem I was seeing.
I'm not sure how to create a good test case for this. The WicketTester
doesn't seem to replicate the behavior of a browser quite properly. The
existing test cases could use some improvement because they obviously missed
this.
It took me about 4 hours to step through the code and learn what was going
on. I'm confident it resolves the issue I was seeing and that it retains
the old behavior for the case when the wicket interface is passed through
the path params.
Johan Compagner wrote:
>
> I will look at that patch but it is weird, it shouldnt be needed that
> that is in the page param, because the special
> BookmarkabkleInterfaceRequestTarget already does have all the needed
> info
>
> On 5/18/08, Doug Donohoe <[EMAIL PROTECTED]> wrote:
>>
>> The BookmarkablePageRequestTargetUrlCodingStrategy needs it so this code
>> is
>> run:
>>
>> return new
>> BookmarkableListenerInterfaceRequestTarget(pageMapName,
>> (Class)bookmarkablePageClassRef.get(),
>> parameters, requestParameters
>> .getComponentPath(),
>> requestParameters.getInterfaceName(),
>> requestParameters.getVersionNumber());
>>
>> Otherwise my form's onSubmit method is not called because the interface
>> isn't recognized.
>>
>> I've already fixed the code and I'll submit a patch.
>>
>> -Doug
>>
>>
>> Johan Compagner wrote:
>>>
>>> i dont get what is the problem at your place
>>> At that time the wicket interface should be removed
>>> else the page parameters has wicket params in it that shouldnt be those
>>> dont
>>> belong to user params.
>>>
>>> but why is this a problem?
>>>
>>> Why do you need that param later on?
>>>
>>> johan
>>>
>>>
>>> On Sun, May 18, 2008 at 5:26 PM, Doug Donohoe <[EMAIL PROTECTED]> wrote:
>>>
>>>>
>>>> I'm tracking down a bug where a stateless form submission isn't working
>>>> if
>>>> I
>>>> reboot my tomcat server. The issue is that Wicket doesn't recognize
>>>> the
>>>> wicket:interface parameter that is passed down.
>>>>
>>>> I believe I've tracked down the problem to this code in
>>>> BookmarkablePageRequestTargetUrlCodingStrategy:
>>>>
>>>> // do some extra work for checking whether this is a
>>>> normal
>>>> request to a
>>>> // bookmarkable page, or a request to a stateless page
>>>> (in
>>>> which case a
>>>> // wicket:interface parameter should be available
>>>> final String interfaceParameter = (String)parameters
>>>>
>>>> .remove(WebRequestCodingStrategy.INTERFACE_PARAMETER_NAME);
>>>>
>>>> if (interfaceParameter != null)
>>>> {
>>>>
>>>> WebRequestCodingStrategy.addInterfaceParameters(interfaceParameter,
>>>> requestParameters);
>>>> return new
>>>> BookmarkableListenerInterfaceRequestTarget(pageMapName,
>>>>
>>>> (Class)bookmarkablePageClassRef.get(), parameters, requestParameters
>>>>
>>>> .getComponentPath(),
>>>> requestParameters.getInterfaceName(),
>>>>
>>>> requestParameters.getVersionNumber());
>>>> }
>>>>
>>>>
>>>> The issue is that the 'parameters' will never contain the
>>>> INTERFACE_PARAMETER_NAME because it would have been removed in
>>>> WebRequestCodingStrategy:decode:215 which as far as I can tell is
>>>> always
>>>> called first (from RequestCycle.step.RESOLVE_TARGET:1233).
>>>>
>>>> The 'requestParameters' should already have the interface parameters,
>>>> so
>>>> it
>>>> isn't clear why the addInterfaceParameters() logic is being called
>>>> again
>>>> (it
>>>> is already called in WebRequestCodingStrategy:decode:200).
>>>>
>>>> In what case was this logic necessary? Being new to the code base, I
>>>> don't
>>>> know every possible code path, so perhaps there is a different way of
>>>> getting to this point that I'm not seeing.
>>>>
>>>> -Doug
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> View this message in context:
>>>> http://www.nabble.com/Bookmarkable---Stateless-form-submit-bug-%28eelco---need-your-advice%29-tp17304155p17304155.html
>>>> Sent from the Wicket - Dev mailing list archive at Nabble.com.
>>>>
>>>>
>>>
>>>
>>
>> --
>> View this message in context:
>> http://www.nabble.com/Bookmarkable---Stateless-form-submit-bug-%28eelco---need-your-advice%29-tp17304155p17306650.html
>> Sent from the Wicket - Dev mailing list archive at Nabble.com.
>>
>>
>
>
--
View this message in context:
http://www.nabble.com/Bookmarkable---Stateless-form-submit-bug-%28eelco---need-your-advice%29-tp17304155p17316713.html
Sent from the Wicket - Dev mailing list archive at Nabble.com.