Re: Wicket 1.5.4 - Application crashing on German umlaut characters
Hi, Create a quickstart and attach it to a ticket. Thanks! On Thu, Feb 23, 2012 at 5:26 AM, toytown prasanna.tulad...@gmail.com wrote: Wicket : 1.5.4 Tomcat : 6.0.28 to 6.0.35 JDK - 1.6 I have a simple search application where I could enter search parameters like city name in a input textbox component. I am using displaying the results in a separate page by passing search criteria as pageparameters. searchForm.add(new Button(submitSearch) { @Override public void onSubmit() { PageParameters params = new PageParameters(); params.set(city, req.getCity()); setResponsePage(SearchResultPage.class, params); } }); If a pass normal String like 'Munich' without umlauts everything works ok The url is like http://localhost:8080/ecom/home/results?city=Munich which is ok and working fine If I pass the city name with umlaut like 'München' then, I get url like http://localhost:8080/ecom/home/results?city=Münchencity=Münchencity=Münchencity=Münchencity=Münchencity=Münchencity=MÃÃ and EXCEPTION trace in my log file looks like 05:18:28,092 DEBUG pache.wicket.page.PageAccessSynchronizer: 219 - 'http-8080-1' notifying blocked threads 23.02.2012 05:18:28 org.apache.coyote.http11.Http11Processor process SCHWERWIEGEND: Error processing request java.lang.ArrayIndexOutOfBoundsException: 8192 at org.apache.coyote.http11.InternalOutputBuffer.write(InternalOutputBuffer.java:730) at org.apache.coyote.http11.InternalOutputBuffer.write(InternalOutputBuffer.java:641) at org.apache.coyote.http11.InternalOutputBuffer.sendHeader(InternalOutputBuffer.java:514) at org.apache.coyote.http11.Http11Processor.prepareResponse(Http11Processor.java:1637) at org.apache.coyote.http11.Http11Processor.action(Http11Processor.java:956) at org.apache.coyote.Response.action(Response.java:183) at org.apache.coyote.Response.sendHeaders(Response.java:379) at org.apache.catalina.connector.OutputBuffer.doFlush(OutputBuffer.java:314) at org.apache.catalina.connector.OutputBuffer.close(OutputBuffer.java:274) at org.apache.catalina.connector.Response.finishResponse(Response.java:493) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:317) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) at java.lang.Thread.run(Thread.java:662) 23.02.2012 05:18:28 org.apache.coyote.http11.Http11Processor process There itself is no RuntimeException thrown from wicket but somehow it generates some strange url which causes ArrayIndexOutofBoundException. Is this a bug in Wicket or that my preassumption was wrong that pageparameters should be encoded by Wicket when displayed in the url ? What is the wa to get around this problem ? Thanks in advance. -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/Wicket-1-5-4-Application-crashing-on-German-umlaut-characters-tp4412794p4412794.html Sent from the Users forum mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org -- Martin Grigorov jWeekend Training, Consulting, Development http://jWeekend.com - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: Performance optimization
Hi! But adding thousands of small components will still produce a big page... Suggestions: - show less items per page. Who wants to scroll a page with thousands items ?! Use paging and filters. Is not an option. Our users fiddle with workshifts and they want to see everything on one page... they have huge monitors - experiment with Jolira's stateless ajax behaviors By making your page stateless it wont be serialized at all (this answers your question about tell Wicket to not serialize) Hmm.. any link to this? Challenge is that there will be for example row updates so I would need to reconstruct the state somehow anyways. ** Martin HTH On Thu, Feb 23, 2012 at 8:07 AM, Martin Makundi martin.maku...@koodaripalvelut.com wrote: (ofcourse I mean invoke within 1 minute...) 2012/2/23 Martin Makundi martin.maku...@koodaripalvelut.com: I think that would be something that should be implemented at wicket core... anybody done this before? Is there any way to tell wicket NOT to serialize a page? For example give a timer if user does not invoke the page for 1 minutes it will not be serializeed..? ** Martin 2012/2/23 Juha Syrjälä juha.syrj...@gmail.com: Hi, I would guess that Wicket uses a normal Java built-in serializer by default. Here are some benchmarks for different serializer implementations https://github.com/eishay/jvm-serializers/wiki/ . Java's built-in serializer is not the fastest... -- Juha Syrjälä On 02/23/2012 08:45 AM, Martin Makundi wrote: But is serializing wicket native components only.. I would assume wicket does it best. 2012/2/23 Juha Syrjäläjuha.syrj...@gmail.com: Hi, Wicket 1.5 has support for pluggable serializers via ISerializer interface, you could try to plug in different serializer implementations, for example this one https://github.com/wicketstuff/core/wiki/Kryo-Serializer . That should make the serialization bit faster. -- Juha Syrjälä On 02/23/2012 05:12 AM, Martin Makundi wrote: Hi! Any experiences how to optimize the performance of a Page that contains nested ListView:s with a total page serialized size of over 10 MB? I have made all actual data objects non-serializable and available via loadabledetachablemodel, but page Serialization seems to kill the performance in ajax requests where I might be modifying just a single cell in the maze. I tried callinc removeAll at onDetach... it improved performance but ofcourse event listeners don't work anymore ;) I could write custom event listeners as workaround, though, which would know to call onPopulate() before triggering an event. Any experiences of similar situation? ** Martin - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org -- Martin Grigorov jWeekend Training, Consulting, Development http://jWeekend.com - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: Performance optimization
If there are thousands of objects in a page then there is the question whether all of these objects actually represent state - state being the only reason why Wicket should serialize the page. In other words, is the page so complex that it requires 10MBytes to serialize itself in a manner that it can be re-created accurately from a stream. If yes then there is probably nothing you can do about it. If not then perhaps Wicket could be improved in that area. I would not be surprised if that was the case. Consider Java Swing desktop components. Swing has optimizations such as TableCellRenderer and TableCellEditor that are used as single instances to render cells for all rows in a column or more. If that makes sense in desktop applications with cheap memory and CPU then this makes even more sense on the server side. However, Wicket does NOT have such components and therefore really large lists are hopeless. There are things like IItemReuseStrategy but I cannot see how these would achieve the required efficiency. On Thu, 23 Feb 2012 09:06:42 +0200, you wrote: I think that would be something that should be implemented at wicket core... anybody done this before? Is there any way to tell wicket NOT to serialize a page? For example give a timer if user does not invoke the page for 1 minutes it will not be serializeed..? [snip] - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: Performance optimization
Wicket page serialization is asynchronous.. I wonder if it would be possible to queue pages in a way that they are serialized only after a certain timeout and if they are visited during timeout they will be taken directly from queue...? ** Martin 2012/2/23 Bernard bht...@gmail.com: If there are thousands of objects in a page then there is the question whether all of these objects actually represent state - state being the only reason why Wicket should serialize the page. In other words, is the page so complex that it requires 10MBytes to serialize itself in a manner that it can be re-created accurately from a stream. If yes then there is probably nothing you can do about it. If not then perhaps Wicket could be improved in that area. I would not be surprised if that was the case. Consider Java Swing desktop components. Swing has optimizations such as TableCellRenderer and TableCellEditor that are used as single instances to render cells for all rows in a column or more. If that makes sense in desktop applications with cheap memory and CPU then this makes even more sense on the server side. However, Wicket does NOT have such components and therefore really large lists are hopeless. There are things like IItemReuseStrategy but I cannot see how these would achieve the required efficiency. On Thu, 23 Feb 2012 09:06:42 +0200, you wrote: I think that would be something that should be implemented at wicket core... anybody done this before? Is there any way to tell wicket NOT to serialize a page? For example give a timer if user does not invoke the page for 1 minutes it will not be serializeed..? [snip] - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: Wicket 1.5.4 - Application crashing on German umlaut characters
I had similar problems without that Exception. Have you added URIEncoding=UTF-8 to your connector? See http://struts.apache.org/2.0.6/docs/how-to-support-utf-8-uriencoding-with-tomcat.html On 02/23/2012 09:07 AM, Martin Grigorov wrote: Hi, Create a quickstart and attach it to a ticket. Thanks! On Thu, Feb 23, 2012 at 5:26 AM, toytownprasanna.tulad...@gmail.com wrote: Wicket : 1.5.4 Tomcat : 6.0.28 to 6.0.35 JDK - 1.6 I have a simple search application where I could enter search parameters like city name in a input textbox component. I am using displaying the results in a separate page by passing search criteria as pageparameters. searchForm.add(new Button(submitSearch) { @Override public void onSubmit() { PageParameters params = new PageParameters(); params.set(city, req.getCity()); setResponsePage(SearchResultPage.class, params); } }); If a pass normal String like 'Munich' without umlauts everything works ok The url is like http://localhost:8080/ecom/home/results?city=Munich which is ok and working fine If I pass the city name with umlaut like 'München' then, I get url like http://localhost:8080/ecom/home/results?city=Münchencity=Münchencity=Münchencity=Münchencity=Münchencity=Münchencity=MÃÃ and EXCEPTION trace in my log file looks like 05:18:28,092 DEBUG pache.wicket.page.PageAccessSynchronizer: 219 - 'http-8080-1' notifying blocked threads 23.02.2012 05:18:28 org.apache.coyote.http11.Http11Processor process SCHWERWIEGEND: Error processing request java.lang.ArrayIndexOutOfBoundsException: 8192 at org.apache.coyote.http11.InternalOutputBuffer.write(InternalOutputBuffer.java:730) at org.apache.coyote.http11.InternalOutputBuffer.write(InternalOutputBuffer.java:641) at org.apache.coyote.http11.InternalOutputBuffer.sendHeader(InternalOutputBuffer.java:514) at org.apache.coyote.http11.Http11Processor.prepareResponse(Http11Processor.java:1637) at org.apache.coyote.http11.Http11Processor.action(Http11Processor.java:956) at org.apache.coyote.Response.action(Response.java:183) at org.apache.coyote.Response.sendHeaders(Response.java:379) at org.apache.catalina.connector.OutputBuffer.doFlush(OutputBuffer.java:314) at org.apache.catalina.connector.OutputBuffer.close(OutputBuffer.java:274) at org.apache.catalina.connector.Response.finishResponse(Response.java:493) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:317) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) at java.lang.Thread.run(Thread.java:662) 23.02.2012 05:18:28 org.apache.coyote.http11.Http11Processor process There itself is no RuntimeException thrown from wicket but somehow it generates some strange url which causes ArrayIndexOutofBoundException. Is this a bug in Wicket or that my preassumption was wrong that pageparameters should be encoded by Wicket when displayed in the url ? What is the wa to get around this problem ? Thanks in advance. -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/Wicket-1-5-4-Application-crashing-on-German-umlaut-characters-tp4412794p4412794.html Sent from the Users forum mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org -- How to find files on the Internet? FindFiles.net http://findfiles.net!
Re: Labels in List Views
Hi, I think using your own org.apache.wicket.resource.loader.IStringResourceLoader impl would be the best. Then insert it at the first position with org.apache.wicket.settings.def.ResourceSettings#getStringResourceLoaders().add(0, yours) Then something like this should work: class MyEditableLabel extends org.apache.wicket.extensions.ajax.markup.html.AjaxEditableLabel { public MyEditableLabel(String id, LoadSaveModel model) ... } class LoadSaveModel implements IModelString { @Override public String getObject() // just as ResourceModel { return Application.get().getResourceSettings().getLocalizer().getString(resourceKey, null, defaultValue); } @Override public void setObject(String newValue) { // save the new value } } On Thu, Feb 23, 2012 at 3:20 AM, Colin Rogers colin.rog...@objectconsulting.com.au wrote: Hi, We’re using Wicket on a massive project. One of our customer requirements has been to enable all strings and text to be easily modifiable by the client, and we thought that using Wicket resource bundles would achieve this. We’ve got an issue, that isn’t a bug – it’s actually the way Wicket was designed to work - but is something we need to change to match our clients requirements, and I’d hope someone might be able to guide me in the best way to achieve this. We’ve been using Wicket 1.4.13 (latest version of 1.4.X actually makes our issue more difficult, but I’ll get on to that later.) Originally we were creating Containers for use within a Repeating View – that sounds odd I know, but the RepeatingView represents a generic container for holding major elements on a standard application-wide BasePage – these Containers were from unique Classes, for example; MyFirstContainer MySecondContainer MyThirdContainer MyForthContainer Which enabled us to specify in our properties files as; X.Y.1.A.B.C.label = My First Container X.Y.2.A.B.C.label = My Second Container X.Y.3.A.B.C.label = My Third Container X.Y.4.A.B.C.label = My Forth Container Since then, we’ve generisied some of our containers as follows; MyFirstContainer MyGenericContainer MyGenericContainer MyForthContainer This created the issue were the second use of MyGenericContainer picked up the label for the first, so that they both said “My Second Container”. I’ve written a small test case and included it to illustrate the issue, using Labels. In the latest version of Wicket, this has been “fixed” even further to totally exclude the index of the RepeatingView, meaning there is no possibility of any specification of individual resources for components in a List or Repeating View, at all. As I understand, the way wicket is designed to work would be to pass in the value as a parameter, e.g; X.Y.1.A.B.C.label = My ${value} Container But this breaks internationalisation and externalisation of labels and string, and, more importantly, isn’t what our client wants - they want to be able to change all elements of labels without code changes. While I realise this is the way Wicket was designed to work, I need to override this behaviour so that we can specify component resources in properties file for Repeating and List Views. Also I need to override this behaviour so I can upgrade to the latest version of Wicket without breaking our existing specification of labels, that use the index. Is there a feature of Wicket that I’ve missed that would better solve this issue? Or could anyone be able to guide me as to the best way of going about this? I can’t override Component#getString() as it’s finalised. Would creating my own ComponentStringResourceLoader be the best way to go about it? Or overriding Localizer? Both? Cheers, Col. - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org -- Martin Grigorov jWeekend Training, Consulting, Development http://jWeekend.com - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: Performance optimization
On Thu, Feb 23, 2012 at 9:14 AM, Martin Makundi martin.maku...@koodaripalvelut.com wrote: Wicket page serialization is asynchronous.. I wonder if it would be possible to queue pages in a way that they are serialized only after a certain timeout and if they are visited during timeout they will be taken directly from queue...? Wicket 1.5: https://cwiki.apache.org/confluence/x/qIaoAQ This explains how page storing works. Question: If you don't serialize the page then how would you get it if it is not stored when the user presses browser back button ? ** Martin 2012/2/23 Bernard bht...@gmail.com: If there are thousands of objects in a page then there is the question whether all of these objects actually represent state - state being the only reason why Wicket should serialize the page. In other words, is the page so complex that it requires 10MBytes to serialize itself in a manner that it can be re-created accurately from a stream. If yes then there is probably nothing you can do about it. If not then perhaps Wicket could be improved in that area. I would not be surprised if that was the case. Consider Java Swing desktop components. Swing has optimizations such as TableCellRenderer and TableCellEditor that are used as single instances to render cells for all rows in a column or more. If that makes sense in desktop applications with cheap memory and CPU then this makes even more sense on the server side. However, Wicket does NOT have such components and therefore really large lists are hopeless. There are things like IItemReuseStrategy but I cannot see how these would achieve the required efficiency. On Thu, 23 Feb 2012 09:06:42 +0200, you wrote: I think that would be something that should be implemented at wicket core... anybody done this before? Is there any way to tell wicket NOT to serialize a page? For example give a timer if user does not invoke the page for 1 minutes it will not be serializeed..? [snip] - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org -- Martin Grigorov jWeekend Training, Consulting, Development http://jWeekend.com - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: Performance optimization
Wicket 1.5: https://cwiki.apache.org/confluence/x/qIaoAQ This explains how page storing works. You were right about 1.4 ;) Question: If you don't serialize the page then how would you get it if it is not stored when the user presses browser back button ? Keep it in memory as it is. ** Martin ** Martin 2012/2/23 Bernard bht...@gmail.com: If there are thousands of objects in a page then there is the question whether all of these objects actually represent state - state being the only reason why Wicket should serialize the page. In other words, is the page so complex that it requires 10MBytes to serialize itself in a manner that it can be re-created accurately from a stream. If yes then there is probably nothing you can do about it. If not then perhaps Wicket could be improved in that area. I would not be surprised if that was the case. Consider Java Swing desktop components. Swing has optimizations such as TableCellRenderer and TableCellEditor that are used as single instances to render cells for all rows in a column or more. If that makes sense in desktop applications with cheap memory and CPU then this makes even more sense on the server side. However, Wicket does NOT have such components and therefore really large lists are hopeless. There are things like IItemReuseStrategy but I cannot see how these would achieve the required efficiency. On Thu, 23 Feb 2012 09:06:42 +0200, you wrote: I think that would be something that should be implemented at wicket core... anybody done this before? Is there any way to tell wicket NOT to serialize a page? For example give a timer if user does not invoke the page for 1 minutes it will not be serializeed..? [snip] - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org -- Martin Grigorov jWeekend Training, Consulting, Development http://jWeekend.com - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: Performance optimization
On Thu, Feb 23, 2012 at 9:40 AM, Martin Makundi martin.maku...@koodaripalvelut.com wrote: Wicket 1.5: https://cwiki.apache.org/confluence/x/qIaoAQ This explains how page storing works. You were right about 1.4 ;) Question: If you don't serialize the page then how would you get it if it is not stored when the user presses browser back button ? Keep it in memory as it is. Your users have big monitors but your server has to have a lot of RAM too :-) In 1.5 it is quite easy to override each part of the serialization process, starting with IPageManager, to IPageStore, to IDataStore. Maybe it is time to upgrade. ** Martin ** Martin 2012/2/23 Bernard bht...@gmail.com: If there are thousands of objects in a page then there is the question whether all of these objects actually represent state - state being the only reason why Wicket should serialize the page. In other words, is the page so complex that it requires 10MBytes to serialize itself in a manner that it can be re-created accurately from a stream. If yes then there is probably nothing you can do about it. If not then perhaps Wicket could be improved in that area. I would not be surprised if that was the case. Consider Java Swing desktop components. Swing has optimizations such as TableCellRenderer and TableCellEditor that are used as single instances to render cells for all rows in a column or more. If that makes sense in desktop applications with cheap memory and CPU then this makes even more sense on the server side. However, Wicket does NOT have such components and therefore really large lists are hopeless. There are things like IItemReuseStrategy but I cannot see how these would achieve the required efficiency. On Thu, 23 Feb 2012 09:06:42 +0200, you wrote: I think that would be something that should be implemented at wicket core... anybody done this before? Is there any way to tell wicket NOT to serialize a page? For example give a timer if user does not invoke the page for 1 minutes it will not be serializeed..? [snip] - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org -- Martin Grigorov jWeekend Training, Consulting, Development http://jWeekend.com - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org -- Martin Grigorov jWeekend Training, Consulting, Development http://jWeekend.com - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: Performance optimization
You were right about 1.4 ;) Question: If you don't serialize the page then how would you get it if it is not stored when the user presses browser back button ? Keep it in memory as it is. Your users have big monitors but your server has to have a lot of RAM too :-) Is easier to buy more memory than serialization speed ;) In 1.5 it is quite easy to override each part of the serialization process, starting with IPageManager, to IPageStore, to IDataStore. Maybe it is time to upgrade. Hehe... we have finally tweaked, poked and twingled 1.4 to work almost bugfree... maybe I'll upgrade during my next vacation ;) ** Martin - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
AjaxCheckBox + Java Script
Hi, I have a checkbox on HTML page. I have added some java script and css to style the checkbox. To handle this checkbox in wicket i have added AjaxCheckBox. But when i click on checkbox it is not calling OnUpdate() method of AjaxCheck box. This is working fine when i remove the styling and javascript for checkbox. Could you please help me. -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/AjaxCheckBox-Java-Script-tp4413330p4413330.html Sent from the Users forum mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: AjaxCheckBox + Java Script
On Thu, Feb 23, 2012 at 10:36 AM, venu.gandhe venu.gan...@gmail.com wrote: Hi, I have a checkbox on HTML page. I have added some java script and css to style the checkbox. To handle this checkbox in wicket i have added AjaxCheckBox. But when i click on checkbox it is not calling OnUpdate() method of AjaxCheck box. This is working fine when i remove the styling and javascript for checkbox. what is the javascript ? show us Could you please help me. -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/AjaxCheckBox-Java-Script-tp4413330p4413330.html Sent from the Users forum mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org -- Martin Grigorov jWeekend Training, Consulting, Development http://jWeekend.com - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
WiQuery 1.5.4 and Wicket 1.5.4 Problem
Hi, I changed my WiQuery version from 1.5M2 to 1.5.4 I'm running Wicket 1.5.4. I had no problem running my application with tomcat when using Wiquery 1.5M2. Now after I changed to Wiquery 1.5.4 my tomcat (5.0) fails starting with following error: java.lang.ClassCastException: org.odlabs.wiquery.ui.listener.WiQueryUIInitializer at org.odlabs.wiquery.core.WiQueryInitializer.addInitializer(WiQueryInitializer.java:158) at org.odlabs.wiquery.core.WiQueryInitializer.load(WiQueryInitializer.java:146) at org.odlabs.wiquery.core.WiQueryInitializer.retrieveAndCallInitializers(WiQueryInitializer.java:121) at org.odlabs.wiquery.core.WiQueryInitializer.init(WiQueryInitializer.java:73) at org.apache.wicket.Application.callInitializers(Application.java:605) Does somebody now what's the problem? Thanks in advance -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/WiQuery-1-5-4-and-Wicket-1-5-4-Problem-tp4413486p4413486.html Sent from the Users forum mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: AjaxCheckBox + Java Script
Thanks for your quick response. Here is the Java Script file i am using to style the ckeckbox. //global variables that can be used by ALL the function son this page. var inputs; var imgFalse = 'images/false.png'; var imgTrue = 'images/true.png'; //this function runs when the page is loaded, put all your other onload stuff in here too. function init() { replaceChecks(); } function replaceChecks() { //get all the input fields on the page inputs = document.getElementsByTagName('input'); //cycle trough the input fields for(var i=0; i inputs.length; i++) { //check if the input is a checkbox if(inputs[i].getAttribute('type') == 'checkbox') { //create a new image var img = document.createElement('img'); //check if the checkbox is checked if(inputs[i].checked) { img.src = imgTrue; } else { img.src = imgFalse; } //set image ID and onclick action img.id = 'checkImage'+i; //set image img.onclick = new Function('checkChange('+i+')'); //place image in front of the checkbox inputs[i].parentNode.insertBefore(img, inputs[i]); //hide the checkbox inputs[i].style.display='none'; } } } //change the checkbox status and the replacement image function checkChange(i) { if(inputs[i].checked) { inputs[i].checked = ''; document.getElementById('checkImage'+i).src=imgFalse; } else { inputs[i].checked = 'checked'; document.getElementById('checkImage'+i).src=imgTrue; } } window.onload = init; -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/AjaxCheckBox-Java-Script-tp4413330p4413515.html Sent from the Users forum mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: AjaxCheckBox + Java Script
On Thu, Feb 23, 2012 at 11:43 AM, venu.gandhe venu.gan...@gmail.com wrote: Thanks for your quick response. Here is the Java Script file i am using to style the ckeckbox. //global variables that can be used by ALL the function son this page. var inputs; var imgFalse = 'images/false.png'; var imgTrue = 'images/true.png'; //this function runs when the page is loaded, put all your other onload stuff in here too. function init() { replaceChecks(); } function replaceChecks() { //get all the input fields on the page inputs = document.getElementsByTagName('input'); //cycle trough the input fields for(var i=0; i inputs.length; i++) { //check if the input is a checkbox if(inputs[i].getAttribute('type') == 'checkbox') { //create a new image var img = document.createElement('img'); //check if the checkbox is checked if(inputs[i].checked) { img.src = imgTrue; } else { img.src = imgFalse; } //set image ID and onclick action img.id = 'checkImage'+i; //set image img.onclick = new Function('checkChange('+i+')'); use normal function here. Function is much slower //place image in front of the checkbox inputs[i].parentNode.insertBefore(img, inputs[i]); //hide the checkbox inputs[i].style.display='none'; try with visibility: hidden display:none form elements are not submitted by the browser } } } //change the checkbox status and the replacement image function checkChange(i) { if(inputs[i].checked) { inputs[i].checked = ''; document.getElementById('checkImage'+i).src=imgFalse; } else { inputs[i].checked = 'checked'; document.getElementById('checkImage'+i).src=imgTrue; } } window.onload = init; -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/AjaxCheckBox-Java-Script-tp4413330p4413515.html Sent from the Users forum mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org -- Martin Grigorov jWeekend Training, Consulting, Development http://jWeekend.com
Re: How to write an HTTP header (to detect cookie disablement)?
Hi Martin, Many thanks for your explanation and tip! Regards, Ian Martin Grigorov-4 wrote Hi, Headers are not cookies. By setting a header in the response you should not expect that it will come in the next request. A request header is set by the client (the browser in this case). You can use UrlConnection or Apache HttpClient to set header request which will be available thru WebRequest.getHeader(). Cookies work as you want - set it once in the response and then it will travel around in the next requests/responses until expire. -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/How-to-write-an-HTTP-header-to-detect-cookie-disablement-tp4397827p4413526.html Sent from the Users forum mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
FormTester and components contained in Border
Hi list, I have a form with components each contained within an individual border. When testing the form with FormTester I have to specify the full component id including the intermediate component id's added by the border. Is there any easier way to do this, e.g. with wildcard paths or something? For example with a form like: form wicket:id=form div wicket:id=borderFirstname input type=input wicket:id=firstname/ /div /form The following id needs to be used for FormTester.setValue: border.borderFirstname:border.borderFistname_body:firstname Best regards, Bob Think green - keep it on the screen. This e-mail and any attachment is for authorised use by the intended recipient(s) only. It may contain proprietary material, confidential information and/or be subject to legal privilege. It should not be copied, disclosed to, retained or used by, any other party. If you are not an intended recipient then please promptly delete this e-mail and any attachment and all copies and inform the sender. Thank you.
Re: FormTester and components contained in Border
Hi, In the projects I have worked on we have used helper Path objects for testing which describe how to find a child of a given Component. In first sight it looks like we are duplicating the component tree and this is almost true but it helps a lot for such kind of problems because the Path helper hides these details from you and if you change something in the original component hierarchy then you need to fix only the related Path object and all your tests work again. Otherwise you have to fix the component path in all tests where you use it. Another approach is to use MarkupContainer#visitChildren() + IVisitFilter. In your example: VisitorHelper.getComponentPath(form, firstname, TextField.class) i.e. the helper will find the single child with type TextField and id firstName down in the hierarchy. From there on is easy to recreate the component path back to the root (the form in this case). The second approach sounds good enough for me to be included in WicketTester ... On Thu, Feb 23, 2012 at 1:05 PM, Schlärmann, Bob bob.schlarm...@logica.com wrote: Hi list, I have a form with components each contained within an individual border. When testing the form with FormTester I have to specify the full component id including the intermediate component id's added by the border. Is there any easier way to do this, e.g. with wildcard paths or something? For example with a form like: form wicket:id=form div wicket:id=borderFirstname input type=input wicket:id=firstname/ /div /form The following id needs to be used for FormTester.setValue: border.borderFirstname:border.borderFistname_body:firstname Best regards, Bob Think green - keep it on the screen. This e-mail and any attachment is for authorised use by the intended recipient(s) only. It may contain proprietary material, confidential information and/or be subject to legal privilege. It should not be copied, disclosed to, retained or used by, any other party. If you are not an intended recipient then please promptly delete this e-mail and any attachment and all copies and inform the sender. Thank you. -- Martin Grigorov jWeekend Training, Consulting, Development http://jWeekend.com - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Dot in DataTable Columnheader - not allowed?
Hi, I just explored a strange behavior of the DataTable component in Wicket 1.5.4. If a column header has a . (dot) in it's name, the values of the cells belonging to to that column aren't rendered properly - they are rendered like empty cells. For example: If I do a SQL-Command like 'SELECT f.Value f.val FROM values', all cells in that column are rendered emtpy (but they are properly accessible through the DataProvider). If I instead do a SQL-Command 'SELECT f.Value fval FROM values', everything works like a charm. This problem seems to have nothing to do with the charset (its UTF-8), because other special-chars won't harm the rendering. Neither seems it to have to do with the DataProvider, because sorting and everything else worsk as suggested too (checked via Debugger). Does anybody else ever seen this behavior or maybe has a clue on where to fix that instead of just not to use dots in column-headers? Regards Rain... Is wet! - Never forget your umbrella ! In case You did, try to find a shelter ;) -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/Dot-in-DataTable-Columnheader-not-allowed-tp4413767p4413767.html Sent from the Users forum mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
RE: FormTester and components contained in Border
In the projects I have worked on we have used helper Path objects for testing which describe how to find a child of a given Component. In first sight it looks like we are duplicating the component tree and this is almost true but it helps a lot for such kind of problems because the Path helper hides these details from you and if you change something in the original component hierarchy then you need to fix only the related Path object and all your tests work again. Otherwise you have to fix the component path in all tests where you use it. I'm also experiencing this, after making changes to the hierarchy inside a component unit tests start to fail because component paths have changed. Your suggestions looks interesting and would solve this problem. Another approach is to use MarkupContainer#visitChildren() + IVisitFilter. In your example: VisitorHelper.getComponentPath(form, firstname, TextField.class) i.e. the helper will find the single child with type TextField and id firstName down in the hierarchy. From there on is easy to recreate the component path back to the root (the form in this case). The second approach sounds good enough for me to be included in WicketTester ... On Thu, Feb 23, 2012 at 1:05 PM, Schlärmann, Bob bob.schlarm...@logica.com wrote: Hi list, I have a form with components each contained within an individual border. When testing the form with FormTester I have to specify the full component id including the intermediate component id's added by the border. Is there any easier way to do this, e.g. with wildcard paths or something? For example with a form like: form wicket:id=form div wicket:id=borderFirstname input type=input wicket:id=firstname/ /div /form The following id needs to be used for FormTester.setValue: border.borderFirstname:border.borderFistname_body:firstname Best regards, Bob Think green - keep it on the screen. This e-mail and any attachment is for authorised use by the intended recipient(s) only. It may contain proprietary material, confidential information and/or be subject to legal privilege. It should not be copied, disclosed to, retained or used by, any other party. If you are not an intended recipient then please promptly delete this e-mail and any attachment and all copies and inform the sender. Thank you. -- Martin Grigorov jWeekend Training, Consulting, Development http://jWeekend.com - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org Think green - keep it on the screen. This e-mail and any attachment is for authorised use by the intended recipient(s) only. It may contain proprietary material, confidential information and/or be subject to legal privilege. It should not be copied, disclosed to, retained or used by, any other party. If you are not an intended recipient then please promptly delete this e-mail and any attachment and all copies and inform the sender. Thank you.
RE: WiQuery 1.5.4 and Wicket 1.5.4 Problem
Hi, Sounds like you updated wiquery-core but not wiquery-jquery-ui. If you open IWiQueryInitializer in eclipse and open a type hierarchy you can see if WiQueryUIInitializer is a subclass or not. If not then you probably have a version difference somewhere. Hielke -Original Message- From: rawe [mailto:ralph.wey...@dachser.com] Sent: donderdag 23 februari 2012 11:33 To: users@wicket.apache.org Subject: WiQuery 1.5.4 and Wicket 1.5.4 Problem Hi, I changed my WiQuery version from 1.5M2 to 1.5.4 I'm running Wicket 1.5.4. I had no problem running my application with tomcat when using Wiquery 1.5M2. Now after I changed to Wiquery 1.5.4 my tomcat (5.0) fails starting with following error: java.lang.ClassCastException: org.odlabs.wiquery.ui.listener.WiQueryUIInitializer at org.odlabs.wiquery.core.WiQueryInitializer.addInitializer(WiQueryInitializer.java:158) at org.odlabs.wiquery.core.WiQueryInitializer.load(WiQueryInitializer.java:146) at org.odlabs.wiquery.core.WiQueryInitializer.retrieveAndCallInitializers(WiQueryInitializer.java:121) at org.odlabs.wiquery.core.WiQueryInitializer.init(WiQueryInitializer.java:73) at org.apache.wicket.Application.callInitializers(Application.java:605) Does somebody now what's the problem? Thanks in advance -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/WiQuery-1-5-4-and-Wicket-1-5-4-Problem-tp4413486p4413486.html Sent from the Users forum mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
RE: WiQuery 1.5.4 and Wicket 1.5.4 Problem
Yes, this was the right hint! I included also the same version (1.5.4) of wiquery-jquery-ui and wiquery-core jar files in WEB-INF/lib but I didn't delte the old versions of 1.5-M2 It's running now! Thank you! Ralph -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/WiQuery-1-5-4-and-Wicket-1-5-4-Problem-tp4413486p4413856.html Sent from the Users forum mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
DropDownChoice selection won't update form fields
I have a dropdownchoice populated from a database call. When a user selects an item from the drop down, I want to load the values of the drop down object into the form. I can't seem to be able to just get the form to reload with the chosen object. But I can change the form fields individually by setting the model on each text field. If I do : id.setModel(new PropertyModel(chosenConfigType, configTypeId)); It works. I was hoping that I wouldn't have to modify the model for each field. If I populate the configType field in the beginning (with 9) it works and is displayed on page load. I would like to avoid this since I'm going to have other pages with larger forms. CommonBO is just a business object that has the business rules in it and makes calls to the DAO objects to get the DTO objects. The ConfigTypeDTO is just a POJO. -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/DropDownChoice-selection-won-t-update-form-fields-tp4413980p4413980.html Sent from the Users forum mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: DropDownChoice selection won't update form fields
Also, the drop down is not part of the form. Here's the HTML: -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/DropDownChoice-selection-won-t-update-form-fields-tp4413980p4414035.html Sent from the Users forum mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: Link URLs (with JSessionID) truncated during URL rewriting
I fixed the problem by going around it. All my web pages are descended from my PageBase class, which in turn descends from Wicket's WebPage. · I disable my automatic removal of JSessionID by overriding public String ServletWebResponse.encodeURL(CharSequence url) in my WebApplication. · In my PageBase constructor, I determine whether (session) cookies are detected are being stored or not. · If not, then I raise an org.apache.wicket.RestartResponseException(final ClassC pageClass) to show my PageCookiesDisabled. This interrupts a Not found error from an invalid URL containing .. characters, which I encountered previously. -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/Link-URLs-with-JSessionID-truncated-tp4381881p4414037.html Sent from the Users forum mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: Performance optimization
First of all, you stated that your problem what that the serialized size was too big, so please don't be so rude. Now, are you sure that the slow part of serialization is not the IO for storing that 10MB? If it is, zipping the page could definitely improve performance, even if it takes a some CPU time to do the operation. Bertrand On 23/02/2012 12:04 AM, Martin Makundi wrote: The problem is that the SERIALIZATION takes time. So it does not help to ZIP AFTER serialization... I have debugged it and it's just thousands and thousands of components. Even printing the component paths alone take almost 10mb or more because there is repetition ;) ** Martin - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
AutoCompleteBehavior dont work with AbstractTransformerBehavior
I have a class that extends AutocompleteTextfield, to give me a list of users avaliable based on input. An object of this owndefined class also addes a class with AbstractTransformerBehavior. This is done to change the html of the input, to a span, for display purposes. It seems that there is some problems between these two? Because when i comment out the class with AbstractTransformerBehavior, the autocomplete pops up, with possible choices. But with the AbstractTransformerBehavior the code never enters the getChoices method, which shoudl return the list with users avaliable. Anyone know a fix around this, or by doing it another way? -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/AutoCompleteBehavior-dont-work-with-AbstractTransformerBehavior-tp4414031p4414031.html Sent from the Users forum mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: DropDownChoice selection won't update form fields
Hi, you can clean up your page using a CompundPropertyModel for your form and a Model for dropDownChoice. I would make a chain of models passing Model to CompoundPropertyModel: model = new Model(configType);//for dropDownChoice CompoundPropertyModel cpm = new CompoundPropertyModel(model) //for form Then change the id of your FormComponents in accordance with the name of the field they should read/write. In this way you don't need the code inside onUpdate, just leave 'target.add(form);' Also, the drop down is not part of the form. Here's the HTML: -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/DropDownChoice-selection-won-t-update-form-fields-tp4413980p4414035.html Sent from the Users forum mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: Performance optimization
On Thu, Feb 23, 2012 at 3:55 PM, Bertrand Guay-Paquet ber...@step.polymtl.ca wrote: First of all, you stated that your problem what that the serialized size was too big, so please don't be so rude. Now, are you sure that the slow part of serialization is not the IO for storing that 10MB? If it is, zipping the page could definitely improve performance, even if it takes a some CPU time to do the operation. Storing of the bytes in the disk is asynchronous by default. Bertrand On 23/02/2012 12:04 AM, Martin Makundi wrote: The problem is that the SERIALIZATION takes time. So it does not help to ZIP AFTER serialization... I have debugged it and it's just thousands and thousands of components. Even printing the component paths alone take almost 10mb or more because there is repetition ;) ** Martin - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org -- Martin Grigorov jWeekend Training, Consulting, Development http://jWeekend.com - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: AutoCompleteBehavior dont work with AbstractTransformerBehavior
Hi, On Thu, Feb 23, 2012 at 3:40 PM, Taag sae...@hotmail.com wrote: I have a class that extends AutocompleteTextfield, to give me a list of users avaliable based on input. An object of this owndefined class also addes a class with AbstractTransformerBehavior. This is done to change the html of the input, to a span, for display purposes. If you change input to span then how the user is able to enter characters ? With 'contentEditable' attribute ? It seems that there is some problems between these two? Because when i comment out the class with AbstractTransformerBehavior, the autocomplete pops up, with possible choices. But with the AbstractTransformerBehavior the code never enters the getChoices method, which shoudl return the list with users avaliable. Anyone know a fix around this, or by doing it another way? -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/AutoCompleteBehavior-dont-work-with-AbstractTransformerBehavior-tp4414031p4414031.html Sent from the Users forum mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org -- Martin Grigorov jWeekend Training, Consulting, Development http://jWeekend.com - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: Link URLs (with JSessionID) truncated during URL rewriting
I've had the same issue. It happens when you have mounted home page to / and another page Foo to /foo. Then the URL with jsessionid looks like this: /foo/..;jsessionid and the mapper of page Foo takes it as if it is a URL to this page with parameter ... And this mapper always goes before home page mapper, because it has score 1 for matching first segment. I fixed it by overloading newWebRequest in Application class: protected WebRequest newWebRequest(HttpServletRequest servletRequest, String filterPath) { WebRequest webRequest = super.newWebRequest(servletRequest, filterPath); return new ServletWebRequest(servletRequest, filterPath, webRequest.getUrl().canonical()); }
Re: AutoCompleteBehavior dont work with AbstractTransformerBehavior
It's only changed to span when the input field is disabled. To avoid haveing the textfield visible. -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/AutoCompleteBehavior-dont-work-with-AbstractTransformerBehavior-tp4414031p4414135.html Sent from the Users forum mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: Link URLs (with JSessionID) truncated during URL rewriting
On Thu, Feb 23, 2012 at 4:09 PM, Bartosz Jakubowski bumbu...@wp.pl wrote: I've had the same issue. It happens when you have mounted home page to / and another page Foo to /foo. Then the URL with jsessionid looks like this: /foo/..;jsessionid and the mapper of page Foo takes it as if it is a URL to this page with parameter ... And this mapper always goes before home page mapper, because it has score 1 for matching first segment. I fixed it by overloading newWebRequest in Application class: protected WebRequest newWebRequest(HttpServletRequest servletRequest, String filterPath) { WebRequest webRequest = super.newWebRequest(servletRequest, filterPath); return new ServletWebRequest(servletRequest, filterPath, webRequest.getUrl().canonical()); } https://issues.apache.org/jira/browse/WICKET-4401 There is a patch attached to this ticket. Try it and send feedback. -- Martin Grigorov jWeekend Training, Consulting, Development http://jWeekend.com - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: Link URLs (with JSessionID) truncated during URL rewriting
I run my Wicket app on Google App Engine for Java, which I believe uses Jetty (or modified Jetty?) not Tomcat as its web application server. The JIRA ticket states The bug does only show up when using tomcat (6.0.29) and not in jetty, so I'll dip out of testing this particular ticket if that's OK. Martin Grigorov-4 wrote https://issues.apache.org/jira/browse/WICKET-4401 There is a patch attached to this ticket. Try it and send feedback. -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/Link-URLs-with-JSessionID-truncated-tp4381881p4414160.html Sent from the Users forum mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: Performance optimization
On Thu, Feb 23, 2012 at 4:12 AM, Martin Makundi martin.maku...@koodaripalvelut.com wrote: Hi! Any experiences how to optimize the performance of a Page that contains nested ListView:s with a total page serialized size of over 10 MB? I have made all actual data objects non-serializable and available via loadabledetachablemodel, but page Serialization seems to kill the performance in ajax requests where I might be modifying just a single cell in the maze. I tried callinc removeAll at onDetach... it improved performance but ofcourse event listeners don't work anymore ;) I could write custom event listeners as workaround, though, which would know to call onPopulate() before triggering an event. Any experiences of similar situation? I think the best optimisation for this kind of thing is probably to try to reduce the component count as much as possible by implementing custom components that render directly to html. For example the CheckBoxMultipleChoice component can be implemented using a container and a CheckBox + Label component for every option, whereas the CheckBoxMultipleChoice is a single component that generates the html for the entire thing. You can probably find some parts of your component tree you can optimise this way. mvg,
Re: Redirect to external page without jsessionid in referrer
Hi Jeff, Thanks for your hint. I tried to implement some magic which determines whether to strip the jsessionid from a URL or not based on the page I request, i.e. I created some RedirectPage. The problem is: When I access this page by clicking a link on another page, the method HttpServletResponse.encodeRedirectURL() is called no matter what I do before flushing the response. And this will then add the jsessionid in the very last step, even though I managed to keep the URL unencoded all the way there... So, I think the solution from the wiki isn't feasible for me, or am I missing something? However, I'm still curious how I should make a shared resource redirect somewhere, getting back to the API documentation. Cheers, Michael Original-Nachricht Datum: Wed, 22 Feb 2012 08:46:05 -0500 Von: Jeff Schneller j...@mootus.com An: users@wicket.apache.org users@wicket.apache.org Betreff: Re: Redirect to external page without jsessionid in referrer So my last message got off. This will force a new session on every request of the page since the jsessionid is not in url and cookies are not being accepted by the browser. I would look at the wiki entry and see if that is what you are looking for. -- Jeff Schneller Sent with Sparrow (http://www.sparrowmailapp.com/?sig) On Wednesday, February 22, 2012 at 8:31 AM, Jeff Schneller wrote: If all you want to do is remove the jsessionid from the URL there is a wiki entry on how to do this. It is under SEO optimization. This will force a new session on every Sent from my iPhone On Feb 22, 2012, at 8:00 AM, geissb...@gmx.org (mailto:geissb...@gmx.org) wrote: Hi folks, I'm struggling with the documentation of ExternalLink (applies for both 1.4 and 1.5): http://wicket.apache.org/apidocs/1.4/org/apache/wicket/markup/html/link/ExternalLink.html I.e. especially with this paragraph: Note: in the case when the support for cookies in the browser is disabled the user's jsessionid will leak in the 'Referrer' header after clicking this link. If this is a problem for the application then better use a Link which redirects to a shared resource (see WebApplication#mountResource(String, org.apache.wicket.request.resource.ResourceReference) , e.g. /myapp/redirecting-resource?url=...) which on its side redirects to the new URL using RedirectToUrlException. Another option is to use rel=noreferrer attribute in your markup but this will work only in the modern browsers (supporting HTML5 standard). For several internal reasons which can't be discussed here, the jsessionid has to be contained in the URL and I want to achieve exactly what is described in the documentation: have a somewhat generic referrer which doesn't contain the jsessionid. But honestly, I am totally confused by the description. How could I mount something which is able to throw a RedirectToUrlException, i.e. something backed by Java logic, as a resource? As far as I understand the concept of shared resources they are always things like images, CSS, etc., but not pages or something similar. Both creating a link to a shared a resource and throwing a RedirectToUrlException in the request cycle are fine by themselves, but I just can't see how to connect these two steps. Thus, I would be very pleased if someone could give me a hint on how to manage this. Thanks! :-) Cheers, Michael - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org (mailto:users-unsubscr...@wicket.apache.org) For additional commands, e-mail: users-h...@wicket.apache.org (mailto:users-h...@wicket.apache.org) - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: Performance optimization
Even if it is asynchronous, it uses up some of the total IO capacity of the server. Reading the bytes back when the page is requested again is however a synchronous operation and it depends on IO. Anyway, if profiling shows that the slow part is the serialize call, then zipping won't help. If all else fails, you can also write custom components that generate the HTML of each table row directly instead of using thousands of labels. On 23/02/2012 10:05 AM, Martin Grigorov wrote: On Thu, Feb 23, 2012 at 3:55 PM, Bertrand Guay-Paquet ber...@step.polymtl.ca wrote: First of all, you stated that your problem what that the serialized size was too big, so please don't be so rude. Now, are you sure that the slow part of serialization is not the IO for storing that 10MB? If it is, zipping the page could definitely improve performance, even if it takes a some CPU time to do the operation. Storing of the bytes in the disk is asynchronous by default. Bertrand On 23/02/2012 12:04 AM, Martin Makundi wrote: The problem is that the SERIALIZATION takes time. So it does not help to ZIP AFTER serialization... I have debugged it and it's just thousands and thousands of components. Even printing the component paths alone take almost 10mb or more because there is repetition ;) ** Martin - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: Performance optimization
Thanks, I will try to wave my magic wand and see what happens ... 2012/2/23 Bertrand Guay-Paquet ber...@step.polymtl.ca: Even if it is asynchronous, it uses up some of the total IO capacity of the server. Reading the bytes back when the page is requested again is however a synchronous operation and it depends on IO. Anyway, if profiling shows that the slow part is the serialize call, then zipping won't help. If all else fails, you can also write custom components that generate the HTML of each table row directly instead of using thousands of labels. On 23/02/2012 10:05 AM, Martin Grigorov wrote: On Thu, Feb 23, 2012 at 3:55 PM, Bertrand Guay-Paquet ber...@step.polymtl.ca wrote: First of all, you stated that your problem what that the serialized size was too big, so please don't be so rude. Now, are you sure that the slow part of serialization is not the IO for storing that 10MB? If it is, zipping the page could definitely improve performance, even if it takes a some CPU time to do the operation. Storing of the bytes in the disk is asynchronous by default. Bertrand On 23/02/2012 12:04 AM, Martin Makundi wrote: The problem is that the SERIALIZATION takes time. So it does not help to ZIP AFTER serialization... I have debugged it and it's just thousands and thousands of components. Even printing the component paths alone take almost 10mb or more because there is repetition ;) ** Martin - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: Performance optimization
On Thu, Feb 23, 2012 at 7:26 AM, Thomas Matthijs li...@selckin.be wrote: On Thu, Feb 23, 2012 at 4:12 AM, Martin Makundi martin.maku...@koodaripalvelut.com wrote: Hi! Any experiences how to optimize the performance of a Page that contains nested ListView:s with a total page serialized size of over 10 MB? I have made all actual data objects non-serializable and available via loadabledetachablemodel, but page Serialization seems to kill the performance in ajax requests where I might be modifying just a single cell in the maze. I tried callinc removeAll at onDetach... it improved performance but ofcourse event listeners don't work anymore ;) I could write custom event listeners as workaround, though, which would know to call onPopulate() before triggering an event. Any experiences of similar situation? I think the best optimisation for this kind of thing is probably to try to reduce the component count as much as possible by implementing custom components that render directly to html. +1 -igor For example the CheckBoxMultipleChoice component can be implemented using a container and a CheckBox + Label component for every option, whereas the CheckBoxMultipleChoice is a single component that generates the html for the entire thing. You can probably find some parts of your component tree you can optimise this way. mvg, - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: Performance optimization
I think the best optimisation for this kind of thing is probably to try to reduce the component count as much as possible by implementing custom components that render directly to html. +1 What might be the best way (performance-wise) to make such a custom component (rendering the dynamic markup, for example replacing a label)? We have lots of labels and nested listview listitems... ** Martin - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: Performance optimization
you can, for example, replace the entire listview with a single component like this: class workerlist extends webcomponent implements ilinklistener { oncomponenttagbody() { stringbuilder markup=new stringbuilder(); markup.append(table); for (worker:list) { markup.append(trtd).append(Strings.escapeMarkup(worker.name())).append(/td); markup.append(tda href=).append(urlfor(ilinklistener.interface)).append(action=checkoutcheckout/a/td ... replaceComponentTAgBody(, markup); } protected void onclick() { string action=getrequest().getparameter(action); switch (action) {} } } basically its kind of like writing a servlet, but within the scope of a component. not pretty but works. -igor On Thu, Feb 23, 2012 at 8:18 AM, Martin Makundi martin.maku...@koodaripalvelut.com wrote: I think the best optimisation for this kind of thing is probably to try to reduce the component count as much as possible by implementing custom components that render directly to html. +1 What might be the best way (performance-wise) to make such a custom component (rendering the dynamic markup, for example replacing a label)? We have lots of labels and nested listview listitems... ** Martin - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: Performance optimization
Looks powerful, thanks. What about partial ajax updates, should I design so that I can replace complete webcomponents (might restrict optimization) or is there a way to interact nicely with wicket-ajax with such inline code? ** Martin 2012/2/23 Igor Vaynberg igor.vaynb...@gmail.com: you can, for example, replace the entire listview with a single component like this: class workerlist extends webcomponent implements ilinklistener { oncomponenttagbody() { stringbuilder markup=new stringbuilder(); markup.append(table); for (worker:list) { markup.append(trtd).append(Strings.escapeMarkup(worker.name())).append(/td); markup.append(tda href=).append(urlfor(ilinklistener.interface)).append(action=checkoutcheckout/a/td ... replaceComponentTAgBody(, markup); } protected void onclick() { string action=getrequest().getparameter(action); switch (action) {} } } basically its kind of like writing a servlet, but within the scope of a component. not pretty but works. -igor On Thu, Feb 23, 2012 at 8:18 AM, Martin Makundi martin.maku...@koodaripalvelut.com wrote: I think the best optimisation for this kind of thing is probably to try to reduce the component count as much as possible by implementing custom components that render directly to html. +1 What might be the best way (performance-wise) to make such a custom component (rendering the dynamic markup, for example replacing a label)? We have lots of labels and nested listview listitems... ** Martin - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: Wicket jQuery Validator integration
Zachary, I will definitely find your code that does client-side validation useful. I don't know if this helps but Jeremy Thomerson had a presentation on custom JavaScript integration with Wicket (http://stuq.nl/weblog/2009-11-27/london-wicket-meetup-wicket-1-5-wiquery-brix-and-more). On Mon, Feb 20, 2012 at 2:06 PM, Maarten Bosteels mbosteels@gmail.com wrote: On Wed, Feb 15, 2012 at 5:41 PM, Paul Jackson paul.jack...@cdl.co.ukwrote: We do something very similar to this, and agree that it works really well. We also use JSR303 annotations on our domain models and use them to drive adding both wicket and jquery validators. We have a bunch of ValdiationConfiguration classes that know what to add to the markup and javascript to get the client side validation to work, so we don't need an extension to IValidator. Cheers, Paul -Original Message- From: Zachary Bedell [mailto:zacl...@thebedells.org] Sent: 15 February 2012 15:52 To: users@wicket.apache.org Subject: Wicket jQuery Validator integration Good morning, Reading a recent thread about accessing jQuery Validation from Wicket reminded me that I've developed some code that might be of use. I'm not sure if this is something anyone else would be interested in or if it's something that might eventually be integrated into Wicket core or if it would be more appropriate for one of the existing jQuery/Wicket integration libraries. I wanted to describe what I've cooked up so far. If this is anything that would be useful, I'd be willing to clean the code up a bit to extract a few bits that are specific to our environment and post the code somewhere. My intent was to get client-side validation using Wicket's existing validation classes without requiring AJAX calls to make them work and preferably without requiring Page's to include lots of unsightly JavaScript. Also, not duplicating validation logic on the client server tiers was desirable. The code was originally developed for a site that was expected to receive a high amount of traffic in a short period of time, and avoiding unnecessary server calls was a priority. I created a subclass of Form (ClientSideValidatingForm) which examines each FormComponent (and sub-Form) added to it and extracts information about the standard Wicket validations. It generates JavaScript which uses jQuery's Validator library to apply client-side checks equivalent to the Wicket server side checks. The nice thing about this is that you get client-side validation for free just by adding the normal Wicket validations plus you still get all your validations backed up in the server side in case JavaScript is unavailable or disabled. The implementation of the class does lack a bit in terms of elegance unfortunately. As the Wicket validation interface doesn't currently know anything about JavaScript, it was necessary to run a chain of instanceof checks against all the known Wicket validations and emit JavaScript to mirror their logic. I also created an extension of the Wicket IValidator interface which can provide JavaScript functions to perform validation equivalent to the server-side Java code. The extraction code in ClientSideValidatingForm preferentially checks for this interface and uses provided JavaScript if available. Otherwise, it's a bunch of instanceof's to check for known validations or log an error if an unknown instance of IValidator is found. Long term, it would be helpful if the stock Wicket IValidator interface could include a method to get JavaScript validations for all of the stock validations. The code is pretty tightly bound to jQuery Validator at this point, but it's likely the methodology could be abstracted to other validation frameworks. It's also built using WiQuery, though that's mostly as a convenience to get the same version of jQuery that we use elsewhere. The same could easily be implemented without WiQuery provided a version of jQuery was contributed to the response via some other mechanism. Is this something anyone would be interested in? yes ;-) Best regards, Zac Bedell (Apologies if this is a dupe. I had some email client config issues this morning...) - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org ** Please consider the environment - do you really need to print this email? This email is intended only for the person(s) named above and may contain private and confidential information. If it has come to you in error, please destroy and permanently delete any copy in your possession and contact us on +44 (0) 161 480 4420. The information in this email is copyright © CDL Group Holdings Limited. We cannot accept any liability for any loss or damage sustained as a result of software
Error during start of wicket application
Hello, I get the following error message during a start of the tomcat server with a clean packed wicket application: /** * BEGIN */ Exception in thread Thread-2 java.lang.NoClassDefFoundError: org/apache/wicket/ApplicationListenerCollection$2 at org.apache.wicket.ApplicationListenerCollection.onBeforeDestroyed(ApplicationListenerCollection.java:44) at org.apache.wicket.Application.internalDestroy(Application.java:639) at org.apache.wicket.protocol.http.WebApplication.internalDestroy(WebApplication.java:563) at org.apache.wicket.protocol.http.WicketFilter.destroy(WicketFilter.java:478) at org.apache.catalina.core.ApplicationFilterConfig.release(ApplicationFilterConfig.java:357) at org.apache.catalina.core.StandardContext.filterStop(StandardContext.java:3873) at org.apache.catalina.core.StandardContext.stop(StandardContext.java:4605) at org.apache.catalina.core.ContainerBase.stop(ContainerBase.java:1098) at org.apache.catalina.core.ContainerBase.stop(ContainerBase.java:1098) at org.apache.catalina.core.StandardEngine.stop(StandardEngine.java:448) at org.apache.catalina.core.StandardService.stop(StandardService.java:584) at org.apache.catalina.core.StandardServer.stop(StandardServer.java:744) at org.apache.catalina.startup.Catalina.stop(Catalina.java:643) at org.apache.catalina.startup.Catalina$CatalinaShutdownHook.run(Catalina.java:687) Caused by: java.lang.ClassNotFoundException: org.apache.wicket.ApplicationListenerCollection$2 at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1484) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1329) ... 14 more /** * END */ Any ideas about this error? Thanks, Andre -- Empfehlen Sie GMX DSL Ihren Freunden und Bekannten und wir belohnen Sie mit bis zu 50,- Euro! https://freundschaftswerbung.gmx.de - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: Link URLs (with JSessionID) truncated during URL rewriting
I use Jetty 6.1.26 and this patch works fine for me. Thanks. On 23.02.2012 16:23, Ian Marshall wrote: I run my Wicket app on Google App Engine for Java, which I believe uses Jetty (or modified Jetty?) not Tomcat as its web application server. The JIRA ticket states The bug does only show up when using tomcat (6.0.29) and not in jetty, so I'll dip out of testing this particular ticket if that's OK. Martin Grigorov-4 wrote https://issues.apache.org/jira/browse/WICKET-4401 There is a patch attached to this ticket. Try it and send feedback. -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/Link-URLs-with-JSessionID-truncated-tp4381881p4414160.html Sent from the Users forum mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: Performance optimization
ajax updates work based on components, so in this particular case you would only be able to update the entire listview using ajax. so design your component breakdown accordingly. of course if you design these optimized components to be able to produce some part of its output you can use jquery ajax to repaint just those parts...but thats a bit more wiring. -igor On Thu, Feb 23, 2012 at 8:43 AM, Martin Makundi martin.maku...@koodaripalvelut.com wrote: Looks powerful, thanks. What about partial ajax updates, should I design so that I can replace complete webcomponents (might restrict optimization) or is there a way to interact nicely with wicket-ajax with such inline code? ** Martin 2012/2/23 Igor Vaynberg igor.vaynb...@gmail.com: you can, for example, replace the entire listview with a single component like this: class workerlist extends webcomponent implements ilinklistener { oncomponenttagbody() { stringbuilder markup=new stringbuilder(); markup.append(table); for (worker:list) { markup.append(trtd).append(Strings.escapeMarkup(worker.name())).append(/td); markup.append(tda href=).append(urlfor(ilinklistener.interface)).append(action=checkoutcheckout/a/td ... replaceComponentTAgBody(, markup); } protected void onclick() { string action=getrequest().getparameter(action); switch (action) {} } } basically its kind of like writing a servlet, but within the scope of a component. not pretty but works. -igor On Thu, Feb 23, 2012 at 8:18 AM, Martin Makundi martin.maku...@koodaripalvelut.com wrote: I think the best optimisation for this kind of thing is probably to try to reduce the component count as much as possible by implementing custom components that render directly to html. +1 What might be the best way (performance-wise) to make such a custom component (rendering the dynamic markup, for example replacing a label)? We have lots of labels and nested listview listitems... ** Martin - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: DropDownChoice selection won't update form fields
That worked. Thanks! The only downside is that the wicket plugin for netbeans is throwing a bunch of errors at me due to the way it's now set up. It's saying that everything I add to the form is a child in Java and not in HTML. -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/DropDownChoice-selection-won-t-update-form-fields-tp4413980p4414600.html Sent from the Users forum mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: DropDownChoice selection won't update form fields
I jumped the gun on that one. It didn't work. I was still calling the old page from my menu. Once I fixed that and I am now calling a new page with your suggestions, the form objects never get updated. Here's the code: -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/DropDownChoice-selection-won-t-update-form-fields-tp4413980p4414709.html Sent from the Users forum mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Wizard overview bar
Hi all, I have a wizard implemented that walks the user through a dynamic amount of steps. I also added an overview bar to show progress to the user, essentially a picture moving an arrow from left to right. So far the overview is defined upon wizard creation with the picture staying the same in all steps. Now, I can go ahead and make an Ajax wizard out of my normal wizard and hopefully update the overview bar with every step. Before going to such lengths, though, is there a way to do it with the regular wizard? Natalie P.S. Wicket 1.4.19 -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/Wizard-overview-bar-tp4414812p4414812.html Sent from the Users forum mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
RE: wiquery css
I tried the easy way out because I just need the style for one page so far. Unfortunately it didn't work with wicket:head /wicket:head Should I have used any other style definitions? And if I go the whole route with the themeroller: I got myself a zip file with all the definitions for my layout. Where in my code do I put this zip file or the unzipped files so it gets called with the new theme name I give it in my WebApplication? Thanks, Natalie -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/wiquery-css-tp4407116p4414854.html Sent from the Users forum mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: Wizard overview bar
Hi Natalie, If I understand your description correctly, then updating your wizard to use AJAX is a matter of (1) replacing links/buttons with AJAX ones, and (2) adding the overview bar to the AjaxRequestTarget so that it gets updated. An approach to #1 is to construct links/buttons with a factory method that knows whether the wizard is AJAX or not. An approach to #2 in Wicket 1.5 is for your wizard to override Component#onEvent() and add the overview bar to AjaxRequestTarget payloads[1]. In 1.4 I think you're stuck with something more manual. Maybe the factory method in #1 produces links/buttons that do this by default. Dan [1] https://cwiki.apache.org/WICKET/migration-to-wicket-15.html#MigrationtoWicket1.5-Defaultajaxevent On Thu, Feb 23, 2012 at 10:48 AM, N. Metzger nmetz...@odu.edu wrote: Hi all, I have a wizard implemented that walks the user through a dynamic amount of steps. I also added an overview bar to show progress to the user, essentially a picture moving an arrow from left to right. So far the overview is defined upon wizard creation with the picture staying the same in all steps. Now, I can go ahead and make an Ajax wizard out of my normal wizard and hopefully update the overview bar with every step. Before going to such lengths, though, is there a way to do it with the regular wizard? Natalie P.S. Wicket 1.4.19 -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/Wizard-overview-bar-tp4414812p4414812.html Sent from the Users forum mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: Wizard overview bar
Thanks for the quick reply! I think I can go the AJAX way, I was just wondering if there's something quicker than that. -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/Wizard-overview-bar-tp4414812p4414873.html Sent from the Users forum mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: Performance optimization
I wonder if there could be components that would melt/dissolve after use... ... for example a label: container.add(new Label(xx)); After use, the label output would become part of container's markup output at proper position, but there would remain no reference to an instance of label component. This would be something like a passive component... not just stateless. ** Martin 2012/2/23 Igor Vaynberg igor.vaynb...@gmail.com: ajax updates work based on components, so in this particular case you would only be able to update the entire listview using ajax. so design your component breakdown accordingly. of course if you design these optimized components to be able to produce some part of its output you can use jquery ajax to repaint just those parts...but thats a bit more wiring. -igor On Thu, Feb 23, 2012 at 8:43 AM, Martin Makundi martin.maku...@koodaripalvelut.com wrote: Looks powerful, thanks. What about partial ajax updates, should I design so that I can replace complete webcomponents (might restrict optimization) or is there a way to interact nicely with wicket-ajax with such inline code? ** Martin 2012/2/23 Igor Vaynberg igor.vaynb...@gmail.com: you can, for example, replace the entire listview with a single component like this: class workerlist extends webcomponent implements ilinklistener { oncomponenttagbody() { stringbuilder markup=new stringbuilder(); markup.append(table); for (worker:list) { markup.append(trtd).append(Strings.escapeMarkup(worker.name())).append(/td); markup.append(tda href=).append(urlfor(ilinklistener.interface)).append(action=checkoutcheckout/a/td ... replaceComponentTAgBody(, markup); } protected void onclick() { string action=getrequest().getparameter(action); switch (action) {} } } basically its kind of like writing a servlet, but within the scope of a component. not pretty but works. -igor On Thu, Feb 23, 2012 at 8:18 AM, Martin Makundi martin.maku...@koodaripalvelut.com wrote: I think the best optimisation for this kind of thing is probably to try to reduce the component count as much as possible by implementing custom components that render directly to html. +1 What might be the best way (performance-wise) to make such a custom component (rendering the dynamic markup, for example replacing a label)? We have lots of labels and nested listview listitems... ** Martin - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: Wizard overview bar
Like an application setting that AJAX-ifies your entire app? No, Wicket makes AJAX relatively easy but you still need to make decisions, for example about what gets rendered in the response. On Thu, Feb 23, 2012 at 11:05 AM, N. Metzger nmetz...@odu.edu wrote: Thanks for the quick reply! I think I can go the AJAX way, I was just wondering if there's something quicker than that. -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/Wizard-overview-bar-tp4414812p4414873.html Sent from the Users forum mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: Performance optimization
if the component is stateless you can autoadd it in onbeforerender(), such components are removed at the end of the request -igor On Thu, Feb 23, 2012 at 11:09 AM, Martin Makundi martin.maku...@koodaripalvelut.com wrote: I wonder if there could be components that would melt/dissolve after use... ... for example a label: container.add(new Label(xx)); After use, the label output would become part of container's markup output at proper position, but there would remain no reference to an instance of label component. This would be something like a passive component... not just stateless. ** Martin 2012/2/23 Igor Vaynberg igor.vaynb...@gmail.com: ajax updates work based on components, so in this particular case you would only be able to update the entire listview using ajax. so design your component breakdown accordingly. of course if you design these optimized components to be able to produce some part of its output you can use jquery ajax to repaint just those parts...but thats a bit more wiring. -igor On Thu, Feb 23, 2012 at 8:43 AM, Martin Makundi martin.maku...@koodaripalvelut.com wrote: Looks powerful, thanks. What about partial ajax updates, should I design so that I can replace complete webcomponents (might restrict optimization) or is there a way to interact nicely with wicket-ajax with such inline code? ** Martin 2012/2/23 Igor Vaynberg igor.vaynb...@gmail.com: you can, for example, replace the entire listview with a single component like this: class workerlist extends webcomponent implements ilinklistener { oncomponenttagbody() { stringbuilder markup=new stringbuilder(); markup.append(table); for (worker:list) { markup.append(trtd).append(Strings.escapeMarkup(worker.name())).append(/td); markup.append(tda href=).append(urlfor(ilinklistener.interface)).append(action=checkoutcheckout/a/td ... replaceComponentTAgBody(, markup); } protected void onclick() { string action=getrequest().getparameter(action); switch (action) {} } } basically its kind of like writing a servlet, but within the scope of a component. not pretty but works. -igor On Thu, Feb 23, 2012 at 8:18 AM, Martin Makundi martin.maku...@koodaripalvelut.com wrote: I think the best optimisation for this kind of thing is probably to try to reduce the component count as much as possible by implementing custom components that render directly to html. +1 What might be the best way (performance-wise) to make such a custom component (rendering the dynamic markup, for example replacing a label)? We have lots of labels and nested listview listitems... ** Martin - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: DropDownChoice selection won't update form fields
Maybe the problem is with resetButton. The code inside onSubmit breaks the model chain. If you want to reset form's field try just with form.setModelObject(new ConfigTypeDTO()); I jumped the gun on that one. It didn't work. I was still calling the old page from my menu. Once I fixed that and I am now calling a new page with your suggestions, the form objects never get updated. Here's the code: -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/DropDownChoice-selection-won-t-update-form-fields-tp4413980p4414709.html Sent from the Users forum mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: DropDownChoice selection won't update form fields
Once again, you make it simpler than I thought it would be. Thanks again. Finally, how do I reset the form from the onSubmit button of the form? I tried this: But it doesn't work. The form never gets reset. I'm able to get the updated list from the DB and repopulate the list. And the list is updated on the page. But the form isn't. -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/DropDownChoice-selection-won-t-update-form-fields-tp4413980p4415082.html Sent from the Users forum mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: DropDownChoice selection won't update form fields
This is strange. Can you post the code of the full page? Once again, you make it simpler than I thought it would be. Thanks again. Finally, how do I reset the form from the onSubmit button of the form? I tried this: But it doesn't work. The form never gets reset. I'm able to get the updated list from the DB and repopulate the list. And the list is updated on the page. But the form isn't. -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/DropDownChoice-selection-won-t-update-form-fields-tp4413980p4415082.html Sent from the Users forum mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: Error during start of wicket application
Hi, Such kind of errors occur when you have several versions of Wicket in the classpath. 2012/2/23 André Schütz andre-p...@gmx.de: Hello, I get the following error message during a start of the tomcat server with a clean packed wicket application: /** * BEGIN */ Exception in thread Thread-2 java.lang.NoClassDefFoundError: org/apache/wicket/ApplicationListenerCollection$2 at org.apache.wicket.ApplicationListenerCollection.onBeforeDestroyed(ApplicationListenerCollection.java:44) at org.apache.wicket.Application.internalDestroy(Application.java:639) at org.apache.wicket.protocol.http.WebApplication.internalDestroy(WebApplication.java:563) at org.apache.wicket.protocol.http.WicketFilter.destroy(WicketFilter.java:478) at org.apache.catalina.core.ApplicationFilterConfig.release(ApplicationFilterConfig.java:357) at org.apache.catalina.core.StandardContext.filterStop(StandardContext.java:3873) at org.apache.catalina.core.StandardContext.stop(StandardContext.java:4605) at org.apache.catalina.core.ContainerBase.stop(ContainerBase.java:1098) at org.apache.catalina.core.ContainerBase.stop(ContainerBase.java:1098) at org.apache.catalina.core.StandardEngine.stop(StandardEngine.java:448) at org.apache.catalina.core.StandardService.stop(StandardService.java:584) at org.apache.catalina.core.StandardServer.stop(StandardServer.java:744) at org.apache.catalina.startup.Catalina.stop(Catalina.java:643) at org.apache.catalina.startup.Catalina$CatalinaShutdownHook.run(Catalina.java:687) Caused by: java.lang.ClassNotFoundException: org.apache.wicket.ApplicationListenerCollection$2 at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1484) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1329) ... 14 more /** * END */ Any ideas about this error? Thanks, Andre -- Empfehlen Sie GMX DSL Ihren Freunden und Bekannten und wir belohnen Sie mit bis zu 50,- Euro! https://freundschaftswerbung.gmx.de - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org -- Martin Grigorov jWeekend Training, Consulting, Development http://jWeekend.com - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: modal window takes very long time to close
should I add the behaviour to the page or to the modalwindow ? -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/modal-window-takes-very-long-time-to-close-tp4377803p4415330.html Sent from the Users forum mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: Wizard overview bar
Dan, that's not what I meant. It never occurred to me to make my entire Application AJAX. I meant I can make an AjaxWizard, no problem. My question was about the basic wizard, if I can have an overview bar that is changeable while using the regular Wizard class. But I guess not... Thanks, Natalie -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/Wizard-overview-bar-tp4414812p4415788.html Sent from the Users forum mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: Wizard overview bar
Ah, sorry for my misunderstanding. Have you experimented with IWizardModelListener#onActiveStepChanged()? Maybe you can get the ART with AjaxRequestTarget.get() and add your overview bar. On Thu, Feb 23, 2012 at 5:09 PM, N. Metzger nmetz...@odu.edu wrote: Dan, that's not what I meant. It never occurred to me to make my entire Application AJAX. I meant I can make an AjaxWizard, no problem. My question was about the basic wizard, if I can have an overview bar that is changeable while using the regular Wizard class. But I guess not... Thanks, Natalie -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/Wizard-overview-bar-tp4414812p4415788.html Sent from the Users forum mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Getting new lines in RepeatingView
Hi, From the docs: Java: RepeatingView view = new RepeatingView(repeater); view.add(new Label(view.newChildId(), hello)); view.add(new Label(view.newChildId(), goodbye)); view.add(new Label(view.newChildId(), good morning)); add(view); Markup: ul li wicket:id=repeater/li /ul Yields: ul lihello/liligoodbye/liligood morning/li /ul I want to have a new line after each repeating element. The generated markup looks pretty messy with one massive long line making up all the repeated elements. Desired: ul lihello/li ligoodbye/li ligood morning/li /ul How can I achieve this? Thanks! Dale
Re: Getting new lines in RepeatingView
Hi, I think you can override RepeatingView's org.apache.wicket.markup.repeater.AbstractRepeater#renderChild(): { super.renderChild(component); getResponse().write(br/); } On Fri, Feb 24, 2012 at 4:24 AM, Dale Ogilvie dale_ogil...@trimble.com wrote: Hi, From the docs: Java: RepeatingView view = new RepeatingView(repeater); view.add(new Label(view.newChildId(), hello)); view.add(new Label(view.newChildId(), goodbye)); view.add(new Label(view.newChildId(), good morning)); add(view); Markup: ul li wicket:id=repeater/li /ul Yields: ul lihello/liligoodbye/liligood morning/li /ul I want to have a new line after each repeating element. The generated markup looks pretty messy with one massive long line making up all the repeated elements. Desired: ul lihello/li ligoodbye/li ligood morning/li /ul How can I achieve this? Thanks! Dale -- Martin Grigorov jWeekend Training, Consulting, Development http://jWeekend.com - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
RE: Performance optimization
Native Java serialization is wy over the top in what is spits out to the stream. Each object that gets streamed has it's entire class name and package name dumped to the stream. So an object that might only have a 4 byte integer attribute in it takes up to 100 or more bytes in the stream. You could make it much more efficient if you did your own streaming. Regards, Chris -Original Message- From: Martin Makundi [mailto:martin.maku...@koodaripalvelut.com] Sent: Thursday, 23 February 2012 4:04 PM To: Bertrand Guay-Paquet Cc: users@wicket.apache.org Subject: Re: Performance optimization The problem is that the SERIALIZATION takes time. So it does not help to ZIP AFTER serialization... I have debugged it and it's just thousands and thousands of components. Even printing the component paths alone take almost 10mb or more because there is repetition ;) ** Martin 2012/2/23 Bertrand Guay-Paquet ber...@step.polymtl.ca Hi, Have you seen the following thread? http://apache-wicket.1842946.**n4.nabble.com/Shrinking-the-** session-size-simply-by-**zipping-it-Saved-my-day- **td4402980.htmlhttp://apache-wicket.1842946.n4.nabble.com/Shrinking-t he- session-size-simply-by-zipping-it-Saved-my-day-td4402980.html Perhaps this can help you. That said, 10MB seems HUGE! Since you already use detachable models, maybe you could have a look at a memory profiler like Java VisualVM to find out which objects take the most space. Bertrand On 22/02/2012 10:12 PM, Martin Makundi wrote: Hi! Any experiences how to optimize the performance of a Page that contains nested ListView:s with a total page serialized size of over 10 MB? I have made all actual data objects non-serializable and available via loadabledetachablemodel, but page Serialization seems to kill the performance in ajax requests where I might be modifying just a single cell in the maze. I tried callinc removeAll at onDetach... it improved performance but ofcourse event listeners don't work anymore ;) I could write custom event listeners as workaround, though, which would know to call onPopulate() before triggering an event. Any experiences of similar situation? ** Martin --**--** - To unsubscribe, e-mail: users-unsubscribe@wicket.**apache.orgusers- unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: Dot in DataTable Columnheader - not allowed?
Some more info: My DataProvider is using a Model of the type ListHashMaplt;String, Object, where list-index is acting as a table-row, the string is the name of a column and the object is the value of a cell. Regards Rain... Is wet! - Never forget your umbrella ! In case You did, try to find a shelter ;) -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/Dot-in-DataTable-Columnheader-not-allowed-tp4413767p4416416.html Sent from the Users forum mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: Dot in DataTable Columnheader - not allowed?
Hi, Create a quickstart and attach it to a ticket in Jira. On Fri, Feb 24, 2012 at 8:31 AM, Rain... Is wet! oryp-moel...@hotmail.de wrote: Some more info: My DataProvider is using a Model of the type ListHashMaplt;String, Object, where list-index is acting as a table-row, the string is the name of a column and the object is the value of a cell. Regards Rain... Is wet! - Never forget your umbrella ! In case You did, try to find a shelter ;) -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/Dot-in-DataTable-Columnheader-not-allowed-tp4413767p4416416.html Sent from the Users forum mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org -- Martin Grigorov jWeekend Training, Consulting, Development http://jWeekend.com - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org