Finally figured out the fix.

It is a bug, relatively simple to fix. I have created a JIRA issue. 

Let me know if more information is needed.


Ritz123 wrote:
> 
> I am in a very time crunched schedule and this is a show stopper for me -
> cant even render the page - hope you understand if I ask is there any
> timeline on the fix that I can expect?
> 
> Again reiterating if anyone can give any pointers on fixing this(not sure
> if its a bug or if I am doing something wrong). I am digging into the
> wicket internals trying to figure out - seems like it happens both during
> encoding and decoding which leads me to think that there is something
> special about only one optional parameter (isAnd as mentioned above).
> 
> 
> Johan Compagner wrote:
>> 
>> Just make an issue for the case you have below, that generates the
>> stacktrace.
>> And in your comments you can also say, that this or that could als be
>> a problem for this url strategy
>> 
>> On 4/29/08, Ritz123 <[EMAIL PROTECTED]> wrote:
>>>
>>> John,
>>>
>>> Thanks for the reply. As I mentioned, there seems to be multiple issues
>>> -
>>> what do I make an issue on?
>>>
>>> Also, will appreciate if you can share some thoughts on going about
>>> fixing
>>> it.
>>>
>>>
>>> Johan Compagner wrote:
>>> >
>>> > Make a jira issue with a sample quickstart
>>> >
>>> > On 4/29/08, Ritz123 <[EMAIL PROTECTED]> wrote:
>>> >>
>>> >> Hi,
>>> >>
>>> >> After spending quiet a few hours on PageParameter mystery I think its
>>> >> time
>>> >> to get experts help.
>>> >>
>>> >> I have a few Bookmarkable pages with MixedParamStrategy set - this
>>> means
>>> >> I
>>> >> have few fixed parameters and few optional params. What is happening
>>> is,
>>> >> somewhere in my code (digging as we speak) one of the optional
>>> parameters
>>> >> is
>>> >> getting a default value of "false" in the URL. Here is the discrete
>>> URL
>>> >> thats failing
>>> >> http://localhost:8080/mfg/Polycom/POLYCOM/133/?isAnd=false where mfg
>>> is
>>> >> the
>>> >> mount path, Polycom is mfg name, POLYCOM is mfg id and 133 is
>>> category id
>>> >> -
>>> >> all of these are obviously Fixed parameters for MixedParamStrategy
>>> and
>>> >> isAnd
>>> >> which is an optional param getting set to default false and is part
>>> of
>>> >> the
>>> >> URL.
>>> >>
>>> >> What seems to be happening is, somehow the parametermap is storing
>>> >> "isAnd"
>>> >> is an array of strings instead of just string and hence
>>> >> MixedParameterUrlCodingStrategy.appendParameter (line 153of wicket
>>> 1.3.X)
>>> >> fails with the ClassCastException and yet the length of the array is
>>> only
>>> >> 1
>>> >> so there is no reason to convert an existing String param to String
>>> array
>>> >> -
>>> >> but somehow that is what is happening.
>>> >>
>>> >> I put some debugging statements in the ValueMap.java to see who is
>>> >> setting
>>> >> it as String array - and here is the stack trace I get (see below)
>>> >>
>>> >> This actually brings up multiple questions why cant
>>> >> mixedparamurlcodingstragy handle multiple values etc. but that is not
>>> >> important in my case - since I will always have 1 value for now. But
>>> just
>>> >> wondering what if I had multi select boxes etc.
>>> >>
>>> >> Will appreciate any pointers.
>>> >>
>>> >>
>>> >> java.lang.RuntimeException: =============> ValueMap.putall.......
>>> putting
>>> >> isand with array
>>> >>      at
>>> org.apache.wicket.util.value.ValueMap.putAll(ValueMap.java:494)
>>> >>      at
>>> >>
>>> org.apache.wicket.request.target.coding.MixedParamUrlCodingStrategy.decodeParameters(MixedParamUrlCodingStrategy.java:189)
>>> >>      at
>>> >>
>>> org.apache.wicket.request.target.coding.BookmarkablePageRequestTargetUrlCodingStrategy.decode(BookmarkablePageRequestTargetUrlCodingStrategy.java:76)
>>> >>      at
>>> >>
>>> org.apache.wicket.protocol.http.request.WebRequestCodingStrategy.targetForRequest(WebRequestCodingStrategy.java:475)
>>> >>      at
>>> >>
>>> org.apache.wicket.protocol.http.WebRequestCycleProcessor.resolve(WebRequestCycleProcessor.java:175)
>>> >>      at org.apache.wicket.RequestCycle.step(RequestCycle.java:1227)
>>> >>      at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1347)
>>> >>      at org.apache.wicket.RequestCycle.request(RequestCycle.java:496)
>>> >>      at
>>> >>
>>> org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:375)
>>> >>      at
>>> >>
>>> org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:199)
>>> >>      at
>>> >>
>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
>>> >>      at
>>> >>
>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
>>> >>      at
>>> >>
>>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
>>> >>      at
>>> >>
>>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
>>> >>      at
>>> >>
>>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
>>> >>      at
>>> >>
>>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
>>> >>      at
>>> >>
>>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
>>> >>      at
>>> >>
>>> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:542)
>>> >>      at
>>> >>
>>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
>>> >>      at
>>> >>
>>> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
>>> >>      at
>>> >>
>>> org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
>>> >>      at
>>> >>
>>> org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
>>> >>      at
>>> >>
>>> org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
>>> >>      at
>>> >>
>>> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
>>> >>      at java.lang.Thread.run(Thread.java:595)
>>> >>
>>> >>
>>> >> --
>>> >> View this message in context:
>>> >>
>>> http://www.nabble.com/PageParameter-mysetry---need-help-tp16966154p16966154.html
>>> >> Sent from the Wicket - User mailing list archive at Nabble.com.
>>> >>
>>> >>
>>> >> ---------------------------------------------------------------------
>>> >> To unsubscribe, e-mail: [EMAIL PROTECTED]
>>> >> For additional commands, e-mail: [EMAIL PROTECTED]
>>> >>
>>> >>
>>> >
>>> > ---------------------------------------------------------------------
>>> > To unsubscribe, e-mail: [EMAIL PROTECTED]
>>> > For additional commands, e-mail: [EMAIL PROTECTED]
>>> >
>>> >
>>> >
>>>
>>> --
>>> View this message in context:
>>> http://www.nabble.com/PageParameter-mystery---need-help-tp16966154p16969397.html
>>> Sent from the Wicket - User mailing list archive at Nabble.com.
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>>> For additional commands, e-mail: [EMAIL PROTECTED]
>>>
>>>
>> 
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>> For additional commands, e-mail: [EMAIL PROTECTED]
>> 
>> 
>> 
> 
> 

-- 
View this message in context: 
http://www.nabble.com/PageParameter-mystery---need-help-tp16966154p16973491.html
Sent from the Wicket - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to