Re: [Wicket-user] More CSS support in wicket?
Okay here my little CSS solution for wicket, so if u have had my headache, you can use it. Please if you have more powerful regex approach...teach me please. May not be killer but it works just fine for me. In your CSS File (textfield.css):.textfieldStyle { background: url(${myImage});}In your Wicket Code: PackageResourceReference imageRef = new PackageResourceReference(MyPanel.class , image.gif);CSSSettings css = new CSSSettings( MyPanel.class,textfield.css);String imageRefString = urlForcss.addAttribute(myImage ,); //and according to igor add(new StringHeaderContributor(css.getStyle()); /* * CSSSettings.java* * Created on July 20, 2006, 3:15 AM* * Wicket lover license :)* www.dabarobjects.com*/ package net.cowblock.wicketx.util; import java.io.BufferedReader;import java.io.IOException; import java.io.InputStreamReader;import java.io.Serializable; import java.net.URL;import java.util.Hashtable; import java.util.Map;import java.util.regex.Matcher; import java.util.regex.Pattern;import wicket.Resource; import wicket.WicketRuntimeException; / @author Aladejebi Ayodeji (dabar) */public class CSSSettings implements Serializable { private Map customStyle; private static final Pattern customAttrRegex = Pattern.compile([$][{][a-zA-Z]++[-]?+[a-zA-Z]++[}]|[$][{][a-zA-Z]++[}]); private static final Pattern innerAttrValue = Pattern.compile([a-zA-Z]++[-]?+[a-zA-Z]++|[a-zA-Z]++); private String css; private URL cssPath; private Class scope; /** Creates a new instance of CSSSettings */ public CSSSettings(Class cssScope, String cssFileName) { customStyle = new Hashtable(); URL path = cssScope.getResource(cssFileName); if(path == null) throw new WicketRuntimeException(CSS Resource missing); this.cssPath = path; this.scope = cssScope; } /** * You will define this in your CSS File * list-style-image: url(${bgimage}); * and add strongbgimage/strong as attribute, then use urlFor(ResourceReference) to insert value */ public void addAttribute(String attribute, String value){ this.customStyle.put(attribute,value); } public void removeAttribute(String attribute){ this.customStyle.remove(attribute); } public String getCss(){ Matcher _attrDefMatch = null; Matcher _attrValueMatch = null; StringBuffer buffer = new StringBuffer(); try { BufferedReader read = new BufferedReader(new InputStreamReader( cssPath.openStream())); String r =; while((r = read.readLine()) != null){ _attrDefMatch = customAttrRegex.matcher(r); while(_attrDefMatch.find()){ _attrValueMatch = innerAttrValue.matcher(_attrDefMatch.group()); while(_attrValueMatch.find()){ //System.out.println(_attrValueMatch.group()); String key = _attrValueMatch.group(); if(customStyle.containsKey(key.trim())) r = r.replaceAll([$][{][a-zA-Z]++[-]?+[a-zA-Z]++[}]|[$][{][a-zA-Z]++[}], customStyle.get(key.trim()).toString()); } } buffer.append(r); } } catch (IOException ex) { throw new WicketRuntimeException(ex); } return buffer.toString(); } //TODO: private Resource getAsResource() { return null; } public static void main(String args[]){ CSSSettings set = new CSSSettings(CSSSettings.class,FormX.css); set.addAttribute(bgimage,web.gif); set.addAttribute(line-color,#343444); System.out.println(set.getCss()); } }On 7/19/06, Igor Vaynberg [EMAIL PROTECTED] wrote:or you can do add(new StringHeaderContributor(css.getStyle()); instead of using a label -IgorOn 7/19/06, Ayodeji Aladejebi [EMAIL PROTECTED] wrote: well it doesnt necessarily have to be like that...anything that reduces stress for developers will always fly in dev space. so may things can be worked out...but i believe that more CSS support is needed in wicket. I am making something that looks like this for my project. CssMap css = CssMap.parseCSS(MyPanel.class, style.css);css.add(bg-image,urlFor(imageReference)); // replaces ${bg-image} with image pathadd(new Label(styleHead, css.getStyle());this works fine for me now though still crappy but suits my work for now.On 7/19/06, Julian Klappenbach [EMAIL PROTECTED] wrote: In general, I doubt that you're going to findmuch support for that kind of approach. This is because you'd behard-coding styles into the component, which make them difficult to skin later on without changing code. -jjk From: [EMAIL PROTECTED] [mailto: [EMAIL PROTECTED] ] On Behalf Of Ayodeji AladejebiSent: Wednesday, July 19, 2006 1:46 AMTo: wicket-user@lists.sourceforge.net Subject: Re: [Wicket-user] More CSS support in wicket? Please can one regex expert give me the regex for retrieving name from ${name}?Thanks and for CSS integration, i dream of this: @CSS (font-family=Verdana,[EMAIL PROTECTED](bg.gif,MyPanel.class)})private class MyPanel extends Panel {}will generate this header for the panel:style type=text/css.[panel_id] {font-family=Verdana...;}/styleits a dream :) On 7/19/06, Jean-Baptiste Quenot [EMAIL PROTECTED] wrote: * Eelco Hillenius:
Re: [Wicket-user] More CSS support in wicket?
some typo errors in previous mail:In your CSS File (textfield.css):.textfieldStyle { background: url(${myImage});}In your Wicket Code: PackageResourceReference imageRes = new PackageResourceReference(MyPanel.class , image.gif);CSSSettings css = new CSSSettings( MyPanel.class,textfield.css);String imageRefString = urlFor(imageRes);css.addAttribute( myImage ,imageRefString ); //and according to igor add(new StringHeaderContributor(css.getStyle()); On 7/20/06, Ayodeji Aladejebi [EMAIL PROTECTED] wrote:Okay here my little CSS solution for wicket, so if u have had my headache, you can use it. Please if you have more powerful regex approach...teach me please. May not be killer but it works just fine for me. In your CSS File (textfield.css):.textfieldStyle { background: url(${myImage});}In your Wicket Code: PackageResourceReference imageRef = new PackageResourceReference(MyPanel.class , image.gif);CSSSettings css = new CSSSettings( MyPanel.class,textfield.css);String imageRefString = urlForcss.addAttribute(myImage ,); //and according to igor add(new StringHeaderContributor(css.getStyle()); /* * CSSSettings.java* * Created on July 20, 2006, 3:15 AM* * Wicket lover license :)* www.dabarobjects.com*/ package net.cowblock.wicketx.util; import java.io.BufferedReader;import java.io.IOException; import java.io.InputStreamReader;import java.io.Serializable; import java.net.URL;import java.util.Hashtable; import java.util.Map;import java.util.regex.Matcher; import java.util.regex.Pattern;import wicket.Resource; import wicket.WicketRuntimeException; / @author Aladejebi Ayodeji (dabar) */public class CSSSettings implements Serializable { private Map customStyle; private static final Pattern customAttrRegex = Pattern.compile([$][{][a-zA-Z]++[-]?+[a-zA-Z]++[}]|[$][{][a-zA-Z]++[}]); private static final Pattern innerAttrValue = Pattern.compile([a-zA-Z]++[-]?+[a-zA-Z]++|[a-zA-Z]++); private String css; private URL cssPath; private Class scope; /** Creates a new instance of CSSSettings */ public CSSSettings(Class cssScope, String cssFileName) { customStyle = new Hashtable(); URL path = cssScope.getResource(cssFileName); if(path == null) throw new WicketRuntimeException(CSS Resource missing); this.cssPath = path; this.scope = cssScope; } /** * You will define this in your CSS File * list-style-image: url(${bgimage}); * and add strongbgimage/strong as attribute, then use urlFor(ResourceReference) to insert value */ public void addAttribute(String attribute, String value){ this.customStyle.put(attribute,value); } public void removeAttribute(String attribute){ this.customStyle.remove(attribute); } public String getCss(){ Matcher _attrDefMatch = null; Matcher _attrValueMatch = null; StringBuffer buffer = new StringBuffer(); try { BufferedReader read = new BufferedReader(new InputStreamReader( cssPath.openStream())); String r =; while((r = read.readLine()) != null){ _attrDefMatch = customAttrRegex.matcher(r); while(_attrDefMatch.find()){ _attrValueMatch = innerAttrValue.matcher(_attrDefMatch.group()); while(_attrValueMatch.find()){ //System.out.println(_attrValueMatch.group()); String key = _attrValueMatch.group(); if(customStyle.containsKey(key.trim())) r = r.replaceAll([$][{][a-zA-Z]++[-]?+[a-zA-Z]++[}]|[$][{][a-zA-Z]++[}], customStyle.get(key.trim()).toString()); } } buffer.append(r); } } catch (IOException ex) { throw new WicketRuntimeException(ex); } return buffer.toString(); } //TODO: private Resource getAsResource() { return null; } public static void main(String args[]){ CSSSettings set = new CSSSettings(CSSSettings.class,FormX.css); set.addAttribute(bgimage,web.gif); set.addAttribute(line-color,#343444); System.out.println(set.getCss()); } }On 7/19/06, Igor Vaynberg [EMAIL PROTECTED] wrote: or you can do add(new StringHeaderContributor(css.getStyle()); instead of using a label -IgorOn 7/19/06, Ayodeji Aladejebi [EMAIL PROTECTED] wrote: well it doesnt necessarily have to be like that...anything that reduces stress for developers will always fly in dev space. so may things can be worked out...but i believe that more CSS support is needed in wicket. I am making something that looks like this for my project. CssMap css = CssMap.parseCSS(MyPanel.class, style.css);css.add(bg-image,urlFor(imageReference)); // replaces ${bg-image} with image pathadd(new Label(styleHead, css.getStyle());this works fine for me now though still crappy but suits my work for now.On 7/19/06, Julian Klappenbach [EMAIL PROTECTED] wrote: In general, I doubt that you're going to findmuch support for that kind of approach. This is because you'd behard-coding styles into the component, which make them difficult to skin later on without changing code. -jjk From: [EMAIL PROTECTED] [mailto: [EMAIL PROTECTED] ] On Behalf Of Ayodeji
Re: [Wicket-user] Jboss: IOException while loading persisted sessions
Hello Johan yeah, this is really strange. The stacktrace of the exception also doesn't have any wicket classes or any of my own in it. But I just see that my custom WebSession implements IRequestCycleFactory - and I don't know why ;) This is still my first wicket application, so this might be something from the beginning and error prone? -- greetings from Berlin, Rüdiger Schulz Johan Compagner wrote on 19.07.2006 at 14:51: What i find strange is that a requestcycle is stored in the session. That shouldn't happen you only have a request cycle during a request then it is discarded. Can you see what does have a reference to it? johan On 7/19/06, Rüdiger Schulz [EMAIL PROTECTED] wrote: Hello everbody, Sometimes after a redploy of my wicket application, I get the following error message: 13:41:02,250 ERROR [ManagerBase] IOException while loading persisted sessions: java.io.InvalidClassException: de.skygate.revisionsdb.web.base.RevisionsRequestCycle; no valid constructor java.io.InvalidClassException: de.skygate.revisionsdb.web.base.RevisionsRequestCycle; no valid constructor I simply overwrote the default constructor from WebRequestCycle, so I think this error message is a little strange. But I have a Hibernate Session stored in the RequestCycle object, which is not transient. Could that be the problem? Declaring it transient would be no problem I think, as I have a lazily-generating accessor anyway. -- greetings from Berlin, Rüdiger Schulz - 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.php p=sourceforge CID=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] wicket extensions palette
Hi What do I need to override in order to populate both listboxes on construction? Currently I am giving two models that are filled to the palette, but only the left side listbox are populated, it seems the right side ignores the model? 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
[Wicket-user] Reusing Wicket Internal Javascript libraries
I also want to suggest that Wicket should allow develpers to reuse certain _javascript_ libraries bundled with wicket in extending functionalities. I am not sure if the popular Prototype.js is bundled anywhere in the extensions but a certain resource reference class should be able to deliver the script for use in Pages. Anyway pls i am making a wicket widget that needs to trap mouse position in a cross browser fashion, please who has a link to a lovely one.thanks-- It takes insanity to drive in sanity - Me Aladejebi Ayodeji A., DabarObjects SolutionsEmail: [EMAIL PROTECTED]Mobile: +234 803 589 1780Web: www.dabarobjects.com Community:www.cowblock.net - 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] Reusing Wicket Internal Javascript libraries
That's pretty easy to do yourself though. See the attachement (unzip) for an example. Eelco On 7/20/06, Ayodeji Aladejebi [EMAIL PROTECTED] wrote: I also want to suggest that Wicket should allow develpers to reuse certain Javascript libraries bundled with wicket in extending functionalities. I am not sure if the popular Prototype.js is bundled anywhere in the extensions but a certain resource reference class should be able to deliver the script for use in Pages. scriptaculous.jar Description: Binary data - 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] Overriding ListView#getListItemModel
The javadoc of the getListItemModel method of the abstract class ListView states that Subclasses may provide their own ListItemModel with extended functionality. The default ListItemModel works fine with mostly static lists where index remains valid. In cases where the underlying list changes a lot (many users using the application), it may not longer be appropriate. In that case your own ListItemModel implementation should use an id (e.g. the database' record id) to identify and load the list item model object... I am in situation where the list is not static and the application is used by many users.. Can you provide a sample implementation of the getListItemModel method for this situation? Thank you! -- View this message in context: http://www.nabble.com/Overriding-ListView-getListItemModel-tf1972442.html#a5414248 Sent from the Wicket - User forum 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] Overriding ListView#getListItemModel
Default the listmodel just stored the index of the list of the ListViewAnd then gets the object from the ListViews list back by that index.But if the list changes the index will return a different object then that ListItem was rendered with. So what you need to do is replace that index with something else.That is mostly the PK/ID of the object. So you keep that in your listmodel.and then when you want the object back. You don't go to the list and get it by index but get it by PK/ID (you don't even have to use the list at all anymore just query it)For database dynamic list you should use in wicket extentions and then the repeater package.There we have much better implementations for repeating things. johanOn 7/20/06, Alex Objelean [EMAIL PROTECTED] wrote: The javadoc of the getListItemModel method of the abstract class ListViewstates that Subclasses may provide their own ListItemModel with extendedfunctionality. The default ListItemModel works fine with mostly static lists where index remains valid. In cases where the underlying list changes a lot(many users using the application), it may not longer be appropriate. Inthat case your own ListItemModel implementation should use an id ( e.g. thedatabase' record id) to identify and load the list item model object...I am in situation where the list is not static and the application is usedby many users.. Can you provide a sample implementation of the getListItemModel method for this situation?Thank you!--View this message in context: http://www.nabble.com/Overriding-ListView-getListItemModel-tf1972442.html#a5414248 Sent from the Wicket - User forum 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 youropinions on IT business topics through brief surveys -- and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV___Wicket-user mailing listWicket-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] wicket.markup.html.form.checkbox/ajaxform behaviour/set visible(false) -- BUG?
Hi I think I might have discovered a bug. I had a checkbox with some ajax behaviour. On the same page I also had a panel which had some form components in it, one of the components did also use ajax. I set visible(false) on the checkbox and 3 things happened 1. checkbox was no longer rendered(surpriseJ) 2. wicket debug for ajax was no longer rendered 3. ajax behaviour on the other component stopped working So I removed ajaxbehavior on the checkbox then it all worked again. My guess is that somewhere there is a check on if a component that uses ajax behaviour that is set to not visible then ajax is not included on the page. 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
Re: [Wicket-user] wicket.markup.html.form.checkbox/ajaxform behaviour/set visible(false) -- BUG?
If a component is not visible (wherever they are) will not render anything.But they shouldn't stop other behaviours that are still visible to render the right contributions.Do you have a testcase?johan On 7/20/06, Nino Wael [EMAIL PROTECTED] wrote: Hi I think I might have discovered a bug. I had a checkbox with some ajax behaviour. On the same page I also had a panel which had some form components in it, one of the components did also use ajax. I set visible(false) on the checkbox and 3 things happened 1. checkbox was no longer rendered(surpriseJ ) 2. wicket debug for ajax was no longer rendered 3. ajax behaviour on the other component stopped working So I removed ajaxbehavior on the checkbox then it all worked again. My guess is that somewhere there is a check on if a component that uses ajax behaviour that is set to not visible then ajax is not included on the page…. Regards Nino -Take Surveys. Earn Cash. Influence the Future of ITJoin 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.nethttps://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] MarkupContainer#contains()
can you debug it a bit more?Because that method should work fine. It just goes through all the parents of the Link looking if one of them is the container itself.So can't see why that will go wrong.Except of course if the link is somehow getting hold on to when it is displayed in a listview and that listview already had his ListItems regenerated. So that current link doesn't have a parent anymore. (or the hierachy doesn't go through the page, you can see that in the toString() No Page)johan On 7/20/06, Aaron Hiniker [EMAIL PROTECTED] wrote: is MarkupContainer#contains() flawed? When I debug my application, I am getting false for parent.contains( feedbackMessage.getReporter(), true ).. the reporter is a Link component embedded deep within the heirarchy. Is it a problem with contains() being used to check for child feedback messages in Link#onClick()? Aaron -Take Surveys. Earn Cash. Influence the Future of ITJoin 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.nethttps://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] Changing visibility via ajax
I want to change visibility attribute of a panel (containing other components) using Ajax. The panel initially is hidden panel.setVisible( false ).When user change selection in a radio group the panel should become visible. I've tried to do something like that :radio.add( new AjaxFormComponentUpdatingBehavior(onclick) { protected void onUpdate(AjaxRequestTarget target) { panel.setVisible( true ); target.addComponent(panel); } } );But it don't work. Using the AJAX Debugger I could see that event is raised but it reports the following error: ERROR: Component with id [[form1_panel]] a was not found while trying to perform markup update. Make sure you called component.setOutputMarkupId(true) on the component whose markup you are trying to update. ERROR: error while processing response: [object Error].Object requiredObviuosly I used setOutputMarkupId(true) on panel. Any idea why it don't work?Thanks for helping.- Paolo - 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] Changing visibility via ajax
the problem is that if the panel is hidden initially it doesnt have its div/span tag with an id attribute in the markup, so the ajax request cannot find the tag to redraw.in situations like this you have to wrap the panel in a webmarkupcontainer, call setoutputmarkupid(true) on it, and target that container in your ajax target. that way the container will be drawn initially empty : span id=container/span and when you make your panel visible it will contain the panel span id=containerspan id=panel/span/span -IgorOn 7/20/06, Paolo Di Tommaso [EMAIL PROTECTED] wrote: I want to change visibility attribute of a panel (containing other components) using Ajax. The panel initially is hidden panel.setVisible( false ). When user change selection in a radio group the panel should become visible. I've tried to do something like that :radio.add( new AjaxFormComponentUpdatingBehavior(onclick) { protected void onUpdate(AjaxRequestTarget target) { panel.setVisible( true ); target.addComponent(panel); } } );But it don't work. Using the AJAX Debugger I could see that event is raised but it reports the following error: ERROR: Component with id [[form1_panel]] a was not found while trying to perform markup update. Make sure you called component.setOutputMarkupId(true) on the component whose markup you are trying to update. ERROR: error while processing response: [object Error].Object requiredObviuosly I used setOutputMarkupId(true) on panel. Any idea why it don't work?Thanks for helping.- Paolo -Take Surveys. Earn Cash. Influence the Future of ITJoin 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.nethttps://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] Tree not shown correctly
Hi, I write a tree component by extending wicket.markup.html.tree.Tree. Also I extend the javax.swing.tree.DefaultTreeModel. I have my TreeModel tested in swing. It works fine. However, my tree just show the root node in wicket. What is going wrong? I have my code attached. Regards,Rice Tree.java Description: Binary data PartyManagementPage.java Description: Binary data Application.java Description: Binary data - 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] Wierd NPE in PageMap code
When clicking back and forth on links in a fast, repetitive manner, the following error occurred. Note, I'm not sure what the onNewBrowserWindow() call is all about, this was all done from a single browser window and no new window open was triggered from the app. Also, what conditions can trigger the session to expire/invalidate? I seem to be getting random session expirations ( my session-timeout is set to 60 ) Error is below: WicketMessage: Method onNewBrowserWindow of interface wicket.markup.html.INewBrowserWindowListener targeted at component [Page class = wicket.markup.html.pages.InternalErrorPage, id = 5] threw an exception Root cause: java.lang.NullPointerException at wicket.PageMap.removeEntry(PageMap.java:335) at wicket.PageMap$1.entry(PageMap.java:197) at wicket.PageMap.visitEntries(PageMap.java:580) at wicket.PageMap.clear(PageMap.java:193) at wicket.PageMap.remove(PageMap.java:308) at wicket.Session.newPageMap(Session.java:581) at wicket.Session.createAutoPageMap(Session.java:474) at wicket.markup.html.WebPage.onNewBrowserWindow(WebPage.java:343) at java.lang.reflect.Method.invoke(Method.java:585) at wicket.RequestListenerInterface.invoke(RequestListenerInterface.java:163) at wicket.request.target.component.listener.ListenerInterfaceRequestTarget.processEvents(ListenerInterfaceRequestTarget.java:74) at wicket.request.compound.DefaultEventProcessorStrategy.processEvents(DefaultEventProcessorStrategy.java:65) at wicket.request.compound.AbstractCompoundRequestCycleProcessor.processEvents(AbstractCompoundRequestCycleProcessor.java:57) at wicket.RequestCycle.doProcessEventsAndRespond(RequestCycle.java:846) at wicket.RequestCycle.processEventsAndRespond(RequestCycle.java:879) at wicket.RequestCycle.step(RequestCycle.java:960) at wicket.RequestCycle.steps(RequestCycle.java:1034) at wicket.RequestCycle.request(RequestCycle.java:453) at wicket.protocol.http.WicketServlet.doGet(WicketServlet.java:215) at javax.servlet.http.HttpServlet.service(HttpServlet.java:697) at javax.servlet.http.HttpServlet.service(HttpServlet.java:810) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178) at org.jboss.web.tomcat.security.CustomPrincipalValve.invoke(CustomPrincipalValve.java:54) at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:174) at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148) at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:199) at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:282) at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:754) at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:684) at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:876) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684) at java.lang.Thread.run(Thread.java:595) Complete stack: wicket.WicketRuntimeException: Method onNewBrowserWindow of interface wicket.markup.html.INewBrowserWindowListener targeted at component [Page class = wicket.markup.html.pages.InternalErrorPage, id = 5] threw an exception at wicket.RequestListenerInterface.invoke(RequestListenerInterface.java:174) at wicket.request.target.component.listener.ListenerInterfaceRequestTarget.processEvents(ListenerInterfaceRequestTarget.java:74) at wicket.request.compound.DefaultEventProcessorStrategy.processEvents(DefaultEventProcessorStrategy.java:65) at wicket.request.compound.AbstractCompoundRequestCycleProcessor.processEvents(AbstractCompoundRequestCycleProcessor.java:57) at wicket.RequestCycle.doProcessEventsAndRespond(RequestCycle.java:846) at wicket.RequestCycle.processEventsAndRespond(RequestCycle.java:879) at wicket.RequestCycle.step(RequestCycle.java:960) at
[Wicket-user] Retaining values from one page view to the next
Apologies for another basic Wicket question... I understand (mostly) how the Wicket model approach works with respect to components and such. However, how do I retain values from one page view to the next? I know that I could use PageParameters, but the object I want to retain in a complex object and I don't want the trouble. I tried using PropertyModel( this, path), and tried PropertyModel.setObject( this, object ) to update the value, but that didn't work. I'm sure this is simple, but any hints would be greatly appreciated! Thank you! David PS - I tried searching on the archive, but the SourceForge archive is hopeless for searching... - 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] Retaining values from one page view to the next
all you have to do is pass the reference of the old page to the new pageclass ListUsersPage extends Webpage { . add(new Link(edit) { onclick() { setResponsePage(new EditUserPage( ListUsersPage.this, (User)getModelObject())); }}class EditUserPage extends WebPage { public EditUserPage(final WebPage backPage, User user) { Form form; add(form=new Form(form, )); form.add(new Button(save) { onsubmit() { //save user setResponsePage(backPage); === navigates to the list users page in its previous state });}}hope this helps-IgorOn 7/20/06, David Leangen [EMAIL PROTECTED] wrote:Apologies for another basic Wicket question...I understand (mostly) how the Wicket model approach works with respect to components and such. However, how do I retain values from one pageview to the next?I know that I could use PageParameters, but the object I want to retainin a complex object and I don't want the trouble. I tried using PropertyModel( this, path), and triedPropertyModel.setObject( this, object ) to update the value, but thatdidn't work.I'm sure this is simple, but any hints would be greatly appreciated! Thank you!DavidPS - I tried searching on the archive, but the SourceForge archive ishopeless for searching...- Take Surveys. Earn Cash. Influence the Future of ITJoin SourceForge.net's Techsay panel and you'll get the chance to share youropinions on IT business topics through brief surveys -- and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV___Wicket-user mailing listWicket-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] Retaining values from one page view to the next
Of course it would have to be that simple... Thanks!! Dave On Thu, 2006-07-20 at 19:33 -0700, Igor Vaynberg wrote: all you have to do is pass the reference of the old page to the new page class ListUsersPage extends Webpage { . add(new Link(edit) { onclick() { setResponsePage(new EditUserPage( ListUsersPage.this, (User)getModelObject())); } } class EditUserPage extends WebPage { public EditUserPage(final WebPage backPage, User user) { Form form; add(form=new Form(form, )); form.add(new Button(save) { onsubmit() { //save user setResponsePage(backPage); === navigates to the list users page in its previous state });}} hope this helps -Igor On 7/20/06, David Leangen [EMAIL PROTECTED] wrote: Apologies for another basic Wicket question... I understand (mostly) how the Wicket model approach works with respect to components and such. However, how do I retain values from one page view to the next? I know that I could use PageParameters, but the object I want to retain in a complex object and I don't want the trouble. I tried using PropertyModel( this, path), and tried PropertyModel.setObject( this, object ) to update the value, but that didn't work. I'm sure this is simple, but any hints would be greatly appreciated! Thank you! David PS - I tried searching on the archive, but the SourceForge archive is hopeless for searching... - 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] wicket.markup.html.tree.Tree is not suitable for very big tree
Hi, I find that the implementation of Wicket.markup.html.tree.Tree is not suitable for big tree. It seems because it depends on javax.swing.tree.DefaultMutableTreeNode too much, which asks for populating the whole tree before rendering Wicket.markup.html.tree.Tree. For my case, the tree is very big but users just click on some tree paths, so I hope I can just populate the tree step by step. However, this seems impossible because Wicket.markup.html.tree.Tree renders the tree based on the 'children' field in javax.swing.tree.DefaultMutableTreeNode, which I populate in the TreeModel's method getChildCount(Object parent). But this way does not work. Any suggestion? Regards,Rice - 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