Wicket Date Field Validation
Hi, I am working on date fields and have problems with the validation. I have referred to the link below which helped me. http://www.nabble.com/Strict-4-digit-year-for-DateTextField--td18656889. html So I have subclassed the PatternDateConverter and have set the pattern as, dateFormat = ^(\\d{1,2})/(\\d{1,2})/(\\d{4})$; I have 2 date fields, start_date and end_date. The start_date is a required field and the end_date is not. some code pdc = new StrictPatternDateConverter(DateUtil.getDateFormatOnLocale(getLocale()), false); more code startDateField = DateTextField.withConverter(startDate, new PropertyModel(this, startDate), pdc); startDateField.add(new TMPDatePicker()); form.add(startDateField); endDateField = DateTextField.withConverter(endDate, new PropertyModel(this, endDate), pdc); endDateField.add(new TMPDatePicker()); form.add(endDateField); more code This works fine ie it does not allow entry of 03/03/09 or 03/03/-2009 BUT, the end_date becomes a required field. I have to enter the end_date to click 'Save'. Else it complains that an invalid date has been entered. But my end_date is not a required field. So if I replace it with, endDateField = DateTextField.forDatePattern(endDate, DateUtil.getDateFormatOnLocale(getLocale())); endDateField.withConverter(endDate, pdc); endDateField.add(new TMPDatePicker()); It allows, 03/03/-2009 and 03/03/09. Why does it allow the '-' sign. It computes it to a value and displays a year. My application has several date fields and I need to validate them. I am a newbie to Wicket and have looked up the archive quite a bit to find a solution. Can someone please tell me a solution to my date validation problem? Thanks very much
Re: Wicket Date Field Validation
Rao Archana (HCTM/ETA) wrote: Hi, I am working on date fields and have problems with the validation. I have referred to the link below which helped me. http://www.nabble.com/Strict-4-digit-year-for-DateTextField--td18656889. html So I have subclassed the PatternDateConverter and have set the pattern as, dateFormat = ^(\\d{1,2})/(\\d{1,2})/(\\d{4})$; I have 2 date fields, start_date and end_date. The start_date is a required field and the end_date is not. (...) This works fine ie it does not allow entry of 03/03/09 or 03/03/-2009 BUT, the end_date becomes a required field. I have to enter the end_date to click 'Save'. Else it complains that an invalid date has been entered. But my end_date is not a required field. (...) Possibly the simplest approach would be to use a regular expression that allows an empty string like making the whole expression optional by surrounding it with paranthesis and adding the optional operator '?' after it. This allows the empty string OR a valid date but nothing else: dateFormat = ^((\\d{1,2})/(\\d{1,2})/(\\d{4}))?$; Matt -- matthias.kel...@ergon.ch +41 44 268 83 98 Ergon Informatik AG, Kleinstrasse 15, CH-8008 Zürich http://www.ergon.ch __ e r g o nsmart people - smart software smime.p7s Description: S/MIME Cryptographic Signature
RE: wicketstuff mini veil
Thanks for the replay. The label is just example code. You can try doing anything in the onSubmit(..) method of the AjaxButton(). The point is that the button is disabled when Veil is used. Best regards! Jing --- -Original Message- From: Warren Bell [mailto:warrenbe...@gmail.com] Sent: Mittwoch, 17. Juni 2009 17:46 To: users@wicket.apache.org Subject: Re: wicketstuff mini veil I don't know about the mini veil, but shouldn't your label and button be set up something like this: In the class add a member that is your model string and then modify it in in the AjaxButton#onSubmit(...) String modelString = ... final Label label = new Label(testLabel, new ModelString() { @Override protected String getObject() { return modelString; } }); ... AjaxButton button = new AjaxButton(testVeil) { @Override protected void onSubmit(AjaxRequestTarget arg0, Form? arg1) { modelString = + new Random().nextLong(); arg0.addComponent(label); } } I have not used setDefaultModelObject(...) before. I read that you shouldn't set a model object this way. Maybe that is causing a problem? Warren Jing Ge (Besitec IT DEHAM) wrote: Hello, After doing this change, the project can be compiled and run. But I get another problem. Here is my test code: final Label label = new Label(testLabel, new ModelString()); add(label); Form form = new Form(testForm); AjaxButton button = new AjaxButton(testVeil) { @Override protected void onSubmit(AjaxRequestTarget arg0, Form? arg1) { try { Thread.sleep(5000); label.setDefaultModelObject( + new Random().nextLong()); arg0.addComponent(label); } catch (InterruptedException ex) { Logger.getLogger(HomePage.class.getName()).log(Level.SEVERE, null, ex); } } }; button.add(new Veil()); form.add(button); add(form); After the application is deployed and running, the ajax button is disabled. Did I do something wrong? Best regards! Jing Ge -Original Message- From: Jing Ge (Besitec IT DEHAM) [mailto:j...@besitec.com] Sent: Mittwoch, 17. Juni 2009 10:18 To: users@wicket.apache.org Subject: RE: wicketstuff mini veil Hello, Should it be: super.bind(component); if (this.component != null) { . } regards! Jing Ge -Original Message- From: Jing Ge (Besitec IT DEHAM) [mailto:j...@besitec.com] Sent: Mittwoch, 17. Juni 2009 10:15 To: users@wicket.apache.org Subject: wicketstuff mini veil Hallo, I have checked out the source code and taken a look at the class Veil. I found the following code: public void bind(Component component) { super.bind(component); if (component != null) { throw new IllegalStateException( This behavior is already bound to component. An instance of this behavior cannot be reused between components. Bound component: + this.component.toString()); } this.component = component; } From the code we can see, the component will be checked after binding. If it is null, an exception will be thrown. Well, actually, I don't get it. Since the component can not be null after binding, the exception will be always thrown. Show me if I am wrong. Has anyone ever used the mini veil? Could anyone give me hand? Thanks. Best regards! Jing Ge - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org -- Thanks, Warren Bell 909-645-8864 warrenbe...@gmail.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: Conversation scope in wicket
What is this 'conversation' all about? It doesn't seem to be a known concept in any GUI guideline I know (e.g. Apple's Human Interface Guidelines). Neither does wikipedia list it under http://en.wikipedia.org/wiki/GUI_widget. This is what wikipedia is saying about Seam's conversation: 'The default Seam context is conversation which can span multiple pages and usually spans the whole business flow, from start to finish.' This seems to describe a http://en.wikipedia.org/wiki/Wizard_(software) . IMHO 'conversation' is a buzzword invented for those who still think a web UI consists of a sequence of HTML pages only. Back in 2000 the same guys invented 'mvc-2' and told us that a UI can be built on actions only. Just my rant (worth 2 cents or less). Back to Wicket and wizards: For a wizard I'd suggest to use a single Wicket page, replacing components as you step through it. Note that Wicket extensions provide a wizard component, but you can easily roll your own implementation. Sven Hican this functionality added to the standard wicket? actually much of seam popularity came from supporting conversation scope..., so i think that adding explicit wicket support will have momentum i think that having just a store for conversation objects will be a good begin then we may add apis like beginConversation, endConversation ,joinConversation,mergeConversation ,suspendConversation,resumeConversation and other concepts like workspace what do u think? Joe -- View this message in context: http://www.nabble.com/Conversation-scope-in-wicket-tp24078377p24088943.html Sent from the Wicket - User 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
UrlValidator rfc3986 version?
Hi, Currently Wicket is using rfc2396 for URL validator, may be know any plan to migrate URL validator for rfc3986 ? http://www.ietf.org/rfc/rfc2396.txt http://www.ietf.org/rfc/rfc3986.txt best regards yong - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Reverse geocoding with wicket contrib gmap2
Hi, I'm using wicket 1.3.5. and downloaded the wicket contrib gmap2 from the wicket-stuff 1.3.x branch (https://wicket-stuff.svn.sourceforge.net/svnroot/wicket-stuff/branches/wicket-1.3.x/wicket-contrib-gmap2/) I've noticed that the GClientGeocoder knows the reverse geocoding also. When I try the example Geocoder in contrib-gmap2-examples it gives me a name of the place if write to the address-field ie. 60,20. Also, I managed to do the reverse geocoding with the server geocoder (wicket.contrib.gmap.util.Geocoder) by mostly copy-pasting an additional decoding method (since the original assumes the response to be type GlatLng): public String reverseDecode(String response) throws GeocoderException { StringTokenizer gLatLng = new StringTokenizer(response, ,); String status = gLatLng.nextToken(); gLatLng.nextToken(); // skip precision String address = ; while (gLatLng.hasMoreTokens()) { address += gLatLng.nextToken(); } if (Integer.parseInt(status) != GeocoderException.G_GEO_SUCCESS) { throw new GeocoderException(Integer.parseInt(status)); } return address; } With reverse geocoding I want to show the markers location in text, not in latitude-longitude-pairs. So, when the user adds a new marker by clicking on the map or moves an existing marker by dragging it, I want to show the city name the marker is in (instead of latlng). With that additional server geocoding method I'm able to do it. I'd like to be able to do it client-side, since my fear is that the dragging will cause quite many reverse geocoding requests. So how could I give the GClientGeocoder a TextField-object which would have the user-clicked latitude-longitude-pair? Or alternatively, how should I modify the GClientGeocoder to be able to hook in to the click. I've also looked into the click listener, but the request has always already been made in the onEvent-method, so I don't know how to alter the request. The gmap2 extension is working nicely and helps me a lot, thanks! br, Jesse Kivialho - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Who went to the GWT vs Wicket presentation in Normandy and wants to share their findings?
There's been quite some announcements going across twitter, but no conclusion... Martijn - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
WicketJQuery: Drag drop behavior lost for components of AJAX updated panels
Doing: public MyPage() { ... add(new MyPanel(panelId)); ... } dragging elements (having DraggableBehavior) of 'MyPanel' works. However doing: ... @Override public void onClick(AjaxRequestTarget target) { Panel panel = new MyPanel(panelId); addOrReplace(panel); target.addComponent(panel); } dragging elements of 'MyPanel' DO NOT works (DraggableBehavior is lost). What's going on ? Any help is (very) appreciated, thanks Stefan Using: Wicket-1.4.rc4, WicketJQuery-0.3.4 - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: Conversation scope in wicket
+1 that whole api like beginConversation, end etc just looks to me like set/get methods on session. Or and that is in my eyes better is to transport the conversation object (1 object not many) from 1 page to the next or use as below 1 page and just replace panels. And then the page model object is the conversation object johan On Thu, Jun 18, 2009 at 10:55, svenmeier s...@meiers.net wrote: What is this 'conversation' all about? It doesn't seem to be a known concept in any GUI guideline I know (e.g. Apple's Human Interface Guidelines). Neither does wikipedia list it under http://en.wikipedia.org/wiki/GUI_widget. This is what wikipedia is saying about Seam's conversation: 'The default Seam context is conversation which can span multiple pages and usually spans the whole business flow, from start to finish.' This seems to describe a http://en.wikipedia.org/wiki/Wizard_(software) . IMHO 'conversation' is a buzzword invented for those who still think a web UI consists of a sequence of HTML pages only. Back in 2000 the same guys invented 'mvc-2' and told us that a UI can be built on actions only. Just my rant (worth 2 cents or less). Back to Wicket and wizards: For a wizard I'd suggest to use a single Wicket page, replacing components as you step through it. Note that Wicket extensions provide a wizard component, but you can easily roll your own implementation. Sven Hican this functionality added to the standard wicket? actually much of seam popularity came from supporting conversation scope..., so i think that adding explicit wicket support will have momentum i think that having just a store for conversation objects will be a good begin then we may add apis like beginConversation, endConversation ,joinConversation,mergeConversation ,suspendConversation,resumeConversation and other concepts like workspace what do u think? Joe -- View this message in context: http://www.nabble.com/Conversation-scope-in-wicket-tp24078377p24088943.html Sent from the Wicket - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: WicketJQuery: Drag drop behavior lost for components of AJAX updated panels
I think it's the simmilar situation like here http://www.nabble.com/DOJO-Menu-Items-and-AJAX-Target-Components-td24020833.html I posted here few days ago about dojo-menus, but I couldn't solve it. There is a problem attaching js behavior on ajax rerendered components. Is there anybody here who managed this problem? Regards, Wojtek Stefan Jozsa pisze: Doing: public MyPage() { ... add(new MyPanel(panelId)); ... } dragging elements (having DraggableBehavior) of 'MyPanel' works. However doing: ... @Override public void onClick(AjaxRequestTarget target) { Panel panel = new MyPanel(panelId); addOrReplace(panel); target.addComponent(panel); } dragging elements of 'MyPanel' DO NOT works (DraggableBehavior is lost). What's going on ? Any help is (very) appreciated, thanks Stefan Using: Wicket-1.4.rc4, WicketJQuery-0.3.4 - 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: Conversation scope in wicket
+1 I fully agree. Conversation scope is a kludge for a broken model, and in the end nothing more than a specialized form of global variables. Just put your state into the appropriate page or component instances and/or models, and you get *any* scope you need, for free. Carl-Eric On Thu, 18 Jun 2009 01:55:26 -0700 (PDT) svenmeier s...@meiers.net wrote: What is this 'conversation' all about? It doesn't seem to be a known concept in any GUI guideline I know (e.g. Apple's Human Interface Guidelines). Neither does wikipedia list it under http://en.wikipedia.org/wiki/GUI_widget. This is what wikipedia is saying about Seam's conversation: 'The default Seam context is conversation which can span multiple pages and usually spans the whole business flow, from start to finish.' This seems to describe a http://en.wikipedia.org/wiki/Wizard_(software) . IMHO 'conversation' is a buzzword invented for those who still think a web UI consists of a sequence of HTML pages only. Back in 2000 the same guys invented 'mvc-2' and told us that a UI can be built on actions only. Just my rant (worth 2 cents or less). Back to Wicket and wizards: For a wizard I'd suggest to use a single Wicket page, replacing components as you step through it. Note that Wicket extensions provide a wizard component, but you can easily roll your own implementation. Sven Hican this functionality added to the standard wicket? actually much of seam popularity came from supporting conversation scope..., so i think that adding explicit wicket support will have momentum i think that having just a store for conversation objects will be a good begin then we may add apis like beginConversation, endConversation ,joinConversation,mergeConversation ,suspendConversation,resumeConversation and other concepts like workspace what do u think? Joe - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: Conversation scope in wicket
On Thu, Jun 18, 2009 at 7:07 AM, Carl-Eric Menzel cm.wic...@users.bitforce.com wrote: +1 I fully agree. Conversation scope is a kludge for a broken model, and in the end nothing more than a specialized form of global variables. To which model are you referring? Just put your state into the appropriate page or component instances and/or models, and you get *any* scope you need, for free. Your business logic might not know anything about page/component instances, but it may support conversations. - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: WicketJQuery: Drag drop behavior lost for components of AJAX updated panels
Found that when panel is constructed like: public MyPage() { ... add(new MyPanel(panelId)); ... } markup of a draggable element is: span id=id123456 class=myClass ui-draggable ... []/span However when: ... @Override public void onClick(AjaxRequestTarget target) { Panel panel = new MyPanel(panelId); addOrReplace(panel); target.addComponent(panel); } markup of a draggable element is: span id=id123456 class=myClass ... []/span that is 'ui-draggable' is not found (stripped ? not added?) in 'class' attribute of draggable element. Any help is welcommed, Stefan --- On Thu, 6/18/09, Stefan Jozsa stefan_...@yahoo.com wrote: From: Stefan Jozsa stefan_...@yahoo.com Subject: WicketJQuery: Drag drop behavior lost for components of AJAX updated panels To: users@wicket.apache.org Date: Thursday, June 18, 2009, 1:44 PM Doing: public MyPage() { ... add(new MyPanel(panelId)); ... } dragging elements (having DraggableBehavior) of 'MyPanel' works. However doing: ... @Override public void onClick(AjaxRequestTarget target) { Panel panel = new MyPanel(panelId); addOrReplace(panel); target.addComponent(panel); } dragging elements of 'MyPanel' DO NOT works (DraggableBehavior is lost). What's going on ? Any help is (very) appreciated, thanks Stefan Using: Wicket-1.4.rc4, WicketJQuery-0.3.4 - 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: Conversation scope in wicket
On Thu, 18 Jun 2009 07:21:36 -0400 James Carman jcar...@carmanconsulting.com wrote: I fully agree. Conversation scope is a kludge for a broken model, and in the end nothing more than a specialized form of global variables. To which model are you referring? Not a model in the Wicket sense, but the model of application development where you throw everything into a big bag (e.g. the session, or any other such scope). Just put your state into the appropriate page or component instances and/or models, and you get *any* scope you need, for free. Your business logic might not know anything about page/component instances, but it may support conversations. Then you already have an object that your components can work on. Put that in a Wicket model and enjoy. My point is this: You either have existing business code that supports conversations - then you don't need Wicket conversations, you need to write your components so they work with the existing code's notion of a conversation. Or you don't have a business conversation, and the whole conversation thing is just something for UI workflow. Then you should not have it in the business code. Instead, write components and models so that they keep all the state they need for this conversation where they need it. I don't think there needs to be a special abstraction for this, you'd be much better off with keeping state as appropriate for your use case. I may have been unclear in my earlier message, does this make more sense? Carl-Eric - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: Conversation scope in wicket
On Thu, Jun 18, 2009 at 7:46 AM, Carl-Eric Menzel cm.wic...@users.bitforce.com wrote: Then you already have an object that your components can work on. Put that in a Wicket model and enjoy. My point is this: You either have existing business code that supports conversations - then you don't need Wicket conversations, you need to write your components so they work with the existing code's notion of a conversation. Wicket needs to understand when it needs to resume a previously-begun conversation. The business logic can't know that by itself. The UI has to provide a bit of help. Or you don't have a business conversation, and the whole conversation thing is just something for UI workflow. Then you should not have it in the business code. Instead, write components and models so that they keep all the state they need for this conversation where they need it. I don't think there needs to be a special abstraction for this, you'd be much better off with keeping state as appropriate for your use case. The idea of a conversation has been around for a long time. It's called a stateful session bean. - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: Conversation scope in wicket
On Thu, 18 Jun 2009 08:10:33 -0400 James Carman jcar...@carmanconsulting.com wrote: On Thu, Jun 18, 2009 at 7:46 AM, Carl-Eric Menzel cm.wic...@users.bitforce.com wrote: Then you already have an object that your components can work on. Put that in a Wicket model and enjoy. My point is this: You either have existing business code that supports conversations - then you don't need Wicket conversations, you need to write your components so they work with the existing code's notion of a conversation. Wicket needs to understand when it needs to resume a previously-begun conversation. The business logic can't know that by itself. The UI has to provide a bit of help. Yes of course. That's what I meant by write your components so they work with your existing code. The idea of a conversation has been around for a long time. It's called a stateful session bean. You have a point there. But I think this is all provided by Wicket already - You have components and models that perfectly encapsulate all this. Basically this is about the lifecycle of the data needed for a unit of work from the user's point of view. If you have a flow of pages, or wizard steps, or whatever, you have a defined starting point where you can, for example, create a model. And then you go to the next step and pass this model along. Once you're finished, you just drop the references. Or am I missing something here? Carl-Eric - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
RE: WicketJQuery: Drag drop behavior lost for components of AJAX updated panels
I can't see a solution for what you are doing. ... @Override public void onClick(AjaxRequestTarget target) { Panel panel = new MyPanel(panelId); addOrReplace(panel); target.addComponent(panel); } creates a NEW Panel and the NEW panel is a totally new object that does not know anything about the ORIGINAL Panel. The AJAX response renders the NEW Panel (with it's new class attribute but without the AJAX behaviors you've added to the ORIGINAL Panel). This also happens with Wickts builtin Behaviors. Try this panel.add(new AjaxEventBehavior(onclick) { @Override protected void onEvent(AjaxRequestTarget target) { System.out.println(clicked!); } }); This also disappears after you replace the panel within an AJAX call. You can do two things: 1. ... @Override public void onClick(AjaxRequestTarget target) { Panel panel = new MyPanel(panelId); ! panel.add(new DraggableBehavior()); addOrReplace(panel); target.addComponent(panel); } ! AND USE VERSION 0.3.5! 2. ... @Override public void onClick(AjaxRequestTarget target) { ! originalPanel.setDefaultModelObject(some new value); ! target.addComponent(originalPanel); } Good luck and let me know if it works for you! Stefan -Ursprüngliche Nachricht- Von: Stefan Jozsa [mailto:stefan_...@yahoo.com] Gesendet: Donnerstag, 18. Juni 2009 13:24 An: users@wicket.apache.org Betreff: Re: WicketJQuery: Drag drop behavior lost for components of AJAX updated panels Found that when panel is constructed like: public MyPage() { ... add(new MyPanel(panelId)); ... } markup of a draggable element is: span id=id123456 class=myClass ui-draggable ... []/span However when: ... @Override public void onClick(AjaxRequestTarget target) { Panel panel = new MyPanel(panelId); addOrReplace(panel); target.addComponent(panel); } markup of a draggable element is: span id=id123456 class=myClass ... []/span that is 'ui-draggable' is not found (stripped ? not added?) in 'class' attribute of draggable element. Any help is welcommed, Stefan --- On Thu, 6/18/09, Stefan Jozsa stefan_...@yahoo.com wrote: From: Stefan Jozsa stefan_...@yahoo.com Subject: WicketJQuery: Drag drop behavior lost for components of AJAX updated panels To: users@wicket.apache.org Date: Thursday, June 18, 2009, 1:44 PM Doing: public MyPage() { ... add(new MyPanel(panelId)); ... } dragging elements (having DraggableBehavior) of 'MyPanel' works. However doing: ... @Override public void onClick(AjaxRequestTarget target) { Panel panel = new MyPanel(panelId); addOrReplace(panel); target.addComponent(panel); } dragging elements of 'MyPanel' DO NOT works (DraggableBehavior is lost). What's going on ? Any help is (very) appreciated, thanks Stefan Using: Wicket-1.4.rc4, WicketJQuery-0.3.4 - 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: Conversation scope in wicket
On Thu, Jun 18, 2009 at 8:27 AM, Carl-Eric Menzel cm.wic...@users.bitforce.com wrote: The idea of a conversation has been around for a long time. It's called a stateful session bean. You have a point there. But I think this is all provided by Wicket already - You have components and models that perfectly encapsulate all this. Basically this is about the lifecycle of the data needed for a unit of work from the user's point of view. If you have a flow of pages, or wizard steps, or whatever, you have a defined starting point where you can, for example, create a model. And then you go to the next step and pass this model along. Once you're finished, you just drop the references. Or am I missing something here? Yes, Wicket does have great support for stateful programming. That's why I love Wicket! However, if I can run Wicket inside a container that supports JSR-299 and I can have my web beans injected into my Wicket components/pages as proxies so that I'm always talking to the right bean at the right time and I don't have to worry about all that state crap (at least in the web tier), then I think that's a big win. Carl-Eric - 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: Who went to the GWT vs Wicket presentation in Normandy and wants to share their findings?
Hi Martjin and all of you Wicket fans, I was there ! (as president of Normandy Java User Group) It was our first JUG meeting in a small French countryside city (Rouen in Normandie) we had around 35 attendees. (great success for us, preceding IT meetings organized in our area never drove more than 10 attendees ) I'll try to summarize what was said by our two local but brillant speakers : - Youen Chene as GWT fighter (http://www.youenchene.fr) - Nicolas Giard as Wicket knight (http://www.noocodecommit.com) Here's a short list of the slides : - A brief history of the two frameworks. - The differences in the scope covered by GWT and Wicket (technically speaking Ajax, javascript, etc.) - How it works ( GWT = coding Java compiled in JS generating HTML / Wicket = coding Java + HTML) - Differences of projects structures (packages... pictures of the exploded war treeview in eclipse) - Server integration with other technologies like (Spring, EJB, Hibernate etc. using wicket-stuff in one hand or projects like gwtrpc-spring or Gilead in the other). - Available widgets natively or by sub projects (Google vizualization, gears, Ext GWT... vs Wicket stuff, Wiquery ...) - CSS or How the design layer is handled comparison. - Browsers compatibility (generated code plus handmade code). - Localization support (different JS by language for GWT, use of properties, xml or database ...) - Accessibly (GWT following ARIA since 1.5 versus Best Practice applied by the HTML developer for Wicket) - Performances (GWT = heavy compilation and long first load, Wicket depends mainly on the developer's code quality ) - Tools (GWT has many plugins for integration with Eclipse, some exist for Wicket but aren't really useful since Wicket keeps things simple). - Maven integration (difficult for GWT but possible, some latency on dependencies. While very easy for Wicket and up to date archetypes). - Advantages : - GWT (backward compatibility, stability, code optimization, keyboard interaction) - Wicket (development mad simple again, very enthusiast and attractive community) - Drawbacks - GWT (very long loading the first time, very difficult to reference as it's JS based... very strange coming from a Search Engine company ^^ ) - Wicket (lacks of notoriety, documentation is sometimes poor, performances strongly tighten to the code quality) - Next release / Roadmap - Why use one or the other : - GWT for rich applications but not for content websites (blog, e-commerce...) due to inability to reference it on search engines. - Wicket for content web sites first, but why not for rich applications ? - Who uses GWT or Wicket (Lombardi, MyERP, Compiere... vs Artifactory, JTrac, JAlbum, Alfresco GUI, Hippo CMS...) - How to fill the lacks : - Use subproject for widgets like SmartGWT, mix GWT with other framework (velocity, JSF) for referencement. - Use JQuery instead of prototype, more native widgets using Wiquery ? - Wicket + GWT = 3 Love ? (or is it possible to mix both) It seems possible but might be long and hard. - Some links to go ahead Maybe we'll try to translate the presentation slides in English (depends on time we'll have for that). For french reading ones we will publish the slides on our JUG site : * http://www.normandyjug.org/* I think the most important thing that should be retained is that GWT and Wicket should be chosen depending on what we want. A rich application that doesn't need search engine referencement = GWT A content website with also some dynamic behaviors and referencement needs = Wicket . This presentation was done by a user of GWT and one of Wicket. They didn't know the other one technology by themselves, and even didn't know each others a few weeks ago. So congratulation to them because it was a real challenge to make this comparison in very few days. It' goal was to explain in few minutes what are GWT and Wicket, and to give attendees the desire to go ahead with one technology or the other. Any comments or feedbacks appreciated . Yann On Thu, Jun 18, 2009 at 12:08 PM, Martijn Dashorst martijn.dasho...@gmail.com wrote: There's been quite some announcements going across twitter, but no conclusion... Martijn - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
default integer form values
I have a form with a textfield bound to an object containing interger values: TextFieldInteger residueNumber = new TextFieldInteger( residueNumber, new PropertyModelInteger(pso, residueNumber)); when this field is rendered it shows 0 as the 'empty' value, whereas string members are rendered real empty. It look strange this way, is there a way to display an empty field for an int? - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Ajax enabled pages are slow to load
I have recently converted a project from 1.3.5 to 1.4.rc-4. The only thing that I have changed with it is adding all the generics. On pages, panels, etc. that I have ajax classes, the pages are taking a great deal of time to load. They were not exactly quick to load for me in 1.3.5, but in 1.4.rc-4 they are painfully slow. While in debug mode, I check during the database loading phase and all that is running very quickly. It seems to be at the rendering phase where the problem lies. I notice in the stack that there are many many Daemon threads being created before the page will finally display. I have ran this in development and in deployment mode with no appreciable difference (and on two different web servers). For a test I placed a breakpoint in the onRender() method of the page. The breakpoint occurred about halfway through all the Daemon threads that were being created. I am using Tomcat 6.0.14 I am noticing this in other projects not just this one. Any suggestions on what to look for to speed it up? I do have logging on with info, so I have verified that all the objects are serializable. One of the projects has a webpage class with a mix of these ajax components: AjaxSelfUpdatingTimerBehavior; AjaxLink; ModalWindow; IndicatingAjaxLink; Timothy Ames Developer II Promedica Health Systems, North Direct phone: 517-265-0281 Internal extension: 72281 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ EMAIL CONFIDENTIALITY NOTICE This Email message, and any attachments, may contain confidential patient health information that is legally protected. This information is intended only for the use of the individual or entity named above. The authorized recipient of this information is prohibited from disclosing this information to any other party unless required to do so by law or regulation and is required to destroy the information after its stated need has been fulfilled. If you are not the intended recipient, you are hereby notified that any disclosure, copying, distribution, or action taken in reliance on the contents of this message is strictly prohibited. If you have received this information in error, please notify the sender immediately by replying to this message and delete the message from your system.
Mysterious NullPointerException
I see the following a few times a day, this is with Wicket 1.3.6. It results in a 500 being displayed to the user... 2009-06-18 00:53:09,485 ERROR Web [RequestCycle] : java.lang.NullPointerException I realize this isn't much to go on, any ideas? j
RE: WicketJQuery: Drag drop behavior lost for components of AJAX updated panels
Hi Stefan, Sorry, but I missed to specify that DraggableBehavior is added to (undefined/variable number of) components of 'MyPanel', that is not to the panel itself. So, using the same 'MyPanel' constructor in both cases DraggableBehavior is added (by Java code) to those components of 'MyPanel'. Having: Panel myPanel = new MyPanel(panelId); depending how is rendered by addOrReplace(myPanel) or by target.addComponent(myPanel) the result is different, the markup (and who knows what...) is different. I tried WicketJQuery-0.3.5, got same (draggable behavior lost) result. I tried even (naive) workarounds like: myDraggableComponent.add(new AttributeModifier(class, true, new ModelString(ui-draggable))); myDraggableComponent.add(new AttributeModifier(dragclass, true, new ModelString(a))); but got the same (draggable behavior lost) result. This is extremly disturbing issue since cannot reload page (it has an embedded Flash player) and GUI interaction is based on AJAX backed panel/component refresh. Any idea, help, workaround, fix is welcomed, thanks, Stefan --- On Thu, 6/18/09, Stefan Lindner lind...@visionet.de wrote: From: Stefan Lindner lind...@visionet.de Subject: RE: WicketJQuery: Drag drop behavior lost for components of AJAX updated panels To: users@wicket.apache.org Date: Thursday, June 18, 2009, 3:30 PM I can't see a solution for what you are doing. ... @Override public void onClick(AjaxRequestTarget target) { Panel panel = new MyPanel(panelId); addOrReplace(panel); target.addComponent(panel); } creates a NEW Panel and the NEW panel is a totally new object that does not know anything about the ORIGINAL Panel. The AJAX response renders the NEW Panel (with it's new class attribute but without the AJAX behaviors you've added to the ORIGINAL Panel). This also happens with Wickts builtin Behaviors. Try this panel.add(new AjaxEventBehavior(onclick) { @Override protected void onEvent(AjaxRequestTarget target) { System.out.println(clicked!); } }); This also disappears after you replace the panel within an AJAX call. You can do two things: 1. ... @Override public void onClick(AjaxRequestTarget target) { Panel panel = new MyPanel(panelId); ! panel.add(new DraggableBehavior()); addOrReplace(panel); target.addComponent(panel); } ! AND USE VERSION 0.3.5! 2. ... @Override public void onClick(AjaxRequestTarget target) { ! originalPanel.setDefaultModelObject(some new value); ! target.addComponent(originalPanel); } Good luck and let me know if it works for you! Stefan -Ursprüngliche Nachricht- Von: Stefan Jozsa [mailto:stefan_...@yahoo.com] Gesendet: Donnerstag, 18. Juni 2009 13:24 An: users@wicket.apache.org Betreff: Re: WicketJQuery: Drag drop behavior lost for components of AJAX updated panels Found that when panel is constructed like: public MyPage() { ... add(new MyPanel(panelId)); ... } markup of a draggable element is: span id=id123456 class=myClass ui-draggable ... []/span However when: ... @Override public void onClick(AjaxRequestTarget target) { Panel panel = new MyPanel(panelId); addOrReplace(panel); target.addComponent(panel); } markup of a draggable element is: span id=id123456 class=myClass ... []/span that is 'ui-draggable' is not found (stripped ? not added?) in 'class' attribute of draggable element. Any help is welcommed, Stefan --- On Thu, 6/18/09, Stefan Jozsa stefan_...@yahoo.com wrote: From: Stefan Jozsa stefan_...@yahoo.com Subject: WicketJQuery: Drag drop behavior lost for components of AJAX updated panels To: users@wicket.apache.org Date: Thursday, June 18, 2009, 1:44 PM Doing: public MyPage() { ... add(new MyPanel(panelId)); ... } dragging elements (having DraggableBehavior) of 'MyPanel' works. However doing: ... @Override public void onClick(AjaxRequestTarget target) { Panel panel = new MyPanel(panelId); addOrReplace(panel); target.addComponent(panel); } dragging elements of 'MyPanel' DO NOT works (DraggableBehavior is lost). What's going on ? Any help is (very) appreciated, thanks Stefan Using: Wicket-1.4.rc4, WicketJQuery-0.3.4 - 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,
RE: WicketJQuery: Drag drop behavior lost for components of AJAX updated panels
Do I understand you right, you have something like Class MyPanel { public MyPanel(...) { Component c = new Component(...); c.add(new Draggable()); // some more components with draggable } } MyPage extends WebPage { Public MyPage() { add(new MyPanel(...)); // dragging works add(new AjaxLink(...){ onClick(AjaxRequestTarget) { MyPanel newPanel; getPage.addOrReplace(newPanel = new MyPanel(...)); target.addComponent(newPanel); // Dragging stops working } }); } } Right? -Ursprüngliche Nachricht- Von: Stefan Jozsa [mailto:stefan_...@yahoo.com] Gesendet: Donnerstag, 18. Juni 2009 16:28 An: users@wicket.apache.org Betreff: RE: WicketJQuery: Drag drop behavior lost for components of AJAX updated panels Hi Stefan, Sorry, but I missed to specify that DraggableBehavior is added to (undefined/variable number of) components of 'MyPanel', that is not to the panel itself. So, using the same 'MyPanel' constructor in both cases DraggableBehavior is added (by Java code) to those components of 'MyPanel'. Having: Panel myPanel = new MyPanel(panelId); depending how is rendered by addOrReplace(myPanel) or by target.addComponent(myPanel) the result is different, the markup (and who knows what...) is different. I tried WicketJQuery-0.3.5, got same (draggable behavior lost) result. I tried even (naive) workarounds like: myDraggableComponent.add(new AttributeModifier(class, true, new ModelString(ui-draggable))); myDraggableComponent.add(new AttributeModifier(dragclass, true, new ModelString(a))); but got the same (draggable behavior lost) result. This is extremly disturbing issue since cannot reload page (it has an embedded Flash player) and GUI interaction is based on AJAX backed panel/component refresh. Any idea, help, workaround, fix is welcomed, thanks, Stefan --- On Thu, 6/18/09, Stefan Lindner lind...@visionet.de wrote: From: Stefan Lindner lind...@visionet.de Subject: RE: WicketJQuery: Drag drop behavior lost for components of AJAX updated panels To: users@wicket.apache.org Date: Thursday, June 18, 2009, 3:30 PM I can't see a solution for what you are doing. ... @Override public void onClick(AjaxRequestTarget target) { Panel panel = new MyPanel(panelId); addOrReplace(panel); target.addComponent(panel); } creates a NEW Panel and the NEW panel is a totally new object that does not know anything about the ORIGINAL Panel. The AJAX response renders the NEW Panel (with it's new class attribute but without the AJAX behaviors you've added to the ORIGINAL Panel). This also happens with Wickts builtin Behaviors. Try this panel.add(new AjaxEventBehavior(onclick) { @Override protected void onEvent(AjaxRequestTarget target) { System.out.println(clicked!); } }); This also disappears after you replace the panel within an AJAX call. You can do two things: 1. ... @Override public void onClick(AjaxRequestTarget target) { Panel panel = new MyPanel(panelId); ! panel.add(new DraggableBehavior()); addOrReplace(panel); target.addComponent(panel); } ! AND USE VERSION 0.3.5! 2. ... @Override public void onClick(AjaxRequestTarget target) { ! originalPanel.setDefaultModelObject(some new value); ! target.addComponent(originalPanel); } Good luck and let me know if it works for you! Stefan -Ursprüngliche Nachricht- Von: Stefan Jozsa [mailto:stefan_...@yahoo.com] Gesendet: Donnerstag, 18. Juni 2009 13:24 An: users@wicket.apache.org Betreff: Re: WicketJQuery: Drag drop behavior lost for components of AJAX updated panels Found that when panel is constructed like: public MyPage() { ... add(new MyPanel(panelId)); ... } markup of a draggable element is: span id=id123456 class=myClass ui-draggable ... []/span However when: ... @Override public void onClick(AjaxRequestTarget target) { Panel panel = new MyPanel(panelId); addOrReplace(panel); target.addComponent(panel); } markup of a draggable element is: span id=id123456 class=myClass ... []/span that is 'ui-draggable' is not found (stripped ? not added?) in 'class' attribute of draggable element. Any help is welcommed, Stefan --- On Thu, 6/18/09, Stefan Jozsa stefan_...@yahoo.com wrote: From: Stefan Jozsa stefan_...@yahoo.com Subject: WicketJQuery: Drag drop behavior lost for components of AJAX updated panels To: users@wicket.apache.org Date: Thursday, June 18, 2009, 1:44 PM Doing: public MyPage() { ... add(new MyPanel(panelId)); ... }
RE: WicketJQuery: Drag drop behavior lost for components of AJAX updated panels
Yes, that is, you right ! Having: Panel myPanel = new MyPanel(panelId); depending how is rendered by 1. addOrReplace(myPanel) in a page constructor or by 2. target.addComponent(myPanel) in an event callback method the result is different ! Stefan --- On Thu, 6/18/09, Stefan Lindner lind...@visionet.de wrote: From: Stefan Lindner lind...@visionet.de Subject: RE: WicketJQuery: Drag drop behavior lost for components of AJAX updated panels To: users@wicket.apache.org Date: Thursday, June 18, 2009, 5:39 PM Do I understand you right, you have something like Class MyPanel { public MyPanel(...) { Component c = new Component(...); c.add(new Draggable()); // some more components with draggable } } MyPage extends WebPage { Public MyPage() { add(new MyPanel(...)); // dragging works add(new AjaxLink(...){ onClick(AjaxRequestTarget) { MyPanel newPanel; getPage.addOrReplace(newPanel = new MyPanel(...)); target.addComponent(newPanel); // Dragging stops working } }); } } Right? -Ursprüngliche Nachricht- Von: Stefan Jozsa [mailto:stefan_...@yahoo.com] Gesendet: Donnerstag, 18. Juni 2009 16:28 An: users@wicket.apache.org Betreff: RE: WicketJQuery: Drag drop behavior lost for components of AJAX updated panels Hi Stefan, Sorry, but I missed to specify that DraggableBehavior is added to (undefined/variable number of) components of 'MyPanel', that is not to the panel itself. So, using the same 'MyPanel' constructor in both cases DraggableBehavior is added (by Java code) to those components of 'MyPanel'. Having: Panel myPanel = new MyPanel(panelId); depending how is rendered by addOrReplace(myPanel) or by target.addComponent(myPanel) the result is different, the markup (and who knows what...) is different. I tried WicketJQuery-0.3.5, got same (draggable behavior lost) result. I tried even (naive) workarounds like: myDraggableComponent.add(new AttributeModifier(class, true, new ModelString(ui-draggable))); myDraggableComponent.add(new AttributeModifier(dragclass, true, new ModelString(a))); but got the same (draggable behavior lost) result. This is extremly disturbing issue since cannot reload page (it has an embedded Flash player) and GUI interaction is based on AJAX backed panel/component refresh. Any idea, help, workaround, fix is welcomed, thanks, Stefan --- On Thu, 6/18/09, Stefan Lindner lind...@visionet.de wrote: From: Stefan Lindner lind...@visionet.de Subject: RE: WicketJQuery: Drag drop behavior lost for components of AJAX updated panels To: users@wicket.apache.org Date: Thursday, June 18, 2009, 3:30 PM I can't see a solution for what you are doing. ... @Override public void onClick(AjaxRequestTarget target) { Panel panel = new MyPanel(panelId); addOrReplace(panel); target.addComponent(panel); } creates a NEW Panel and the NEW panel is a totally new object that does not know anything about the ORIGINAL Panel. The AJAX response renders the NEW Panel (with it's new class attribute but without the AJAX behaviors you've added to the ORIGINAL Panel). This also happens with Wickts builtin Behaviors. Try this panel.add(new AjaxEventBehavior(onclick) { @Override protected void onEvent(AjaxRequestTarget target) { System.out.println(clicked!); } }); This also disappears after you replace the panel within an AJAX call. You can do two things: 1. ... @Override public void onClick(AjaxRequestTarget target) { Panel panel = new MyPanel(panelId); ! panel.add(new DraggableBehavior()); addOrReplace(panel); target.addComponent(panel); } ! AND USE VERSION 0.3.5! 2. ... @Override public void onClick(AjaxRequestTarget target) { ! originalPanel.setDefaultModelObject(some new value); ! target.addComponent(originalPanel); } Good luck and let me know if it works for you! Stefan -Ursprüngliche Nachricht- Von: Stefan Jozsa [mailto:stefan_...@yahoo.com] Gesendet: Donnerstag, 18. Juni 2009 13:24 An: users@wicket.apache.org Betreff: Re: WicketJQuery: Drag drop behavior lost for components of AJAX updated panels Found that when panel is constructed like: public MyPage() { ... add(new MyPanel(panelId)); ... } markup of a draggable element is: span id=id123456 class=myClass ui-draggable ... []/span However when: ... @Override public void onClick(AjaxRequestTarget target) {
Re: default integer form values
What is the initial value of residueNumber? /Per On Thu, Jun 18, 2009 at 3:35 PM, Bas Vrolingbvrol...@cmbi.ru.nl wrote: I have a form with a textfield bound to an object containing interger values: TextFieldInteger residueNumber = new TextFieldInteger( residueNumber, new PropertyModelInteger(pso, residueNumber)); when this field is rendered it shows 0 as the 'empty' value, whereas string members are rendered real empty. It look strange this way, is there a way to display an empty field for an int? - 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: Mysterious NullPointerException
No. ;-) Are you suggesting that the version of Wicket matters? How does the stack dump look in your logs? /Per On Thu, Jun 18, 2009 at 4:25 PM, Jeremy Levyjel...@gmail.com wrote: I see the following a few times a day, this is with Wicket 1.3.6. It results in a 500 being displayed to the user... 2009-06-18 00:53:09,485 ERROR Web [RequestCycle] : java.lang.NullPointerException I realize this isn't much to go on, any ideas? j - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: default integer form values
so, it's 0 On Thu, Jun 18, 2009 at 10:48 AM, Bas Vrolingbvrol...@cmbi.ru.nl wrote: It is an unitialized int (private int residueNumber;) On 18 Jun, at 16:46, Per Lundholm wrote: What is the initial value of residueNumber? /Per On Thu, Jun 18, 2009 at 3:35 PM, Bas Vrolingbvrol...@cmbi.ru.nl wrote: I have a form with a textfield bound to an object containing interger values: TextFieldInteger residueNumber = new TextFieldInteger( residueNumber, new PropertyModelInteger(pso, residueNumber)); when this field is rendered it shows 0 as the 'empty' value, whereas string members are rendered real empty. It look strange this way, is there a way to display an empty field for an int? - 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: Mysterious NullPointerException
Per, There is no stack dump, that is the entire output. J On Thu, Jun 18, 2009 at 10:48 AM, Per Lundholm per.lundh...@gmail.comwrote: No. ;-) Are you suggesting that the version of Wicket matters? How does the stack dump look in your logs? /Per On Thu, Jun 18, 2009 at 4:25 PM, Jeremy Levyjel...@gmail.com wrote: I see the following a few times a day, this is with Wicket 1.3.6. It results in a 500 being displayed to the user... 2009-06-18 00:53:09,485 ERROR Web [RequestCycle] : java.lang.NullPointerException I realize this isn't much to go on, any ideas? j - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org -- Jeremy Levy See my location in real-time: http://seemywhere.com/jeremy
Reverse Proxy and AJAX
My company is going to start using a Juniper Reverse Proxy server for VPN access. We have a large mix of different web technologies in use. Wicket is one of them. What this product does is URL rewriting to make things work. I am having a problem with Wicket AJAX functions working properly. Below is an example of the way the URLs look where AJAX does work and where it does not. Of course I am assuming the URL is the problem with AJAX not functioning since we have other jsp projects where AJAX is working. Also, we had tested another reverse proxy server that did not mess with the URL like Juniper does – and Wicket worked OK with that. Here is how the URL looks when AJAX does work (using internal network via http): ourdomain:28080/ms4_archive_web/ms4ar/ Here is how the URL looks with the Juniper Reverse Proxy where AJAX does not work (via https): sslvpn2.ourdomain/ms4_archive_web/ms4ar/,DanaInfo=ourdomain,Port=28080+ I had to remove some of the URL string - the users email server was rejecting as spam. You can see where the Juniper software has really messed up the URL. I know that wicket has several URL strategies which up till this point I have not had to mess with. Is there one of these strategies that would allow Wicket to work in this scenario? I am unfamiliar with these strategies and they are confusing to me just reading the API’s. Wicket worked well for me “right out of the box” – ‘till now. Any help appreciated. --Tim
Re: Reverse geocoding with wicket contrib gmap2
Now that's getting quite JavaScript'isch, out of the box, this might not be possible. May I recap on this though, just to see if I got it right. A good starting point in this area to me allways seems to get aware of the runtime calling sequence and then think of the code that could set just that up. So if I got it right it is happing all on the Browser side: The dragging of a marker should emit events. These should get picked up by GClientGeocoder. The GCG should reverse geocode the lat lang of the marker. The return value should be displayed in the Browser. And eventually, maybe when the marker is droped the server should be informed of the last result too. For the first step I'd come up with a new implementation of GEventListenerBehavior The public String getJSaddListener() would have to be overridden. Instead of letting it render a call to addListener(...) it would have to render a call to another yet to be implemented addX(...) method. After that it get's dissy in my head :-( mf P.S.: But never mind, if you come up with soemthing, ask for write access to wicket-stuff, and commit it. Your implementation of reverseDecode might be a good enough candidate already. Am 18.06.2009 um 11:30 schrieb Jesse Kivialho: Hi, I'm using wicket 1.3.5. and downloaded the wicket contrib gmap2 from the wicket-stuff 1.3.x branch (https://wicket-stuff.svn.sourceforge.net/svnroot/wicket-stuff/branches/wicket-1.3.x/wicket-contrib-gmap2/ ) I've noticed that the GClientGeocoder knows the reverse geocoding also. When I try the example Geocoder in contrib-gmap2-examples it gives me a name of the place if write to the address-field ie. 60,20. Also, I managed to do the reverse geocoding with the server geocoder (wicket.contrib.gmap.util.Geocoder) by mostly copy-pasting an additional decoding method (since the original assumes the response to be type GlatLng): public String reverseDecode(String response) throws GeocoderException { StringTokenizer gLatLng = new StringTokenizer(response, ,); String status = gLatLng.nextToken(); gLatLng.nextToken(); // skip precision String address = ; while (gLatLng.hasMoreTokens()) { address += gLatLng.nextToken(); } if (Integer.parseInt(status) != GeocoderException.G_GEO_SUCCESS) { throw new GeocoderException(Integer.parseInt(status)); } return address; } With reverse geocoding I want to show the markers location in text, not in latitude-longitude-pairs. So, when the user adds a new marker by clicking on the map or moves an existing marker by dragging it, I want to show the city name the marker is in (instead of latlng). With that additional server geocoding method I'm able to do it. I'd like to be able to do it client-side, since my fear is that the dragging will cause quite many reverse geocoding requests. So how could I give the GClientGeocoder a TextField-object which would have the user-clicked latitude-longitude-pair? Or alternatively, how should I modify the GClientGeocoder to be able to hook in to the click. I've also looked into the click listener, but the request has always already been made in the onEvent-method, so I don't know how to alter the request. The gmap2 extension is working nicely and helps me a lot, thanks! br, Jesse Kivialho - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
RE: WicketJQuery: Drag drop behavior lost for components of AJAX updated panels
I can't reproduce this error. It works form e. Take a look into trunk. In the Example, the DraggableElement (draggable1) is now a panel with some draggable element inside. The whole panel gets replaced if you klick on the AjaxLink. Dragging still works after the replacement. You can respond to my email address directly. I don't thik we need to flood the list with this special case. And if your native language sould be german... Stefan -Ursprüngliche Nachricht- Von: Stefan Jozsa [mailto:stefan_...@yahoo.com] Gesendet: Donnerstag, 18. Juni 2009 16:45 An: users@wicket.apache.org Betreff: RE: WicketJQuery: Drag drop behavior lost for components of AJAX updated panels Yes, that is, you right ! Having: Panel myPanel = new MyPanel(panelId); depending how is rendered by 1. addOrReplace(myPanel) in a page constructor or by 2. target.addComponent(myPanel) in an event callback method the result is different ! Stefan --- On Thu, 6/18/09, Stefan Lindner lind...@visionet.de wrote: From: Stefan Lindner lind...@visionet.de Subject: RE: WicketJQuery: Drag drop behavior lost for components of AJAX updated panels To: users@wicket.apache.org Date: Thursday, June 18, 2009, 5:39 PM Do I understand you right, you have something like Class MyPanel { public MyPanel(...) { Component c = new Component(...); c.add(new Draggable()); // some more components with draggable } } MyPage extends WebPage { Public MyPage() { add(new MyPanel(...)); // dragging works add(new AjaxLink(...){ onClick(AjaxRequestTarget) { MyPanel newPanel; getPage.addOrReplace(newPanel = new MyPanel(...)); target.addComponent(newPanel); // Dragging stops working } }); } } Right? -Ursprüngliche Nachricht- Von: Stefan Jozsa [mailto:stefan_...@yahoo.com] Gesendet: Donnerstag, 18. Juni 2009 16:28 An: users@wicket.apache.org Betreff: RE: WicketJQuery: Drag drop behavior lost for components of AJAX updated panels Hi Stefan, Sorry, but I missed to specify that DraggableBehavior is added to (undefined/variable number of) components of 'MyPanel', that is not to the panel itself. So, using the same 'MyPanel' constructor in both cases DraggableBehavior is added (by Java code) to those components of 'MyPanel'. Having: Panel myPanel = new MyPanel(panelId); depending how is rendered by addOrReplace(myPanel) or by target.addComponent(myPanel) the result is different, the markup (and who knows what...) is different. I tried WicketJQuery-0.3.5, got same (draggable behavior lost) result. I tried even (naive) workarounds like: myDraggableComponent.add(new AttributeModifier(class, true, new ModelString(ui-draggable))); myDraggableComponent.add(new AttributeModifier(dragclass, true, new ModelString(a))); but got the same (draggable behavior lost) result. This is extremly disturbing issue since cannot reload page (it has an embedded Flash player) and GUI interaction is based on AJAX backed panel/component refresh. Any idea, help, workaround, fix is welcomed, thanks, Stefan --- On Thu, 6/18/09, Stefan Lindner lind...@visionet.de wrote: From: Stefan Lindner lind...@visionet.de Subject: RE: WicketJQuery: Drag drop behavior lost for components of AJAX updated panels To: users@wicket.apache.org Date: Thursday, June 18, 2009, 3:30 PM I can't see a solution for what you are doing. ... @Override public void onClick(AjaxRequestTarget target) { Panel panel = new MyPanel(panelId); addOrReplace(panel); target.addComponent(panel); } creates a NEW Panel and the NEW panel is a totally new object that does not know anything about the ORIGINAL Panel. The AJAX response renders the NEW Panel (with it's new class attribute but without the AJAX behaviors you've added to the ORIGINAL Panel). This also happens with Wickts builtin Behaviors. Try this panel.add(new AjaxEventBehavior(onclick) { @Override protected void onEvent(AjaxRequestTarget target) { System.out.println(clicked!); } }); This also disappears after you replace the panel within an AJAX call. You can do two things: 1. ... @Override public void onClick(AjaxRequestTarget target) { Panel panel = new MyPanel(panelId); ! panel.add(new DraggableBehavior()); addOrReplace(panel); target.addComponent(panel); } ! AND USE VERSION 0.3.5! 2. ... @Override public void onClick(AjaxRequestTarget target) { ! originalPanel.setDefaultModelObject(some new value); !
Re: Ajax enabled pages are slow to load
seems quiet strange. wicket does not spawn threads - but your ajax calls do. so the question is what is spawning the threads before the page renders? -igor On Thu, Jun 18, 2009 at 6:55 AM, Ames, Timtim.a...@promedica.org wrote: I have recently converted a project from 1.3.5 to 1.4.rc-4. The only thing that I have changed with it is adding all the generics. On pages, panels, etc. that I have ajax classes, the pages are taking a great deal of time to load. They were not exactly quick to load for me in 1.3.5, but in 1.4.rc-4 they are painfully slow. While in debug mode, I check during the database loading phase and all that is running very quickly. It seems to be at the rendering phase where the problem lies. I notice in the stack that there are many many Daemon threads being created before the page will finally display. I have ran this in development and in deployment mode with no appreciable difference (and on two different web servers). For a test I placed a breakpoint in the onRender() method of the page. The breakpoint occurred about halfway through all the Daemon threads that were being created. I am using Tomcat 6.0.14 I am noticing this in other projects not just this one. Any suggestions on what to look for to speed it up? I do have logging on with info, so I have verified that all the objects are serializable. One of the projects has a webpage class with a mix of these ajax components: AjaxSelfUpdatingTimerBehavior; AjaxLink; ModalWindow; IndicatingAjaxLink; Timothy Ames Developer II Promedica Health Systems, North Direct phone: 517-265-0281 Internal extension: 72281 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ EMAIL CONFIDENTIALITY NOTICE This Email message, and any attachments, may contain confidential patient health information that is legally protected. This information is intended only for the use of the individual or entity named above. The authorized recipient of this information is prohibited from disclosing this information to any other party unless required to do so by law or regulation and is required to destroy the information after its stated need has been fulfilled. If you are not the intended recipient, you are hereby notified that any disclosure, copying, distribution, or action taken in reliance on the contents of this message is strictly prohibited. If you have received this information in error, please notify the sender immediately by replying to this message and delete the message from your system. - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: default integer form values
use Integer if you want support for nulls -igor On Thu, Jun 18, 2009 at 7:48 AM, Bas Vrolingbvrol...@cmbi.ru.nl wrote: It is an unitialized int (private int residueNumber;) On 18 Jun, at 16:46, Per Lundholm wrote: What is the initial value of residueNumber? /Per On Thu, Jun 18, 2009 at 3:35 PM, Bas Vrolingbvrol...@cmbi.ru.nl wrote: I have a form with a textfield bound to an object containing interger values: TextFieldInteger residueNumber = new TextFieldInteger( residueNumber, new PropertyModelInteger(pso, residueNumber)); when this field is rendered it shows 0 as the 'empty' value, whereas string members are rendered real empty. It look strange this way, is there a way to display an empty field for an int? - 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: Mysterious NullPointerException
that is rather strange, there should be the stack trace. why dont you change your logger to show the line numbers so we can see where the log statement is coming from. -igor On Thu, Jun 18, 2009 at 7:53 AM, Jeremy Levyjel...@gmail.com wrote: Per, There is no stack dump, that is the entire output. J On Thu, Jun 18, 2009 at 10:48 AM, Per Lundholm per.lundh...@gmail.comwrote: No. ;-) Are you suggesting that the version of Wicket matters? How does the stack dump look in your logs? /Per On Thu, Jun 18, 2009 at 4:25 PM, Jeremy Levyjel...@gmail.com wrote: I see the following a few times a day, this is with Wicket 1.3.6. It results in a 500 being displayed to the user... 2009-06-18 00:53:09,485 ERROR Web [RequestCycle] : java.lang.NullPointerException I realize this isn't much to go on, any ideas? j - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org -- Jeremy Levy See my location in real-time: http://seemywhere.com/jeremy - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: Reverse geocoding with wicket contrib gmap2
Well I don't need that much events. The dragging doesn't have to emit an event, just the final dragend (which already exists in the gmap2 project). So the runtime would be more like: The end of dragging a marker should emit events (which it does) The GCG should pick these up and reverse geocode the lat-long. (which I'm atm doing with the server-side-geocoder) The result should be shown in the browser (which I can do with the server-side-geocoder, and I guess with the client-side-geocoder the showing in the browser could be an update of a label in the method which is fired when the dragging is ended). So the problem is how the GCG should notice the end of dragging and do the reverse geocoding. The other point where I need the reverse geocoding is: The clicking of the map should create a new marker The marker's (click's) location should be reverse geocoded the reverse geocoded location should be shown in the browser. (Similar functionality as this thing has (I just want to create markers instead of infoboxes): http://gmaps-samples.googlecode.com/svn/trunk/geocoder/reverse.html ) I've been trying to add some new javascript to wicket-gmap.js to combine the event of clicking to the reverse geocoding (about like in that example), but without luck so far. I feel that I don't understand enough of the combination between wicket and javascript (and nor do i understand enough javascript). br, Jesse On Thu, 18 Jun 2009, Martin Funk wrote: Now that's getting quite JavaScript'isch, out of the box, this might not be possible. May I recap on this though, just to see if I got it right. A good starting point in this area to me allways seems to get aware of the runtime calling sequence and then think of the code that could set just that up. So if I got it right it is happing all on the Browser side: The dragging of a marker should emit events. These should get picked up by GClientGeocoder. The GCG should reverse geocode the lat lang of the marker. The return value should be displayed in the Browser. And eventually, maybe when the marker is droped the server should be informed of the last result too. For the first step I'd come up with a new implementation of GEventListenerBehavior The public String getJSaddListener() would have to be overridden. Instead of letting it render a call to addListener(...) it would have to render a call to another yet to be implemented addX(...) method. After that it get's dissy in my head :-( mf P.S.: But never mind, if you come up with soemthing, ask for write access to wicket-stuff, and commit it. Your implementation of reverseDecode might be a good enough candidate already. Am 18.06.2009 um 11:30 schrieb Jesse Kivialho: Hi, I'm using wicket 1.3.5. and downloaded the wicket contrib gmap2 from the wicket-stuff 1.3.x branch (https://wicket-stuff.svn.sourceforge.net/svnroot/wicket-stuff/branches/wicket-1.3.x/wicket-contrib-gmap2/) I've noticed that the GClientGeocoder knows the reverse geocoding also. When I try the example Geocoder in contrib-gmap2-examples it gives me a name of the place if write to the address-field ie. 60,20. Also, I managed to do the reverse geocoding with the server geocoder (wicket.contrib.gmap.util.Geocoder) by mostly copy-pasting an additional decoding method (since the original assumes the response to be type GlatLng): public String reverseDecode(String response) throws GeocoderException { StringTokenizer gLatLng = new StringTokenizer(response, ,); String status = gLatLng.nextToken(); gLatLng.nextToken(); // skip precision String address = ; while (gLatLng.hasMoreTokens()) { address += gLatLng.nextToken(); } if (Integer.parseInt(status) != GeocoderException.G_GEO_SUCCESS) { throw new GeocoderException(Integer.parseInt(status)); } return address; } With reverse geocoding I want to show the markers location in text, not in latitude-longitude-pairs. So, when the user adds a new marker by clicking on the map or moves an existing marker by dragging it, I want to show the city name the marker is in (instead of latlng). With that additional server geocoding method I'm able to do it. I'd like to be able to do it client-side, since my fear is that the dragging will cause quite many reverse geocoding requests. So how could I give the GClientGeocoder a TextField-object which would have the user-clicked latitude-longitude-pair? Or alternatively, how should I modify the GClientGeocoder to be able to hook in to the click. I've also looked into the click listener, but the request has always already been made in the onEvent-method, so I don't know how to alter the request. The gmap2 extension is working nicely and helps me a lot, thanks! br, Jesse Kivialho - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional
Re: Reverse geocoding with wicket contrib gmap2
Hehe, when I first saw reverse geocoding I read reverse geolocation, as in you point to a spot on a Google map and you get teleported there. Now *there's* a browser feature I'd pay for! jk On Thu, Jun 18, 2009 at 06:46:59PM +0300, Jesse Kivialho wrote: Well I don't need that much events. The dragging doesn't have to emit an event, just the final dragend (which already exists in the gmap2 project). So the runtime would be more like: The end of dragging a marker should emit events (which it does) The GCG should pick these up and reverse geocode the lat-long. (which I'm atm doing with the server-side-geocoder) The result should be shown in the browser (which I can do with the server-side-geocoder, and I guess with the client-side-geocoder the showing in the browser could be an update of a label in the method which is fired when the dragging is ended). So the problem is how the GCG should notice the end of dragging and do the reverse geocoding. - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: Conversation scope in wicket
Hi alli am working on a prototype which i think will convince you that conversation is an important concept, it is very onject oriented as wicket is and has many use cases On Thu, Jun 18, 2009 at 7:38 AM, Igor Vaynberg igor.vaynb...@gmail.comwrote: you are free to implement this as an open source addition to wicket. there is wicketstuff or googlecode or sf.net where you can host it. wicket is a ui framework and conversational scope management falls outside wicket's scope. it is our job to provide the hooks to make such things possible, not to provide an implementation. yes, u r right, wicket can'nt be everything for everyone ,but the question is how much this hook thing is the responsibility of wicket do you really think wicket is only ui framework?with no scopes so why u support sessions? conversation is much like sessions, it is just narrowwer Thanks Joe -igor On Wed, Jun 17, 2009 at 9:36 PM, Joe Fawzyjoewic...@gmail.com wrote: Hiyou mean: injecting webbeans conversation component in wicket component at construction time this is only what we can achieve with webbeans, as wicket component cannot be webbeans components (wicket is unmanaged framework) my idea is about native conversation support, which enable wicket component to be the component and the target for injection in a natural wicket way beside, why depending on external project when we have all the functionality we need as wicket is stateful and each pagemap is a conversation(long one which may be easily break down to smaller pieces) Joe On Thu, Jun 18, 2009 at 7:22 AM, James Carman jcar...@carmanconsulting.comwrote: There are a few folks working on implementing JSR-299 support for Wicket, which would provide support for conversation-scoped beans. I'm working on one currently and I believe that the jboss folks have one working too. On Thu, Jun 18, 2009 at 12:08 AM, Joe Fawzy joewic...@gmail.com wrote: Hican this functionality added to the standard wicket? actually much of seam popularity came from supporting conversation scope..., so i think that adding explicit wicket support will have momentum i think that having just a store for conversation objects will be a good begin then we may add apis like beginConversation, endConversation ,joinConversation,mergeConversation ,suspendConversation,resumeConversation and other concepts like workspace what do u think? Joe On Thu, Jun 18, 2009 at 12:32 AM, Igor Vaynberg igor.vaynb...@gmail.com wrote: only time will tell -igor On Wed, Jun 17, 2009 at 11:59 AM, Joe Fawzyjoewic...@gmail.com wrote: thanks dearwill wicket continue to support pageMap beyond 1.4 or it is now a deprecated feature? thanks Joe On Wed, Jun 17, 2009 at 9:56 PM, Igor Vaynberg igor.vaynb...@gmail.com wrote: if the scope of your conversation is a browser window then its the best choice. -igor On Wed, Jun 17, 2009 at 11:45 AM, Joe Fawzyjoewic...@gmail.com wrote: Hi dearthanks for the reply and for the code snippet But, do u think that using pageMap is reliable or what i mean , is using pageMap is a good solution or just a hack, work around thanks Joe On Wed, Jun 17, 2009 at 8:58 PM, Igor Vaynberg igor.vaynb...@gmail.com wrote: class mysession extends websesison { private mapstring, mapobject,object coversations; public mapobject,object getconversation(ipagemap pmap) { return conversations.get(pmap.getid()); } } -igor On Wed, Jun 17, 2009 at 10:29 AM, Joe Fawzy joewic...@gmail.com wrote: Hi alli need to implement something like a conversation scope in wicket i know that wicket is stateful by default and i can pass object o from page A - page B But if Object o in page A which - page B - page C - page D - page E and i need Object o in page E ,that will be very tedious to pass o all throught the way from A ..E also if i need to pass a large number of objects between a set of pages ,this will be a nightmare so How can i implement a Conversation object ala Session and store these objects there i thought of using the IPageMap as a key in this situation as it represent an open browser window or tab ie. conversation, but in a previous mail ,i 've been tald that it cannot be extended easily, and i cannot provide my own factory for one so, any ideas about the conversation scope? what do u think about the pageMap ? will it work? is it reliable? can the core team provide some hooks to implement something like IPageMapFactory?
Re: Conversation scope in wicket
Hi all On Thu, Jun 18, 2009 at 7:44 AM, James Carman jcar...@carmanconsulting.comwrote: On Thu, Jun 18, 2009 at 12:38 AM, Igor Vaynberg igor.vaynb...@gmail.com wrote: you are free to implement this as an open source addition to wicket. there is wicketstuff or googlecode or sf.net where you can host it. wicket is a ui framework and conversational scope management falls outside wicket's scope. it is our job to provide the hooks to make such things possible, not to provide an implementation. And, those hooks are very nice. I would only ask for some more listener registering opportunities (like for listening to request cycle events like begin/end rather than having to implement your own request cycle). Yes this is a much needed functionality i think we may cooperate in that thing can u start another mail discussion suggesting ur needs , and make everyone participate Thanks Joe - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: Conversation scope in wicket
JSR-299 is somewhat of a moving target right now, so it's hard to stay up-to-date with it. I'm mainly working with the OpenWebBeans folks on it. On Thu, Jun 18, 2009 at 2:03 PM, Joe Fawzy joewic...@gmail.com wrote: Hi all On Thu, Jun 18, 2009 at 7:44 AM, James Carman jcar...@carmanconsulting.comwrote: On Thu, Jun 18, 2009 at 12:38 AM, Igor Vaynberg igor.vaynb...@gmail.com wrote: you are free to implement this as an open source addition to wicket. there is wicketstuff or googlecode or sf.net where you can host it. wicket is a ui framework and conversational scope management falls outside wicket's scope. it is our job to provide the hooks to make such things possible, not to provide an implementation. And, those hooks are very nice. I would only ask for some more listener registering opportunities (like for listening to request cycle events like begin/end rather than having to implement your own request cycle). Yes this is a much needed functionality i think we may cooperate in that thing can u start another mail discussion suggesting ur needs , and make everyone participate Thanks Joe - 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: Conversation scope in wicket
Hi Igor On Wed, Jun 17, 2009 at 8:58 PM, Igor Vaynberg igor.vaynb...@gmail.comwrote: class mysession extends websesison { private mapstring, mapobject,object coversations; public mapobject,object getconversation(ipagemap pmap) { return conversations.get(pmap.getid()); } } in your last code line , do you mean pmap.getName() instead of pmap.getId() as i cannot find a public getId() in ipagemap thanks Joe -igor On Wed, Jun 17, 2009 at 10:29 AM, Joe Fawzyjoewic...@gmail.com wrote: Hi alli need to implement something like a conversation scope in wicket i know that wicket is stateful by default and i can pass object o from page A - page B But if Object o in page A which - page B - page C - page D - page E and i need Object o in page E ,that will be very tedious to pass o all throught the way from A ..E also if i need to pass a large number of objects between a set of pages ,this will be a nightmare so How can i implement a Conversation object ala Session and store these objects there i thought of using the IPageMap as a key in this situation as it represent an open browser window or tab ie. conversation, but in a previous mail ,i 've been tald that it cannot be extended easily, and i cannot provide my own factory for one so, any ideas about the conversation scope? what do u think about the pageMap ? will it work? is it reliable? can the core team provide some hooks to implement something like IPageMapFactory? thanks Joe - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: Popup Editor using TinyMCE and ModalWindow
I am having the same problem than you. How do you solve it? On Fri, Apr 24, 2009 at 1:45 AM, sshark ssh...@gmail.com wrote: Hi, I want to construct popup WYSIWYG editor using TinyMCE and ModalWindow. What I got was an ordinary un-mocked up plain textarea in the pop up dialog box. I have included my codes, the page and panel here. TinyMCE works well in the page. Did I miss any settings? Any suggestion? Thank you. public class TinyMCEPage extends WebPage { private static final long serialVersionUID = 1L; public TinyMCEPage() { final ModalWindow editorDialog = new ModalWindow(editorDialog); editorDialog.setTitle(Edit Text); editorDialog.setContent(new TinyEditor(editorDialog.getContentId())); add(editorDialog); add(new AjaxLink(edit) { public void onClick(AjaxRequestTarget target) { editorDialog.show(target); } }); } } TinyMCEPage.html html body div wicket:id=editorDialog/div a wicket:id=editEdit/a /body /html public class TinyEditor extends Panel { private static final long serialVersionUID = 1L; public TinyEditor(String id) { super(id); add(new TextArea(editor, new Model(Write here)) .add(new TinyMceBehavior(new TinyMCESettings(TinyMCESettings.Theme.advanced; } } TinyEditor.html wicket:panel textarea wicket:id=editor/textarea /wicket:panel /lim/ -- Fernando Wermus. www.linkedin.com/in/fernandowermus
Re: Popup Editor using TinyMCE and ModalWindow
This is the answer, /** * This is needed because even though {...@link TinyMceBehavior} implements IHeaderContributor, * the header doesn't get contributed when the component is first rendered though an AJAX call. * @see https://issues.apache.org/jira/browse/WICKET-618 (which was closed WontFix) */ public void renderHead(IHeaderResponse response) { response.renderJavascriptReference(TinyMCESettings.javaScriptReference()); } On Thu, Jun 18, 2009 at 12:08 PM, Fernando Wermus fernando.wer...@gmail.com wrote: I am having the same problem than you. How do you solve it? On Fri, Apr 24, 2009 at 1:45 AM, sshark ssh...@gmail.com wrote: Hi, I want to construct popup WYSIWYG editor using TinyMCE and ModalWindow. What I got was an ordinary un-mocked up plain textarea in the pop up dialog box. I have included my codes, the page and panel here. TinyMCE works well in the page. Did I miss any settings? Any suggestion? Thank you. public class TinyMCEPage extends WebPage { private static final long serialVersionUID = 1L; public TinyMCEPage() { final ModalWindow editorDialog = new ModalWindow(editorDialog); editorDialog.setTitle(Edit Text); editorDialog.setContent(new TinyEditor(editorDialog.getContentId())); add(editorDialog); add(new AjaxLink(edit) { public void onClick(AjaxRequestTarget target) { editorDialog.show(target); } }); } } TinyMCEPage.html html body div wicket:id=editorDialog/div a wicket:id=editEdit/a /body /html public class TinyEditor extends Panel { private static final long serialVersionUID = 1L; public TinyEditor(String id) { super(id); add(new TextArea(editor, new Model(Write here)) .add(new TinyMceBehavior(new TinyMCESettings(TinyMCESettings.Theme.advanced; } } TinyEditor.html wicket:panel textarea wicket:id=editor/textarea /wicket:panel /lim/ -- Fernando Wermus. www.linkedin.com/in/fernandowermus -- Fernando Wermus. www.linkedin.com/in/fernandowermus
[announce] Wicket 1.4-RC5 released
The Apache Wicket team is proud to announce the availability of the fifth release candidate for the newest version of Wicket - 1.4. A lot of bugs have been squashed and several improvements implemented. If you are already using earlier versions of 1.4, it is recommended you update to Wicket 1.4-rc5 at your earliest convenience. Eager people click here to download the distribution, others can read further: http://www.apache.org/dyn/closer.cgi/wicket/1.4-rc5 We thank you for your patience and support. - The Wicket Team Apache Wicket Apache Wicket is a component oriented Java web application framework. With proper mark-up/logic separation, a POJO data model, and a refreshing lack of XML, Apache Wicket makes developing web-apps simple and enjoyable again. Swap the boilerplate, complex debugging and brittle code for powerful, reusable components written with plain Java and HTML. You can find out more about Apache Wicket on our website: http://wicket.apache.org This release This release is the fifth release candidate for the Wicket 1.4 product. This release fixes several bugs and adds some minor improvements. You can find out about the changes at the bottom of this announcement. Migrating from 1.3 If you are coming from Wicket 1.3, you really want to read our migration guide found on the wiki: http://cwiki.apache.org/WICKET/migrate-14.html Downloading the release: You can download the release from the official Apache mirror system, and you can find it through the following link: http://www.apache.org/dyn/closer.cgi/wicket/1.4-rc5/ For the Maven and Ivy fans out there: update your pom's to the following, and everything will be downloaded automatically: dependency groupIdorg.apache.wicket/groupId artifactIdwicket/artifactId version1.4-rc5/version /dependency Substitute the artifact ID with the projects of your liking to get the other projects. Please note that we don't prescribe a Logging implementation for SLF4J. You need to specify yourself which one you prefer. Read more about SLF4J here: http://slf4j.org Validating the release The release has been signed by Jeremy Thomerson, your release manager for today. The public key can be found in the KEYS file in the download area. Download the KEYS file only from the Apache website. http://www.apache.org/dist/wicket/1.4-rc5/KEYS Instructions on how to validate the release can be found here: http://www.apache.org/dev/release-signing.html#check-integrity Reporting bugs In case you do encounter a bug, we would appreciate a report in our JIRA: http://issues.apache.org/jira/browse/WICKET The distribution In the distribution you will find a README. The README contains instructions on how to build from source yourself. You also find a CHANEGELOG-1.4 which contains a list of all things that have been fixed, added and/or removed since the 1.4 branch was created. Release Notes - Wicket - Version 1.4-RC5 ** Bug * [WICKET-1912] - StatelessForm problems with query string * [WICKET-1922] - AbstractTree - setting root to null causes NullPointerException * [WICKET-2033] - amp; instead of in javascript * [WICKET-2123] - org.apache.wicket.util.convert.converters.SqlTimestampConverter only renders the time part of the timestamp * [WICKET-2133] - DatePicker inserts incorrect format date * [WICKET-2188] - PropertyResolver$ArrayPropertyGetSet does not call setAccessible(true) on method * [WICKET-2245] - PageParameters always non-empty * [WICKET-2259] - The JavaDoc for IPageLink still holds a reference to PageLink which is deprecated * [WICKET-2261] - wicketTester.executeAjaxEvent(combo, onchange); works with 1.4-rc1 but not anymore with 1.4-rc2 * [WICKET-2270] - GET/POST mismatch with stateless page/form. * [WICKET-2272] - open/close div tags are rendered erroneously * [WICKET-2273] - wicket-devutils is missing in wicket-assembly-all.xml and not mentioned in README * [WICKET-2274] - WicketTester.executeAjaxEvent(AjaxButton, onclick); results in clicking of another submit button if its model value is not null. * [WICKET-2276] - isComponent in BaseWicketTester contains possible nullpointer exception * [WICKET-2277] - Radio#onComponentTag uses Objects.equal instead of model comparator * [WICKET-2278] - StatelessChecker is always offended * [WICKET-2281] - MockHttpServletRequest is broken when used with CryptedUrlWebRequestCodingStrategy * [WICKET-2286] - proper onBeforeRender() for NavigationToolbar * [WICKET-2292] - TabbedPanel uses too much generics (revert WICKET-2153) * [WICKET-2301] - When injecting more than one parm in a method, an ArrayIndexOutOfBoundsException is thrown * [WICKET-2303] - [devutils] LiveSessionsPage is broken * [WICKET-2304] - [devutils] RequestsPage is broken * [WICKET-2305] - [devutils] Can only inspect pages in same pagemap as the inspector * [WICKET-2308] - Append lastmodified to Resources shouldnt append when the resource is a directory (ends
Re: ResourceReference not locale aware?
Possible, but hard to believe that no one else has reported. Could you create a quickstart and attach it to a JIRA issue, then post the issue number back to this thread so that we can look into it? Thanks! -- Jeremy Thomerson http://www.wickettraining.com On Wed, Jun 17, 2009 at 9:34 AM, Roman Uhlig Maxity.deroman.uh...@maxity.de wrote: I'm trying to load localized versions of an image with a ResourceReference. The javadoc says: The locale and/or style do not need to be set on a resource reference because those values will automatically be determined based on the context in which the resource is being used. Actually, it does not. No matter what locale is set in the session, ResourceReference is returning the same base version of the image when used like that: new Image(image, new ResourceReference(this.getClass(), res/imagepack1/localized_testimage.gif)); res/imagepack1 contains the localized images as well, e.g. localized_testimage_de.gif. I'm using 1.4-rc4 right now. Am I doing something wrong or does it just not work? Thanks for any hints on that, Roman - 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
[announce] Wicket 1.4-RC5 released
The Apache Wicket team is proud to announce the availability of the fifth release candidate for the newest version of Wicket - 1.4. A lot of bugs have been squashed and several improvements implemented. If you are already using earlier versions of 1.4, it is recommended you update to Wicket 1.4-rc5 at your earliest convenience. Eager people click here to download the distribution, others can read further: http://www.apache.org/dyn/closer.cgi/wicket/1.4-rc5 We thank you for your patience and support. - The Wicket Team Apache Wicket Apache Wicket is a component oriented Java web application framework. With proper mark-up/logic separation, a POJO data model, and a refreshing lack of XML, Apache Wicket makes developing web-apps simple and enjoyable again. Swap the boilerplate, complex debugging and brittle code for powerful, reusable components written with plain Java and HTML. You can find out more about Apache Wicket on our website: http://wicket.apache.org This release This release is the fifth release candidate for the Wicket 1.4 product. This release fixes several bugs and adds some minor improvements. You can find out about the changes at the bottom of this announcement. Migrating from 1.3 If you are coming from Wicket 1.3, you really want to read our migration guide found on the wiki: http://cwiki.apache.org/WICKET/migrate-14.html Downloading the release: You can download the release from the official Apache mirror system, and you can find it through the following link: http://www.apache.org/dyn/closer.cgi/wicket/1.4-rc5/ For the Maven and Ivy fans out there: update your pom's to the following, and everything will be downloaded automatically: dependency groupIdorg.apache.wicket/groupId artifactIdwicket/artifactId version1.4-rc5/version /dependency Substitute the artifact ID with the projects of your liking to get the other projects. Please note that we don't prescribe a Logging implementation for SLF4J. You need to specify yourself which one you prefer. Read more about SLF4J here: http://slf4j.org Validating the release The release has been signed by Jeremy Thomerson, your release manager for today. The public key can be found in the KEYS file in the download area. Download the KEYS file only from the Apache website. http://www.apache.org/dist/wicket/1.4-rc5/KEYS Instructions on how to validate the release can be found here: http://www.apache.org/dev/release-signing.html#check-integrity Reporting bugs In case you do encounter a bug, we would appreciate a report in our JIRA: http://issues.apache.org/jira/browse/WICKET The distribution In the distribution you will find a README. The README contains instructions on how to build from source yourself. You also find a CHANEGELOG-1.4 which contains a list of all things that have been fixed, added and/or removed since the 1.4 branch was created. Release Notes - Wicket - Version 1.4-RC5 ** Bug * [WICKET-1912] - StatelessForm problems with query string * [WICKET-1922] - AbstractTree - setting root to null causes NullPointerException * [WICKET-2033] - amp; instead of in javascript * [WICKET-2123] - org.apache.wicket.util.convert.converters.SqlTimestampConverter only renders the time part of the timestamp * [WICKET-2133] - DatePicker inserts incorrect format date * [WICKET-2188] - PropertyResolver$ArrayPropertyGetSet does not call setAccessible(true) on method * [WICKET-2245] - PageParameters always non-empty * [WICKET-2259] - The JavaDoc for IPageLink still holds a reference to PageLink which is deprecated * [WICKET-2261] - wicketTester.executeAjaxEvent(combo, onchange); works with 1.4-rc1 but not anymore with 1.4-rc2 * [WICKET-2270] - GET/POST mismatch with stateless page/form. * [WICKET-2272] - open/close div tags are rendered erroneously * [WICKET-2273] - wicket-devutils is missing in wicket-assembly-all.xml and not mentioned in README * [WICKET-2274] - WicketTester.executeAjaxEvent(AjaxButton, onclick); results in clicking of another submit button if its model value is not null. * [WICKET-2276] - isComponent in BaseWicketTester contains possible nullpointer exception * [WICKET-2277] - Radio#onComponentTag uses Objects.equal instead of model comparator * [WICKET-2278] - StatelessChecker is always offended * [WICKET-2281] - MockHttpServletRequest is broken when used with CryptedUrlWebRequestCodingStrategy * [WICKET-2286] - proper onBeforeRender() for NavigationToolbar * [WICKET-2292] - TabbedPanel uses too much generics (revert WICKET-2153) * [WICKET-2301] - When injecting more than one parm in a method, an ArrayIndexOutOfBoundsException is thrown * [WICKET-2303] - [devutils] LiveSessionsPage is broken * [WICKET-2304] - [devutils] RequestsPage is broken * [WICKET-2305] - [devutils] Can only inspect pages in same pagemap as the inspector * [WICKET-2308] - Append lastmodified to Resources shouldnt append when the resource is a directory (ends
Re: Turning off ModificationWatcher
This way you won't get no exceptions any more, but it's also terrible to develop without ModificationWatching. GAE does not allow spawning threads even in the local development environment. I tried to use my own implementation of a modification watcher, that does not spawn any threads but instead it does the modification watching before every request. Unfortunately it's not possible to replace the default ModificationWatcher in Wicket, because it's got dependencies to the concrete default ModificationWatcher and that is final, so you can't replace it with another implementation. You can work around this by doing some classpath messing and put your own ModificationWatcher implementation in your project into same package org.apache.wicket.util.watch of the Wicket ModificationWatcher see http://kimenye.blogspot.com/2009/06/google-app-engine-wicket.html here . Would be nice if Wicket relied on an interface IModificationWatcher in future versions, so that it can be replaced by a customized version. Or don't make it final. - cretzel Jonathan Locke wrote: not sure, but try getResourceSettings().setResourcePollFrequency(null) in your app init Matt Welch wrote: I'm experimenting with Wicket inside Google's new Java support for its App Engine. My simple apps run fine if the configuration is set to DEPLOYMENT, however in development mode, I get an exception related to ModificationWatcher. Looking at the exception I think this ModificationWatcher is being used as part of a new thread which is a no-no inside the App Engine sandbox. Is there way way to just disbable this modification watcher without putting the entire app in deployment mode? There are a number of items I like about development mode but this one glitch is preventing me from using it. Matt -- View this message in context: http://www.nabble.com/Turning-off-ModificationWatcher-tp22963478p24099680.html Sent from the Wicket - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: Turning off ModificationWatcher
or you can add an rfe into jira to make it more open... -igor On Thu, Jun 18, 2009 at 3:11 PM, cretzelmailinglists...@gmail.com wrote: This way you won't get no exceptions any more, but it's also terrible to develop without ModificationWatching. GAE does not allow spawning threads even in the local development environment. I tried to use my own implementation of a modification watcher, that does not spawn any threads but instead it does the modification watching before every request. Unfortunately it's not possible to replace the default ModificationWatcher in Wicket, because it's got dependencies to the concrete default ModificationWatcher and that is final, so you can't replace it with another implementation. You can work around this by doing some classpath messing and put your own ModificationWatcher implementation in your project into same package org.apache.wicket.util.watch of the Wicket ModificationWatcher see http://kimenye.blogspot.com/2009/06/google-app-engine-wicket.html here . Would be nice if Wicket relied on an interface IModificationWatcher in future versions, so that it can be replaced by a customized version. Or don't make it final. - cretzel Jonathan Locke wrote: not sure, but try getResourceSettings().setResourcePollFrequency(null) in your app init Matt Welch wrote: I'm experimenting with Wicket inside Google's new Java support for its App Engine. My simple apps run fine if the configuration is set to DEPLOYMENT, however in development mode, I get an exception related to ModificationWatcher. Looking at the exception I think this ModificationWatcher is being used as part of a new thread which is a no-no inside the App Engine sandbox. Is there way way to just disbable this modification watcher without putting the entire app in deployment mode? There are a number of items I like about development mode but this one glitch is preventing me from using it. Matt -- View this message in context: http://www.nabble.com/Turning-off-ModificationWatcher-tp22963478p24099680.html Sent from the Wicket - User 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: [announce] Wicket 1.4-RC5 released
maybe it takes some time to synchronize with maven central but on my last attempt to download the maven artifacts the classifiers 'javadoc' and 'sources' were missing ... besides that it's great to see the final release getting closer :-) Am 18.06.2009 um 23:06 schrieb Jeremy Thomerson: The Apache Wicket team is proud to announce the availability of the fifth release candidate for the newest version of Wicket - 1.4. A lot of bugs have been squashed and several improvements implemented. If you are already using earlier versions of 1.4, it is recommended you update to Wicket 1.4-rc5 at your earliest convenience. Eager people click here to download the distribution, others can read further: http://www.apache.org/dyn/closer.cgi/wicket/1.4-rc5 We thank you for your patience and support. - The Wicket Team Apache Wicket Apache Wicket is a component oriented Java web application framework. With proper mark-up/logic separation, a POJO data model, and a refreshing lack of XML, Apache Wicket makes developing web-apps simple and enjoyable again. Swap the boilerplate, complex debugging and brittle code for powerful, reusable components written with plain Java and HTML. You can find out more about Apache Wicket on our website: http://wicket.apache.org This release This release is the fifth release candidate for the Wicket 1.4 product. This release fixes several bugs and adds some minor improvements. You can find out about the changes at the bottom of this announcement. Migrating from 1.3 If you are coming from Wicket 1.3, you really want to read our migration guide found on the wiki: http://cwiki.apache.org/WICKET/migrate-14.html Downloading the release: You can download the release from the official Apache mirror system, and you can find it through the following link: http://www.apache.org/dyn/closer.cgi/wicket/1.4-rc5/ For the Maven and Ivy fans out there: update your pom's to the following, and everything will be downloaded automatically: dependency groupIdorg.apache.wicket/groupId artifactIdwicket/artifactId version1.4-rc5/version /dependency Substitute the artifact ID with the projects of your liking to get the other projects. Please note that we don't prescribe a Logging implementation for SLF4J. You need to specify yourself which one you prefer. Read more about SLF4J here: http://slf4j.org Validating the release The release has been signed by Jeremy Thomerson, your release manager for today. The public key can be found in the KEYS file in the download area. Download the KEYS file only from the Apache website. http://www.apache.org/dist/wicket/1.4-rc5/KEYS Instructions on how to validate the release can be found here: http://www.apache.org/dev/release-signing.html#check-integrity Reporting bugs In case you do encounter a bug, we would appreciate a report in our JIRA: http://issues.apache.org/jira/browse/WICKET The distribution In the distribution you will find a README. The README contains instructions on how to build from source yourself. You also find a CHANEGELOG-1.4 which contains a list of all things that have been fixed, added and/or removed since the 1.4 branch was created. Release Notes - Wicket - Version 1.4-RC5 ** Bug * [WICKET-1912] - StatelessForm problems with query string * [WICKET-1922] - AbstractTree - setting root to null causes NullPointerException * [WICKET-2033] - amp; instead of in javascript * [WICKET-2123] - org.apache.wicket.util.convert.converters.SqlTimestampConverter only renders the time part of the timestamp * [WICKET-2133] - DatePicker inserts incorrect format date * [WICKET-2188] - PropertyResolver$ArrayPropertyGetSet does not call setAccessible(true) on method * [WICKET-2245] - PageParameters always non-empty * [WICKET-2259] - The JavaDoc for IPageLink still holds a reference to PageLink which is deprecated * [WICKET-2261] - wicketTester.executeAjaxEvent(combo, onchange); works with 1.4-rc1 but not anymore with 1.4-rc2 * [WICKET-2270] - GET/POST mismatch with stateless page/form. * [WICKET-2272] - open/close div tags are rendered erroneously * [WICKET-2273] - wicket-devutils is missing in wicket-assembly- all.xml and not mentioned in README * [WICKET-2274] - WicketTester.executeAjaxEvent(AjaxButton, onclick); results in clicking of another submit button if its model value is not null. * [WICKET-2276] - isComponent in BaseWicketTester contains possible nullpointer exception * [WICKET-2277] - Radio#onComponentTag uses Objects.equal instead of model comparator * [WICKET-2278] - StatelessChecker is always offended * [WICKET-2281] - MockHttpServletRequest is broken when used with CryptedUrlWebRequestCodingStrategy * [WICKET-2286] - proper onBeforeRender() for NavigationToolbar * [WICKET-2292] - TabbedPanel uses too much generics (revert WICKET-2153) * [WICKET-2301] - When injecting more than one parm in a method, an
JDeveloper - Can I get a show of hands?
Our management has chosen to make JDeveloper 11g the required IDE for the department. Searching the Wicket mailing list archives, I find that there is very little discussion about JDev. I'd be interested to know, are any of you currently using JDeveloper as your main Wicket IDE? - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: JDeveloper - Can I get a show of hands?
JDeveloper? *crickets* :) -- Nick Heudecker Professional Wicket Training Consulting http://www.systemmobile.com
Re: Wicket Date Field Validation
Hi Matt, yay!! It works!! Thank you very much! Matthias Keller wrote: Rao Archana (HCTM/ETA) wrote: Hi, I am working on date fields and have problems with the validation. I have referred to the link below which helped me. http://www.nabble.com/Strict-4-digit-year-for-DateTextField--td18656889. html So I have subclassed the PatternDateConverter and have set the pattern as, dateFormat = ^(\\d{1,2})/(\\d{1,2})/(\\d{4})$; I have 2 date fields, start_date and end_date. The start_date is a required field and the end_date is not. (...) This works fine ie it does not allow entry of 03/03/09 or 03/03/-2009 BUT, the end_date becomes a required field. I have to enter the end_date to click 'Save'. Else it complains that an invalid date has been entered. But my end_date is not a required field. (...) Possibly the simplest approach would be to use a regular expression that allows an empty string like making the whole expression optional by surrounding it with paranthesis and adding the optional operator '?' after it. This allows the empty string OR a valid date but nothing else: dateFormat = ^((\\d{1,2})/(\\d{1,2})/(\\d{4}))?$; Matt -- matthias.kel...@ergon.ch +41 44 268 83 98 Ergon Informatik AG, Kleinstrasse 15, CH-8008 Zürich http://www.ergon.ch __ e r g o nsmart people - smart software -- View this message in context: http://www.nabble.com/Wicket-Date-Field-Validation-tp24087119p24099701.html Sent from the Wicket - User 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
TinyMCE bug: http://readystate4.com/2009/05/15/tinymce-typeerror-twindocument-is-null-in-firebug-console/
I am trying to run a TinyMCE in a ModalWindow. If the modalWindow is closed TinyMCE requires removes some instances through its api: tinyMCE.execCommand('mceRemoveControl', false, 'idTextArea'); tinyMCE.execCommand('mceAddControl', false, 'idTextArea'); But modalWindow close button didn't inform anything to its content. Thus I don't find a way to run this two sentences by tinyMCEBehavior. thanks -- Fernando Wermus. www.linkedin.com/in/fernandowermus
Wicket and Single Sign-on?
I'm relatively new to Wicket and trying not to carry forward any preconceived notions from other frameworks. What is the suggested/preferred means of authenticating single sign-on requests from another application? In particular, I'm thinking about MAC (http://en.wikipedia.org/wiki/Message_authentication_code) but could potentially use a proper single sign-on framework ala CAS. I've searched the list and saw some mention of using a servlet filter? Any guidance would be appreciated. Thanks, Jeff - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: Wicket and Single Sign-on?
saying that you will use MAC doesnt really say HOW you are going to implement sso. if you are going to use CAS, at least from what i understand of it, here is one way the integration can work: user is on a page they click a link that requires login your iauthorizationstrategy implementation detects that next action requires login, it checks for CAS token, doesnt see it, it then records the current url and issues a 302 to CAS passing in the current url as a callback user sees CAS login page user authenticates CAS redirects back to the callback url the url again causes your iauthorizationstrategy implementation to wake up. this time it sees the CAS token and lets the action proceed. -igor On Thu, Jun 18, 2009 at 7:51 PM, Jeff Longlandjeff.longl...@gmail.com wrote: I'm relatively new to Wicket and trying not to carry forward any preconceived notions from other frameworks. What is the suggested/preferred means of authenticating single sign-on requests from another application? In particular, I'm thinking about MAC (http://en.wikipedia.org/wiki/Message_authentication_code) but could potentially use a proper single sign-on framework ala CAS. I've searched the list and saw some mention of using a servlet filter? Any guidance would be appreciated. Thanks, Jeff - 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: JDeveloper - Can I get a show of hands?
http://instantcrickets.com Ryan Gravener http://bit.ly/no_word_docs On Thu, Jun 18, 2009 at 7:12 PM, Nick Heudecker nheudec...@gmail.comwrote: JDeveloper? *crickets* :) -- Nick Heudecker Professional Wicket Training Consulting http://www.systemmobile.com
application-level properties not component properties.
I hope I finally figured out how to post to this... I am very knew to Wicket and web app development but very experience Java client application developer (Swing). I read Wicket-in-Action pretty much cover-to-cover and would highly recommend it to anyone wanting to learn Wicket! Anyway, getting to the point here, I see TONS of examples all over the net about how to setup a .properties file for a UI component but none really for setting some application-level properties. For example, the host path changes between different push locations for my app. Even on the same server I have a Jetty version at 8090 and a tomcat version at 8080. I need to know how to call back to my homepage with parameters that our single-signon-server returns. There are other things like some cgi's add to some of my pages with the Include class, which I believe you want at the very top level of your directory structure as opposed to burried in some package path. So, I though hey, I would just create a Properties instance and load it up with a call to the load() method typically so I thought why not try it beings I read somewhere that I can get an InputStream of a given class using the ClassLoader.getSystemResourceAsStream(). I thought I was clever because the following WORKED through Jetty: public class MatrixApplication extends WebApplication { private ApplicationContext ctx; // some global application-level properties private Properties applicationProperites; private static final String DEFAULT_HOST = http://localhost:8090/;; /** * Constructor */ public MatrixApplication() { } @Override protected void init() { /* * This instructs Wicket to temporarily redirect an incoming request to in * internal Wicket page that will gather the extended browser info so I can pull * local timezone from client browser. */ getRequestCycleSettings().setGatherExtendedBrowserInfo(true); /* * A special component instantiation listener that analyzes components that * get constructed and injects proxies for all the Spring-bean-annotated * members it finds. * * Note: This is required if using @SpringBean annotations. */ addComponentInstantiationListener(new SpringComponentInjector(this)); /* * Remove the wicket tags from the final output when rendering the pages */ getMarkupSettings().setStripWicketTags(true); /* * Note: Saw this in the Mystic Coder's example. I think it is a way to * mount a page to a specific path, which could be kewl */ // mountBookmarkablePage(/home, HomePage.class); /* * Added the following from Mystic Coder's example. Will need to analyze and * understand at some point. */ // start ServletContext servletContext = super.getServletContext(); ctx = WebApplicationContextUtils.getWebApplicationContext(servletContext); org.apache.wicket.util.lang.Objects .setObjectStreamFactory(new IObjectStreamFactory.DefaultObjectStreamFactory()); // end // load our application properties so we can access them if needed loadProperties(); } ... private void loadProperties() { /* * Load in the properties found in the application.properties file. */ this.getClass().getClassLoader(); System.out.println(Going for the resource); InputStream is = ClassLoader .getSystemResourceAsStream(application.properties); System.out.println(Finished the resource); if (is == null) { System.err.println(The application.properties file is missing.); } else { try { applicationProperites = new Properties(); applicationProperites.load(is); } catch (IOException e1) { e1.printStackTrace(); } } } So calling the loadProperties() from the startup of the app worked just as I had hoped when using Jetty BUT when I distributed it to a webapp under Tomcat, it failed to find the application.properties file. I am assuming because the classpath is different but not sure how that can be if my app works fine otherwise under Tomcat. Saw no problems until I introduced my external properties file as opposed to having it embedded in the code. Please help even if it means calling me an idiot and clueing me in on the right way to handle such a problem. Thanks, -Steve
Re: application-level properties not component properties.
getClass().getClassLoader().getResourceAsStream() has always worked fine for me. also did you check your war and make sure the properties file was packaged? i see you are using spring? (ApplicationContext) if so you might want to look at propertyconfigurer - it is easy to setup a bean: id=properties class=mypropertiesproperty name=port value=${my.port}//bean get spring to do replacement based on a properties file or jndi or what have you, and then simple pull the bean out and access properties via getters -igor On Thu, Jun 18, 2009 at 10:21 PM, Steve Tarltonstarl...@gmail.com wrote: I hope I finally figured out how to post to this... I am very knew to Wicket and web app development but very experience Java client application developer (Swing). I read Wicket-in-Action pretty much cover-to-cover and would highly recommend it to anyone wanting to learn Wicket! Anyway, getting to the point here, I see TONS of examples all over the net about how to setup a .properties file for a UI component but none really for setting some application-level properties. For example, the host path changes between different push locations for my app. Even on the same server I have a Jetty version at 8090 and a tomcat version at 8080. I need to know how to call back to my homepage with parameters that our single-signon-server returns. There are other things like some cgi's add to some of my pages with the Include class, which I believe you want at the very top level of your directory structure as opposed to burried in some package path. So, I though hey, I would just create a Properties instance and load it up with a call to the load() method typically so I thought why not try it beings I read somewhere that I can get an InputStream of a given class using the ClassLoader.getSystemResourceAsStream(). I thought I was clever because the following WORKED through Jetty: public class MatrixApplication extends WebApplication { private ApplicationContext ctx; // some global application-level properties private Properties applicationProperites; private static final String DEFAULT_HOST = http://localhost:8090/;; /** * Constructor */ public MatrixApplication() { } �...@override protected void init() { /* * This instructs Wicket to temporarily redirect an incoming request to in * internal Wicket page that will gather the extended browser info so I can pull * local timezone from client browser. */ getRequestCycleSettings().setGatherExtendedBrowserInfo(true); /* * A special component instantiation listener that analyzes components that * get constructed and injects proxies for all the Spring-bean-annotated * members it finds. * * Note: This is required if using @SpringBean annotations. */ addComponentInstantiationListener(new SpringComponentInjector(this)); /* * Remove the wicket tags from the final output when rendering the pages */ getMarkupSettings().setStripWicketTags(true); /* * Note: Saw this in the Mystic Coder's example. I think it is a way to * mount a page to a specific path, which could be kewl */ // mountBookmarkablePage(/home, HomePage.class); /* * Added the following from Mystic Coder's example. Will need to analyze and * understand at some point. */ // start ServletContext servletContext = super.getServletContext(); ctx = WebApplicationContextUtils.getWebApplicationContext(servletContext); org.apache.wicket.util.lang.Objects .setObjectStreamFactory(new IObjectStreamFactory.DefaultObjectStreamFactory()); // end // load our application properties so we can access them if needed loadProperties(); } ... private void loadProperties() { /* * Load in the properties found in the application.properties file. */ this.getClass().getClassLoader(); System.out.println(Going for the resource); InputStream is = ClassLoader .getSystemResourceAsStream(application.properties); System.out.println(Finished the resource); if (is == null) { System.err.println(The application.properties file is missing.); } else { try { applicationProperites = new Properties(); applicationProperites.load(is); } catch (IOException e1) { e1.printStackTrace(); } } } So calling the loadProperties() from the startup of the app worked just as I had hoped when using Jetty BUT when I distributed it to a webapp under Tomcat, it failed to find the application.properties file. I am assuming because the classpath is different but not sure how that can be if my app works fine otherwise under Tomcat. Saw no problems until I introduced my external properties file as opposed to having it embedded in the code. Please help even if it means calling me an idiot and clueing me in on the right way to handle such a problem. Thanks, -Steve
Hibernate Transactions and Wicket
I have been reading Nick Wiedenbrueck's blog, specifically about patterns and pitfalls when using wicket with spring and hibernate. It seems fairly common for programmers to run into the issue of having entities persisted to the database at unexpected times. This happens when a transaction is closed and the hibernate session is flushed. Certainly this issue is not specific to using Wicket with spring and hibernate, but I think it is common enough to warrant some attention. There are a few suggestions to solving this problem: 1) Use DTOs 2) Make sure validation happens in wicket so the object is not modified 3) Clear the hibernate session or throw exceptions at just the right times I think all of these have some issues. Using DTOs is code heavy. Validating entirely in wicket is not always an option (sometimes the service tier needs to do some extended business validation). Clearing the hibernate session or throwing exceptions will cause Lazy Initialization exceptions if not used carefully (which can be hard when you do not control all the components on a page) I wanted to share one solution I have used and see what others think. I mark all of my transactional methods (usually in the service) as read only. I then define a set of persist methods (usually on a DAO) that are marked as REQUIRES_NEW and are not read only. When I am ready to persist an object it is passed to one of these methods and merged into the session. This effectively persists the object. Some of these persist methods can take a collection of objects so that they can be persisted efficiently in one transaction. So far this has worked well for me. Does anyone have any thoughts on this method or can share some other techniques? Thanks, Ryan - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org