Maybe WICKET-950 should be marked as a duplicate of this one then.

Regards,
Sebastiaan

Chris Lintz wrote:
I Have submitted the following Jira on this issue:
http://issues.apache.org/jira/browse/WICKET-976


Chris Lintz wrote:
Actually I just realized what causes this but have no idea how to get past
it. The InviteAcceptacePage has a Panel within another Panel.  The nested
Panel contains a simple form submit button.  The IndexParamUrlStrategy's
appendParameters() function is called  with this Map parameters (from an
eclipse debug):

wicket:interface =
":4:moduleColumnPanel:moduleColumnFrag:loginPanel:loginBoxPanel:loginBox:lFrm::IFormSubmitListener::"

Here is the appendParameters() function inside
IndexedParamUrlCodingStrategy:

protected void appendParameters(AppendingStringBuffer url, Map parameters)
        {
                int i;
                for (i = 0; parameters.containsKey(String.valueOf(i)); i++)
                {
                        String value = (String) 
parameters.get(String.valueOf(i));
                        if (!url.endsWith("/"))
                                url.append("/");
                        url.append(urlEncode(value)).append("/");
                }

                String pageMap = (String) parameters.get("wicket:pageMapName");
                if (pageMap != null)
                {
                        i++;
                        pageMap = 
WebRequestCodingStrategy.encodePageMapName(pageMap);
                        if (!url.endsWith("/"))
                                url.append("/");
                
url.append("wicket:pageMapName").append("/").append(urlEncode(pageMap)).append("/");
                }
                if (i != parameters.size())
                        throw new WicketRuntimeException(
                                        "Not all parameters were encoded. Make 
sure all parameter names are
integers in consecutive order starting with zero. Current parameter names
are: "
                                                        + 
parameters.keySet().toString());
                else
                        return;
        }

The pagemap is null and the statement if (i != parameters.size())
evaluates to true and generates the error.

Why does the panel with these Map parameters generate the error inside
that function?


thanks for any help




Chris Lintz wrote:
Hi all,
So i think there is a bug in IndexedParamUrlCodingStrategy .  I have this
simple mount in my extened WebApplication:

   mount(new IndexedParamUrlCodingStrategy("/joinme",
InviteAcceptancePage.class));


In my InviteAcceptancePage class, i simply do this snippet of code:

public InviteAcceptancePage(PageParameters params)
{
   String code = params.getString("0");
   logger.debug("code:"+code);
   ...

}
When i do this in my browser for example: http://www.mydomain.com/joinme/55555

The following 55555 parameter is logged just fine, but after the
constructor returns I get the below exception:

22:23:43,600 ERROR [RequestCycle] Not all parameters were encoded. Make
sure all parameter names are integers in consecutive order starting with
zero. Current parameter names are: [wicket:interface]
org.apache.wicket.WicketRuntimeException: Not all parameters were
encoded. Make sure all parameter names are integers in consecutive order



Any ideas?

thanks



Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

Reply via email to