Re: [Wicket-user] Radio.getValue?
Ok, let me try to explain another way. If you create a page where you use the radio component. The radios represent various kinds of datasets(OLAP cubes in this case but it does not really matter). On monday the 1. march you record with jmeter your test case(jmeter only records the http requests). In your test case you must select the retirement dataset (which has the value radio5 on the html page). Some time has passed now and you want to run your jmeter test, but on your page some of the datasets has been removed (they wasnt needed or was not allowed to be shown). So now the page no longer contains the radio with the value radio5, and your jmeter test will fail because wicket cant find the radio(another error scenario would be if the radios changed order). So if radio component allowed the use of Ichoicerenderer, it could generate the value based on the id of the ichoicerenderer for the particular dataitem. This would bring better persistance to the radios. At least when testing with jmeter. Did I do a better job explaining?:) Some could argue that it's not issue, but it would be very handy to have the ability to use the ichoicerender with every component that makes use of the value attribute in inputs(havent thought it through though). Because it would make it easier to use tools as jmeter. I would suggest that to avoid nameclashing we could use the components name.getIdValue as value attribute. I am aware that this would bring in a possible vuernability, if duplicate items are inserted and that could cause problems i guess? regards Nino Fra: [EMAIL PROTECTED] på vegne af Eelco Hillenius Sendt: ti 27-03-2007 18:40 Til: wicket-user@lists.sourceforge.net Emne: Re: [Wicket-user] Radio.getValue? I'm afraid I don't really understand your problem Nino. Eelco On 3/26/07, Nino Wael [EMAIL PROTECTED] wrote: Hi We are doing some extensive Jmeter testing, and have run into a technical problem regarding radios, which are the following: If you had 5 radios on a page at a given time, their value would have been radio1, radio2.. radio5. If you then pulled out radio number 4 then the list would be this, radio1, radio2 .. radio4. Now only the one previously called radio4 should not have been selectable. This renders our jmeter test pretty vuernable if some of the stuff no longer are available. Im not sure if I can use a ichoicerenderer, looking at the code from getValue, it's pretty hardcoded am I correct? If possible i'd like to just use the IChoiceRenderer's getId instead, that should fix the problem. regards Nino - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV ___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV ___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user winmail.dat- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user
Re: [Wicket-user] check box questions how to I associate an object with a boolean seletion from a checkbox component
I'm not sure I fully understand what you're trying to do, but CheckGroup/Check components are a nice solution for managing the selection of multiple objects. No need to introduce a boolean property in your domain objects. Please take a look at FormInput.java from wicket examples: CheckGroup checks = new CheckGroup(numbersCheckGroup); add(checks); ListView checksList = new ListView(numbers, NUMBERS) { protected void populateItem(ListItem item) { item.add(new Check(check, item.getModel())); item.add(new Label(number, item.getModelObjectAsString())); }; }; checks.add(checksList); I don't understand that last post can you re phrase please.. -B svenmeier wrote: Could it be that you slipped our CheckGroup/Check components? Cannot get simpler than that. Sven - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV ___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user
[Wicket-user] Storing markup in directory separarte from web app
Is it possible to store the HTML markup in a separate directory that is not part of the web app or web server directory structure? If necessary I could mimic the classpath in the separate directory so the HTMLs are stored in similarly named directories to their corresponding Java classes. I've looked around the website but can't find any hints as to how to do this. If it is possible how do you do it? - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV ___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user
Re: [Wicket-user] Storing markup in directory separarte from web app
http://cwiki.apache.org/WICKET/custom-resource-paths.html Eelco On 3/28/07, Chris Colman [EMAIL PROTECTED] wrote: Is it possible to store the HTML markup in a separate directory that is not part of the web app or web server directory structure? If necessary I could mimic the classpath in the separate directory so the HTMLs are stored in similarly named directories to their corresponding Java classes. I've looked around the website but can't find any hints as to how to do this. If it is possible how do you do it? - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV ___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV ___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user
[Wicket-user] AjaxSubmitButton and FormComponentFeedbackBorder
Hi I'm playing with Ajax and Wicket, which is quite fun, but I've an issue with AjaxSubmitButton and FormComponentFeedbackBorder. I guess I should use target.addComponent(Component) ; to declare in my AjaxSubmitButton that I want the feedback border to be updated. However, I'm using a CommonForm which is inherited in my page, to add some specific elements. Thus, if I put my AjaxSubmitButton in my page, I don't have any reference to the feedbackborder. If I put my AjaxSubmitButton in the inherited form itself, then I've to give a reference to my feedbackpanel (passing it to the form and then the AjaxSubmitButton ) and one reference for each feedbackborder (passing each to the AjaxSubmitButton). This end up being quite verbose and annoying, so I wonder whether there is a better, like calling directly my form onSubmit and let it deal directly with the feedbackborder... I hope I'm clear enough for you to help me, if not just let me know. Thanks in advance ZedroS - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV ___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user
[Wicket-user] Ajax component replaceWith and browser back-button problems
Hi, I have a panel A that is replaced by another panel B over Ajax using Component.replaceWith(). Panel B contains a few Links. Say I navigate to this Page and trigger the event that causes panel B to replace Panel A. Then I click one of the Link(s) within Panel B that brings up another page. Now when I use the browser back button I see the first Page where B is visible as expected. But now when I click on another Link within B - it causes a Wicket runtime exception: component [...] not found on page [...] Everywhere else across the app, browser back-button works beautifully. Is this problem to be expected if you have links within an area on a page refreshed using Ajax and then you use the browser back button to try other links in that area? Thanks, Peter. - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user
Re: [Wicket-user] Storing markup in directory separarte from web app
Which repoints readers to http://cwiki.apache.org/WICKET/control-where-html-files-are-loaded-from.html Got a minute to do a quick comment on the two of them? /Gwyn On 28/03/07, Eelco Hillenius [EMAIL PROTECTED] wrote: http://cwiki.apache.org/WICKET/custom-resource-paths.html Eelco On 3/28/07, Chris Colman [EMAIL PROTECTED] wrote: Is it possible to store the HTML markup in a separate directory that is not part of the web app or web server directory structure? If necessary I could mimic the classpath in the separate directory so the HTMLs are stored in similarly named directories to their corresponding Java classes. I've looked around the website but can't find any hints as to how to do this. If it is possible how do you do it? - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV ___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV ___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user -- Download Wicket 1.2.5 now! - http://wicketframework.org - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV ___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user
Re: [Wicket-user] AjaxSubmitButton and FormComponentFeedbackBorder
Quick update : I've found some help here : http://www.nabble.com/FeedbackPanel%2C-Form%2C-which-component-is-caousing-feedback--tf2427268.html#a6767963 but I'm still looking for how to tell the FormComponentFeedbackBorder to render itself.. ++ ZedroS, digging in ! On 3/28/07, ZedroS Schwart [EMAIL PROTECTED] wrote: Hi I'm playing with Ajax and Wicket, which is quite fun, but I've an issue with AjaxSubmitButton and FormComponentFeedbackBorder. I guess I should use target.addComponent(Component) ; to declare in my AjaxSubmitButton that I want the feedback border to be updated. However, I'm using a CommonForm which is inherited in my page, to add some specific elements. Thus, if I put my AjaxSubmitButton in my page, I don't have any reference to the feedbackborder. If I put my AjaxSubmitButton in the inherited form itself, then I've to give a reference to my feedbackpanel (passing it to the form and then the AjaxSubmitButton ) and one reference for each feedbackborder (passing each to the AjaxSubmitButton). This end up being quite verbose and annoying, so I wonder whether there is a better, like calling directly my form onSubmit and let it deal directly with the feedbackborder... I hope I'm clear enough for you to help me, if not just let me know. Thanks in advance ZedroS - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV ___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user
Re: [Wicket-user] getting form field value from AutoCompleteTextField
I think I found one solution, what I did was to add the normal textfield an AjaxFormComponentUpdatingBehavior associated to the onchange event. In the code of onUpdate() I add an AttributeModifier that replaces the value of the value attribute, then I replace the textfield in the form and use target.addComponent(form, form) to replace the form in the page, so when the autocomplete textfield receives input the getElementById() can get the value. At least is working, any comments are welcome. Jaime. Jaime De La Jara [EMAIL PROTECTED] wrote: I'm not sure if I fully understand it, but maybe if the first textfield sent its value and a serverside reference hold it until the autocomplete field received the input and used this value?. Jaime. Igor Vaynberg [EMAIL PROTECTED] wrote: hmmm it doesnt work because the url is cached by the autocomplete script. we need to think of another way. -igor On 3/27/07, Jaime De La Jara [EMAIL PROTECTED] wrote:Ok, I understand, now I'm including a striped down code version of the problem. It contains an ant build file whose directory definition should be changed, but apart from that I think it could run without trouble, I haven't included style file so the autocomplete box is transparent but it's working. If you take a look at the VendorsAutocompleteBehaviour.java file, you'll see how the parameter is being recovered using document.getElementById. Thanks, Jaime. Igor Vaynberg [EMAIL PROTECTED] wrote: the reason i wanted a quickstart is so that i can see the problem in runtime. what you have sent over does not compile when i drop it into quickstart as it contains your app-specific classes/daos/validators which you have not included. -igor On 3/26/07, Jaime De La Jara [EMAIL PROTECTED] wrote: Ok, here it goes, though it's not complete quickstart, maybe it can help to show the context. The zip contains the page ( index.html, Index.java) and the autocomplete field and behaviour. Hope it can help to find what's going on. Thanks again, Jaime. Igor Vaynberg [EMAIL PROTECTED] wrote: if you feel like creating a quickstart i can take a look at that -igor On 3/26/07, Jaime De La Jara[EMAIL PROTECTED] wrote:No, it has one (returned by getMarkupId() and generated by setOutputMarkup(true)). This is the generated html : input value= maxlength=16 type=text class=tipo size=12 name=numero id=numero script document.getElementById('numero').focus();/script The strange thing is that if I set the value of the field in the model so the page loads with the normal field populated, then the code works returning the value I set in the page (in Java). It seems that the javascript is not getting the input typed in the field. Igor Vaynberg [EMAIL PROTECTED] wrote: your textfield doesnt have an id attribute defined, so docuement.getelemetnbyid is not finding it -igor On 3/26/07, Jaime De La Jara[EMAIL PROTECTED] wrote: Sorry in the last post I had a type instead of limiter=1415 it should be numFact=1415, I'm using numFact as the request variable. Jaime De La Jara [EMAIL PROTECTED] wrote: Igor, unfortunely I haven't been able to use the solution proposed. I copied and pasted the code for the getCallbackUrl method but it had a minor typo, but after I corrected and reloaded the page with the autocomplete field the browser (IE) throws a javascript error. The following works (using a hard code value) : return super.getCallbackUrl () + limiter=1415; but If I use this : return super.getCallbackUrl () + ' + 'numeroFact=' + document.getElementById('numero').value + '; or return super.getCallbackUrl() + numeroFact=' + document.getElementById(\numero\).value + '; I get an when getting the parameter from the request. The code generated in the page is the following : new Wicket.AutoComplete('indexForm_proveedores', '/adm-facturas/app?wicket:interface=:4:indexForm:proveedores:-1:IUnversionedBehaviorListenerwicket:behaviorId=1wicket:ignoreIfNotActive=truelimiter=' + document.getElementById('numero').value + ''); It seems the retrieval of the field is returning null !. The field is defined as follows in the page : input wicket:id=numero type=text class=tipo size=12 and in the Java code : add(new TextField(numero) { public String getMarkupId() { return numero; } }.add(new NumeroFacturaValidador()). add(StringValidator.maximumLength(12)). setOutputMarkupId(true).add(new FieldFocusBehavior())); I don't know what I'm doing wrong, any help would be greatly appreciated. Jaime. Jaime De La Jara [EMAIL PROTECTED] wrote: Absolutely !, thanks a lot Igor, I'll try it right now. I agree that is an uncommon use case and it doesn't deserve an api change and a custom solution is
Re: [Wicket-user] Ajax component replaceWith and browser back-button problems
Peter, are you using 1.x? this can be caused by ajax requests being non-versioned in 1.2. In 1.x, the changes should be merged to latest version. On 3/28/07, Igor Vaynberg [EMAIL PROTECTED] wrote: matej didnt you fix this in 1.x svn? -igor On 3/28/07, Peter Thomas [EMAIL PROTECTED] wrote: Hi, I have a panel A that is replaced by another panel B over Ajax using Component.replaceWith (). Panel B contains a few Links. Say I navigate to this Page and trigger the event that causes panel B to replace Panel A. Then I click one of the Link(s) within Panel B that brings up another page. Now when I use the browser back button I see the first Page where B is visible as expected. But now when I click on another Link within B - it causes a Wicket runtime exception: component [...] not found on page [...] Everywhere else across the app, browser back-button works beautifully. Is this problem to be expected if you have links within an area on a page refreshed using Ajax and then you use the browser back button to try other links in that area? Thanks, Peter. - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV ___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV ___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV ___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user
Re: [Wicket-user] AjaxFormComponentUpdatingBehavior for multiple elements?
you should be able to write your own behavior that does what you want easily. just look at how formcomponentupdating one works. -igor On 3/28/07, ChuckDeal [EMAIL PROTECTED] wrote: Is there a way to store the value of multiple form components using AjaxFormComponentUpdatingBehavior? Is there already a behavior that does this? I have used the AjaxFormSubmitBehavior in another part of my app and it is slllooo and wouldn't have acceptable performance for what I am trying to do. The scenario: I have a custom IAuthorizationStrategy that is data-sensitive. I register a function rather than a value for the RENDER and ENABLE actions so that the components can dynamically evaluate themselves based on the current state of the data. In order to do this, I make use of a lot of Ajax events; if a component changes, I refresh any dependent components. (ie/ field x is readonly unless field y contains true; therefore on change of field y I would refresh field x). The problem is that if I have already changed field x's value then when I refresh the field it should contain the user-entered value, not the model value (the purpose of the refresh if for re-evaluating the permissions). I also don't want to fire validations for the dependent fields, just preserve their value until the component is re-rendered. Am I approaching the problem from the right perspective? Has anyone encountered similar requirements for their app? Ideas? Thanks! Chuck -- View this message in context: http://www.nabble.com/AjaxFormComponentUpdatingBehavior-for-multiple-elements--tf3479812.html#a9711963 Sent from the Wicket - User mailing list archive at Nabble.com. - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV ___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user
[Wicket-user] Dynamically choosing images to show
How do I go about setting what image to use? I have: /images/green-check.png /images/yellow-alert.png And I want to choose which one of these to display on page creation time. I though it could be something simple like: add(new Image(image, images/green-check.png)); img wicket:id=image/ but that did really nasty things to my page. How is one supposed to do this? Jason - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user
Re: [Wicket-user] AjaxSubmitButton and FormComponentFeedbackBorder
use a visitor to visit all form component feedback borders and add them to the target. -igor On 3/28/07, ZedroS Schwart [EMAIL PROTECTED] wrote: Quick update : I've found some help here : http://www.nabble.com/FeedbackPanel%2C-Form%2C-which-component-is-caousing-feedback--tf2427268.html#a6767963 but I'm still looking for how to tell the FormComponentFeedbackBorder to render itself.. ++ ZedroS, digging in ! On 3/28/07, ZedroS Schwart [EMAIL PROTECTED] wrote: Hi I'm playing with Ajax and Wicket, which is quite fun, but I've an issue with AjaxSubmitButton and FormComponentFeedbackBorder. I guess I should use target.addComponent(Component) ; to declare in my AjaxSubmitButton that I want the feedback border to be updated. However, I'm using a CommonForm which is inherited in my page, to add some specific elements. Thus, if I put my AjaxSubmitButton in my page, I don't have any reference to the feedbackborder. If I put my AjaxSubmitButton in the inherited form itself, then I've to give a reference to my feedbackpanel (passing it to the form and then the AjaxSubmitButton ) and one reference for each feedbackborder (passing each to the AjaxSubmitButton). This end up being quite verbose and annoying, so I wonder whether there is a better, like calling directly my form onSubmit and let it deal directly with the feedbackborder... I hope I'm clear enough for you to help me, if not just let me know. Thanks in advance ZedroS - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV ___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user
Re: [Wicket-user] check box questions how to I associate an object with a boolean seletion from a checkbox component
so this would associate my object with a checkbox? how do i place the select objects in a collection from there? -B svenmeier wrote: I'm not sure I fully understand what you're trying to do, but CheckGroup/Check components are a nice solution for managing the selection of multiple objects. No need to introduce a boolean property in your domain objects. Please take a look at FormInput.java from wicket examples: CheckGroup checks = new CheckGroup(numbersCheckGroup); add(checks); ListView checksList = new ListView(numbers, NUMBERS) { protected void populateItem(ListItem item) { item.add(new Check(check, item.getModel())); item.add(new Label(number, item.getModelObjectAsString())); }; }; checks.add(checksList); I don't understand that last post can you re phrase please.. -B svenmeier wrote: Could it be that you slipped our CheckGroup/Check components? Cannot get simpler than that. Sven - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV ___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user -- View this message in context: http://www.nabble.com/check-box-questions-how-to-I-associate-an-object-with-a-boolean-seletion-from-a-checkbox-component-tf3469311.html#a9716119 Sent from the Wicket - User mailing list archive at Nabble.com. - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV ___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user
Re: [Wicket-user] Dynamically choosing images to show
search the list for StaticImage -igor On 3/28/07, Jason Roelofs [EMAIL PROTECTED] wrote: How do I go about setting what image to use? I have: /images/green-check.png /images/yellow-alert.png And I want to choose which one of these to display on page creation time. I though it could be something simple like: add(new Image(image, images/green-check.png)); img wicket:id=image/ but that did really nasty things to my page. How is one supposed to do this? Jason - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV ___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user
Re: [Wicket-user] Dynamically choosing images to show
Hmm, thanks, that does help, but the resulting output does not get processed by Wicket's rendering engine like other img tags. This means that while the image tags I manually write out end up saying img src=/app/images/green-check.png/ the output from StaticImage ends up being img src=images/green-check.png/ What can I call or do to fix this (find the app context path, for example?). Jason On 3/28/07, Igor Vaynberg [EMAIL PROTECTED] wrote: search the list for StaticImage -igor On 3/28/07, Jason Roelofs [EMAIL PROTECTED] wrote: How do I go about setting what image to use? I have: /images/green-check.png /images/yellow-alert.png And I want to choose which one of these to display on page creation time. I though it could be something simple like: add(new Image(image, images/green-check.png)); img wicket:id=image/ but that did really nasty things to my page. How is one supposed to do this? Jason - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user
Re: [Wicket-user] Dynamically choosing images to show
what wicket version are you using? -igor On 3/28/07, Jason Roelofs [EMAIL PROTECTED] wrote: Hmm, thanks, that does help, but the resulting output does not get processed by Wicket's rendering engine like other img tags. This means that while the image tags I manually write out end up saying img src=/app/images/green-check.png/ the output from StaticImage ends up being img src=images/green-check.png/ What can I call or do to fix this (find the app context path, for example?). Jason On 3/28/07, Igor Vaynberg [EMAIL PROTECTED] wrote: search the list for StaticImage -igor On 3/28/07, Jason Roelofs [EMAIL PROTECTED] wrote: How do I go about setting what image to use? I have: /images/green-check.png /images/yellow-alert.png And I want to choose which one of these to display on page creation time. I though it could be something simple like: add(new Image(image, images/green-check.png)); img wicket:id=image/ but that did really nasty things to my page. How is one supposed to do this? Jason - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV ___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user
Re: [Wicket-user] Storing markup in directory separarte from web app
Wow, that's even for version 1.0. :) I guess we should have just one page, explaining 1.3 and as a note mentioning the difference for 1.2. I think we can ditch anything pre 1.2 Eelco On 3/28/07, Gwyn Evans [EMAIL PROTECTED] wrote: Which repoints readers to http://cwiki.apache.org/WICKET/control-where-html-files-are-loaded-from.html Got a minute to do a quick comment on the two of them? /Gwyn On 28/03/07, Eelco Hillenius [EMAIL PROTECTED] wrote: http://cwiki.apache.org/WICKET/custom-resource-paths.html Eelco On 3/28/07, Chris Colman [EMAIL PROTECTED] wrote: Is it possible to store the HTML markup in a separate directory that is not part of the web app or web server directory structure? If necessary I could mimic the classpath in the separate directory so the HTMLs are stored in similarly named directories to their corresponding Java classes. I've looked around the website but can't find any hints as to how to do this. If it is possible how do you do it? - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV ___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV ___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user -- Download Wicket 1.2.5 now! - http://wicketframework.org - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV ___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV ___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user
Re: [Wicket-user] Dynamically choosing images to show
Wicket 1.3, pulled from the apache incubator. Jason On 3/28/07, Igor Vaynberg [EMAIL PROTECTED] wrote: what wicket version are you using? -igor On 3/28/07, Jason Roelofs [EMAIL PROTECTED] wrote: Hmm, thanks, that does help, but the resulting output does not get processed by Wicket's rendering engine like other img tags. This means that while the image tags I manually write out end up saying img src=/app/images/green-check.png/ the output from StaticImage ends up being img src=images/green-check.png/ What can I call or do to fix this (find the app context path, for example?). Jason On 3/28/07, Igor Vaynberg [EMAIL PROTECTED] wrote: search the list for StaticImage -igor On 3/28/07, Jason Roelofs [EMAIL PROTECTED] wrote: How do I go about setting what image to use? I have: /images/green-check.png /images/yellow-alert.png And I want to choose which one of these to display on page creation time. I though it could be something simple like: add(new Image(image, images/green-check.png)); img wicket:id=image/ but that did really nasty things to my page. How is one supposed to do this? Jason - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV ___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV ___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user
Re: [Wicket-user] Dynamically choosing images to show
wicket 1.3 uses relative urls. we are working on building context-path support for this right now. should be done sometime this week. then all you will have to do is add(new ContextImage(img, images/foo.gif)); and wicket will build the proper path from anywhere, even if the page is mounted. watch this issue [1] for progress [1] https://issues.apache.org/jira/browse/WICKET-390 -igor On 3/28/07, Jason Roelofs [EMAIL PROTECTED] wrote: Wicket 1.3, pulled from the apache incubator. Jason On 3/28/07, Igor Vaynberg [EMAIL PROTECTED] wrote: what wicket version are you using? -igor On 3/28/07, Jason Roelofs [EMAIL PROTECTED] wrote: Hmm, thanks, that does help, but the resulting output does not get processed by Wicket's rendering engine like other img tags. This means that while the image tags I manually write out end up saying img src=/app/images/green-check.png/ the output from StaticImage ends up being img src=images/green-check.png/ What can I call or do to fix this (find the app context path, for example?). Jason On 3/28/07, Igor Vaynberg [EMAIL PROTECTED] wrote: search the list for StaticImage -igor On 3/28/07, Jason Roelofs [EMAIL PROTECTED] wrote: How do I go about setting what image to use? I have: /images/green-check.png /images/yellow-alert.png And I want to choose which one of these to display on page creation time. I though it could be something simple like: add(new Image(image, images/green-check.png)); img wicket:id=image/ but that did really nasty things to my page. How is one supposed to do this? Jason - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV ___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV ___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV ___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user
Re: [Wicket-user] Storing markup in directory separarte from web app
there is also an example in wicket-examples -igor On 3/28/07, Eelco Hillenius [EMAIL PROTECTED] wrote: Wow, that's even for version 1.0. :) I guess we should have just one page, explaining 1.3 and as a note mentioning the difference for 1.2. I think we can ditch anything pre 1.2 Eelco On 3/28/07, Gwyn Evans [EMAIL PROTECTED] wrote: Which repoints readers to http://cwiki.apache.org/WICKET/control-where-html-files-are-loaded-from.html Got a minute to do a quick comment on the two of them? /Gwyn On 28/03/07, Eelco Hillenius [EMAIL PROTECTED] wrote: http://cwiki.apache.org/WICKET/custom-resource-paths.html Eelco On 3/28/07, Chris Colman [EMAIL PROTECTED] wrote: Is it possible to store the HTML markup in a separate directory that is not part of the web app or web server directory structure? If necessary I could mimic the classpath in the separate directory so the HTMLs are stored in similarly named directories to their corresponding Java classes. I've looked around the website but can't find any hints as to how to do this. If it is possible how do you do it? - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV ___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV ___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user -- Download Wicket 1.2.5 now! - http://wicketframework.org - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV ___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV ___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user
Re: [Wicket-user] Variable Interpolation within the HTML
Are you using mvn to build? I changed the wicket dependency in the WICKET_1_2 branch from SNAPSHOT to 1.2.5, so maybe this will help you. Let me know if it doesn't. best, jim On 3/27/07, Andrew Berman [EMAIL PROTECTED] wrote: Can this only be built against version 1.3 of Wicket? I'm unable to build it against 1.2.5 I also checked out the code form https://svn.sourceforge.net/svnroot/wicket-stuff/branches/WICKET_1_2/wicket-contrib-velocity/ and couldn't get it to build either. How do I get this to work? Thanks. On 3/20/07, Andrew Berman [EMAIL PROTECTED] wrote: Cool, thanks guys, I'll check both options out. On 3/20/07, Eelco Hillenius [EMAIL PROTECTED] wrote: Alternatively, you could use post processing filters for that. Can't remember the exact name from the top of my head. Eelco On 3/20/07, James McLaughlin [EMAIL PROTECTED] wrote: On 3/20/07, Andrew Berman [EMAIL PROTECTED] wrote: I have a use case where the text of the a page can change depending on the skin that is selected. There is some dynamic text in the original text, such as website name, which also changes depending on skin. However, currently I have added a fixed number of Label objects to deal with the website name, but this doesn't really work because the text of the page might need more instances of the website name. I can't dynamically add more Label objects, so I was wondering how I could do something like Velocity where I can put ${websiteName} in the HTML for a page or panel, set the variable in the page, and have it rendered properly. I saw that Wicket includes MapVariableInterpolator but how do I do it with the HTML for the page? I don't want to specify a filename because the filename is dependent on the style/skin. wicket-contrib-velocity provides exactly what you want you can get it here with subversion: https://svn.sourceforge.net/svnroot/wicket-stuff/branches/wicket-1.3/wicket-contrib-velocity - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV ___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV ___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV ___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV ___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user
Re: [Wicket-user] check box questions how to I associate an object with a boolean seletion from a checkbox component
CheckGroup selectedPensCheckGroup = new CheckGroup(selectedPens, selectedPensModel); add(selectedPensCheckGroup); ListView pensList = new ListView(pens, pensModel) { protected void populateItem(ListItem item) { item.add(new Check(check, item.getModel())); // assuming pen has a nice toString() item.add(new Label(pen, item.getModel())); }; }; selectedPensCheckGroup.add(pensList); Now you have one check component for each available pen and all selected pens will be contained in selectedPensModel. For the models there are many possibilities: AbstractReadOnlyModel, PropertyModel, ... Sven GS-ikiini wrote: so this would associate my object with a checkbox? how do i place the select objects in a collection from there? -B svenmeier wrote: I'm not sure I fully understand what you're trying to do, but CheckGroup/Check components are a nice solution for managing the selection of multiple objects. No need to introduce a boolean property in your domain objects. Please take a look at FormInput.java from wicket examples: CheckGroup checks = new CheckGroup(numbersCheckGroup); add(checks); ListView checksList = new ListView(numbers, NUMBERS) { protected void populateItem(ListItem item) { item.add(new Check(check, item.getModel())); item.add(new Label(number, item.getModelObjectAsString())); }; }; checks.add(checksList); I don't understand that last post can you re phrase please.. -B svenmeier wrote: Could it be that you slipped our CheckGroup/Check components? Cannot get simpler than that. Sven - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV ___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV ___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user
Re: [Wicket-user] check box questions how to I associate an object with a boolean seletion from a checkbox component
thank you...I just figured it out..with help from the IRC -B svenmeier wrote: CheckGroup selectedPensCheckGroup = new CheckGroup(selectedPens, selectedPensModel); add(selectedPensCheckGroup); ListView pensList = new ListView(pens, pensModel) { protected void populateItem(ListItem item) { item.add(new Check(check, item.getModel())); // assuming pen has a nice toString() item.add(new Label(pen, item.getModel())); }; }; selectedPensCheckGroup.add(pensList); Now you have one check component for each available pen and all selected pens will be contained in selectedPensModel. For the models there are many possibilities: AbstractReadOnlyModel, PropertyModel, ... Sven GS-ikiini wrote: so this would associate my object with a checkbox? how do i place the select objects in a collection from there? -B svenmeier wrote: I'm not sure I fully understand what you're trying to do, but CheckGroup/Check components are a nice solution for managing the selection of multiple objects. No need to introduce a boolean property in your domain objects. Please take a look at FormInput.java from wicket examples: CheckGroup checks = new CheckGroup(numbersCheckGroup); add(checks); ListView checksList = new ListView(numbers, NUMBERS) { protected void populateItem(ListItem item) { item.add(new Check(check, item.getModel())); item.add(new Label(number, item.getModelObjectAsString())); }; }; checks.add(checksList); I don't understand that last post can you re phrase please.. -B svenmeier wrote: Could it be that you slipped our CheckGroup/Check components? Cannot get simpler than that. Sven - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV ___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV ___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user -- View this message in context: http://www.nabble.com/check-box-questions-how-to-I-associate-an-object-with-a-boolean-seletion-from-a-checkbox-component-tf3469311.html#a9722173 Sent from the Wicket - User mailing list archive at Nabble.com. - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV ___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user
Re: [Wicket-user] Lifecycle issue with getVariation
there is a reason why some of the stuff is done where it is. now, I believe that with the minor change that I have made everything is still being done in the exact same order so there should be no consequences of this change. It's just that all the stuff done in commonInit is now being slightly deferred so that it uses completely constructed objects instead of partially constructed objects - that can't be a bad thing can it? I've certainly had no trouble with my page creation and usage with this change - in fact things that I couldn't get to work before now work perfectly! Source changes: I've taken a more inclusive, simpler approach that changes RequestCycle and BookmarkablePageRequestTarget instead of changing the DefaultPageFactory. This means absolutely no explicit calling of the commonInit method by users. I had to change 3 pages in the test cases so that they do their init in commonInit instead of the constructor and all test cases now succeed. I can make available a copy of my modified 1.2.5 source with all changes clearly marked if any one is interested. Java is interesting in that virtual methods appear to 'semi' work on partially constructed objects (which can make you think everything is fine). C++ on the other hand did not allow the virtual function mechanism to work properly until objects were completely constructed. So prior to constructor completion, for non abstract methods, C++ just calls the current class' method instead of the most derived class' method and, for abstract methods, it could result in the strange but extremely useful 'call of pure virtual (abstract) function' error. When you got that error you knew you were dancing with the devil. I think Java lets you keep on dancing... im not sure there is a reason for the markup loading for bodcontainer, we might be able to do that lazily when getbodycontainer() is called. Other frameworks (eg,. Echo2) handle this partial construction problem by automatically calling an init method on the class whenever you add it to the system after instantiation. The user doesn't need to (and shouldn't) explicitly call init() as it's done for them. They can even override init() if they want to but must first call super.init() prior to doing any of their own initialization work. In fact this is the exact pattern of initialization that you have implemented for wicket's WebApplication. It seems to make sense to me that the same pattern would apply to WebPage. juergen are you reading with us? -igor - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV ___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user
Re: [Wicket-user] Variable Interpolation within the HTML
Awesome, builds now. Thanks, Andrew On 3/28/07, James McLaughlin [EMAIL PROTECTED] wrote: Are you using mvn to build? I changed the wicket dependency in the WICKET_1_2 branch from SNAPSHOT to 1.2.5, so maybe this will help you. Let me know if it doesn't. best, jim On 3/27/07, Andrew Berman [EMAIL PROTECTED] wrote: Can this only be built against version 1.3 of Wicket? I'm unable to build it against 1.2.5 I also checked out the code form https://svn.sourceforge.net/svnroot/wicket-stuff/branches/WICKET_1_2/wicket-contrib-velocity/ and couldn't get it to build either. How do I get this to work? Thanks. On 3/20/07, Andrew Berman [EMAIL PROTECTED] wrote: Cool, thanks guys, I'll check both options out. On 3/20/07, Eelco Hillenius [EMAIL PROTECTED] wrote: Alternatively, you could use post processing filters for that. Can't remember the exact name from the top of my head. Eelco On 3/20/07, James McLaughlin [EMAIL PROTECTED] wrote: On 3/20/07, Andrew Berman [EMAIL PROTECTED] wrote: I have a use case where the text of the a page can change depending on the skin that is selected. There is some dynamic text in the original text, such as website name, which also changes depending on skin. However, currently I have added a fixed number of Label objects to deal with the website name, but this doesn't really work because the text of the page might need more instances of the website name. I can't dynamically add more Label objects, so I was wondering how I could do something like Velocity where I can put ${websiteName} in the HTML for a page or panel, set the variable in the page, and have it rendered properly. I saw that Wicket includes MapVariableInterpolator but how do I do it with the HTML for the page? I don't want to specify a filename because the filename is dependent on the style/skin. wicket-contrib-velocity provides exactly what you want you can get it here with subversion: https://svn.sourceforge.net/svnroot/wicket-stuff/branches/wicket-1.3/wicket-contrib-velocity - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV ___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV ___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV ___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV ___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user
Re: [Wicket-user] Lifecycle issue with getVariation
On 3/28/07, Chris Colman [EMAIL PROTECTED] wrote: there is a reason why some of the stuff is done where it is. now, I believe that with the minor change that I have made everything is still being done in the exact same order so there should be no consequences of this change. It's just that all the stuff done in commonInit is now being slightly deferred so that it uses completely constructed objects instead of partially constructed objects - that can't be a bad thing can it? introducing a required post-construct init method is hardly a minor change. while this works well for you because you mostly use bookmarkable pages it wont hold for normal apps where bookmarkable pages are a minority. and there are in fact consequences to your change. i can no longer do getBodyContainer().addOnLoadModifier(...) from the constructor of my page. so where am i to do it now? i need to use that post-construct callback, so now there are two places where i need to initialize my component - hardly simple still. Source changes: I've taken a more inclusive, simpler approach that changes RequestCycle and BookmarkablePageRequestTarget instead of changing the DefaultPageFactory. This means absolutely no explicit calling of the commonInit method by users. I had to change 3 pages in the test cases so that they do their init in commonInit instead of the constructor and all test cases now succeed. have you also changed all other page-related request targets as well? have you built safeguards to make sure this method is atomic? the fact that you had to call this method manually in tests is proof enough for me that what you propose does not work well. Java is interesting in that virtual methods appear to 'semi' work on partially constructed objects (which can make you think everything is fine). C++ on the other hand did not allow the virtual function mechanism to work properly until objects were completely constructed. So prior to constructor completion, for non abstract methods, C++ just calls the current class' method instead of the most derived class' method and, for abstract methods, it could result in the strange but extremely useful 'call of pure virtual (abstract) function' error. When you got that error you knew you were dancing with the devil. I think Java lets you keep on dancing... yes, we are all aware of the fact that it is not a good idea to call overloaded methods from the parent's constructor. like i said, the problem is that getvariation() is called as a side effect of something done in the commoninit method - and that is what needs to be fixed. there shouldnt be a reason why we need to call getvariation()/load markup at construction time. Other frameworks (eg,. Echo2) handle this partial construction problem by automatically calling an init method on the class whenever you add it to the system after instantiation. The user doesn't need to (and shouldn't) explicitly call init() as it's done for them. They can even override init() if they want to but must first call super.init() prior to doing any of their own initialization work. yes, but in wicket we prefer constructors. they are in java for a reason :) i dont know about echo2 but in wicket components are not beans. In fact this is the exact pattern of initialization that you have implemented for wicket's WebApplication. It seems to make sense to me that the same pattern would apply to WebPage. webapplication is a managed class, so there we didnt really have a choice. webapplication also does not implement the compound pattern where such a call has to be cascaded. in short, webapplication and webpage (which is a component) are very different. other devs feel free to weigh in. i will create a jira issue for this so we can track it and think about possible solutions. -igor - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user
Re: [Wicket-user] Lifecycle issue with getVariation
https://issues.apache.org/jira/browse/WICKET-432 -igor On 3/28/07, Igor Vaynberg [EMAIL PROTECTED] wrote: On 3/28/07, Chris Colman [EMAIL PROTECTED] wrote: there is a reason why some of the stuff is done where it is. now, I believe that with the minor change that I have made everything is still being done in the exact same order so there should be no consequences of this change. It's just that all the stuff done in commonInit is now being slightly deferred so that it uses completely constructed objects instead of partially constructed objects - that can't be a bad thing can it? introducing a required post-construct init method is hardly a minor change. while this works well for you because you mostly use bookmarkable pages it wont hold for normal apps where bookmarkable pages are a minority. and there are in fact consequences to your change. i can no longer do getBodyContainer().addOnLoadModifier(...) from the constructor of my page. so where am i to do it now? i need to use that post-construct callback, so now there are two places where i need to initialize my component - hardly simple still. Source changes: I've taken a more inclusive, simpler approach that changes RequestCycle and BookmarkablePageRequestTarget instead of changing the DefaultPageFactory. This means absolutely no explicit calling of the commonInit method by users. I had to change 3 pages in the test cases so that they do their init in commonInit instead of the constructor and all test cases now succeed. have you also changed all other page-related request targets as well? have you built safeguards to make sure this method is atomic? the fact that you had to call this method manually in tests is proof enough for me that what you propose does not work well. Java is interesting in that virtual methods appear to 'semi' work on partially constructed objects (which can make you think everything is fine). C++ on the other hand did not allow the virtual function mechanism to work properly until objects were completely constructed. So prior to constructor completion, for non abstract methods, C++ just calls the current class' method instead of the most derived class' method and, for abstract methods, it could result in the strange but extremely useful 'call of pure virtual (abstract) function' error. When you got that error you knew you were dancing with the devil. I think Java lets you keep on dancing... yes, we are all aware of the fact that it is not a good idea to call overloaded methods from the parent's constructor. like i said, the problem is that getvariation() is called as a side effect of something done in the commoninit method - and that is what needs to be fixed. there shouldnt be a reason why we need to call getvariation()/load markup at construction time. Other frameworks (eg,. Echo2) handle this partial construction problem by automatically calling an init method on the class whenever you add it to the system after instantiation. The user doesn't need to (and shouldn't) explicitly call init() as it's done for them. They can even override init() if they want to but must first call super.init() prior to doing any of their own initialization work. yes, but in wicket we prefer constructors. they are in java for a reason :) i dont know about echo2 but in wicket components are not beans. In fact this is the exact pattern of initialization that you have implemented for wicket's WebApplication. It seems to make sense to me that the same pattern would apply to WebPage. webapplication is a managed class, so there we didnt really have a choice. webapplication also does not implement the compound pattern where such a call has to be cascaded. in short, webapplication and webpage (which is a component) are very different. other devs feel free to weigh in. i will create a jira issue for this so we can track it and think about possible solutions. -igor - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user
Re: [Wicket-user] Lifecycle issue with getVariation
i'm not sure what i think about this yet. can you show us the exact code modifications and use cases you have coded up? (boiled down to the important parts, if possible) also, it would be good if you could explain how this solves any problems other than getVariation(). Chris Colman wrote: Just looking at the source code for WebPage it looks like a very minor change to achieve a more flexible lifecycle initialization phase. All the WebPage constructors call private void commonInit() As you will no doubt understand this is being called before construction/instantiation has properly completed - which has serious consequences if any methods are called that rely on constructor initialization that has not yet occurred (eg., getVariation that returns a variation based on the constructor's parameter values). I think the following changes would fix this problem and allow getVariation() to work properly when it's implementation relies on parameters passed into the constructor: 1. Remove all calls to commonInit() from the WebPage constructors. 2. Make commonInit public 3. Change the DefaultPageFactory to explicitly call commonInit on any new page that it instantiates. These changes, to my thinking, are quite simple with low to no ripple effect and they allow wicket users to avoid entry into the 'world of pain' that is 'partially constructed objects'. - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV ___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user -- View this message in context: http://www.nabble.com/Lifecycle-issue-with-getVariation-tf3476789.html#a9724558 Sent from the Wicket - User mailing list archive at Nabble.com. - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV ___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user
[Wicket-user] Storing markup in directory separarte from web app
there is also an example in wicket-examples -igor On 3/28/07, Eelco Hillenius [EMAIL PROTECTED] wrote: Wow, that's even for version 1.0. :) I guess we should have just one page, explaining 1.3 and as a note mentioning the difference for 1.2. I think we can ditch anything pre 1.2 Eelco I have just followed the 1.2 example and it works really well. I was envisaging a problem with caching and pages not reflecting changes that I make to the markup but that doesn't happen - it all works perfectly. Thanks again, Chris - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV ___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user
Re: [Wicket-user] Lifecycle issue with getVariation
i'm not sure what i think about this yet. can you show us the exact code modifications and use cases you have coded up? (boiled down to the important parts, if possible) Ok, here's the changed bits you requested. Only 3 Java classes need minor changes in the framework: [I added the deferred init to WebPage but a more simpler approach is to add the auto init mechanism to Page to avoid the need for casting. Option: You could make the mechanism switchable via an application setting so that existing code and test cases work in the same way as they do now] RequestCycle.java public final void setResponsePage(final Page page) { // CJC 20070329 - added to auto init WebPages to allow // getVariation to work properly if ( page instanceof WebPage ) { WebPage webPage = (WebPage)page; if ( !webPage.isInitialized() ) webPage.commonInit(); } IRequestTarget target = new PageRequestTarget(page); setRequestTarget(target); } WebPage.java // CJC 20070329 - defer commonInit till after complete construction /** true when the page has been initialized */ private boolean initialized = false; /** * Returns the initialization state. This is used by other parts of * the framework that will automatically call commonInit on * uninitialized pages */ public boolean isInitialized() { return initialized; } public void commonInit() { // CJC 20070329 - defer commonInit till after // complete construction initialized = true; ... } +remove the commonInit calls from WebPage constructors BookmarkablePageRequestTarget.java private final Page getPage(RequestCycle requestCycle) { if (page == null pageClass != null !requestCycle.getRedirect()) { page = newPage(pageClass, requestCycle); // CJC 20070329 - added to auto init WebPages to allow // getVariation to work properly if ( page instanceof WebPage ) { WebPage webPage = (WebPage)page; if ( !webPage.isInitialized() ) webPage.commonInit(); } } return page; } In terms of use cases they're basically our own app plus all the wicket test cases. Three test cases required initialization to be performed in an overridden commonInit instead of the constructor to work - which is standard for most OO frameworks of any kind, not just UI frameworks (MFC::createWindow, OWL::SetupWindow) - you just don't want to be playing with partially constructed objects. also, it would be good if you could explain how this solves any problems other than getVariation(). getVariation is the biggy at the moment for me but I'm sure as more users adopt wicket they'll come up with similar scenarios that highlight this problem. It's feasible to come up with scenarios that don't even involve framework features but rather, a user's own WebPage derived class hierarchy. This example will cause problems doing initialization in the constructors: class BasePage { public BasePage(params) { addTitleComponent(); } public void addTitleComponent() { calls getTitle() to get text of the title and creates a Label } public abstract String getTitle(); } class MyPage extends BasePage { String title = null; public MyPage(params) { title = use params to lookup a particular object in database andget its name } // !! this gets called before the constructor has initialized title !! public String getTitle() { return title; } } I trust that's informative enough to help you guys make a good decision on how to deal with this but if you need anything else please let me know. - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV ___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user
Re: [Wicket-user] Lifecycle issue with getVariation
On 3/28/07, Chris Colman [EMAIL PROTECTED] wrote: i am against this because i do not think the value it brings is worth the complexity it adds. you can persuade me by coming up with examples that actually demonstrate the advantage. it is common practice in wicket to use imodel to deffer lookup of values until render-time, so your usecase below is trivial to fix. class BasePage { public BasePage(params) { addTitleComponent(); } public void addTitleComponent() { add(new Label(title, new PropertyModel(this, title)); } public abstract String getTitle(); } class MyPage extends BasePage { String title = null; public MyPage(params) { title = use params to lookup a particular object in database andget its name } // !! this gets called before the constructor has initialized title !! // no it doesnt, it will be called at render time public String getTitle() { return title; } } -igor - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user
Re: [Wicket-user] Lifecycle issue with getVariation
I believe that with the minor change that I have made everything is still being done in the exact same order so there should be no consequences of this change. It's just that all the stuff done in commonInit is now being slightly deferred so that it uses completely constructed objects instead of partially constructed objects - that can't be a bad thing can it? introducing a required post-construct init method is hardly a minor change. while this works well for you because you mostly use bookmarkable pages it wont hold for normal apps where bookmarkable pages are a minority. You can easily make it a switchable option in the application settings and default to the traditional 'possibly get weird crash because you're working on a partially constructed object' mode then everyone's existing code will continue to work as is. Other people, who like their objects fully constructed before using them so that they can successfully use polymorphism in their page classes during initialization, can switch to 'two phase initialization' mode. and there are in fact consequences to your change. i can no longer do getBodyContainer().addOnLoadModifier(...) from the constructor of my page. so where am i to do it now? i need to use that post-construct callback, so now there are two places where i need to initialize my component - hardly simple still. Easy if you deal with the parameters in the constructor and deal with adding children, accessing markup etc., in the overridden init (or commonInit) method. In cases where people have a number of constructors they normally create their own separate init method anyway to avoid code duplication so it's not that bad. For me I'd be happy to have getVariation working properly right now but I'm just trying to do something here for the greater good of the wicket community and the children of the future that come to wicket (...children are our future, teach them right and let them know the way... but I digress) Seriously thought: there's going to be other cases of partially constructed objects causing problems as more and more people use wicket. Better to fix it properly now than wait until it's too late to fix it. Source changes: I've taken a more inclusive, simpler approach that changes RequestCycle and BookmarkablePageRequestTarget instead of changing the DefaultPageFactory. This means absolutely no explicit calling of the commonInit method by users. I had to change 3 pages in the test cases so that they do their init in commonInit instead of the constructor and all test cases now succeed. have you also changed all other page-related request targets as well? have you built safeguards to make sure this method is atomic? Every unit test now runs successfully so if those scenarios are covered by the wicket test suite then I've covered them with my changes. the fact that you had to call this method manually in tests is proof enough for me that what you propose does not work well. I never had to call it manually anywhere. In a few of the tests I just overrode commonInit and did the initialization in there after calling super.commonInit(). There's even a technique to avoid needing to do that call also: WebPage.commonInit() { // do all the regular commonInit stuff ... // then call virtual init() - users override init() instead of // commonInit and they don't have to call the super class method // to ensure that the commonInit code gets executed - it already // has been executed. If their own base classes do stuff in init // then they can call super.init() if they desire but the // WebPage.init() is just an empty method and does nothing. init(); } yes, we are all aware of the fact that it is not a good idea to call overloaded methods from the parent's constructor. like i said, the problem is that getvariation() is called as a side effect of something done in the commoninit method - and that is what needs to be fixed. there shouldnt be a reason why we need to call getvariation()/load markup at construction time. No one ever deliberately calls overloaded methods from parent constructors. It always happens as an accidental side effect and will happen in the future again I'm sure - whether in using a framework feature or in a user's own WebPage derived classes. Other frameworks (eg,. Echo2) handle this partial construction problem by automatically calling an init method on the class whenever you add it to the system after instantiation. The user doesn't need to (and shouldn't) explicitly call init() as it's done for them. They can even override init() if they want to but must first call super.init() prior to doing any of their own initialization work. yes, but in wicket we prefer constructors. they are in java for a reason :) I prefer them too - but only up to the point where they stop you from using certain OO features during
Re: [Wicket-user] Lifecycle issue with getVariation
the fact remains that getvariation() call from webpage constructor is a bug we need to fix. further we already have listener methods you can use - onattach and ondetach what you want can be just as easily accomplished on every component class mypage extends webpage { private boolean initted=false; public void onattach() { super.onattach(); if (!initted) { initted=true; // perform one time initialization } } } no need for an extra method that we need to worry about calling all over the place. in fact if you want create your own page subclass that does this with a virtual init() method you can override. we already have the facilities. as far as our own code goes until we hit a brick wall i dont think we should introduce something like this, but then again this is just my opinion. -igor On 3/28/07, Chris Colman [EMAIL PROTECTED] wrote: I believe that with the minor change that I have made everything is still being done in the exact same order so there should be no consequences of this change. It's just that all the stuff done in commonInit is now being slightly deferred so that it uses completely constructed objects instead of partially constructed objects - that can't be a bad thing can it? introducing a required post-construct init method is hardly a minor change. while this works well for you because you mostly use bookmarkable pages it wont hold for normal apps where bookmarkable pages are a minority. You can easily make it a switchable option in the application settings and default to the traditional 'possibly get weird crash because you're working on a partially constructed object' mode then everyone's existing code will continue to work as is. Other people, who like their objects fully constructed before using them so that they can successfully use polymorphism in their page classes during initialization, can switch to 'two phase initialization' mode. and there are in fact consequences to your change. i can no longer do getBodyContainer().addOnLoadModifier(...) from the constructor of my page. so where am i to do it now? i need to use that post-construct callback, so now there are two places where i need to initialize my component - hardly simple still. Easy if you deal with the parameters in the constructor and deal with adding children, accessing markup etc., in the overridden init (or commonInit) method. In cases where people have a number of constructors they normally create their own separate init method anyway to avoid code duplication so it's not that bad. For me I'd be happy to have getVariation working properly right now but I'm just trying to do something here for the greater good of the wicket community and the children of the future that come to wicket (...children are our future, teach them right and let them know the way... but I digress) Seriously thought: there's going to be other cases of partially constructed objects causing problems as more and more people use wicket. Better to fix it properly now than wait until it's too late to fix it. Source changes: I've taken a more inclusive, simpler approach that changes RequestCycle and BookmarkablePageRequestTarget instead of changing the DefaultPageFactory. This means absolutely no explicit calling of the commonInit method by users. I had to change 3 pages in the test cases so that they do their init in commonInit instead of the constructor and all test cases now succeed. have you also changed all other page-related request targets as well? have you built safeguards to make sure this method is atomic? Every unit test now runs successfully so if those scenarios are covered by the wicket test suite then I've covered them with my changes. the fact that you had to call this method manually in tests is proof enough for me that what you propose does not work well. I never had to call it manually anywhere. In a few of the tests I just overrode commonInit and did the initialization in there after calling super.commonInit(). There's even a technique to avoid needing to do that call also: WebPage.commonInit() { // do all the regular commonInit stuff ... // then call virtual init() - users override init() instead of // commonInit and they don't have to call the super class method // to ensure that the commonInit code gets executed - it already // has been executed. If their own base classes do stuff in init // then they can call super.init() if they desire but the // WebPage.init() is just an empty method and does nothing. init(); } yes, we are all aware of the fact that it is not a good idea to call overloaded methods from the parent's constructor. like i said, the problem is that getvariation() is called as a side effect of something done in the commoninit method - and that is what needs to be fixed. there shouldnt be a reason why we need to call getvariation()/load markup at
Re: [Wicket-user] Storing markup in directory separarte from web app
Also take a look at wicket.examples.customresourceloading in wicket-examples. Maybe nothing you didn't know yet... but maybe :) Eelco On 3/28/07, Chris Colman [EMAIL PROTECTED] wrote: there is also an example in wicket-examples -igor On 3/28/07, Eelco Hillenius [EMAIL PROTECTED] wrote: Wow, that's even for version 1.0. :) I guess we should have just one page, explaining 1.3 and as a note mentioning the difference for 1.2. I think we can ditch anything pre 1.2 Eelco I have just followed the 1.2 example and it works really well. I was envisaging a problem with caching and pages not reflecting changes that I make to the markup but that doesn't happen - it all works perfectly. Thanks again, Chris - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV ___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV ___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user
[Wicket-user] Binding and validating domain objects
Hi all, I'm migrating a spring-mvc project to wicket. In this project domain objects are directly exposed to the ui (without DTOs in between). The objects are validated using the spring bean validation framework (part of springmodules). This module creates a unique Validator (a spring interface) from annotations given in the fields/properties of every validatable object. Then you inject this global validator to your controllers (in the case of spring-mvc) so they can validate their form/command (the bound object). The result of validation is an Errors objects, with field errors and global errors (more precisely, error codes to be resolved against a messages resource). It's pretty easy to map these errors from bean properties to wicket component ids. This should be done inside onSubmit(), once the object is bound (for example, using a CompoundPropertyModel). So, to recap: domain objects directly exposed to the ui, Validator created from annotations in validatable domain objects, domain objects bound by PropertyModels, domain objects validated by injected validator during onSubmit. Up to this point I'm pretty happy with the results, validation is almost trivial with the annotations and the valang dsl, and I like it being inside the domain instead of tied to the ui components. One problem I have due to avoiding DTOs is that most of the time I don't want to serialize my form models, because they are (often big) entities with lazy loaded associations. So in principle I would use an LoadableDetachableModel to load the entity from the repository each time the model is reattached. But suppose I'm updating a UserProfile. The first time it would be ok to populate the model from the persistent profile to be updated. But once the form is submitted there's no point in loading the profile from the repository again because its properties would be overwritten from those coming from the form anyway. So I'm tempted to subclass AbstractDetachableModel so that it loads the profile from the repository upon creation, but instantiates a brand new profile to be populated from the form upon reattachment. Is there a better pattern for this? Anyone has run into the same problem? Cheers, Carlos - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user
Re: [Wicket-user] Lifecycle issue with getVariation
the fact remains that getvariation() call from webpage constructor is a bug we need to fix. Yeah, that's my numero uno motivation at this point also. further we already have listener methods you can use - onattach and ondetach what you want can be just as easily accomplished on every component class mypage extends webpage { private boolean initted=false; public void onattach() { super.onattach(); if (!initted) { initted=true; // perform one time initialization } } } Wow, if I had used onAttach I could have made my source changes a whole lot quicker (maybe) and only limited to one class: WebApp.java private boolean initted=false; protected void init() { } private void commonInit() { ... init(); // override this to add children etc., } public void onattach() { super.onattach(); if (!initted) { initted=true; // perform one time initialization commonInit(); } } +remove calls to commonInit from WebPage constructors. - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV ___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user
Re: [Wicket-user] Lifecycle issue with getVariation
On 3/28/07, Chris Colman [EMAIL PROTECTED] wrote: Easy if you deal with the parameters in the constructor and deal with adding children, accessing markup etc., in the overridden init (or commonInit) method. In cases where people have a number of constructors they normally create their own separate init method anyway to avoid code duplication so it's not that bad. yes but the init that constructors forward to has a custom sig. what i dont like is code like this public class MyPage extends WebPage { private IModel user; private IModel role; public MyPage(IModel user, IModel role) { this.user=user; this.role=role; } public void init() { add(new ViewUserPanel(user)); add(new ViewRolePanel(role)); } // maybe not strictly necessary, but i like to detach all models that are members anyways public void onDetach() { user.detach(); role.detach(); } } instead of public class MyPage extends WebPage { public MyPage(IModel user, IModel role) { add(new ViewUserPanel(user)); add(new ViewRolePanel(role)); } } -igor - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user
Re: [Wicket-user] Ajax component replaceWith and browser back-button problems
Matej - I am using wicket-1.3-incubating-SNAPSHOT.jar dated 2007-03-12 Let me know if you need any more details. On the Page in question I had tried setVersioned with both true and false, same result. Thanks, Peter. On 3/28/07, Matej Knopp [EMAIL PROTECTED] wrote: Peter, are you using 1.x? this can be caused by ajax requests being non-versioned in 1.2. In 1.x, the changes should be merged to latest version. On 3/28/07, Igor Vaynberg [EMAIL PROTECTED] wrote: matej didnt you fix this in 1.x svn? -igor On 3/28/07, Peter Thomas [EMAIL PROTECTED] wrote: Hi, I have a panel A that is replaced by another panel B over Ajax using Component.replaceWith (). Panel B contains a few Links. Say I navigate to this Page and trigger the event that causes panel B to replace Panel A. Then I click one of the Link(s) within Panel B that brings up another page. Now when I use the browser back button I see the first Page where B is visible as expected. But now when I click on another Link within B - it causes a Wicket runtime exception: component [...] not found on page [...] Everywhere else across the app, browser back-button works beautifully. Is this problem to be expected if you have links within an area on a page refreshed using Ajax and then you use the browser back button to try other links in that area? Thanks, Peter. - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV ___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV ___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV ___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user
Re: [Wicket-user] Ajax component replaceWith and browser back-button problems
peter can you try updating to the lastest snapshot and trying again? -igor On 3/28/07, Peter Thomas [EMAIL PROTECTED] wrote: Matej - I am using wicket-1.3-incubating-SNAPSHOT.jar dated 2007-03-12 Let me know if you need any more details. On the Page in question I had tried setVersioned with both true and false, same result. Thanks, Peter. On 3/28/07, Matej Knopp [EMAIL PROTECTED] wrote: Peter, are you using 1.x? this can be caused by ajax requests being non-versioned in 1.2. In 1.x, the changes should be merged to latest version. On 3/28/07, Igor Vaynberg [EMAIL PROTECTED] wrote: matej didnt you fix this in 1.x svn? -igor On 3/28/07, Peter Thomas [EMAIL PROTECTED] wrote: Hi, I have a panel A that is replaced by another panel B over Ajax using Component.replaceWith (). Panel B contains a few Links. Say I navigate to this Page and trigger the event that causes panel B to replace Panel A. Then I click one of the Link(s) within Panel B that brings up another page. Now when I use the browser back button I see the first Page where B is visible as expected. But now when I click on another Link within B - it causes a Wicket runtime exception: component [...] not found on page [...] Everywhere else across the app, browser back-button works beautifully. Is this problem to be expected if you have links within an area on a page refreshed using Ajax and then you use the browser back button to try other links in that area? Thanks, Peter. - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV ___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV ___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV ___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV ___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user
Re: [Wicket-user] Ajax component replaceWith and browser back-button problems
Igor, I now see that there is a 1.3.0-incubating-SNAPSHOT (as opposed to 1.3-incubating-SNAPSHOT which I was using earlier). I assume this is the latest version and just switched. But Looks like wicket.markup.html.form.validation.AbstractValidator has disappeared. I don't see a mention of this at http://cwiki.apache.org/WICKET/migrate-13.html can you help? Other API changes I noted: - getObject(Component) in AbstractReadOnlyModel became getObject() - FeedBackMessage.getMessage() returns Object not String - IStringResourceLoader added one method signature loadStringResource(Component, String) Thanks, Peter. On 3/29/07, Igor Vaynberg [EMAIL PROTECTED] wrote: peter can you try updating to the lastest snapshot and trying again? -igor On 3/28/07, Peter Thomas [EMAIL PROTECTED] wrote: Matej - I am using wicket-1.3-incubating-SNAPSHOT.jar dated 2007-03-12 Let me know if you need any more details. On the Page in question I had tried setVersioned with both true and false, same result. Thanks, Peter. On 3/28/07, Matej Knopp [EMAIL PROTECTED] wrote: Peter, are you using 1.x? this can be caused by ajax requests being non-versioned in 1.2. In 1.x, the changes should be merged to latest version. On 3/28/07, Igor Vaynberg [EMAIL PROTECTED] wrote: matej didnt you fix this in 1.x svn? -igor On 3/28/07, Peter Thomas [EMAIL PROTECTED] wrote: Hi, I have a panel A that is replaced by another panel B over Ajax using Component.replaceWith (). Panel B contains a few Links. Say I navigate to this Page and trigger the event that causes panel B to replace Panel A. Then I click one of the Link(s) within Panel B that brings up another page. Now when I use the browser back button I see the first Page where B is visible as expected. But now when I click on another Link within B - it causes a Wicket runtime exception: component [...] not found on page [...] Everywhere else across the app, browser back-button works beautifully. Is this problem to be expected if you have links within an area on a page refreshed using Ajax and then you use the browser back button to try other links in that area? Thanks, Peter. - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV ___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV ___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV ___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV ___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV ___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user
Re: [Wicket-user] Ajax component replaceWith and browser back-button problems
hmm, it is briefly mentioned under Validation Changesi dont remember if we still have abstract validator or not, see the source of other alidators and if they extend something. -igor On 3/28/07, Peter Thomas [EMAIL PROTECTED] wrote: Igor, I now see that there is a 1.3.0-incubating-SNAPSHOT (as opposed to 1.3-incubating-SNAPSHOT which I was using earlier). I assume this is the latest version and just switched. But Looks like wicket.markup.html.form.validation.AbstractValidator has disappeared. I don't see a mention of this at http://cwiki.apache.org/WICKET/migrate-13.html can you help? Other API changes I noted: - getObject(Component) in AbstractReadOnlyModel became getObject() - FeedBackMessage.getMessage() returns Object not String - IStringResourceLoader added one method signature loadStringResource(Component, String) Thanks, Peter. On 3/29/07, Igor Vaynberg [EMAIL PROTECTED] wrote: peter can you try updating to the lastest snapshot and trying again? -igor On 3/28/07, Peter Thomas [EMAIL PROTECTED] wrote: Matej - I am using wicket-1.3-incubating-SNAPSHOT.jar dated 2007-03-12 Let me know if you need any more details. On the Page in question I had tried setVersioned with both true and false, same result. Thanks, Peter. On 3/28/07, Matej Knopp [EMAIL PROTECTED] wrote: Peter, are you using 1.x? this can be caused by ajax requests being non-versioned in 1.2. In 1.x, the changes should be merged to latest version. On 3/28/07, Igor Vaynberg [EMAIL PROTECTED] wrote: matej didnt you fix this in 1.x svn? -igor On 3/28/07, Peter Thomas [EMAIL PROTECTED] wrote: Hi, I have a panel A that is replaced by another panel B over Ajax using Component.replaceWith (). Panel B contains a few Links. Say I navigate to this Page and trigger the event that causes panel B to replace Panel A. Then I click one of the Link(s) within Panel B that brings up another page. Now when I use the browser back button I see the first Page where B is visible as expected. But now when I click on another Link within B - it causes a Wicket runtime exception: component [...] not found on page [...] Everywhere else across the app, browser back-button works beautifully. Is this problem to be expected if you have links within an area on a page refreshed using Ajax and then you use the browser back button to try other links in that area? Thanks, Peter. - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV ___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV ___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV ___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV ___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and
Re: [Wicket-user] Ajax component replaceWith and browser back-button problems
Ok, my bad - the documentation does mention the package change to wicket.validation.validator.AbstractValidator But the API looks a lot different, can you quickly point me to the online Javadoc corresponding to 1.3.0-incubating-SNAPSHOT - also if it is downloadable as a zip or something. Thanks, Peter. On 3/29/07, Igor Vaynberg [EMAIL PROTECTED] wrote: hmm, it is briefly mentioned under Validation Changesi dont remember if we still have abstract validator or not, see the source of other alidators and if they extend something. -igor On 3/28/07, Peter Thomas [EMAIL PROTECTED] wrote: Igor, I now see that there is a 1.3.0-incubating-SNAPSHOT (as opposed to 1.3-incubating-SNAPSHOT which I was using earlier). I assume this is the latest version and just switched. But Looks like wicket.markup.html.form.validation.AbstractValidator has disappeared. I don't see a mention of this at http://cwiki.apache.org/WICKET/migrate-13.html can you help? Other API changes I noted: - getObject(Component) in AbstractReadOnlyModel became getObject() - FeedBackMessage.getMessage() returns Object not String - IStringResourceLoader added one method signature loadStringResource(Component, String) Thanks, Peter. On 3/29/07, Igor Vaynberg [EMAIL PROTECTED] wrote: peter can you try updating to the lastest snapshot and trying again? -igor On 3/28/07, Peter Thomas [EMAIL PROTECTED] wrote: Matej - I am using wicket-1.3-incubating-SNAPSHOT.jar dated 2007-03-12 Let me know if you need any more details. On the Page in question I had tried setVersioned with both true and false, same result. Thanks, Peter. On 3/28/07, Matej Knopp [EMAIL PROTECTED] wrote: Peter, are you using 1.x? this can be caused by ajax requests being non-versioned in 1.2. In 1.x, the changes should be merged to latest version. On 3/28/07, Igor Vaynberg [EMAIL PROTECTED] wrote: matej didnt you fix this in 1.x svn? -igor On 3/28/07, Peter Thomas [EMAIL PROTECTED] wrote: Hi, I have a panel A that is replaced by another panel B over Ajax using Component.replaceWith (). Panel B contains a few Links. Say I navigate to this Page and trigger the event that causes panel B to replace Panel A. Then I click one of the Link(s) within Panel B that brings up another page. Now when I use the browser back button I see the first Page where B is visible as expected. But now when I click on another Link within B - it causes a Wicket runtime exception: component [...] not found on page [...] Everywhere else across the app, browser back-button works beautifully. Is this problem to be expected if you have links within an area on a page refreshed using Ajax and then you use the browser back button to try other links in that area? Thanks, Peter. - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV ___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV ___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV ___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the
Re: [Wicket-user] Ajax component replaceWith and browser back-button problems
http://wicketstuff.org/maven/repository/org/apache/wicket/wicket/1.3.0-incubating-SNAPSHOT/wicket-1.3.0-incubating-SNAPSHOT-javadoc.jar It would be good if someone could write a couple of scentences on how to migrate from the old to the new ones. It's not difficult, but indeed a bit different. Eelco On 3/28/07, Peter Thomas [EMAIL PROTECTED] wrote: Ok, my bad - the documentation does mention the package change to wicket.validation.validator.AbstractValidator But the API looks a lot different, can you quickly point me to the online Javadoc corresponding to 1.3.0-incubating-SNAPSHOT - also if it is downloadable as a zip or something. Thanks, Peter. On 3/29/07, Igor Vaynberg [EMAIL PROTECTED] wrote: hmm, it is briefly mentioned under Validation Changes i dont remember if we still have abstract validator or not, see the source of other alidators and if they extend something. -igor On 3/28/07, Peter Thomas [EMAIL PROTECTED] wrote: Igor, I now see that there is a 1.3.0-incubating-SNAPSHOT (as opposed to 1.3-incubating-SNAPSHOT which I was using earlier). I assume this is the latest version and just switched. But Looks like wicket.markup.html.form.validation.AbstractValidator has disappeared. I don't see a mention of this at http://cwiki.apache.org/WICKET/migrate-13.html can you help? Other API changes I noted: - getObject(Component) in AbstractReadOnlyModel became getObject() - FeedBackMessage.getMessage() returns Object not String - IStringResourceLoader added one method signature loadStringResource(Component, String) Thanks, Peter. On 3/29/07, Igor Vaynberg [EMAIL PROTECTED] wrote: peter can you try updating to the lastest snapshot and trying again? -igor On 3/28/07, Peter Thomas [EMAIL PROTECTED] wrote: Matej - I am using wicket-1.3-incubating-SNAPSHOT.jar dated 2007-03-12 Let me know if you need any more details. On the Page in question I had tried setVersioned with both true and false, same result. Thanks, Peter. On 3/28/07, Matej Knopp [EMAIL PROTECTED] wrote: Peter, are you using 1.x? this can be caused by ajax requests being non-versioned in 1.2. In 1.x, the changes should be merged to latest version. On 3/28/07, Igor Vaynberg [EMAIL PROTECTED] wrote: matej didnt you fix this in 1.x svn? -igor On 3/28/07, Peter Thomas [EMAIL PROTECTED] wrote: Hi, I have a panel A that is replaced by another panel B over Ajax using Component.replaceWith (). Panel B contains a few Links. Say I navigate to this Page and trigger the event that causes panel B to replace Panel A. Then I click one of the Link(s) within Panel B that brings up another page. Now when I use the browser back button I see the first Page where B is visible as expected. But now when I click on another Link within B - it causes a Wicket runtime exception: component [...] not found on page [...] Everywhere else across the app, browser back-button works beautifully. Is this problem to be expected if you have links within an area on a page refreshed using Ajax and then you use the browser back button to try other links in that area? Thanks, Peter. - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV ___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV ___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT
Re: [Wicket-user] Ajax component replaceWith and browser back-button problems
we only have an unofficial release for it that is a zip. search the list for it, it is in martijn's dir somewhere. other then that all the jars/src/and javadocs are available from that wicketstuff.org maven repo. all the new classes in wicket.validator package have pretty good javadocs so that might be a place to start -igor On 3/28/07, Peter Thomas [EMAIL PROTECTED] wrote: Ok, my bad - the documentation does mention the package change to wicket.validation.validator.AbstractValidator But the API looks a lot different, can you quickly point me to the online Javadoc corresponding to 1.3.0-incubating-SNAPSHOT - also if it is downloadable as a zip or something. Thanks, Peter. On 3/29/07, Igor Vaynberg [EMAIL PROTECTED] wrote: hmm, it is briefly mentioned under Validation Changes i dont remember if we still have abstract validator or not, see the source of other alidators and if they extend something. -igor On 3/28/07, Peter Thomas [EMAIL PROTECTED] wrote: Igor, I now see that there is a 1.3.0-incubating-SNAPSHOT (as opposed to 1.3-incubating-SNAPSHOT which I was using earlier). I assume this is the latest version and just switched. But Looks like wicket.markup.html.form.validation.AbstractValidator has disappeared. I don't see a mention of this at http://cwiki.apache.org/WICKET/migrate-13.html can you help? Other API changes I noted: - getObject(Component) in AbstractReadOnlyModel became getObject() - FeedBackMessage.getMessage() returns Object not String - IStringResourceLoader added one method signature loadStringResource(Component, String) Thanks, Peter. On 3/29/07, Igor Vaynberg [EMAIL PROTECTED] wrote: peter can you try updating to the lastest snapshot and trying again? -igor On 3/28/07, Peter Thomas [EMAIL PROTECTED] wrote: Matej - I am using wicket-1.3-incubating-SNAPSHOT.jar dated 2007-03-12 Let me know if you need any more details. On the Page in question I had tried setVersioned with both true and false, same result. Thanks, Peter. On 3/28/07, Matej Knopp [EMAIL PROTECTED] wrote: Peter, are you using 1.x? this can be caused by ajax requests being non-versioned in 1.2. In 1.x, the changes should be merged to latest version. On 3/28/07, Igor Vaynberg [EMAIL PROTECTED] wrote: matej didnt you fix this in 1.x svn? -igor On 3/28/07, Peter Thomas [EMAIL PROTECTED] wrote: Hi, I have a panel A that is replaced by another panel B over Ajax using Component.replaceWith (). Panel B contains a few Links. Say I navigate to this Page and trigger the event that causes panel B to replace Panel A. Then I click one of the Link(s) within Panel B that brings up another page. Now when I use the browser back button I see the first Page where B is visible as expected. But now when I click on another Link within B - it causes a Wicket runtime exception: component [...] not found on page [...] Everywhere else across the app, browser back-button works beautifully. Is this problem to be expected if you have links within an area on a page refreshed using Ajax and then you use the browser back button to try other links in that area? Thanks, Peter. - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV ___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV ___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT
Re: [Wicket-user] Ajax component replaceWith and browser back-button problems
Thanks Eelco Igor I got the api and src and made the changes for AbstractValidator - will also try to add some stuff to the wiki page as soon as I finish refactoring. But I have a big problem with the usage of wicket:message attribute (tag works fine). This is the error: wicket.markup.MarkupException: Unable to find component with id 'auto-message_attr' in [MarkupContainer [...]] This is the offending markup: input type=submit wicket:message=value= login.submit/ Any idea how to proceed? Looks like something related to wicket:message attribute i18n broke. Thanks, Peter. On 3/29/07, Igor Vaynberg [EMAIL PROTECTED] wrote: we only have an unofficial release for it that is a zip. search the list for it, it is in martijn's dir somewhere. other then that all the jars/src/and javadocs are available from that wicketstuff.org maven repo. all the new classes in wicket.validator package have pretty good javadocs so that might be a place to start -igor On 3/28/07, Peter Thomas [EMAIL PROTECTED] wrote: Ok, my bad - the documentation does mention the package change to wicket.validation.validator.AbstractValidator But the API looks a lot different, can you quickly point me to the online Javadoc corresponding to 1.3.0-incubating-SNAPSHOT - also if it is downloadable as a zip or something. Thanks, Peter. On 3/29/07, Igor Vaynberg [EMAIL PROTECTED] wrote: hmm, it is briefly mentioned under Validation Changes i dont remember if we still have abstract validator or not, see the source of other alidators and if they extend something. -igor On 3/28/07, Peter Thomas [EMAIL PROTECTED] wrote: Igor, I now see that there is a 1.3.0-incubating-SNAPSHOT (as opposed to 1.3-incubating-SNAPSHOT which I was using earlier). I assume this is the latest version and just switched. But Looks like wicket.markup.html.form.validation.AbstractValidator has disappeared. I don't see a mention of this at http://cwiki.apache.org/WICKET/migrate-13.html can you help? Other API changes I noted: - getObject(Component) in AbstractReadOnlyModel became getObject() - FeedBackMessage.getMessage() returns Object not String - IStringResourceLoader added one method signature loadStringResource(Component, String) Thanks, Peter. On 3/29/07, Igor Vaynberg [EMAIL PROTECTED] wrote: peter can you try updating to the lastest snapshot and trying again? -igor On 3/28/07, Peter Thomas [EMAIL PROTECTED] wrote: Matej - I am using wicket-1.3-incubating-SNAPSHOT.jar dated 2007-03-12 Let me know if you need any more details. On the Page in question I had tried setVersioned with both true and false, same result. Thanks, Peter. On 3/28/07, Matej Knopp [EMAIL PROTECTED] wrote: Peter, are you using 1.x? this can be caused by ajax requests being non-versioned in 1.2. In 1.x, the changes should be merged to latest version. On 3/28/07, Igor Vaynberg [EMAIL PROTECTED] wrote: matej didnt you fix this in 1.x svn? -igor On 3/28/07, Peter Thomas [EMAIL PROTECTED] wrote: Hi, I have a panel A that is replaced by another panel B over Ajax using Component.replaceWith (). Panel B contains a few Links. Say I navigate to this Page and trigger the event that causes panel B to replace Panel A. Then I click one of the Link(s) within Panel B that brings up another page. Now when I use the browser back button I see the first Page where B is visible as expected. But now when I click on another Link within B - it causes a Wicket runtime exception: component [...] not found on page [...] Everywhere else across the app, browser back-button works beautifully. Is this problem to be expected if you have links within an area on a page refreshed using Ajax and then you use the browser back button to try other links in that area? Thanks, Peter. - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV ___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user
Re: [Wicket-user] Ajax component replaceWith and browser back-button problems
auto is something from 2.0, are you sure you have the right jars? -igor On 3/28/07, Peter Thomas [EMAIL PROTECTED] wrote: Thanks Eelco Igor I got the api and src and made the changes for AbstractValidator - will also try to add some stuff to the wiki page as soon as I finish refactoring. But I have a big problem with the usage of wicket:message attribute (tag works fine). This is the error: wicket.markup.MarkupException: Unable to find component with id 'auto-message_attr' in [MarkupContainer [...]] This is the offending markup: input type=submit wicket:message=value= login.submit/ Any idea how to proceed? Looks like something related to wicket:message attribute i18n broke. Thanks, Peter. On 3/29/07, Igor Vaynberg [EMAIL PROTECTED] wrote: we only have an unofficial release for it that is a zip. search the list for it, it is in martijn's dir somewhere. other then that all the jars/src/and javadocs are available from that wicketstuff.org maven repo. all the new classes in wicket.validator package have pretty good javadocs so that might be a place to start -igor On 3/28/07, Peter Thomas [EMAIL PROTECTED] wrote: Ok, my bad - the documentation does mention the package change to wicket.validation.validator.AbstractValidator But the API looks a lot different, can you quickly point me to the online Javadoc corresponding to 1.3.0-incubating-SNAPSHOT - also if it is downloadable as a zip or something. Thanks, Peter. On 3/29/07, Igor Vaynberg [EMAIL PROTECTED] wrote: hmm, it is briefly mentioned under Validation Changes i dont remember if we still have abstract validator or not, see the source of other alidators and if they extend something. -igor On 3/28/07, Peter Thomas [EMAIL PROTECTED] wrote: Igor, I now see that there is a 1.3.0-incubating-SNAPSHOT (as opposed to 1.3-incubating-SNAPSHOT which I was using earlier). I assume this is the latest version and just switched. But Looks like wicket.markup.html.form.validation.AbstractValidator has disappeared. I don't see a mention of this at http://cwiki.apache.org/WICKET/migrate-13.html can you help? Other API changes I noted: - getObject(Component) in AbstractReadOnlyModel became getObject() - FeedBackMessage.getMessage() returns Object not String - IStringResourceLoader added one method signature loadStringResource(Component, String) Thanks, Peter. On 3/29/07, Igor Vaynberg [EMAIL PROTECTED] wrote: peter can you try updating to the lastest snapshot and trying again? -igor On 3/28/07, Peter Thomas [EMAIL PROTECTED] wrote: Matej - I am using wicket-1.3-incubating-SNAPSHOT.jar dated 2007-03-12 Let me know if you need any more details. On the Page in question I had tried setVersioned with both true and false, same result. Thanks, Peter. On 3/28/07, Matej Knopp [EMAIL PROTECTED] wrote: Peter, are you using 1.x? this can be caused by ajax requests being non-versioned in 1.2. In 1.x, the changes should be merged to latest version. On 3/28/07, Igor Vaynberg [EMAIL PROTECTED] wrote: matej didnt you fix this in 1.x svn? -igor On 3/28/07, Peter Thomas [EMAIL PROTECTED] wrote: Hi, I have a panel A that is replaced by another panel B over Ajax using Component.replaceWith (). Panel B contains a few Links. Say I navigate to this Page and trigger the event that causes panel B to replace Panel A. Then I click one of the Link(s) within Panel B that brings up another page. Now when I use the browser back button I see the first Page where B is visible as expected. But now when I click on another Link within B - it causes a Wicket runtime exception: component [...] not found on page [...] Everywhere else across the app, browser back-button works beautifully. Is this problem to be expected if you have links within an area on a page refreshed using Ajax and then you use the browser back button to try other links in that area? Thanks, Peter. - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV