Re: Wicket and OSGi
IIUC, other frameworks allow for the injection of a classloader. Wouldn't that be enough? We could then package an optional classloader just for that purpose. Cheers, =David On Jun 24, 2011, at 4:34 PM, Brian Topping wrote: It seems that Wicket should not be burdened with this tracking that is only used in OSGi configurations. Another issue is that an admin will use OSGi interfaces to swap out bundles, not wicket interfaces. OSGi is going to use the BundleActivator of the component bundle to stop it, and it won't know to tell the wicket core service anything about what it's doing to the component bundle. Thus it needs to know whether and/or when it can unload. Once a bundle is in the STOPPING state, it's no longer an active service, so it cannot call other services or be called by them. Yet, the tracking needs to be updated so the blocked call to stop can unblock, hence the weak reference collection. On Jun 23, 2011, at 8:05 PM, Igor Vaynberg wrote: i think the frameworks should track this. this way wicket can track what it is serializing and when it is letting it go. jetty can keep track of what it has in its http session. the serialization bundle should provide a way for bundles to tell it i am holding on to class A from bundle B and i no longer care about class C from bundle D -igor On Thu, Jun 23, 2011 at 6:48 PM, Brian Topping topp...@codehaus.org wrote: Good point. This could be handled by the serializer maintaining a WeakHashMap of the sessions that use a particular bundle and blocking in the bundle activator's stop method until the list is empty. But if a user was busy for an extended period, like some kind of automated scraper or monitor that ended up having the session open for days, the check would have to be more granular than the session. Which seems like it's going to be different between 1.4 and 1.5 because of the migration from pagemaps. On Jun 23, 2011, at 4:41 PM, Igor Vaynberg wrote: something else to consider - where this gets even hairier :) user accesses a page that has a component from bundle A, the page is serialized. admin upgrades bundle A which has a new version of the component - that is not compatible serialization-wise user click back and the page needs to be serialized - error what is needed here i some way to veto a bundle/version removal until all web sessions that access components in those bundles have timed out. this is not really wicket-specific, more web specific as web apps can stick objects into http session... -igor On Thu, Jun 23, 2011 at 4:30 PM, Brian Topping topp...@codehaus.org wrote: On Jun 23, 2011, at 10:11 AM, Harald Wellmann wrote: what is really needed here is someone taking the time to build a generic serialization mechanism for osgi. wicket's serialization is pluggable so it can be hooked into that. I'll take a look at the patches, play around with the code and find out if I'm one the wrong track or not... If I end up with anything interesting enough, I'll get back or attach another patch. I'm also taking a look at it. - 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: wicket osgi (not Pax)
If you're already using Wicket successfully in OSGi, then I don't see what benefit using pax-wicket will add for you. pax-wicket is useful to help get you going in OSGi, since the class loading / serialization stuff can be tricky. Sounds like you're doing ok, though. =David On Oct 12, 2010, at 3:09 PM, kugaprakash wrote: Hi, I have multiple Wicket Applications running on different servers, each of them runs on OSGI/Jetty, and a Master Wicket Application also runs on OSGI/Jetty. Master wicket application, has its own server, where it gets the data from the sub servers. Do you recommend Pax Wicket for such architechture? -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/wicket-osgi-not-Pax-tp1893713p2991185.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: Wicket and Apache Felix
For various reasons, integration is pretty tricky. Is there any particular reason why pax-wicket won't do? =David On Sep 22, 2010, at 4:27 PM, Alexander Morozov wrote: Hi, I have similar question sometime ago and found only PAX Wicket Integration... Concerning to springframework - I guess that 3.0.x is OSGI-ready. -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/Wicket-and-Apache-Felix-tp2549800p2549822.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: wicket mailing list
42 On Jul 14, 2010, at 8:50 PM, Josh Kamau wrote: Just out of curiosity, how many members are in the wicket mailing list? regards Josh - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: Ajax channel busy
Hi, Chris, I tend to agree with you, that's why I prefer Java over Javascript. However, I need to write a few components, so I'm wondering what others do to help them avoid these types of errors that would normally be caught at compile time. Cheers, =David On Jul 5, 2010, at 6:41 PM, Chris Colman wrote: Ok, this is fun. It was due to an error in my script. I've been doing Java for so many years that I forgot how to use a dynamic language. I guess I'm too used to having the compiler tell me how much of an idiot I am so I have less pain at runtime. ;-) Humans aren't perfect - that's why humans invented typesafe languages! :) BTW, for you experts in js, is there any kind of compiler or validator or something that you use to help locate errors? Or do you just play around with things at runtime? Or are you just smarter than me and don't make so many typos? Not wanting to start a flame war with the dynamic language advocates... Given the complexity of software development I find it amazing that the 'non typesafe language' advocates are so willing to give up one of the best 'error avoidance mechanims' known to the programming world over the last 3 decades. Much better I find a bug at compile time than have it slip through testing and then have customers find it at run time ... But that's my personal opinion and others are free to have theirs' Cheers, =David On Jul 5, 2010, at 3:19 AM, nino martinez wael wrote: Yeah it does seems as a problem.. what if you try putting in dummy functions with alerts in them? 2010/7/3 David Leangen wic...@leangen.net Ok, thanks, So, if it should be ok, I wonder why after the first execution, I only get INFO: Channel busy - postponing... So I can't use my component more than once... On Jul 3, 2010, at 10:36 PM, nino martinez wael wrote: Should be ok I guess, heres the definition of it, ..: function wicketAjaxGet(url, successHandler, failureHandler, precondition) 2010/7/3 David Leangen wic...@leangen.net I should add that in my onCloseHandler, I have this in my js: $('#popup #popup-close-link').click(function (e) { e.preventDefault(); $('#popup-mask, #popup-window').hide(); if( url != ) wicketAjaxGet(url, null, null, null); }); As far as I can tell, this seems to be the correct use of wicketAjaxGet... Cheers, =David On Jul 3, 2010, at 4:22 PM, David Leangen wrote: Hello, Wicketeers, I have a link that is supposed to call a JQuery component called popup. final AjaxLinkVoid popupLink = new AjaxLinkVoid( link.popup ) { @Override public void onClick( AjaxRequestTarget target ) { target.addComponent( popup ); final StringBuilder s = new StringBuilder(); s.append( $.fn.popup({ ) .append( url: \ ).append( onCloseBehavior.getCallbackUrl() ).append( \ ) .append( }); ); target.appendJavascript( s.toString() ); } }; Works just fine the first time, but each subsequent call, I can see the following message in the Ajax Debug Window: INFO: Channel busy - postponing... Other than the link above, nothing else is going on! Do I need to somehow close the channel, or something? Thanks! =David - 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: Ajax channel busy
Ok, this is fun. It was due to an error in my script. I've been doing Java for so many years that I forgot how to use a dynamic language. I guess I'm too used to having the compiler tell me how much of an idiot I am so I have less pain at runtime. ;-) BTW, for you experts in js, is there any kind of compiler or validator or something that you use to help locate errors? Or do you just play around with things at runtime? Or are you just smarter than me and don't make so many typos? Cheers, =David On Jul 5, 2010, at 3:19 AM, nino martinez wael wrote: Yeah it does seems as a problem.. what if you try putting in dummy functions with alerts in them? 2010/7/3 David Leangen wic...@leangen.net Ok, thanks, So, if it should be ok, I wonder why after the first execution, I only get INFO: Channel busy - postponing... So I can't use my component more than once... On Jul 3, 2010, at 10:36 PM, nino martinez wael wrote: Should be ok I guess, heres the definition of it, ..: function wicketAjaxGet(url, successHandler, failureHandler, precondition) 2010/7/3 David Leangen wic...@leangen.net I should add that in my onCloseHandler, I have this in my js: $('#popup #popup-close-link').click(function (e) { e.preventDefault(); $('#popup-mask, #popup-window').hide(); if( url != ) wicketAjaxGet(url, null, null, null); }); As far as I can tell, this seems to be the correct use of wicketAjaxGet... Cheers, =David On Jul 3, 2010, at 4:22 PM, David Leangen wrote: Hello, Wicketeers, I have a link that is supposed to call a JQuery component called popup. final AjaxLinkVoid popupLink = new AjaxLinkVoid( link.popup ) { @Override public void onClick( AjaxRequestTarget target ) { target.addComponent( popup ); final StringBuilder s = new StringBuilder(); s.append( $.fn.popup({ ) .append( url: \ ).append( onCloseBehavior.getCallbackUrl() ).append( \ ) .append( }); ); target.appendJavascript( s.toString() ); } }; Works just fine the first time, but each subsequent call, I can see the following message in the Ajax Debug Window: INFO: Channel busy - postponing... Other than the link above, nothing else is going on! Do I need to somehow close the channel, or something? Thanks! =David - 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
Ajax channel busy
Hello, Wicketeers, I have a link that is supposed to call a JQuery component called popup. final AjaxLinkVoid popupLink = new AjaxLinkVoid( link.popup ) { @Override public void onClick( AjaxRequestTarget target ) { target.addComponent( popup ); final StringBuilder s = new StringBuilder(); s.append( $.fn.popup({ ) .append( url: \ ).append( onCloseBehavior.getCallbackUrl() ).append( \ ) .append( }); ); target.appendJavascript( s.toString() ); } }; Works just fine the first time, but each subsequent call, I can see the following message in the Ajax Debug Window: INFO: Channel busy - postponing... Other than the link above, nothing else is going on! Do I need to somehow close the channel, or something? Thanks! =David - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: Ajax channel busy
I should add that in my onCloseHandler, I have this in my js: $('#popup #popup-close-link').click(function (e) { e.preventDefault(); $('#popup-mask, #popup-window').hide(); if( url != ) wicketAjaxGet(url, null, null, null); }); As far as I can tell, this seems to be the correct use of wicketAjaxGet... Cheers, =David On Jul 3, 2010, at 4:22 PM, David Leangen wrote: Hello, Wicketeers, I have a link that is supposed to call a JQuery component called popup. final AjaxLinkVoid popupLink = new AjaxLinkVoid( link.popup ) { @Override public void onClick( AjaxRequestTarget target ) { target.addComponent( popup ); final StringBuilder s = new StringBuilder(); s.append( $.fn.popup({ ) .append( url: \ ).append( onCloseBehavior.getCallbackUrl() ).append( \ ) .append( }); ); target.appendJavascript( s.toString() ); } }; Works just fine the first time, but each subsequent call, I can see the following message in the Ajax Debug Window: INFO: Channel busy - postponing... Other than the link above, nothing else is going on! Do I need to somehow close the channel, or something? Thanks! =David - 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: Ajax channel busy
Ok, thanks, So, if it should be ok, I wonder why after the first execution, I only get INFO: Channel busy - postponing... So I can't use my component more than once... On Jul 3, 2010, at 10:36 PM, nino martinez wael wrote: Should be ok I guess, heres the definition of it, ..: function wicketAjaxGet(url, successHandler, failureHandler, precondition) 2010/7/3 David Leangen wic...@leangen.net I should add that in my onCloseHandler, I have this in my js: $('#popup #popup-close-link').click(function (e) { e.preventDefault(); $('#popup-mask, #popup-window').hide(); if( url != ) wicketAjaxGet(url, null, null, null); }); As far as I can tell, this seems to be the correct use of wicketAjaxGet... Cheers, =David On Jul 3, 2010, at 4:22 PM, David Leangen wrote: Hello, Wicketeers, I have a link that is supposed to call a JQuery component called popup. final AjaxLinkVoid popupLink = new AjaxLinkVoid( link.popup ) { @Override public void onClick( AjaxRequestTarget target ) { target.addComponent( popup ); final StringBuilder s = new StringBuilder(); s.append( $.fn.popup({ ) .append( url: \ ).append( onCloseBehavior.getCallbackUrl() ).append( \ ) .append( }); ); target.appendJavascript( s.toString() ); } }; Works just fine the first time, but each subsequent call, I can see the following message in the Ajax Debug Window: INFO: Channel busy - postponing... Other than the link above, nothing else is going on! Do I need to somehow close the channel, or something? Thanks! =David - 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: wiQuery components with server side state - live demo
I don't think the project is very active. Started with a bang, but there hasn't been much action lately, or so it seems. On Jun 13, 2010, at 7:42 AM, Thies Edeling wrote: Is this project still alive? The URL below now prompts for a username/password. Thx! On Wed, Mar 10, 2010 at 1:10 AM, Cemal Bayramoglu jweekend_for...@cabouge.com wrote: http://labs.jweekend.com/public/grid/GridRowExpanderPage On 3 March 2010 18:20, John Armstrong siber...@siberian.org wrote: Hi Richard, See here: http://www.extjs.com/examples/explorer.html#gridplugins http://www.extjs.com/examples/explorer.html#gridpluginsIn this case its a grid rather then a tree that expands and allows arbitrary components to be inserted beneath the row. Similar to a tree but very grid specific. Very excited about your work, so many hoops too jump through with GWT.. J On Wed, Mar 3, 2010 at 10:17 AM, Richard Wilkinson richard.wilkin...@jweekend.com wrote: Hi, John - im not to sure what you mean by row expanders, is that similar to what is provided on the tree grid? Ernesto - see comments inline: On 3 March 2010 12:59, Ernesto Reinaldo Barreiro reier...@gmail.com wrote: Hi Cemal, Other things that might be useful: -Offer (pluggable) support for grid events at client and server side (e.g. been notified when user navigates between pages, sorts a columns, etc). By pluggable I mean they can be enable if you need them so that no unnecessary server round trips are made. The gird always has to make a request to the server when the user navigates between pages, or changes the sorting, since this requires updated data. However these events are handled internally to the grid code and are not accessible to the developer. If required we could make these events accessible to the developer, either through adding a behaviour, or overriding a method. Other things such as selection notification events, or editing, can optionally be listened to by the developer, but these do not make a round trip to the server unless they are explicitly added. -Show an example of how the grid interacts with a normal wicket form. E.g. have a form the is submitted via Wicket AJAX and get the grid refreshed either via Wicket AJAX (i.e. the whole grid component is reloaded) or triggering a reload event on the grid (I see the master detail example is built using this last approach?) . yes, this page (http://labs.jweekend.com/public/gridjpa/ProjectEditPage ) uses a wicket form (not automatically generated though) to edit a row in one grid, which then triggers a data refresh in both grids, but does not do a wicket ajax component replace. However ajax component replace is supported as there is an AjaxRequestTarget, but I feel that forcing the grid to reload is cleaner. -All the examples seem to use JSON for data transfer? Is XML supported? The grid uses JSON, however this is all internal and transparent to the developer using the grid, so I dont see how supporting XML would be a benefit. It is not possible to construct JSON or XML and feed this into the grid manually, i.e. by telling the grid which url to use. The intended use is the same as with a Wicket DataTable, where an IDataProvider provides an iterator of beans which are rendered as rows in the grid. We use Wicket IConverter to convert each field of the bean to a String, then use a JSON library to construct the JSON response, which is then used in a custom wicket IRequestTarget for JSON. Best, Ernesto On Wed, Mar 3, 2010 at 11:33 AM, Cemal Bayramoglu jweekend_for...@cabouge.com wrote: -- Regards - Richard Wilkinson Developer, jWeekend: OO Java Technologies - Development and Training 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 - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: wiQuery components with server side state - live demo
Nice! Do you have the example running somewhere so the curious don't need to spend time setting it up? Cheers, =David On Jun 14, 2010, at 3:37 PM, Ernesto Reinaldo Barreiro wrote: Hi, I have started [1] sometime ago. This Wicket-jqgrid integration already supports many of jqgrid's options and is capable of rendering of Wicket components as grid cells. I'm planning to maintain this project and I'm also willing to let other people to join in if they think (and prove) they can make significant contributions to the project. The project also contains integrations with other jquery plug-ins as well as a prototype of another grid based on jquery (I'm actively improving this component right now as I'm planning to use it for some projects). There is a small demo project [3] you can use to see components in action. Project is fully mavenized so it is very easy to start using it. Best, Ernesto References, [1] -http://code.google.com/p/wiquery-plugins/source/browse/#svn/trunk/wiquery-plugins/jqgrid [2] -http://code.google.com/p/wiquery-plugins/source/browse/#svn/trunk/wiquery-plugins/antila-grid [3] - http://code.google.com/p/wiquery-plugins/source/browse/#svn/trunk/wiquery-plugins/example-war On Mon, Jun 14, 2010 at 8:05 AM, David Leangen wic...@leangen.net wrote: I don't think the project is very active. Started with a bang, but there hasn't been much action lately, or so it seems. On Jun 13, 2010, at 7:42 AM, Thies Edeling wrote: Is this project still alive? The URL below now prompts for a username/password. Thx! On Wed, Mar 10, 2010 at 1:10 AM, Cemal Bayramoglu jweekend_for...@cabouge.com wrote: http://labs.jweekend.com/public/grid/GridRowExpanderPage On 3 March 2010 18:20, John Armstrong siber...@siberian.org wrote: Hi Richard, See here: http://www.extjs.com/examples/explorer.html#gridplugins http://www.extjs.com/examples/explorer.html#gridpluginsIn this case its a grid rather then a tree that expands and allows arbitrary components to be inserted beneath the row. Similar to a tree but very grid specific. Very excited about your work, so many hoops too jump through with GWT.. J On Wed, Mar 3, 2010 at 10:17 AM, Richard Wilkinson richard.wilkin...@jweekend.com wrote: Hi, John - im not to sure what you mean by row expanders, is that similar to what is provided on the tree grid? Ernesto - see comments inline: On 3 March 2010 12:59, Ernesto Reinaldo Barreiro reier...@gmail.com wrote: Hi Cemal, Other things that might be useful: -Offer (pluggable) support for grid events at client and server side (e.g. been notified when user navigates between pages, sorts a columns, etc). By pluggable I mean they can be enable if you need them so that no unnecessary server round trips are made. The gird always has to make a request to the server when the user navigates between pages, or changes the sorting, since this requires updated data. However these events are handled internally to the grid code and are not accessible to the developer. If required we could make these events accessible to the developer, either through adding a behaviour, or overriding a method. Other things such as selection notification events, or editing, can optionally be listened to by the developer, but these do not make a round trip to the server unless they are explicitly added. -Show an example of how the grid interacts with a normal wicket form. E.g. have a form the is submitted via Wicket AJAX and get the grid refreshed either via Wicket AJAX (i.e. the whole grid component is reloaded) or triggering a reload event on the grid (I see the master detail example is built using this last approach?) . yes, this page (http://labs.jweekend.com/public/gridjpa/ProjectEditPage ) uses a wicket form (not automatically generated though) to edit a row in one grid, which then triggers a data refresh in both grids, but does not do a wicket ajax component replace. However ajax component replace is supported as there is an AjaxRequestTarget, but I feel that forcing the grid to reload is cleaner. -All the examples seem to use JSON for data transfer? Is XML supported? The grid uses JSON, however this is all internal and transparent to the developer using the grid, so I dont see how supporting XML would be a benefit. It is not possible to construct JSON or XML and feed this into the grid manually, i.e. by telling the grid which url to use. The intended use is the same as with a Wicket DataTable, where an IDataProvider provides an iterator of beans which are rendered as rows in the grid. We use Wicket IConverter to convert each field of the bean to a String, then use a JSON library to construct the JSON response, which is then used in a custom wicket IRequestTarget for JSON. Best, Ernesto On Wed, Mar 3, 2010 at 11:33 AM, Cemal Bayramoglu jweekend_for...@cabouge.com wrote
Re: drag and drop
Can you provide a link to the issue? I'll vote for it. Maybe lots of other people on this list could do the same. ;-) On May 19, 2010, at 8:14 PM, Ernesto Reinaldo Barreiro wrote: Hi Istvan, Don't take me wrong but: can you confirm that any other third party plugins you want to integrate with your application will work with the patched version of jquery? I know Stefan has tested a lot his fix but you cannot be 100% sure that this fix will not brake other untested functionality (that was built against the original jquery). I want to make clear that I'm NOT trying to imply that there is something wrong with Stefan's fix, it's just that I do prefer NOT to use jquery DD till they officially fix it: which does not seem to be any time soon if one judge their reaction to the issue I have created at their forum and the many times the issue has been reported. Best, Ernesto On Wed, May 19, 2010 at 12:32 PM, Stefan Jozsa stefan_...@yahoo.com wrote: I can confirm, that it _IS_ patched, dragdrop works on IE. Istvan ... think Stefan has patched the jquery.js file to get it working for his jWicket project. - 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
Troubles with AjaxEditableLabel
Hi! Any hints to point me in the right direction? Here is the end bit of the Ajax request (from the Wicket Ajax Debug panel): ![CDATA[{ var el=wicketGet('editor42'); if (el.createTextRange) { var v = el.value; var r = el.createTextRange(); r.moveStart('character', v.length); r.select(); } }]]/ evaluateevaluate![CDATA[Wicket.Focus.setFocusOnId('editor42');]]/ evaluate/ajax-response But getting this error immediately after: INFO: Response parsed. Now invoking steps... ERROR: Wicket.Ajax.Call.processEvaluation: Exception evaluating javascript: TypeError: el is null So, the html doesn't get updated and my editable label is not editable. The error message is not helping, and even after some digging, I've run out of ideas... Can post more info if necessary. Thanks! =David - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: jWicket 0.5.2
Hi, What's the difference between jwicket and wiQuery? Is it necessary to have 2 separate projects? Just curious, because I'll soon be looking into better jQuery integration. Thanks! =David On Mar 20, 2010, at 8:50 PM, Stefan Lindner wrote: I checked in jwicket 0.5.2 into wicketstuff/trunk. This fiexes an Ajax update problem for input fields with DatePicker with button as trigger. Looks like Ajax redraws of wicket components with jQuery behavior is always a problem. Stefan - 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 osgi (not Pax)
Hi Ernesto, Antilia simply use equinox extensions for class-loading that way you can use normal Wicket components... No need to modify Wicket or your components. Ok, do you mean buddy classloading? If so, that's not real OSGi. :-) What I wanted to says is that you not always have to face the problems you mentioned: it might depend on how you build your application. But I do agree the OSGi road is not for the faint hearted and people should carefully consider their requirements before jumping into it: moreover if you can achieve extensibility and modularity with other means. Personally, I'm addicted to OSGi. I wish that somebody would come up with a good solution for this that doesn't rely on buddy classloading... Anyway, thanks for the discussion. Cheers, =David - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: wicket osgi (not Pax)
Buddy-class loading is real OSGi since 4.1 ;) The new MANIFEST.MF entry is named Bundle- *BuddyPolicy.* Ok, thanks for letting me know. I haven't looked at 4.1 at all. I'll have to look into the buddy thing. I'm wondering if it was some kind of compromise for the Equinox people, or if there was some other real use-case. In any case, this is getting REALLY off topic... ;-) Cheers, =David - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: wicket osgi (not Pax)
Is there a How-to for OSGI and wicket, not from pax I managed to install jetty servlet api in equinox...now I have to install wicket somehow Good luck! Due to serialization issues, it's not an easy problem to solve. I don't know of any how-to. All I can say is that you have a long road ahead of you. Cheers, =David - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: wicket osgi (not Pax)
Hi Eelco, Is there a How-to for OSGI and wicket, not from pax I managed to install jetty servlet api in equinox...now I have to install wicket somehow Good luck! Due to serialization issues, it's not an easy problem to solve. I don't know of any how-to. All I can say is that you have a long road ahead of you. Really? That's disappointing. I thought introducing IClassResolver way back when and asking OSGi people to work with that did the trick? How come it doesn't? The IClassResolver does indeed make it possible, but not necessarily easy. OSGi (or at least proper use thereof) is very strict in terms of which packages can be seen by which other packages. In many cases, the actual classes that are serialized are dependencies of dependencies of depen... you get the idea. The problem that nobody appears to have take the time to solve in a satisfactory way is that upon deserialization, the actual classes being deserialized are not visible to the bundle that is doing the deserialization, so a CNFE is thrown. Cheers, =David - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: wicket osgi (not Pax)
I have seen OSGi successfully used with Wicket on production environments... With no problems with the serialization issues you mentioned. Yes, I am using pax-wicket for this. What I meant was--as I understood from the original post--the person wanted to use wicket in OSGi without using a framework. If that is the case, it is a huge headache. How does Antilla solve the problem? Do they have an elegant solution? - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: OSGi Wicket
If you do go with OSGi, you will have problems with classloaders and deserialization. To my knowledge, nobody has yet solved this (i.e. implemented a good solution) in a decent way. The Eclipse buddy system is not proper OSGi, IMO. pax-wicket does solve this problem (using proper OSGi), but I have never used their approach much even though I use the framework. Here is a post about this by me with some interesting comments from Igor: http://bioscene.blogspot.com/2009/03/serialization-in-osgi.html Good luck to you! =David On Nov 1, 2009, at 3:26 AM, Igor Vaynberg wrote: it is easy to create a pluggable application in wicket. all you need is a registry of component providers, whether it be something like spring [1], a custom registry like brix uses [2] or something more advanced like osgi. the choice should be based on the featureset you need. eg, if you need hot updating, classloader separation, etc, then osgi is good. if not, there are simpler ways to achieve modularity [1] [2]. the great news is that wicket lends itself easily to modularization. [1] http://wicketinaction.com/2008/10/creating-pluggable-applications-with-wicket-and-spring/ [2] http://code.google.com/p/brix-cms/source/browse/#svn/trunk/brix- core/src/main/java/brix/registry -igor 2009/10/29 Tomáš Mihok tomas.mi...@cnl.tuke.sk: Hello, I'm currently designing a new application. One of the requests is to make it modular. I found out that one of the possibilities to enable loading of modules while application is running is OSGi. Is there a tool/ plugin/guide to accomplish this or are there any other possibilities of accomplishing same goal? Tom - 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: OSGi Wicket
You can take a look at pax-wicket: http://wiki.ops4j.org/display/ops4j/Pax+Wicket The project is not very active these days, but I use it and it works. Regards, =David On Oct 30, 2009, at 8:12 AM, Tomáš Mihok wrote: Hello, I'm currently designing a new application. One of the requests is to make it modular. I found out that one of the possibilities to enable loading of modules while application is running is OSGi. Is there a tool/plugin/guide to accomplish this or are there any other possibilities of accomplishing same goal? Tom - 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: Processing dynamic text
A very simple solution to my own problem: repeaters! Man, Wicket rocks! On Oct 6, 2009, at 10:11 AM, David Leangen wrote: Wicketeers, If I have a Label that contains some text I want to process, what is the best way to do that? - Should I even be using a label? - Should I override Label's onComponentTag or something? - Is there a better way? The key is that I don't know the content in advance, so there is no way to add markup to my html. Is this beyond the scope of Wicket, or is there something in there that I've overlooked? (Concrete example below.) Thanks! =David *** Example: I have the text: The quick brown fox jumps over the lazy brown dog. I don't know the content of the text in advance, but I DO know that I want to decorate all the nouns. The meaning of decorate can change over time (maybe some CSS, maybe some js, like a popup). So I need to produce: The quick brown ##fox## jumps over the lazy brown ##dog##. - 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
Processing dynamic text
Wicketeers, If I have a Label that contains some text I want to process, what is the best way to do that? - Should I even be using a label? - Should I override Label's onComponentTag or something? - Is there a better way? The key is that I don't know the content in advance, so there is no way to add markup to my html. Is this beyond the scope of Wicket, or is there something in there that I've overlooked? (Concrete example below.) Thanks! =David *** Example: I have the text: The quick brown fox jumps over the lazy brown dog. I don't know the content of the text in advance, but I DO know that I want to decorate all the nouns. The meaning of decorate can change over time (maybe some CSS, maybe some js, like a popup). So I need to produce: The quick brown ##fox## jumps over the lazy brown ##dog##. - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: Passing parameters from markup to panels
Then why not just create a configuration panel so your designer can configure the number of items to display? On Sep 8, 2009, at 9:23 AM, Chris Colman wrote: you say it is laughable to require knowledge of code to configure this. i agree, but i also think its laughable to require the knowledge of markup, why shouldnt a sysadmin be able to change this? so isnt a property file, or a jndi property, or a database table a better place to configure this? -igor Property files, jndi properties and database tables are all in the programmer's domain yet control over the 'size' of something, which is what this essentially is, has always and should remain, IMHO, in the domain of the graphic art department - heck, we all know they are experts at making the eye candy. The whole object oriented component architecture on which wicket is built is all about building web pages from components to make it easy to create something that works but it also visually appealing. There's a lot of experimentation by graphic designers with dimensions, colors, shapes, forms etc., and they're used to being able to quickly and easily try different elements and adjust their size fairly easily. A natural extension to this would be that panels that merely contain a variable number of items (eg., songs or news items or interesting links) should be able to be 'sized' by specifying an item count in the markup that includes them - not via 'remote control' in a configuration file or database or something else that is in the domain of the programmer. I don't want me or other programmers to have to recompile a Java file or set up a value in the database each time they want to change the number of items appearing in a particular panel - especially when that same panel can be used differently in multiple markups. The decision as to how many items appear in a panel that is merely a container of items is a purely visual one - nothing to do with business rules, logic or coding. It should therefore be up to a visually oriented person's point of view - not a programmer's point of view (as a programmer I am therefore visually challenged ;) ). If anything it could be argued that the migration of the control of such a 'visual consideration' out of the model/controller (panel java class) and into the presentation layer (markup) is in fact move *towards* MVC rather than away from it. - 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: ajax navigation toolbars not updating when rows are added to initially empty table
In a nutshell, I have a table that starts off empty and rows are added to it dynamically. Perhaps if you take your table out of the nutshell, it would work? I find that things don't work so well if I put them in a nutshell. Just a thought. ;-) - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: Session listener
What's the best way to get notified of a session timeout event from within a Wicket App when I don't have access to the deployment descriptor? I think overriding WebApplication#sessionDestroyed should do the trick. Perfect! Thank you.
How do I update my model?
Hello! I have a form in a panel like so: public class MyPanel extends Panel { Object someModelObject; public MyPanel( ... ) { setModel( new Model( Object ) ); add( new MyForm( ... ) ); } private static MyForm extends Form { private final MyPanel panel; MyForm( ... ) { add( new TextField( text, new PropertyModel( panel, someModelObject ); add( new MyDropDownChoice( dropdown ..., new PropertyModel( panel, someModelObject ); } } } I have MyDropDownChoice set to capture onChange, and in onSelectionChanged I update the model object. Problem is that the field is not getting updated upon refresh, even if the model object is being changed (yes, the model is indeed changed, and yes, they all refer to the same model). Do I need to mark the model object as dirty or something for the other components to refresh? BTW, in onSelectionChanged, I tried: panel.modelChanged(); but that didn't help much. Thanks! =David - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: How do I update my model?
Ok, thanks for the tip. Looks like all I needed was to call modelChanged() directly on the TextField. Cheers, =David On Aug 5, 2009, at 10:21 PM, Craig McIlwee wrote: If a FormComponent has raw input (FormComponent.hasRawInput() == true) then it will use that value when rendering instead of its model object. I find that pretty often (or more likely always) have to call FormComponent.clearInput() when updating a component's model object during an ajax request so that it uses the model object instead of the raw input. Too bad this isn't clearly documented in the FormComponent javadocs, or anywhere else that I can remember, instead I had to find this out the hard way by stepping through the wicket code. Craig -Original Message- From: David Leangen [mailto:wic...@leangen.net] Sent: Wednesday, August 05, 2009 6:20 AM To: users@wicket.apache.org Subject: How do I update my model? Hello! I have a form in a panel like so: public class MyPanel extends Panel { Object someModelObject; public MyPanel( ... ) { setModel( new Model( Object ) ); add( new MyForm( ... ) ); } private static MyForm extends Form { private final MyPanel panel; MyForm( ... ) { add( new TextField( text, new PropertyModel( panel, someModelObject ); add( new MyDropDownChoice( dropdown ..., new PropertyModel( panel, someModelObject ); } } } I have MyDropDownChoice set to capture onChange, and in onSelectionChanged I update the model object. Problem is that the field is not getting updated upon refresh, even if the model object is being changed (yes, the model is indeed changed, and yes, they all refer to the same model). Do I need to mark the model object as dirty or something for the other components to refresh? BTW, in onSelectionChanged, I tried: panel.modelChanged(); but that didn't help much. Thanks! =David - 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
Problems with UTF-8 chars in query string
Hello! I am having a problem with the double-encoding of Japanese characters that are in the query string. For example: http://www.example.com/path/q=日本語 If I write the raw value directly in the URL string in my browser, there are no problems. If I write the URL encoded value directly in my browser, there are no problems. If I use the form, then the value gets double encoded. If I access the machine directly, there is no problem, even from within the form. If I access the machine externally via my proxy, then the double encoding occurs. So, I am not able to reproduce the problem since it is only on my production machine. I have been using a remote debugger to step through the code to try to figure this out, but have so far been unsuccessful. I noticed this issue: https://issues.apache.org/jira/browse/WICKET-1627 But I am using v 1.3.5, so this should not be a problem. Thank you! =David - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: Problems with UTF-8 chars in query string
Ok, this seems to have something to do with proxying, not Wicket. When I enter 日本語 into the form, Wicket correctly sends back the reply: HTTP/1.1 302 Location: http://www.example.com/path?q=%E6%97%A5%E6%9C%AC%E8%AA%9E To which my browser redirects with: GET /path/?q=%25E6%2597%25A5%25E6%259C%25AC%25E8%25AA%259E HTTP/1.1 The second request is double-encoded and is not correct. So, not a Wicket problem. However, any ideas where I could look for the solution? Thanks! =David On Jun 9, 2009, at 1:56 PM, David Leangen wrote: Hello! I am having a problem with the double-encoding of Japanese characters that are in the query string. For example: http://www.example.com/path/q=日本語 If I write the raw value directly in the URL string in my browser, there are no problems. If I write the URL encoded value directly in my browser, there are no problems. If I use the form, then the value gets double encoded. If I access the machine directly, there is no problem, even from within the form. If I access the machine externally via my proxy, then the double encoding occurs. So, I am not able to reproduce the problem since it is only on my production machine. I have been using a remote debugger to step through the code to try to figure this out, but have so far been unsuccessful. I noticed this issue: https://issues.apache.org/jira/browse/WICKET-1627 But I am using v 1.3.5, so this should not be a problem. Thank you! =David - 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: Problems with UTF-8 chars in query string
Ok, sorry for the noise. I just needed to add the [NE] rule to my RewriteRule in my apache config and that did the trick. Cheers, =David On Jun 9, 2009, at 2:06 PM, David Leangen wrote: Ok, this seems to have something to do with proxying, not Wicket. When I enter 日本語 into the form, Wicket correctly sends back the reply: HTTP/1.1 302 Location: http://www.example.com/path?q=%E6%97%A5%E6%9C%AC%E8%AA%9E To which my browser redirects with: GET /path/?q=%25E6%2597%25A5%25E6%259C%25AC%25E8%25AA%259E HTTP/1.1 The second request is double-encoded and is not correct. So, not a Wicket problem. However, any ideas where I could look for the solution? Thanks! =David On Jun 9, 2009, at 1:56 PM, David Leangen wrote: Hello! I am having a problem with the double-encoding of Japanese characters that are in the query string. For example: http://www.example.com/path/q=日本語 If I write the raw value directly in the URL string in my browser, there are no problems. If I write the URL encoded value directly in my browser, there are no problems. If I use the form, then the value gets double encoded. If I access the machine directly, there is no problem, even from within the form. If I access the machine externally via my proxy, then the double encoding occurs. So, I am not able to reproduce the problem since it is only on my production machine. I have been using a remote debugger to step through the code to try to figure this out, but have so far been unsuccessful. I noticed this issue: https://issues.apache.org/jira/browse/WICKET-1627 But I am using v 1.3.5, so this should not be a problem. Thank you! =David - 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: Form Components With Built In Feedback
textfield.setcomponentborder(new fieldborder()); I didn't see FieldBorder in the javadocs. What is the full class name? Thanks! =David - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
RE: Custom URL Handling
What version are you using? I'm using 1.4. Ok, then I can't really help you much. URL control is actually very important here because organization identity is vital in the domain that the app will serve. Agreed. IIUC, it may be easier in 1.4: http://www.nabble.com/-PROPOSAL--Use-path-in-URL-when-target-is-instance-o f-BookmarkablePageRequestTarget-td18188845.html Good luck! Please let me know how this works out. Cheers, =David - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: Custom URL Handling
Matt, I have done something similar, but depending on the version of Wicket you use, I wouldn't necessary recommend it. Things can get a little messy. I did this in 1.3.x. IIRC, I was told this was made easier in 1.4. What version are you using? =dml On Apr 20, 2009, at 1:54 PM, Matthew Welch wrote: I have been happily using HybridUrlCodingStrategy for the common pages of my current app, however I am now beginning to implement a section which has slightly different requirements for the URL and while I have some idea about where I can start to implement this custom URL handling, I would like the advice of those more experienced that I to make sure I'm not heading down a rathole. My application will serve many different organizations. All users will see the same set of pages, but the organization that they are choosing to view (users can view the data from any organization) will affect the data on those pages. I would like the urls to be something like this: http://myapp.com/organization1/calendar http://myapp.com/organization1/events http://myapp.com/organization2/calendar http://myapp.com/organization2/events I would need to know the organization part of the URL before retrieving the data for the page, so in reality it's nothing more that page parameter. In all other respects, I would like to keep the functionality provided by HybridUrlCodingStrategy, so would my best bet be to extend that strategy? Is there somewhere else I should be inserting custom code to intercept the URL before it gets to the coding strategy instead? Matt - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
RE: OAuth in Wicket
Yes. There is a java library you can use: http://code.google.com/p/oauth/ Unfortunately, my stuff is not well generalized, so there's no point that I make it public. However, if you have any particular problems, please let me know. I think a few others have also done this before, too. Cheers, =David -Original Message- From: Brill Pappin [mailto:br...@pappin.ca] Sent: 15 April 2009 01:14 To: users@wicket.apache.org Subject: OAuth in Wicket This looks very interesting. http://oauth.net/ Has anyone integrated OAuth with wicket? - Brill Pappin - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: VOTE: Rename Apache Wicket to Apache WicketFX
Or... WTF! (Wicket The Framework) +1 - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: how to display a BookmarkableLink so it can't be clicked
isEnabled() Cheers, =David On Mar 31, 2009, at 9:34 AM, Jason Novotny wrote: Hi, I have a case where if some condition is met I don't want a link to be clickable... but I want it to display the link text (so overriding isVisible() is not an option). Any ideas on the most elegant approach? Thanks, Jason - 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 serialization problems for OSGi users
Hi Ernesto, Thanks. Just one question why not use buddy class-loading techniques to solve serialization problem? Simple: at least for now, this is a non-standard extension for Eclipse/ Equinox. :-) I am aware of some proposals to modify the OSGi spec, but as far as I know, that's not getting anywhere yet. In any case, I am still pondering over whether or not the framework should even directly serialize those private classes... Haven't yet come to any conclusions. Cheers, =David - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Wicket serialization problems for OSGi users
I know there have been a few people inquiring about this from time to time. I write about my experiences here, in the hope that this is helpful: http://bioscene.blogspot.com/2009/03/serialization-in-osgi.html Cheers, =David - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Future of WicketObjectStreamFactory
Hi, Just wondering about WicketObjectStreamFactory. For a reason that I have not yet been able to determine, I am having deserialization problems when using the default serialization. However, if I set this: setObjectStreamFactory(new WicketObjectStreamFactory()); then my problems go away. I have seen on the list that people have the opposite problem, so I'm a bit baffled... Anyway, is it safe to continue using WicketOSF? (Currently using Wicket 1.3.4) Thanks! =dml - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
How exactly does RestartResponseAtInterceptPageException work?
Hi! Just wondering how this works, precisely, since I've been having some intermittent problems. I have a link that has an onClick() method that looks something like this (in principle): public void onClick() { String token = checkForToken(); if( token == null ) // Do something that will cause token to be non-null next time throw new RestartResponseAtInterceptPageException( SomePage.class ); doSomething( token ); } During the process of doSomething(), I make the call to continueToOriginalDestination. This returns to the URL that includes the ITargetListener, so my expectation is that the onClick() above will be called again. Since this time checkForToken() returns the token, I can continue processing normally. This is working intermittently for me, so I believe that the way I _think_ things work is correct, but it would be really nice for somebody to confirm this for me. Thank you! =David - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
How exactly does RestartResponseAtInterceptPageException work?
Hi! Just wondering how this works, precisely. I have a link that has an onClick() method that looks something like this (in principle): public void onClick() { String token = checkForToken(); if( token == null ) // Do something that will cause token to be non-null next time throw new RestartResponseAtInterceptPageException( SomePage.class ); doSomething( token ); } This was working, now it's not. So, I guess I don't understand the mechanism after all. I thought that the URL associated with that onClick() handler (so, something funky like /top/?wicket:interface=:18:1:::) was returned to upon continueToOriginalDestination(). In that case, shouldn't my onClick() above be called upon return? It's not. Thank you! =David - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: RestartResponseAtInterceptPageException and the query string
A new session should not be created. Check the session ID via Wicket. If it changes, you should probably check the headers for your request/responses to figure out where it changes, and maybe that will allow you to understand why. On Tue, 2009-01-06 at 11:14 +0200, Arie Fishler wrote: Thanks a lot. I will take a look. It seems like for some reason when hitting the intercept page it creates a new sessiontherefore I cannot use the session to store things to achieve the required communication between the calls. Basically I do want to use RestartResponseAtInterceptPageException. because of its return functionality So it seems I am kind of stuck...not here, not there...but thanks for clearing it to me on my possibilities. On Tue, Jan 6, 2009 at 6:29 AM, David Leangen wic...@leangen.net wrote: Since nobody has replied yet... You can do this with RestartResponseException but not RestartResponseAtInterceptPageException. The difference between the two is that the former will simply break the current path and restart somewhere else, I guess kinda like a goto statement. In the latter case, you break to somewhere to do some temporary processing, and return to the point you left off when that temporary processing is done, maybe like a subroutine. This is ideal, for example, for the login scenario. RestartResponseAtInterceptPageException was not designed to accept parameters, so you just can't do it that way. (As to why it was designed that way, you'll have to ask the people who designed it.) What you can do is set a meta key. So long as you remain within the same session, you can temporary store data to the session. It may not be exactly what you want (parameters), but it will allow you to accomplish the same thing. I.e. in org.apache.wicket.Session: public final java.io.Serializable getMetaData(MetaDataKey key) public final void setMetaData(MetaDataKey key, Serializable object) Good luck! =dml On Wed, 2008-12-31 at 18:58 +0200, Arie Fishler wrote: Hi All, First...Happy new year to everybody! I apologize for raising this question again as I did it in the past in some other form but actually this was not really resolved for me. I am using RestartResponseAtInterceptPageException to redirect to some sign-in page or similar. I think it was Martijn that mentioned that the default for the redirect is that the QUERY STRING of the original message is passed to the sign-in page. StillI do not see this happening. I want to get the original query string or at least be able to provide some parameters to that sign in page. How do I achieve this? To make the issue clear I have this sequence. http://domain.com/wicket/pageX?a=1b=2 This does some logic and then throws RestartResponseAtInterceptPageException which redirects to http://domain.com/wicket/signIn but what I wanted to get is http://domain.com/wicket/signIn*?a=1b=2 http://domain.com/wicket/signIn?a=1b=2 * or even add some of my own parameters http://domain.com/wicket/signIn* ?a=1b=2c=3 http://domain.com/wicket/signIn?a=1b=2c=3* ** Can anyone help? Thanks!! - 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: RestartResponseAtInterceptPageException and the query string
Since nobody has replied yet... You can do this with RestartResponseException but not RestartResponseAtInterceptPageException. The difference between the two is that the former will simply break the current path and restart somewhere else, I guess kinda like a goto statement. In the latter case, you break to somewhere to do some temporary processing, and return to the point you left off when that temporary processing is done, maybe like a subroutine. This is ideal, for example, for the login scenario. RestartResponseAtInterceptPageException was not designed to accept parameters, so you just can't do it that way. (As to why it was designed that way, you'll have to ask the people who designed it.) What you can do is set a meta key. So long as you remain within the same session, you can temporary store data to the session. It may not be exactly what you want (parameters), but it will allow you to accomplish the same thing. I.e. in org.apache.wicket.Session: public final java.io.Serializable getMetaData(MetaDataKey key) public final void setMetaData(MetaDataKey key, Serializable object) Good luck! =dml On Wed, 2008-12-31 at 18:58 +0200, Arie Fishler wrote: Hi All, First...Happy new year to everybody! I apologize for raising this question again as I did it in the past in some other form but actually this was not really resolved for me. I am using RestartResponseAtInterceptPageException to redirect to some sign-in page or similar. I think it was Martijn that mentioned that the default for the redirect is that the QUERY STRING of the original message is passed to the sign-in page. StillI do not see this happening. I want to get the original query string or at least be able to provide some parameters to that sign in page. How do I achieve this? To make the issue clear I have this sequence. http://domain.com/wicket/pageX?a=1b=2 This does some logic and then throws RestartResponseAtInterceptPageException which redirects to http://domain.com/wicket/signIn but what I wanted to get is http://domain.com/wicket/signIn*?a=1b=2http://domain.com/wicket/signIn?a=1b=2 * or even add some of my own parameters http://domain.com/wicket/signIn* ?a=1b=2c=3 http://domain.com/wicket/signIn?a=1b=2c=3* ** Can anyone help? Thanks!! - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: [OT] wicket users around the world
:-) lol Better watch out, or you'll get every single member here put on the oh-so-intelligent international no fly list. ;-) On Wed, 2008-12-17 at 08:50 +0330, Iman Rahmatizadeh wrote: Tehran, Iran I'm using wicket in developing the next gen nuclear bombs errr... sorry, no political jokes here :-) Using wicket in developing software for educational institues elearning apps. Iman - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
RE: Openid integration?
Hi, Nino, Sorry, I haven't been following this list daily lately. I probably should, since I just sifted through 500 messags. Wow, this list is really active! Anyway, I did say I'd get back to you once I completed my OpenID integration, and I just completed it recently. However, I'm not sure I can really be of much use to you. The fact is that I had to pretty much redo everything in a custom way. As you know, I am running Wicket in OSGi using pax-wicket. This really changes a lot of things, especially the way I'm using Wicket. My solution will certainly not be generally applicable, so I won't even bother trying. In any case, the login process using OpenID is a little different from the traditional process. I used a few tricks in Wicket to get this to work. (I'm writing from [my bad] memory, so please bear with me...) If you recall, when a user logs in, there is some exception thrown like UnauthorizedInstantiationException or something. There is a handler that can be registered for this. The default flow looks something like this: Is the user authenticated? No: -- throw new RestartAtSomethingException( LoginPage.class ) Yes: -- throw new SecurityExceptionOrSomethingLikeThat What I did was add an extra step for OpenID: Is the user authenticated? No: -- throw new RestartAtSomethingException( LoginPage.class ) Is the user registered? No: -- throw new RestartAtSomethingException( RegistrationPage.class ) Yes: -- throw new SecurityExceptionOrSomethingLikeThat This seems to work well. Sorry I don't remember the actual names. ;-) As for the authentication stuff (I think you were posing a question about this, too), I used my own custom implementation based on the UserAdmin service. It works very well and is very flexible, but it did take a while to build correctly. There was a lot more to it, but I would say those were the main aspects. Oh, forgot to mention that I used openid4java. It seems to work ok, except for the fact that is depends on openxri, which does some crappy dynamic instantiation of xml parsers (I say crappy because it's a hassle in an OSGi environment). If you think there is something general we could make out of this, I'd be happy to work with you, but I think it would only apply for pax-wicket users. I just don't see how this solution could work for general Wicket users. Cheers, Dave -Original Message- From: Nino Saturnino Martinez Vazquez Wael [mailto:[EMAIL PROTECTED] Sent: 2 December 2008 04:31 To: users@wicket.apache.org Subject: Openid integration? Hi Guys Have any of you tried to do a openid integration ? -- -Wicket for love Nino Martinez Wael Java Specialist @ Jayway DK http://www.jayway.dk +45 2936 7684 - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Create custom UrlCodingStrategy
Assuming I understand what you're asking for... There is a solution, but that's about all I can say. I can say this because I managed somehow to pull it off. However, it took a lot of hacks to the wicket code, which I don't recommend to anybody. [Just to make sure I understand, let me explain what I did. I essentially have one Wicket instance that is able to manage several different applications (that would normally each have their own Wicket instance). Each app gets mounted on its own contextual path, so like you say below http://localhost/myapp1, http://localhost/myapp2, and so on.] I was told that v1.5 will have more customizable support, so I would suggest that you try to wait until then, unless you want to suffer mental trauma the way I have trying to live through this experience. ;-) Cheers, Dave -Original Message- From: Mathias P.W Nilsson [mailto:[EMAIL PROTECTED] Sent: 3 December 2008 22:20 To: users@wicket.apache.org Subject: Re: Create custom UrlCodingStrategy Is there no solution to this? this is my app ( http://localhost/myapp ). All I want is to be able to have a customer name after myapp that follows in the application. -- View this message in context: http://www.nabble.com/Create-custom-UrlCodingStrategy-tp20660813p2 0812776.html Sent from the Wicket - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: spring proxy for my model causes notSerializable exception
I just briefly scanned your message, but this did remind me of something. Not sure if it's related or not... As far as I could tell from the Wicket code, for some reason proxy classes do not get serialized. I've been meaning to ask about this myself, as it's been causing me problems. Cheers, Dave -Original Message- From: miro [mailto:[EMAIL PROTECTED] Sent: 8 December 2008 02:55 To: users@wicket.apache.org Subject: spring proxy for my model causes notSerializable exception I am creating a spring proxy for my model before attaching it to the form and i get notserializable exception here is the code protected Object getproxy(){ ProxyFactory factory = new ProxyFactory(new ReassignGrantsOfficerDTO()); factory.addAdvisor(new WorkflowMetaDataAdvisor()); factory.setProxyTargetClass(true); Advised advised=(Advised)factory.getProxy(); advised.setExposeProxy(true); System.out.println(advised instanceof WorkflowMetaData ); System.out.println(advised instanceof ReassignGrantsOfficerDTO ); return advised; } private class ReassignGrantsOfficerForm extends Form{ public ReassignGrantsOfficerForm() { super(reassignGrantsOfficerForm, new CompoundPropertyModel(getproxy())); here the exception - Error serializing object class gov.hhs.acf.web.pages.auditprog.ReassignGrantsOfficerPage [object=[Page class = gov.hhs.acf.web.pages.auditprog.ReassignGrantsOfficerPage, id = 3, version = 0]] org.apache.wicket.util.io.SerializableChecker$WicketNotSerializabl eException: Unable to serialize class: gov.hhs.acf.dto.ReassignGrantsOfficerDTO$$EnhancerByCGLIB$$4657904b Field hierarchy is: 3 [class=gov.hhs.acf.web.pages.auditprog.ReassignGrantsOfficerPage, path=3] private java.lang.Object org.apache.wicket.MarkupContainer.children [class=[Ljava.lang.Object;] java.lang.Object org.apache.wicket.Component.data[2] [class=org.apache.wicket.markup.html.WebMarkupContainer, path=3:reassignGrantsOfficerContainer] private java.lang.Object org.apache.wicket.MarkupContainer.children [class=[Ljava.lang.Object;] private java.lang.Object org.apache.wicket.MarkupContainer.children[0] [class=gov.hhs.acf.web.pages.auditprog.ReassignGrantsOfficerPage$R eassignGrantsOfficerForm, path=3:reassignGrantsOfficerContainer:reassignGrantsOfficerForm] java.lang.Object org.apache.wicket.Component.data [class=org.apache.wicket.model.CompoundPropertyModel] private java.lang.Object org.apache.wicket.model.CompoundPropertyModel.target [class=gov.hhs.acf.dto.ReassignGrantsOfficerDTO$$EnhancerByCGLIB$$ 4657904b] - field that is not serializable at org.apache.wicket.util.io.SerializableChecker.check(SerializableCh ecker.java:342) at org.apache.wicket.util.io.SerializableChecker.checkFields(Serializ ableChecker.java:610) at org.apache.wicket.util.io.SerializableChecker.check(SerializableCh ecker.java:533) at org.apache.wicket.util.io.SerializableChecker.checkFields(Serializ ableChecker.java:610) at org.apache.wicket.util.io.SerializableChecker.check(SerializableCh ecker.java:533) at org.apache.wicket.util.io.SerializableChecker.check(SerializableCh ecker.java:388) at org.apache.wicket.util.io.SerializableChecker.checkFields(Serializ ableChecker.java:610) at org.apache.wicket.util.io.SerializableChecker.check(SerializableCh ecker.java:533) at org.apache.wicket.util.io.SerializableChecker.check(SerializableCh ecker.java:388) at org.apache.wicket.util.io.SerializableChecker.checkFields(Serializ ableChecker.java:610) at org.apache.wicket.util.io.SerializableChecker.check(SerializableCh ecker.java:533) at org.apache.wicket.util.io.SerializableChecker.writeObjectOverride( SerializableChecker.java:678) at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:322) at org.apache.wicket.util.io.IObjectStreamFactory$2.writeObjectOverri de(IObjectStreamFactory.java:125) at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:322) at org.apache.wicket.util.lang.Objects.objectToByteArray(Objects.java:1091) at org.apache.wicket.protocol.http.pagestore.AbstractPageStore.serial izePage(AbstractPageStore.java:197) at org.apache.wicket.protocol.http.pagestore.DiskPageStore.storePage( DiskPageStore.java:811) at org.apache.wicket.protocol.http.SecondLevelCacheSessionStore$Secon dLevelCachePageMap.put(SecondLevelCacheSessionStore.java:332) at org.apache.wicket.Session.requestDetached(Session.java:1370) at org.apache.wicket.RequestCycle.detach(RequestCycle.java:1085) at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1372) at org.apache.wicket.RequestCycle.request(RequestCycle.java:493)
Re: Openid integration?
Hmm, I do actually have something working, which seems to be really simple. Ok, good for you! Using openid4java, my only problem are that I cant seem to get any openid providers to give me the requested attributes, like email and name. How did you solve this? Are you sure it's an openid4java problem? If the OP does not support extensions, then there's just nothing you can do! Normally (again from my porous memory, sorry!) there should be some parameter in which the OP declares which extensions it supports. For example, Yahoo supports only pape, nothing else. That means that try as you might, you'll never get any registration info from them. But in any case, this should be on the openid4java list, not here... Cheers, Dave - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: spring proxy for my model causes notSerializable exception
As far as I could tell from the Wicket code, for some reason proxy classes do not get serialized. I've been meaning to ask about this myself, as it's been causing me problems. that used to happen only if you used wicket's special serializer. it was the default one for a little while, but is not default any longer. I see. Was there originally a reason for not serializing proxy classes? Is there still a reason for this? Or would it be reasonable to submit an issue and possibly a patch in JIRA for this? Thanks! =dml - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Associating a request to a Session
On Wed, 2008-10-22 at 23:10 -0700, Serkan Camurcuoglu wrote: I think your session id changes because you access the server as localhost:8080 for the first time, but yahoo forwards you back to www.bioscene.co.jp (which I think is the same host), so you access the same server with a different host name, and your browser does not send the same cookie.. Damn, you're smart! Thanks for taking the time to look at this. I got so used to debugging this way that I didn't even think about that. OpenID is a bit problematic to debug because if you are not on the production host, you need to jump through all sorts of hoops to get it working. Anyway, thanks a lot! :-) Cheers, =dml - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Associating a request to a Session
On Tue, 2008-09-23 at 20:50 -0700, Igor Vaynberg wrote: wicket does not associate a request with a session. wicket uses httpsession to store its own session object. what you want is to know how the servlet container associates a request with http session. usually that is done with the jsessionid cookie or by appending jsessionid into the url. I tried playing around with this, but was not successful. Essentially, I appended the jsessionid parameter into the url (and various other things related to jessionid), but I guess the container is too smart for that trick. I was not able to succeed that way. Before I dig into the container implementation (which I would prefer to avoid), does anybody have any suggestions about how I can somehow return to the original session, or at least copy over the state of the old session into the new session in a clean way? Thank you! =dml - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Associating a request to a Session
Before I dig into the container implementation (which I would prefer to avoid), does anybody have any suggestions about how I can somehow return to the original session, or at least copy over the state of the old session into the new session in a clean way? Actually, the only thing I want to do is continueToOriginalDestination(). So maybe I can just copy the state of this originalDestination from the original session into the new one? - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Associating a request to a Session
Hi, Nino! I believe it's also the servlet container that handles this, with either a cookie or an url rewrite... Yeah... I've decided to take another route on this, since I don't like relying on the servlet container. Thanks again for your comments, though. :-) I've thought of doing some components for openid as it would be nice to have some for it... But maybe you can do it instead? :) I'd be happy to share my work, but I don't know how valid it would be for general use. I rely heavily upon OSGi. I think those of us who combine Wicket+OSGi are still very limited in number. Cheers, =David.Leangen - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Associating a request to a Session
I've thought of doing some components for openid as it would be nice to have some for it... But maybe you can do it instead? :) I'd be happy to share my work, but I don't know how valid it would be for general use. Great I can maybe snag something of it and build a general component then... Ok, then. I'll ping you offlist when I get a little further along with this. Cheers, =David.Leangen - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Forwarding to a servlet
I think you could just use response.sendRedirect() and request.forward() , rest of the code should still be processed. This seemed to work just fine: RequestCycle.get().setRequestTarget( redirectTarget ); However, I'm running into a problem... not sure if it's related or not, so I'll start a new thread. =David.Leangen - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Associating a request to a Session
wicket session is not persisted in httpsession until you hit a stateful page. to manually persist the wicket session call .bind() on it. Hmmm... Although that is very useful information to know, that did not work. :-( So, let me ask this another way... How does Wicket associate a given request to a Session? The incoming request that I need to associate to the user's session is from a different location (OpenId Provider). So, even when I create a persistent session with bind(), Wicket has no way of knowing that the new request is part of that Session. So, how can I tell Wicket that this incoming request is part of that Session? Thanks! =David.Leangen - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Forwarding to a servlet
Hi David Hi Nino! [Oops. Didn't see your message until now...] I think you could just use response.sendRedirect() and request.forward() , rest of the code should still be processed. Ok, good to know. But are you expecting the user to return from the servlet? Still not sure what I want yet... in the process of figuring that out. Hopefully will know when I get back in front of my machine tomorrow... Thanks for the reply. David - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Forwarding to a servlet
Hi! What's a clean way to forward a request to another existent non-Wicket servlet? I have a wicket page that handles user input, then the input should be processed by the existing servlet. Rather than redirecting to an external URL, I thought it would be nice to just forward the request to the other servlet. However, I'm worried that this will leave Wicket is some strange state... Thanks! David - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [OT] Wicket in Action Jubilation
Mine arrived here in the UK yesterday too! Got mine here in Japan, too. Cool! - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Replacing $ in wicket ids
Hi! When trying to validate my HTML, I am getting this error: character $ is not allowed in the value of attribute id Is there a simple way of replacing the $ char with some other symbol? Thanks! David - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Replacing $ in wicket ids
Doh! On Mon, 2008-09-08 at 20:08 -0700, Igor Vaynberg wrote: how do they get there in the first place? -igor On Mon, Sep 8, 2008 at 7:15 PM, David Leangen [EMAIL PROTECTED] wrote: Hi! When trying to validate my HTML, I am getting this error: character $ is not allowed in the value of attribute id Is there a simple way of replacing the $ char with some other symbol? Thanks! David - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: [announce] Wicket in Action e-book has been published!
Congratulations, guys! Thank you for all your hard work and sacrifice! -Original Message- From: Martijn Dashorst [mailto:[EMAIL PROTECTED] Sent: 14 August 2008 06:32 To: Wicket Users Subject: [announce] Wicket in Action e-book has been published! Almost 3 years of hard work, loosing friends, moving abroad, marrying lovely wives, late nights, early mornings, frustrated family, and all other bad (and good) things that cross one's life is now rewarded with the availability of the e-book edition of Wicket in Action. The print edition (also know as dead-tree edition) will be available in just over 2 weeks (estimated at Aug 29th). Eelco and I are *really*, *really* glad that the journey is finally over. We think it was worth it. Now we leave the book in your capable hands to make beautiful applications that make your boss and customers happy and we are sure you'll enjoy creating them. Eelco Hillenius Martijn Dashorst About Wicket in Action Wicket in Action is a comprehensive guide for Java developers building Wicket-based web applications. It introduces Wicket's structure and components, and moves quickly into examples of Wicket at work. Written by core committers, this book shows you the how-to and the why of Wicket. You'll learn to use and customize Wicket components, to interact with Spring and Hibernate, and to implement rich Ajax-driven features. Some quotes of early access reviewers: Finally, the Web Framework of web framework, Apache Wicket, now has a bible of its own. - Per Ejeklint Without question, Wicket in Action... is the be-all and end-all when it comes to Wicket. - Geertjan Wielenga Wicket In Action glues the areas of web development with Apache Wicket together and gives a great overview of Apache Wicket...it will make a great compendium. - Nino Martinez Wael You can read full reviews here: - Nick Heudecker: Wicket In Action Book Review http://www.theserverside.com/news/thread.tss?thread_id=50326 - Geertjan Wielenga: Wicket in Action: Undoubtedly The Wicket Bible http://blogs.sun.com/geertjan/entry/wicket_in_action_undoubtedly_the Free content If you don't think these reviewers are qualified to tell you to buy Wicket in Action, let these free samples convince you: * Chapter 1: http://www.manning.com/dashorst/ch01_dashorst.pdf * Chapter 8: http://www.manning.com/dashorst/ch08_dashorst.pdf * Excerpt: Creating Secure Web Applications with Apache Wicket (http://www.manning.com/free/excerpt_Wicket.html) MEAP readers If you bought the MEAP edition you'll receive a personal download link for the final e-book in your inbox today (or possibly tomorrow). We'd like to extend our gratitude to the MEAP readers - without you and your encouragements we would've given up. Limited summer discount There is a 35% discount when you buy Wicket in Action at the manning website before the end of August. For more details look here: http://manning.com/dashorst - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: generics
Don't have time to update to 1.4 yet, so I haven't been following this thread much, but I did see this go by: 2) the wicket web site now suggests the following code for generic components: @SuppressWarnings(unchecked) public final T getModelObject() { return (T)getDefaultModelObject(); } Normally, it shouldn't be necessary to have to use casting with generics. In fact, the idea is that if no casting is used (along with a few other constraints that I don't remember off hand), then the code is guaranteed to be type safe. In other words... something seems not quite right with the code above because of the cast. Sorry if I'm bringing up something already discussed. Like I said, I haven't really been following this thread. Cheers, David - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Page Expired to home or login instead of default?
I can't seem to find anywhere, how I get wicket to automatically go to the home page instead of the Page Expired page when the session is invalidated (expires, or the user logs out). Never actually tried this, but I don't see why it wouldn't work... Application.get().getApplicationSettings().setPageExpiredErrorPage( HomePage.class ); Let me know if this works for you. -dml- - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: OSGi and class loading issues solution proposal
Before I'll create any JIRA issue, first I want to ask other osgi-guys what are they thinking about proposed changes. Well, I use the OSGi/Wicket combination extensively in the form of pax-wicket. Edward is the lead developer, but we often collaborate. Personally, I think this is a great initiative. I would really like to see more OSGi compatibility in Wicket, since I always have to use my own patched versions to get things working right. As I reply to your original questions, I'll just voice a few concerns here in context that I have probably already mentioned before. Proposal 1 (change actual method behavior): Modify resolveClass() method in DefaultClassResolver as I wrote above -1 Proposal 2 (do not change actual method behavior): Make DefaultClassResolver extensible (remove final modifier in class declaration) and define a new method (invent a better name for it ;)): +1 2. LazyInitProxyFactory - Spring integration Don't use Spring, so I'll abstain from this vote. Now, I have two concerns. My assumption is that the bundle providing the components is to be used as a kind of library bundle, and that it should not need to know in advance where it will be used. If this is not your use case, then the rest of this discussion may not be relevant to you. First: classes that derive from private packages. Ideally, the importing bundle should declare the IClassResolver, since the library bundle should not need to know where it needs to be used. If you create the IClassResolver outside of the library bundle, then you will not have access to the bundle's private classes, and deserialization will fail, so I don't see any way to make that ideal way work. So, probably because of these private packages the only way to do this is to create an IClassResolver service from within the library bundle and have this service consumed by bundles that need to use the library. Consuming bundles can either just grab all implementations of the IClassResolver service, or can pick and choose them by ID. Edward has recently made an implementation of this approach in pax-wicket. So far, it seems to work very well. In this respect, this is no longer a problem per se, but I think we need to validate and document this approach, and maybe suggest it as a best practice, or pattern or whatever. The second issue is a little trickier. Since I've never actually encountered this potential problem myself, I'm only really guessing at this point. Since a given class can be provided by more than one bundle, and on top of that there can be more than one version of the given class, we need to be very careful about how we choose the source of that class. It's not enough to simply search by classname, since this may provide us with the wrong version of that class, and again deserialization will fail. Probably, we'll need to provide some kind of marker for that class in order to be able to associate it with it's source bundle. Actually, I think that Edward has already addressed this issue with his recent commits to the pax-wicket codebase, but I have not yet had a chance to review it. The only other issue, then, it what to do if the source bundle goes away between serialization and deserialization. I have no ideas here other than to make deserialization fail somehow gracefully. Regards, David - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: [PROPOSAL] Use path in URL when target is instance of BookmarkablePageRequestTarget
Also there is a complete rewrite of URL handling planned for 1.5 which will allow much better control over URL generation and bookmarkability in Wicket. Well, in that case, I won't press this any more. The current stuff is great, but there is indeed a lot of room for improvement. Will be looking forward to that. :-) In the meantime, I'll just use my own patched version. Thanks for checking this out. -dml- - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Enabling compoents based on Wicket URI path?
So essentially, you need some variable to hold state and based on the value of that variable, you show or hide a component, right? Just use an IndexedParamCodingStrategy. Does that make sense, or do you need more details? On Wed, 2008-07-02 at 11:12 -0700, Michael Mehrle wrote: I need to hide a textfield based on the URI path of the page that's being visited. For instance: http://www.mysite.com/app/foo (hide the field) http://www.mysite.com/app/bar (hide the field) http://www.mysite.com/app/* (any other path, show the field). I don't want to use the HTTP URI var since I would have to change that everytime I change wicket URI paths. What approach would you guys suggest? Thanks, Michael - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Enabling compoents based on Wicket URI path?
A little bit confused... perhaps I or you misunderstood. I'm using a textfield in the 'navigator' section of my site. So, if a particular URL is being accessed (.../foo or .../bar) then I want to hide the textfield. Otherwise the navigator shows the textfield. Does that make more sense? In any case, the way you would show/hide any component is by overriding the isVisible method: @Override public boolean isVisible() { // do your test here } So you need some way of testing this. The way to do that is using PageParameters with one of the IndexedCodingStrategies. Make more sense? Or do you need more info? Cheers, David - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: [PROPOSAL] Use path in URL when target is instance of BookmarkablePageRequestTarget
I think stateless pages already do something like that. Also look at hybrid url encoding that also preserves the bookmarkable url and makes the url even prettier. That's possible. I haven't yet made my way into 1.4 waters yet. none of this is 1.4 In any case, even if this exists for stateless pages, seems to me that this better expresses the intent. :-) Haven't checked out hybrid encoding yet, but in the case of IListenerInterfaceRequestTarget, IIRC the bookmarkable encoder is completely bypassed, so if the hybrid encoder is used the same as the other bookmarkable encoders, this won't change anything. -dml- - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [PROPOSAL] Use path in URL when target is instance of BookmarkablePageRequestTarget
once again, i dont see what this offers over the hybrid strategy. Maybe you can correct me if I'm wrong here... The hybrid stategy is only applied when the target is an IBookmarkablePageRequestTarget. So, for normal bookmarkable pages, there is no problem, like you say. The issue only arises when a page is mounted, but is used in a stateful way (for example it has a form or something). In that case, the target becomes an IListenerInterfaceRequestTarget. When this is the case, the hybrid strategy is not used. This is the case that the patch is intended for. -dml- - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: More on wicket url stratergy
On Tue, 2008-07-01 at 02:50 -0700, Mathias P.W Nilsson wrote: In my itemList class I set the response page like this. setResponsePage( new ItemPage( parameters, ItemListPage.this ) ); Now the ItemListPage.this is for back travelling and to get the background from the list class. Is it possible to make the itemPage bookmarkable? Sure, but you can no longer construct the object yourself. You'll need to do this instead: setResponsePage( ItemListPage.class, parameters ); - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Wizard and CheckGroup
Hello. I'm using a CheckGroup in a Wizard. Let's say the CheckGroup is in step 2 of my Wizard: [1] - [2] - [3] Going through the Wizard, during step 2, I check all the checkboxes, then I go to step 3. If I back up to step 2, everything remains checked. However, if I back up again to step 1, then click next to step 2, I lose all my checkmarks. In the code for Check, whether or not the checkbox is checked is determined by this: if (group.hasRawInput()) { final String[] input = group.getInputAsArray(); if (input != null) { for (int i = 0; i input.length; i++) { if (uuid.equals(input[i])) { tag.put(checked, checked); } } } } else if (collection.contains(getModelObject())) { tag.put(checked, checked); } When group.hasRawInput() returns false, and we fall through to the else clause, everything works as expected. However, when group.hasRawInput() returns true, on the next line group.getInputAsArray() returns null. This means that the for condition never gets executed, so my checkboxes don't get checked. What's the story with hasRawInput()? Thanks! David - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[PROPOSAL] Use path in URL when target is instance of BookmarkablePageRequestTarget
Currently, when a target is an instance of IListenerInterfaceRequestTarget, the URL gets mounted (so to speak) on the root of where the wicket application is located. So, if the servlet context path for the wicket application is set to /home/, then all targets (whether bookmarkable or not), are written as something like /home/?wicket:interface=:0. This works, but I think it somewhat defeats the purpose of having mounted pages. Rather, I think it would be better that when the target is an instance of BookmarkablePageRequestTarget, since we can get the target path easily, we should therefore write the URL to that target path, and not the application's root path. So, if I have a form on a page mounted at /home/myform, the above link gets rendered as /home/myform/?wicket:interface=:0 instead. Now, I perfectly understand that this type page has state, so is no longer bookmarkable. However, at least we can preserve the pretty URL aspect of the page, which IMO is the original intent. [On that topic, I notice that people often confuse the two related-but-different topics of pretty urls and bookmarkable pages. I wonder if there isn't a better way of formalising the two concepts so people get less confused... no ideas, just thinking out loud.] Anyway, I tried this out by modifying WebRequestCodingStrategy. The fix is quite simple and it appears to work without any problems. If you think this is a reasonable proposal, I will create an issue and submit my patch. Thank you! David - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Must I settle for bookmarkable pages?
The thing is that I'm in an OSGi environment, and I have a WicketService that provides my Wicket instance. I attach Applications as bundles to the Wicket instance and mount them on a certain path. so why are the /?wicket:interface urls interfering with that? He he... that goes back to the proxy issue. For what I'm doing, it's important that the single Wicket instance be mounted on /, which means that top pages become inaccessible from outside of the firewall. The only way all this will work for me is if the url becomes something like /app/?wicket:interface, (or even better /app/pageName?wicket:interface) where app is the mount point (not in the pure Wicket sense) of the Application bundle I attach to the Wicket instance. This way: - only one wicket instance mounted on / - have a path accessible via proxying - can determine the Application bundle based on the URL path Cheers, David - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Must I settle for bookmarkable pages?
He he... that goes back to the proxy issue. For what I'm doing, it's important that the single Wicket instance be mounted on /, which means that top pages become inaccessible from outside of the firewall. If you're using Apache to reverse proxy, it's possible to do this by having it look for url parameters. Hmmm... This is really nice. Thanks! Probably better than playing around with webrequeststrategy... - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Home page accepting IndexedParamUrlCodingStrategy
IIUC, the home page is automatically mounted on the path where you wicket app is located. So, if you put your wicket on /home, then the home page will be mounted on /home. Guess you'll need to put your home page on / to make this work. -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Behalf Of Tauren Mills Sent: 27 June 2008 07:30 To: users@wicket.apache.org Subject: Home page accepting IndexedParamUrlCodingStrategy How do I go about making my HomePage accept index parameters? I want a home page that will accept URLs like: localhost:8080/us/ca/sacramento Instead of having a mount point first, for example /home: localhost:8080/home/us/ca/sacramento I've tried this in my app: getHomePage() { return HomePage.class; } init() { mount(new IndexedParamUrlCodingStrategy(/, HomePage.class)); } This returns in a 404 error for the home page (localhost:8080/). I also tried with instead of / as the mount point, but the same problem. If I use this with the /home mount point, everything works perfectly: mount(new IndexedParamUrlCodingStrategy(/home, HomePage.class)); FYI... I get the PageParameters in HomePage like this (which is working fine); setCountry(pageParams.getString(0,null)); setState(pageParams.getString(1,null)); setCity(pageParams.getString(2,null)); Any suggestions? Thanks, Tauren - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Must I settle for bookmarkable pages?
My wicket app is mounted on / (for various reasons). However, my server is behind a proxy, which means that from the outside, I can only view pages that have a certain path (also desired behaviour for various reasons). Problem: when submitting a form, the URL shows up as something like: http://localhost:8080/?wicket:interface=:0:1::: This works behind the firewall, but will not work from outside. Is my only solution to use bookmarkable pages (with all the implications of parsing parameters manually)? Thanks! David - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Must I settle for bookmarkable pages?
Hey, Igor, Problem: when submitting a form, the URL shows up as something like: http://localhost:8080/?wicket:interface=:0:1::: This works behind the firewall, but will not work from outside. Is my only solution to use bookmarkable pages (with all the implications of parsing parameters manually)? solution is to either fix the firewall or use a /foo/* mapping Well, that would be difficult for various reasons. I assume you mean a /foo/* mapping for the servlet filter, right? So, you are saying that the only possible solutions are: 1. Allow proxying on null path (not possible for me) 2. Change the wicket instance mapping to /foo/* from /* (possible, but not what I want) 3. Use bookmarkable pages with all the trouble of parsing (want to avoid if possible) And there are no other possible solutions? Or is there something somewhere I can fiddle with so I can change the way the URL is rendered for the form, in the spirit of MixedURLParamCodingStrategy or something? Cheers, David - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: MarkupResourceStream and classloading
nick, have you tried asking on pax wicket mailing list? those guys use wicket with osgi all the time. perhaps they have a clean solution. We have had numerous issues with this. We have a working solution, but IMO not a clean one. Actually, opinion is probably too strong a word, since I have not yet been able to fully investigate the issue. However, my feeling is that it will be impossible to find a clean or ideal solution in the OSGi world given the way Wicket classloading works, as you described in your original post. It would be nice if somebody from the OSGi world could sit down and redesign the serialization stuff with the Wicket team, but I doubt that will happen, since OSGi is only used by a small number of Wicket users. Alternatively, may take a look at OsgiClassResolver.java in the welo project which is hosted at google code. OsgiClassResolver.java is an implementation (improvement needed) of IClassResolver to resolve classes that are stored in osgi bundles. I tried googling this, but did not fine a welo project. Can you provide us with a link? Cheers, David - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Issues with Bookmarkable targets
I have one page mounted on: /mount And another mounted on: /mount/tree On the /mount/tree page, I have a tree component. Problem is that whenever I click on a node in the tree, I am taken to: /mount/mount You could try mounting /mount/tree first and then /mount Not sure if that will help, but I think the order of the mounts is relevant in lookups. Well, according to the javadocs: * map of path mounts for mount encoders on paths. * * mountsOnPath is sorted by longest paths first to improve resolution * of possible path conflicts. * For example: br/ we mount Page1 on /page and Page2 on /page/test * Page1 uses a parameters encoder that only encodes parameter values * now suppose we want to access Page1 with a single parameter * param=test. we have a url * collision since both pages can be access with /page/test * the sorting by longest path first guarantees that the iterator * will return the mount * /page/test before it returns mount /page therefore giving * deterministic behavior to path * resolution by always trying to match the longest possible * path first. Also, this isn't a case of conflict, but rather an incorrect mount all together. If it were just a conflict, I could see getting taken to /mount. However, I am being taken to /mount/mount, which is very strange... - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Issues with Bookmarkable targets
I've been stepping through the code, but I'm having a tough time figuring this one out... Using 1.3. I have one page mounted on: /mount1 And another mounted on: /mount1/tree On the /mount1/tree page, I have a tree component. Problem is that whenever I click on a node in the tree, I am taken to: /mount1/mount1 Which is obviously a problem. :-) Even when I explicitly use setPageResponse using the current page as my parameter in onNodeLinkClicked, the problem persists. So there seems to be some kind of problem handling the target. Any hints would be really appreciated. Thank you! David - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
No built-in converter for Locale.class?
Before I go and write my own, I just wanted to make sure that there is no built-in Converter for Locale. Looking through the code tells me that it's not supported by default. Is this so? Thanks, David - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: No built-in converter for Locale.class?
no Ok, thanks. what should such a converted do? And what should people type in as a text string? Most of the times locales are none editable select boxes or list choices Not for personal consumption. :-) I'm just testing out an annotation-based means of controlling page parameters and control flow. I'm providing default values as Strings, which means that some fields need converters. This seems to clean up the pages quite a bit and simplify a lot the processing of parameters. Maybe a useful feature for a later release of Wicket? Cheers, David - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Attaching stuff to pages
I know this type of question has been asked before, so if somebody can point me to a previous thread or some doc, that would be cool. I have a page like books mounted on /books. When the user sees the page mounted at /books, she gets a list of all available books. Each available book should be located at /books/bookIsbn. If a user directly accesses the URL /books/bookIsbn, then either that book information should be displayed, or a 404 should be returned (maybe with a friendly message saying that such book doesn't exist). Now, the only way to know which books are available is to browse the database. This means that I can't actually mount a separate page for each book. This processing needs to be done dynamically. I suspect that I need to do all this logic in the books page itself, and that I need to implement my own custom URL handler that works with the books page. During a debugging session, I traced through IRequestTargetUrlCodingStrategy, but didn't see anything that looked like what I needed... Could somebody point me in the right direction? Thanks! -dml- - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Attaching stuff to pages
Cool! Thank you for the ultra-rapido reply. :-) On Thu, 2008-04-10 at 19:44 -0700, Igor Vaynberg wrote: mount a page using indexed url coding strategy then in the page check if there is a parameter. if there is one add the details panel, if not add the list panel -igor On Thu, Apr 10, 2008 at 7:39 PM, David Leangen [EMAIL PROTECTED] wrote: I know this type of question has been asked before, so if somebody can point me to a previous thread or some doc, that would be cool. I have a page like books mounted on /books. When the user sees the page mounted at /books, she gets a list of all available books. Each available book should be located at /books/bookIsbn. If a user directly accesses the URL /books/bookIsbn, then either that book information should be displayed, or a 404 should be returned (maybe with a friendly message saying that such book doesn't exist). Now, the only way to know which books are available is to browse the database. This means that I can't actually mount a separate page for each book. This processing needs to be done dynamically. I suspect that I need to do all this logic in the books page itself, and that I need to implement my own custom URL handler that works with the books page. During a debugging session, I traced through IRequestTargetUrlCodingStrategy, but didn't see anything that looked like what I needed... Could somebody point me in the right direction? Thanks! -dml- - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Attaching stuff to pages
I'm using MixedParamUrlCodingStrategy. Beautiful stuff! Just one prob on line 154: String value = (String)parameters.get(parameterName); This throws a ClassCastException, since parameters.get() returns String[] and not String. Doesn't this have to do with an api change in javax.servlet? Should I submit a patch? Cheers, -dml- On Fri, 2008-04-11 at 11:45 +0900, David Leangen wrote: Cool! Thank you for the ultra-rapido reply. :-) On Thu, 2008-04-10 at 19:44 -0700, Igor Vaynberg wrote: mount a page using indexed url coding strategy then in the page check if there is a parameter. if there is one add the details panel, if not add the list panel -igor On Thu, Apr 10, 2008 at 7:39 PM, David Leangen [EMAIL PROTECTED] wrote: I know this type of question has been asked before, so if somebody can point me to a previous thread or some doc, that would be cool. I have a page like books mounted on /books. When the user sees the page mounted at /books, she gets a list of all available books. Each available book should be located at /books/bookIsbn. If a user directly accesses the URL /books/bookIsbn, then either that book information should be displayed, or a 404 should be returned (maybe with a friendly message saying that such book doesn't exist). Now, the only way to know which books are available is to browse the database. This means that I can't actually mount a separate page for each book. This processing needs to be done dynamically. I suspect that I need to do all this logic in the books page itself, and that I need to implement my own custom URL handler that works with the books page. During a debugging session, I traced through IRequestTargetUrlCodingStrategy, but didn't see anything that looked like what I needed... Could somebody point me in the right direction? Thanks! -dml- - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Strange behaviour with autocomplete
Yep, that fix works for me. Thanks! On Fri, 2008-04-04 at 21:00 +0200, Erik van Oosten wrote: This may be related to the bug I reported in https://issues.apache.org/jira/browse/WICKET-1355. Maybe the attached fix works for you. Regards, Erik. -- Erik van Oosten http://www.day-to-day-stuff.blogspot.com/ David Leangen wrote: Hi, Using the standard wicket autocomplete widget, I just noticed that I am getting some strange behaviour. When I mouseover or scroll the list via the keyboard, the entire screen jumps to the bottom. I never noticed before because there wasn't enough content to cause the page to scroll and therefore for this bug to manifest itself. Has anybody else ever dealt with this problem? Thanks! David - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Strange behaviour with autocomplete
Hi, Using the standard wicket autocomplete widget, I just noticed that I am getting some strange behaviour. When I mouseover or scroll the list via the keyboard, the entire screen jumps to the bottom. I never noticed before because there wasn't enough content to cause the page to scroll and therefore for this bug to manifest itself. Has anybody else ever dealt with this problem? Thanks! David - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Intention of PropertyModel in 1.3
Thank you very much!! On Sun, 2008-03-30 at 21:46 -0700, Igor Vaynberg wrote: patch applied. always report a jira issue, that way things dont get forgotten, and as you can see submitting a patch helps too :) -igor On Sun, Mar 30, 2008 at 9:36 PM, David Leangen [EMAIL PROTECTED] wrote: I didn't happen to see a reply to this thread, and the stack trace is still driving me bananas, so I submitted a patch. :-) https://issues.apache.org/jira/browse/WICKET-1464 Thanks, as always, Wicket committers. :-) On Thu, 2008-03-13 at 12:45 +0900, David Leangen wrote: This used to work in 1.2.6, but now 1.3.1 complains that there is no setter for this class. hmm, this should still work. mind filing a jira bug with a quickstart? You're right, it does still work. The thing is that during the algorithm when the properties of the bean are being tested the entire exception stack is being printed out. This is a bit confusing because it can lead the developer to think that an error occurred. I propose to log information instead of printing out the entire exception stack. If you agree to this, I don't mind submitting a patch. What level is this reported to? Its not error right? Current, DEBUG. Still, though, I think a logging message would be better than polluting output with the entire stack trace... Cheers, Dave - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
How do I get a change in my tree model to be displayed?
Hi. The ajax stuff is a bit new to me, so sorry if this is an obvious question. I'm trying to figure out how to get my change in my tree model to show up on screen. I want to be able to expand to and select a node from the tree based on its value (determined elsewhere in the application). I resolve the path of the node I want, grab any not-yet-resolved children from the DB (my tree is large, so I only fetch my children as required), and then I expand and select. final ITreeState treeState = getTreeState(); final TreeNode[] path = node.getPath(); for( final TreeNode nextNode : path ) { treeState.selectNode( node, true ); nodeExpanded( nextNode ); nodeSelected( nextNode ); } invalidateAll(); Maybe I do some unnecessary stuff above, I don't know. In any case, after expanding and selecting the node in my model, the big thing for me is to get that change to take effect. Thanks for the help! David - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: How do I get a change in my tree model to be displayed?
Beautiful. Thank you! On Mon, 2008-03-31 at 10:25 +0200, Thomas Kappler wrote: Hi, first of all, in the first line of the loop, shouldn't node be nextNode? Then, you're directly calling listener methods, which are supposed to be callbacks, i.e., they are called by the framework when, and after, a selection or expansion happens. You should use the methods offered by ITreeState, such as expandNode(node) (as you do with selectNode). Your listener methods will be called, if you added your listener to the tree. Cheers, Thomas final ITreeState treeState = getTreeState(); final TreeNode[] path = node.getPath(); for( final TreeNode nextNode : path ) { treeState.selectNode( node, true ); nodeExpanded( nextNode ); nodeSelected( nextNode ); } invalidateAll(); - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Intention of PropertyModel in 1.3
I didn't happen to see a reply to this thread, and the stack trace is still driving me bananas, so I submitted a patch. :-) https://issues.apache.org/jira/browse/WICKET-1464 Thanks, as always, Wicket committers. :-) On Thu, 2008-03-13 at 12:45 +0900, David Leangen wrote: This used to work in 1.2.6, but now 1.3.1 complains that there is no setter for this class. hmm, this should still work. mind filing a jira bug with a quickstart? You're right, it does still work. The thing is that during the algorithm when the properties of the bean are being tested the entire exception stack is being printed out. This is a bit confusing because it can lead the developer to think that an error occurred. I propose to log information instead of printing out the entire exception stack. If you agree to this, I don't mind submitting a patch. What level is this reported to? Its not error right? Current, DEBUG. Still, though, I think a logging message would be better than polluting output with the entire stack trace... Cheers, Dave - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: clustering failover error
Glad it works for you. Tried what you said below, but doesn't solve my problem. http://www.nabble.com/Finding-the-cause-of-an-Exception-td16088387.html#a16112402 On Thu, 2008-03-27 at 10:01 -0700, Scott Swank wrote: We just discovered that if we use SecondLevelCacheSessionStore the problem goes away. From there we determined that the setting Application.get().getPageSettings().setAutomaticMultiWindowSupport(false); is the lynch pin. We still don't know why this resolves the problem. - Scott On Tue, Mar 25, 2008 at 9:55 AM, Scott Swank [EMAIL PROTECTED] wrote: Thank you. We'll give that a try and let you know the results. On Mon, Mar 24, 2008 at 11:43 PM, Igor Vaynberg [EMAIL PROTECTED] wrote: see WICKET-1445. upgrade wicket to trunk and try again. -igor On Mon, Mar 24, 2008 at 3:15 PM, Scott Swank [EMAIL PROTECTED] wrote: We are trying to get clustering working with Wicket 1.3.2 (on JBoss 4.3.0) and we get the following exception when one node fails over to another node. Has anyone seen anything like this before? Any suggestions/guesses? Thank you, Scott 15:02:17,320 ERROR [RequestCycle] Could not deserialize object using `org.apache .wicket.util.io.IObjectStreamFactory$DefaultObjectStreamFactory` object factory java.lang.RuntimeException: Could not deserialize object using `org.apache.wicke t.util.io.IObjectStreamFactory$DefaultObjectStreamFactory` object factory at org.apache.wicket.util.lang.Objects.byteArrayToObject(Objects.java:40 6) at org.apache.wicket.protocol.http.pagestore.AbstractPageStore.deseriali zePage(AbstractPageStore.java:228) at org.apache.wicket.protocol.http.pagestore.DiskPageStore.getPage(DiskP ageStore.java:706) at org.apache.wicket.protocol.http.pagestore.DiskPageStore.convertToPage (DiskPageStore.java:1218) at org.apache.wicket.protocol.http.SecondLevelCacheSessionStore$SecondLe velCachePageMap.getLastPage(SecondLevelCacheSessionStore.java:228) at org.apache.wicket.protocol.http.SecondLevelCacheSessionStore$SecondLe velCachePageMap.get(SecondLevelCacheSessionStore.java:296) at org.apache.wicket.Session.getPage(Session.java:751) at org.apache.wicket.request.AbstractRequestCycleProcessor.resolveRender edPage(AbstractRequestCycleProcessor.java:448) at org.apache.wicket.protocol.http.WebRequestCycleProcessor.resolve(WebR equestCycleProcessor.java:139) at org.apache.wicket.RequestCycle.step(RequestCycle.java:1224) at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1330) at org.apache.wicket.RequestCycle.request(RequestCycle.java:493) at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java: 358) at org.apache.wicket.protocol.http.WicketServlet.doGet(WicketServlet.jav a:124) at javax.servlet.http.HttpServlet.service(HttpServlet.java:690) at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl icationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF ilterChain.java:206) at com.vegas.ui.filter.CustomerFacingClientContextFilter.doFilter(Custom erFacingClientContextFilter.java:42) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl icationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF ilterChain.java:206) at com.vegas.ui.filter.HibernateFilter.doFilter(HibernateFilter.java:37) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl icationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF ilterChain.java:206) at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFi lter.java:96) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl icationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF ilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV alve.java:230) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextV alve.java:175) at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(Securit yAssociationValve.java:179) at
Re: StreamCorruptedException when using autocomplete
Thanks for the suggestions... are you using a class reloading mechanism of any sort? this error would make sense if wicket saved a page to store, you changed the class def and wicket tried to deserialize an instance of that changed class No, none. I took out all the widgets from the form, and the error still occurs, so I guess it's not the autocomplete after all. But it still makes no sense to me. Well, I don't know what to say. This is all I'm doing, which I've done many times before. public class MyPanel extends Panel { private static final long serialVersionUID = 1L; public TermOverviewPanel( final String id, final IModel model, final PageParameters pageParameters ) { super( id, model ); add( new SearchForm( form, model ) ); } public class SearchForm extends Form { private static final long serialVersionUID = 1L; public SearchForm( final String id, final IModel model ) { super( id ); } } } If I remove the form from this panel, all is well (even if I add different widgets). This leads me to believe that the page is ok. If I add a form to the parent page, I don't get this error. I guess that would mean that the problem must be in the panel, but there seems to be nothing in this simple panel that should cause this type of error. I don't get it... - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: StreamCorruptedException when using autocomplete
Already tried that. Same problem. :-( On Thu, 2008-03-20 at 22:53 -0700, Igor Vaynberg wrote: what if you make the search form class static? -igor On Thu, Mar 20, 2008 at 10:31 PM, David Leangen [EMAIL PROTECTED] wrote: Thanks for the suggestions... are you using a class reloading mechanism of any sort? this error would make sense if wicket saved a page to store, you changed the class def and wicket tried to deserialize an instance of that changed class No, none. I took out all the widgets from the form, and the error still occurs, so I guess it's not the autocomplete after all. But it still makes no sense to me. Well, I don't know what to say. This is all I'm doing, which I've done many times before. public class MyPanel extends Panel { private static final long serialVersionUID = 1L; public TermOverviewPanel( final String id, final IModel model, final PageParameters pageParameters ) { super( id, model ); add( new SearchForm( form, model ) ); } public class SearchForm extends Form { private static final long serialVersionUID = 1L; public SearchForm( final String id, final IModel model ) { super( id ); } } } If I remove the form from this panel, all is well (even if I add different widgets). This leads me to believe that the page is ok. If I add a form to the parent page, I don't get this error. I guess that would mean that the problem must be in the panel, but there seems to be nothing in this simple panel that should cause this type of error. I don't get it... - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [vote] Release 1.4 with only generics and stop support for 1.3
[x] +1, Wicket 1.4 is 1.3 + generics, drop support for 1.3 [ ] -1, I need a supported version running on Java 1.4 - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
StreamCorruptedException when using autocomplete
It seems to me that if there was a problem with Serialization, then normal pages would not work, right? So, does anybody have an idea why my pages generally work, but I get a StreamCorruptedException only when using the autocomplete component? The stack trace and also stepping through the code in detail are not giving me any good hints yet... Thanks! Dave On Mon, 2008-03-17 at 13:38 +0900, David Leangen wrote: Can anybody suggest how I can try to resolve my StreamCorruptedException? I have an autocomplete text field. When I hit the back button and modify the text, I get the said Exception. I've tried stepping through the code, but the error is not obvious at all. The error only happens with the autocomplete widget (i.e. when I modify the text in the related text box). Nothing else (different query or use of controls or links) triggers this Exception. Thanks! Dave java.lang.RuntimeException: Could not deserialize object using `org.apache.wicket.util.io.IObjectStreamFactory $DefaultObjectStreamFactory` object factory at org.apache.wicket.util.lang.Objects.byteArrayToObject(Objects.java:406) at org.apache.wicket.protocol.http.pagestore.AbstractPageStore.deserializePage(AbstractPageStore.java:228) at org.apache.wicket.protocol.http.pagestore.DiskPageStore.getPage(DiskPageStore.java:702) at org.apache.wicket.protocol.http.SecondLevelCacheSessionStore $SecondLevelCachePageMap.get(SecondLevelCacheSessionStore.java:311) at org.apache.wicket.Session.getPage(Session.java:745) at org.apache.wicket.request.AbstractRequestCycleProcessor.resolveRenderedPage(AbstractRequestCycleProcessor.java:443) at org.apache.wicket.protocol.http.WebRequestCycleProcessor.resolve(WebRequestCycleProcessor.java:139) at org.apache.wicket.RequestCycle.step(RequestCycle.java:1224) at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1316) at org.apache.wicket.RequestCycle.request(RequestCycle.java:493) at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:354) at org.apache.wicket.protocol.http.WicketServlet.doGet(WicketServlet.java:121) at javax.servlet.http.HttpServlet.service(HttpServlet.java:707) at javax.servlet.http.HttpServlet.service(HttpServlet.java:820) at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:367) at org.ops4j.pax.web.service.internal.HttpServiceHandler.handle(HttpServiceHandler.java:66) at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181) at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:712) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139) at org.mortbay.jetty.Server.handle(Server.java:285) at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:502) at org.mortbay.jetty.HttpConnection $RequestHandler.headerComplete(HttpConnection.java:821) at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:513) at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:208) at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:378) at org.mortbay.jetty.bio.SocketConnector $Connection.run(SocketConnector.java:226) at org.mortbay.thread.BoundedThreadPool $PoolThread.run(BoundedThreadPool.java:442) Caused by: java.io.StreamCorruptedException at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1332) at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1908) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1832) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305) at java.io.ObjectInputStream.readObject(ObjectInputStream.java:348) at org.apache.wicket.util.lang.Objects.byteArrayToObject(Objects.java:392) ... 27 more - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Planning Wicket Next Generation
+1 for Java 5 Generics - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Finding the cause of an Exception
Can anybody suggest how I can try to resolve my StreamCorruptedException? I have an autocomplete text field. When I hit the back button and modify the text, I get the said Exception. I've tried stepping through the code, but the error is not obvious at all. The error only happens with the autocomplete widget (i.e. when I modify the text in the related text box). Nothing else (different query or use of controls or links) triggers this Exception. Thanks! Dave java.lang.RuntimeException: Could not deserialize object using `org.apache.wicket.util.io.IObjectStreamFactory $DefaultObjectStreamFactory` object factory at org.apache.wicket.util.lang.Objects.byteArrayToObject(Objects.java:406) at org.apache.wicket.protocol.http.pagestore.AbstractPageStore.deserializePage(AbstractPageStore.java:228) at org.apache.wicket.protocol.http.pagestore.DiskPageStore.getPage(DiskPageStore.java:702) at org.apache.wicket.protocol.http.SecondLevelCacheSessionStore $SecondLevelCachePageMap.get(SecondLevelCacheSessionStore.java:311) at org.apache.wicket.Session.getPage(Session.java:745) at org.apache.wicket.request.AbstractRequestCycleProcessor.resolveRenderedPage(AbstractRequestCycleProcessor.java:443) at org.apache.wicket.protocol.http.WebRequestCycleProcessor.resolve(WebRequestCycleProcessor.java:139) at org.apache.wicket.RequestCycle.step(RequestCycle.java:1224) at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1316) at org.apache.wicket.RequestCycle.request(RequestCycle.java:493) at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:354) at org.apache.wicket.protocol.http.WicketServlet.doGet(WicketServlet.java:121) at javax.servlet.http.HttpServlet.service(HttpServlet.java:707) at javax.servlet.http.HttpServlet.service(HttpServlet.java:820) at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:367) at org.ops4j.pax.web.service.internal.HttpServiceHandler.handle(HttpServiceHandler.java:66) at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181) at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:712) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139) at org.mortbay.jetty.Server.handle(Server.java:285) at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:502) at org.mortbay.jetty.HttpConnection $RequestHandler.headerComplete(HttpConnection.java:821) at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:513) at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:208) at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:378) at org.mortbay.jetty.bio.SocketConnector $Connection.run(SocketConnector.java:226) at org.mortbay.thread.BoundedThreadPool $PoolThread.run(BoundedThreadPool.java:442) Caused by: java.io.StreamCorruptedException at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1332) at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1908) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1832) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305) at java.io.ObjectInputStream.readObject(ObjectInputStream.java:348) at org.apache.wicket.util.lang.Objects.byteArrayToObject(Objects.java:392) ... 27 more - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]