Just thought of adding getComponent() to IPageableComponent, still a hack in my opinion.
-Igor > -----Original Message----- > From: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] On Behalf Of > Igor Vaynberg > Sent: Tuesday, August 02, 2005 5:04 PM > To: wicket-user@lists.sourceforge.net > Subject: RE: [Wicket-user] Sigin Example > > I can see your point. My thinking has always been that any > abstract class has an implicit interface which is the sum of > its public methods, and that there really is no difference > between evolving public methods in an abstract class and > evolving an interface and its single implementation. This is > of course different when an interface is intended as a joint > point between two systems or when alternate implementations > are expected. > > I am far more interested in finding a good solution for the > IPageableComponent than discussing philosophies. > > The need for this arose when I was writing DataView. I wanted > to reuse navigation components that worked with listview, > such as PageableListViewNavigation, > PageableListViewNavigationLink, etc. In their current state > they were tightly coupled to listview, so I had to decouple > them, thus the IPageableComponent interface. Inside it it has > all the methods that those navigation components need to > manipulate the listview, so now instead of getting the > listview directly they get an instance of IPageableComponent > and do the manipulation through that. > > Now all my dataview had to do is implement IPageableComponent > and it could magically be navigated by the navigation components. > > Pretty clean and simple, however, the navigation components > expect IPageableComponent to also be a component. For > example, PageableListViewNavigationLink needs access to the > page that the pageable component is on. Because of this I had > to add a Page getPage() implemented by Component to the > interface. This is the part that I am trying to find a > cleaner solution for, and this is why I suggested Icomponent. > If we had Icomponent IPageableComponent could extend that and > also be used as a regular component. > > An alternate solution I can see is to get rid of > IPageableComponent and use a PageableAdapter class with a > getComponent() method inside. So instead of > PageableListViewLink(...., dataview) it would be > PageableListViewLink(...., new PageableAdapter(dataview)). > This solution seems a bit unnatural to me because it goes > around the inheritance hirarchy. > > What are your thoughts? > > Thanks, > Igor > > > > -----Original Message----- > > From: [EMAIL PROTECTED] > > [mailto:[EMAIL PROTECTED] On Behalf > Of Jonathan > > Locke > > Sent: Tuesday, August 02, 2005 3:41 PM > > To: wicket-user@lists.sourceforge.net > > Subject: Re: [Wicket-user] Sigin Example > > > > > > Igor Vaynberg wrote: > > > > >Jonathan, > > > > > >Could you please elaborate on why interfaces are "fragile". > > It doesn't > > >click for me. How is it more fragile to have an interface > > and a single > > >implementation as opposed to a base class with no interface? > > > > > > > > an interface is fragile because it is an inflexible, fixed > contract. > > it really is /set in stone/ for a large project with a long > lifespan > > (which we all hope wicket will be). > > if you think about it, on a very widely used framework you > really can > > never ever change an interface. ever. i don't know about > you... but > > i'm not smart enough to get an interface with more than a couple of > > methods right the first time and for all time. i usually discover > > weeks or months later (or days or hours... > > DOH!) that i > > forgot something. that's the fragility i'm talking about. > > > > i believe that one shouldn't generally define interfaces for things > > that have contracts that are likely to evolve. > > especially if they are likely to evolve significantly > and/or rapidly. > > if you have more than a few methods, the odds seem to increase > > exponentially with each added method that you'll eventually > have that > > DOH! moment where you realize that you didn't really fully > understand > > the contract you long ago (or not so long ago) thought was so > > clever... > > > > an abstract base class has all the abstractness of an > interface, but > > allows flexible default implementation that is not fixed > for all time. > > you can think of it very loosely as a mixture between a > class and an > > interface if you like. > > non-abstract methods can at least be added even if the existing > > abstract methods can't be changed without breaking the world. > > interestingly, you can also theoretically /remove/ the > abstractness of > > abstract methods (loosening the > > contract) without breaking subclasses by concretizing > methods later. > > in any case, for things that need the ability to evolve in the way > > that Component has (take a look at the revision history, we're on > > version > > #164 of that file... and I don't think that includes 100+ > versions of > > that code from my original codebase), an interface doesn't > make sense > > unless there's some other urgent, overriding need for it. > > > > in general, there can be other arguments that override the > > disadvantage of interface inflexibility, such as a requirement to > > allow alternate implementations not based on the same root > > functionality, enabling mix-in usage or some other usage > driven need > > like making something Remote. none of these seemed or seem like > > important factors in wicket. > > > > >As far as mixins go, I only ran into one situation so far. The > > >IPageableComponent interface has to have getPage() method > > which really > > >has nothing to do with the implementation being pageable, > > but with the > > >fact that it is a component. Everything that uses > IPageableComponent > > >expects a component with pageable behaviour, not just a pageable > > >something. Im not screaming interfaces for everything, but > > in this case it would be nice. > > > > > > > > i don't know enough about this case to comment. but i > highly suspect > > that there is some answer that doesn't involve making Component or > > Page an interface. > > > > >Thanks, > > >Igor > > > > > > > > > > > > > > > > > > > > > > > >>-----Original Message----- > > >>From: [EMAIL PROTECTED] > > >>[mailto:[EMAIL PROTECTED] On Behalf > > Of Jonathan > > >>Locke > > >>Sent: Tuesday, August 02, 2005 2:29 PM > > >>To: wicket-user@lists.sourceforge.net > > >>Subject: Re: [Wicket-user] Sigin Example > > >> > > >> > > >>i think you're awfully, awfully full of yourself (in fact, > > you sound > > >>like me about 10 years ago... ;-)). have you even considered the > > >>possibility that it might be /you/ that doesn't get it? > > >> > > >>from my perspective: > > >> > > >> loose coupled interfaces == bell bottom jeans > > >> > > >>people think that they're the solution to everything right now. > > >>and just like bell bottom jeans, some people really did > > look good in > > >>them. they were cool. but what were we thinking!? > > >>does /everyone/ look good in bell bottom jeans? hardly. > > >>just watch "that 70's show" sometime... the neighbor guy > with the > > >>curly hair. > > >>he's an example of a guy that definitely doesn't need loose > > coupling. > > >> > > >>when you've been doing this as long as i have, you start > to notice > > >>patterns in the fads that sweep through the industry. > > >>and you eventually start to ignore the hype where it > > doesn't make any > > >>sense. > > >>i could see this whole "bind-everything-with-xml" fad > several years > > >>ago coming from a mile away. and now what? people are > > attracted to > > >>wicket because it didn't follow that fad. i think you're simply > > >>missing the forest for the trees. loose coupled > interfaces are the > > >>right design pattern for a whole host of problems. but the > > design for > > >>a web ui framework is not one of them. this was one of > the things > > >>that turned me off when i looked at tapestry. all these gigantic > > >>interfaces? > > >>why? yuck. > > >> > > >>don't get me wrong... please, keep thinking. we all have > > to learn by > > >>experience. i promise i won't stop you from trying to > loose couple > > >>every object in /your/ project with gigantic fragile > > interfaces that > > >>serve no practical purpose. but please don't try to do it > > to wicket. > > >>interfaces have been used judiciously in wicket. i'm not > > saying it's > > >>perfect. > > >>i'm not even saying we shouldn't add an interface here or > > there. we > > >>just have yet to hear an even remotely reasonable argument > > that wicket > > >>components should be mixins. and that's why they aren't. > > >> > > >>David Liebeherr wrote: > > >> > > >> > > >> > > >>>Uh ohh, i started reading the dicussion about interfaces > in wicket. > > >>>I think Eleco and Jonathan might be wrong in some ways. > > >>> > > >>> > > >>> > > >>>>One /very/ important reason not to use interfaces in this > > >>>> > > >>>> > > >>case is that: > > >> > > >> > > >>>>interfaces are hard to evolve. Interfaces have to be > pretty darn > > >>>>stable before even considering throwing them out in the > > >>>> > > >>>> > > >>public, as > > >> > > >> > > >>>>there is no way (not without a tough fight at least) you > > >>>> > > >>>> > > >>can alter > > >> > > >> > > >>>>it later on - even adding a new method will break all clients. > > >>>> > > >>>> > > >>>He sais that interfaces have to be more stable than an > > >>> > > >>> > > >>object without > > >> > > >> > > >>>interface. > > >>>But he misses a very important fact: > > >>>Assume you have "String str = new String()" String is a concrete > > >>>class. but: String in this context is _ALSO_ an interface! > > >>>Every reference is an interface no mather if it's a > > >>> > > >>> > > >>concrete class or > > >> > > >> > > >>>an interface/abstract class! > > >>>And i think it should be not that hard to design proper > interfaces! > > >>> > > >>> > > >>> > > >>>>jonathan: interfaces should always be a set of methods that you > > >>>>cannot ever imagine extending > > >>>> > > >>>> > > >>>"interface B extends A" ? interface inheritance is fun, > > >>> > > >>> > > >>isn't it? :-) > > >> > > >> > > >>>>[22:43] jonathan: my ideal number of methods in an > interface is 1 > > >>>>[22:43] jonathan: ;-) [22:44] jonathan: 2 is okay in some cases > > >>>>[22:44] jonathan: 3 often should be re-thought > > >>>> > > >>>> > > >>>i don't see what's the sens of defining a random number as > > an limit > > >>>for number of methos in an interface. > > >>>an interface should be designed by the needs of the > > context and the > > >>>purposal. > > >>>i just disagree with him! > > >>> > > >>> > > >>> > > >>>>I wonder what it is you want > > >>>>to do with a proxy that you can"t do by simply > > >>>> > > >>>> > > >>subclassing? Or AOP? > > >> > > >> > > >>>He considers to use such a complex thing like AOP but > > >>> > > >>> > > >>refuses to use > > >> > > >> > > >>>such a basic thing like Interfaces? > > >>> > > >>>Did you and your colegues read the links i sent in my last mail? > > >>>If not i suggest it would be a good idea to do so. > > >>>It's worth it, trust me! > > >>> > > >>> > > >>> > > >>>>Johan Compagner wrote: > > >>>>But this is not really possible because the internals > of page are > > >>>> > > >>>> > > >>>pretty > > >>> > > >>> > > >>>>importand for wicket to let it work > > >>>> > > >>>> > > >>>This is a serious indication that the design has some flaws > > >>> > > >>> > > >>in it. A > > >> > > >> > > >>>design should always be as interchangebale and modular > as possible. > > >>> > > >>>Again: I think in the discussion it's missed that you can > > >>> > > >>> > > >>even resuse > > >> > > >> > > >>>an implementation in a interfaces based design by delegation... > > >>>And it ignores the fact that you can extend interfaces as well > > >>>(interface inheritance is a nice thing)... > > >>>I can't imagine what's so hard to have a Page just as > > Interface. If > > >>>you can not deal with client objects as interfaced objects > > >>> > > >>> > > >>you have a > > >> > > >> > > >>>problem in your design. I do use interfaces every day and i > > >>> > > >>> > > >>have never > > >> > > >> > > >>>ever had a big problem with that. It's all about how > familiar and > > >>>comfortable you with good modular design pratics. Loosly > > >>> > > >>> > > >>coupling is > > >> > > >> > > >>>the key word! and loosly coupling is possible. you may have > > >>> > > >>> > > >>to think a > > >> > > >> > > >>>bit more about your design, but it safes you so much > time later... > > >>> > > >>>Maybe if i have some time i will rewrite a very little part > > >>> > > >>> > > >>of wicket > > >> > > >> > > >>>to use interfaces to show that it's definetly not a > problem to use > > >>>interfaces and that you will get good benefits from it. > > >>>Btw: A good design isn't done in a sec, but it's worth to > > thake the > > >>>time to do so... > > >>> > > >>>Another thing i don't understand is, that some ppl > > >>> > > >>> > > >>sometimes say that > > >> > > >> > > >>>the refuse to use interfaces on wicket but sometimes there are > > >>>interfaces used in wicket. So if you can use an interface for a > > >>>sessionFactory then why can't you use an interface for > the session > > >>>itself? > > >>> > > >>>Well, however, i think when wicket reaches 2.0 and it's > > >>> > > >>> > > >>clear enough > > >> > > >> > > >>>which functionalities are implemented i may be a good idea > > >>> > > >>> > > >>to review > > >> > > >> > > >>>the source and move over to use interfaces where they > make sense... > > >>> > > >>> > > >>>And one thing not to forget: Wicket uses "wicket:id" tags > > to loosly > > >>>couple html with the logic-code. That is the most valuable > > >>> > > >>> > > >>thing about > > >> > > >> > > >>>wicket! > > >>>But it's a bad thing to not continue the loosly coupling > > aproach in > > >>>the api. Think about it! Loosly compling on the html/code > > >>> > > >>> > > >>side is the > > >> > > >> > > >>>key thing that makes wicket better than other frameworks. > > >>> > > >>> > > >>So continue > > >> > > >> > > >>>to use that in the api and you have done the best way that > > >>> > > >>> > > >>is possible > > >> > > >> > > >>>with java! > > >>> > > >>> > > >>>And please remeber: It's cunstructive critism which i try > > >>> > > >>> > > >>to provide. > > >> > > >> > > >>>I just want to get wicket as the best what's possible bc > the basic > > >>>ideas of wicket are great! > > >>> > > >>>Thanx for your attention, > > >>>Dave > > >>> > > >>>PS: I don't say i know the overall truth i just provided > my toughts > > >>>:-) > > >>> > > >>>Juergen Donnerstag wrote: > > >>> > > >>> > > >>> > > >>>>David, > > >>>> > > >>>>we did have a very hot discussion about that topic just a > > >>>> > > >>>> > > >>week or two > > >> > > >> > > >>>>ago. Please check the mail archiv (gmane) for details. But > > >>>> > > >>>> > > >>I can tell > > >> > > >> > > >>>>you it was a very deliberate decison to implement it the > > way it is. > > >>>> > > >>>>Juergen > > >>>> > > >>>>On 8/2/05, David Liebeherr <[EMAIL PROTECTED]> wrote: > > >>>> > > >>>> > > >>>> > > >>>> > > >>>>>Hi Juergen, > > >>>>> > > >>>>>Juergen Donnerstag wrote: > > >>>>> > > >>>>> > > >>>>> > > >>>>> > > >>>>>>David, > > >>>>>> > > >>>>>>yes you're right we have to work on the docs, has been > > >>>>>> > > >>>>>> > > >>on our list > > >> > > >> > > >>>>>>and is under construction. Did you check out our wiki and (the > > >>>>>>outdated) user guide. it should provide at a beginner > > >>>>>> > > >>>>>> > > >>some inside into Wicket. > > >> > > >> > > >>>>>>You mentioned you would simplifiy the API even further. You > > >>>>>>mentioned IModel. Anything else that comes into your mind? > > >>>>>> > > >>>>>> > > >>>>>> > > >>>>>I my gosh, do you realy want to get me started on that? > > >>>>> > > >>>>> > > >>:-) No, for > > >> > > >> > > >>>>>real: > > >>>>>There are lot's of things that need very much simplification. > > >>>>>When i have some time, we may discuss that in detail > (if you are > > >>>>>interested) in a chat or something like that (Log of > > chat goes to > > >>>>>maillinglist/wiki of course). > > >>>>> > > >>>>>One of the much important things is to realize the > > >>>>> > > >>>>> > > >>"programm to an > > >> > > >> > > >>>>>interface, not to an implementation" principle. > > >>>>>For exmaple: > > >>>>>Session should be an Interface and SessionImpl should > be (one!) > > >>>>>implementation of it. > > >>>>>Btw: Don't name interfaces with a I prefix, that is > not so good. > > >>>>>It should be always like that: > > >>>>>Car exmaple: > > >>>>>interface Car {}; > > >>>>>class CarImpl impements Car {}; > > >>>>>or > > >>>>>class BmwImpl implements Car{}; > > >>>>> > > >>>>>I know ppl have different opinions about such things, > but the i > > >>>>>discussed those things for a rather long time with a lot of > > >>>>>developers and some very very good (actually one of the best > > >>>>>programmers out there). I have lot's of serious reasons > > >>>>> > > >>>>> > > >>why i think > > >> > > >> > > >>>>>you should follow this naming convention. And the most > important > > >>>>>thing is: Use interfaces rather then concrete implementation! > > >>>>>And another very very thing is: Use delegation rather > > >>>>> > > >>>>> > > >>than concrete > > >> > > >> > > >>>>>inheritance! > > >>>>> > > >>>>>Again, i have very serious reasons why i think that way. > > >>>>>And it does not mean much more work to do with proper > > >>>>> > > >>>>> > > >>coding tools > > >> > > >> > > >>>>>(Like IntelliJ IDEA). > > >>>>> > > >>>>>I think the Idea of Wicket is geniusly! > > >>>>>Especialy the part that code is attached to free > > >>>>> > > >>>>> > > >>placeable tags with > > >> > > >> > > >>>>>a proper wicket:id! > > >>>>> > > >>>>>But i think at this point the API needs a revision to > > simplify it > > >>>>>and to realy follow some very important rules (like avoiding > > >>>>>concrete inheritance). > > >>>>>Btw: have a look on that: > > >>>>>http://www.javaworld.com/javaworld/jw-08-2003/jw-0801-too > lbox.html > > >>>>>AND AFTER THAT ALSO READ THAT! --> > > >>>>>http://jtiger.org/articles/why-extends-is-not-evil.html > > >>>>> > > >>>>>It explains very very well what's the problem with concrete > > >>>>>inheritance. > > >>>>> > > >>>>>And last but not least: > > >>>>>I think you core developers have done a very good job and > > >>>>> > > >>>>> > > >>i'm very > > >> > > >> > > >>>>>happy to use wicket! > > >>>>>Everything i said (and will say) is not meant as a > > >>>>> > > >>>>> > > >>complain i realy > > >> > > >> > > >>>>>want to participate in wicket and to make it the best WebApp > > >>>>>framework that exists (And i think wicket can reach that > > >>>>> > > >>>>> > > >>target! If > > >> > > >> > > >>>>>i think about all that XMl-Config files crap like with > > Struts and > > >>>>>JSF :-)) > > >>>>> > > >>>>>So please always thake what i say at what is it meant to be: > > >>>>>Constructive critism. > > >>>>> > > >>>>>Thanx again for your Work, > > >>>>>Dave > > >>>>> > > >>>>> > > >>>>> > > >>>>> > > >>>>> > > >>>>> > > >>>>>>Juergen > > >>>>>> > > >>>>>>On 8/2/05, David Liebeherr <[EMAIL PROTECTED]> wrote: > > >>>>>> > > >>>>>> > > >>>>>> > > >>>>>> > > >>>>>> > > >>>>>>>Juergen Donnerstag wrote: > > >>>>>>> > > >>>>>>> > > >>>>>>> > > >>>>>>> > > >>>>>>> > > >>>>>>>>Sorry, I guess except the javadoc there is no extra > > doc on it. > > >>>>>>>>What is > > >>>>>>>>your question? Signin and Signin2 and not very complex. > > >>>>>>>> > > >>>>>>>> > > >>>>>>>> > > >>>>>>>> > > >>>>>>>I think this is precisely the Problem. > > >>>>>>>I found it already out by myself, but it took me some > > >>>>>>> > > >>>>>>> > > >>time to find > > >> > > >> > > >>>>>>>and understand that the key thing is the checkAccess-method. > > >>>>>>>You think it is very simple code. But you are one of the > > >>>>>>>Developers that wrote the Libs, so you know what > > checkAccess do > > >>>>>>>and you know that you do not have to search in the > > >>>>>>>WebApplication-Class code to search where it is > > >>>>>>> > > >>>>>>> > > >>redirected to the > > >> > > >> > > >>>>>>>Login-Page. > > >>>>>>>So i think the problem is for outsiders and newbees of > > >>>>>>> > > >>>>>>> > > >>the project > > >> > > >> > > >>>>>>>many many things are not so clear as you might think. > > >>>>>>> > > >>>>>>>I think the lack of good Documentation - and by > > documentation i > > >>>>>>>don't mean a simple doc of the API methods, rather a > > >>>>>>> > > >>>>>>> > > >>documentation > > >> > > >> > > >>>>>>>describes the realtionships between components and how > > >>>>>>> > > >>>>>>> > > >>to use them > > >> > > >> > > >>>>>>>- is one of the biggest problems (or todos) for wicket. > > >>>>>>> > > >>>>>>>Another Problem is, that's at least my personal opinion (and > > >>>>>>>please thake it as constructive critic and not just as > > >>>>>>> > > >>>>>>> > > >>a complain) > > >> > > >> > > >>>>>>>is that the api is yet to complex. I thought one of the > > >>>>>>> > > >>>>>>> > > >>main goals > > >> > > >> > > >>>>>>>of wicket was to keep the learning curve as low as > > >>>>>>> > > >>>>>>> > > >>possible. But > > >> > > >> > > >>>>>>>the api is to complex for that i think. Especialy the > > >>>>>>> > > >>>>>>> > > >>IModel API > > >> > > >> > > >>>>>>>is very complex and i think it would be a very good idea to > > >>>>>>>simplify it much more. > > >>>>>>> > > >>>>>>>I mean at this time i am a newbee to wicket for my > > >>>>>>> > > >>>>>>> > > >>self. But that > > >> > > >> > > >>>>>>>is good bc that way i can provide the "sight of a newbee". > > >>>>>>>Developers of the proect may thing that something is > > >>>>>>> > > >>>>>>> > > >>"quite easy", > > >> > > >> > > >>>>>>>but if i'm a developer of the project i know too much > > >>>>>>> > > >>>>>>> > > >>already to > > >> > > >> > > >>>>>>>tell if a thing can be easy understood. > > >>>>>>> > > >>>>>>>But however thanks for your help, Dave > > >>>>>>> > > >>>>>>> > > >>>>>>> > > >>>>>>> > > >>>>>>> > > >>>>>>> > > >>>>>>>>Juergen > > >>>>>>>> > > >>>>>>>>On 8/1/05, David Liebeherr <[EMAIL PROTECTED]> wrote: > > >>>>>>>> > > >>>>>>>> > > >>>>>>>> > > >>>>>>>> > > >>>>>>>> > > >>>>>>>> > > >>>>>>>>>Is there any documentation/tutorial available for > the Signin > > >>>>>>>>>Exmaple? > > >>>>>>>>>I realy have some problems understanding how it works. > > >>>>>>>>> > > >>>>>>>>>Thanx, > > >>>>>>>>>Dave > > >>>>>>>>> > > >>>>>>>>>PS: Wicket ROCKS! > > >>>>>>>>> > > >>>>>>>>> > > >>>>>>>>>------------------------------------------------------- > > >>>>>>>>>SF.Net email is sponsored by: Discover Easy Linux > Migration > > >>>>>>>>>Strategies > > >>>>>>>>> > > >>>>>>>>>from IBM. Find simple to follow Roadmaps, straightforward > > >>>>>>>>>articles, > > >>>>>>>>> > > >>>>>>>>> > > >>>>>>>> > > >>>>>>>> > > >>>>>>>> > > >>>>>>>> > > >>>>>>>>>informative Webcasts and more! Get everything you > > >>>>>>>>> > > >>>>>>>>> > > >>need to get up > > >> > > >> > > >>>>>>>>>to speed, fast. > > >>>>>>>>>http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click > > >>>>>>>>>_______________________________________________ > > >>>>>>>>>Wicket-user mailing list > > >>>>>>>>>Wicket-user@lists.sourceforge.net > > >>>>>>>>>https://lists.sourceforge.net/lists/listinfo/wicket-user > > >>>>>>>>> > > >>>>>>>>> > > >>>>>>>>> > > >>>>>>>>> > > >>>>>>>>------------------------------------------------------- > > >>>>>>>>SF.Net email is sponsored by: Discover Easy Linux Migration > > >>>>>>>>Strategies > > >>>>>>>> > > >>>>>>>>from IBM. Find simple to follow Roadmaps, straightforward > > >>>>>>>>articles, > > >>>>>>>> > > >>>>>>>> > > >>>>>>> > > >>>>>>> > > >>>>>>> > > >>>>>>> > > >>>>>>>>informative Webcasts and more! Get everything you need > > >>>>>>>> > > >>>>>>>> > > >>to get up > > >> > > >> > > >>>>>>>>to speed, fast. > > >>>>>>>>http://ads.osdn.com/?ad_idt77&alloc_id492&op=click > > >>>>>>>>_______________________________________________ > > >>>>>>>>Wicket-user mailing list > > >>>>>>>>Wicket-user@lists.sourceforge.net > > >>>>>>>>https://lists.sourceforge.net/lists/listinfo/wicket-user > > >>>>>>>> > > >>>>>>>> > > >>>>>>>> > > >>>>>>>------------------------------------------------------- > > >>>>>>>SF.Net email is sponsored by: Discover Easy Linux Migration > > >>>>>>>Strategies > > >>>>>>> > > >>>>>>>from IBM. Find simple to follow Roadmaps, straightforward > > >>>>>>>articles, > > >>>>>>> > > >>>>>>> > > >>>>>> > > >>>>>> > > >>>>>> > > >>>>>> > > >>>>>>>informative Webcasts and more! Get everything you need > > >>>>>>> > > >>>>>>> > > >>to get up > > >> > > >> > > >>>>>>>to speed, fast. > > >>>>>>>http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click > > >>>>>>>_______________________________________________ > > >>>>>>>Wicket-user mailing list > > >>>>>>>Wicket-user@lists.sourceforge.net > > >>>>>>>https://lists.sourceforge.net/lists/listinfo/wicket-user > > >>>>>>> > > >>>>>>> > > >>>>>>> > > >>>>>>> > > >>>>>>------------------------------------------------------- > > >>>>>>SF.Net email is sponsored by: Discover Easy Linux Migration > > >>>>>>Strategies from IBM. Find simple to follow Roadmaps, > > >>>>>>straightforward articles, informative Webcasts and more! Get > > >>>>>>everything you need to get up to speed, fast. > > >>>>>>http://ads.osdn.com/?ad_idt77&alloc_id492&op=click > > >>>>>>_______________________________________________ > > >>>>>>Wicket-user mailing list > > >>>>>>Wicket-user@lists.sourceforge.net > > >>>>>>https://lists.sourceforge.net/lists/listinfo/wicket-user > > >>>>>> > > >>>>>> > > >>>>>> > > >>>>>------------------------------------------------------- > > >>>>>SF.Net email is sponsored by: Discover Easy Linux Migration > > >>>>>Strategies from IBM. Find simple to follow Roadmaps, > > >>>>> > > >>>>> > > >>straightforward > > >> > > >> > > >>>>>articles, informative Webcasts and more! Get everything > > >>>>> > > >>>>> > > >>you need to > > >> > > >> > > >>>>>get up to speed, fast. > > >>>>>http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click > > >>>>>_______________________________________________ > > >>>>>Wicket-user mailing list > > >>>>>Wicket-user@lists.sourceforge.net > > >>>>>https://lists.sourceforge.net/lists/listinfo/wicket-user > > >>>>> > > >>>>> > > >>>>> > > >>>>> > > >>>------------------------------------------------------- > > >>>SF.Net email is sponsored by: Discover Easy Linux Migration > > >>> > > >>> > > >>Strategies > > >> > > >> > > >>>from IBM. Find simple to follow Roadmaps, straightforward > > articles, > > >>>informative Webcasts and more! Get everything you need to > > get up to > > >>>speed, fast. > > http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click > > >>>_______________________________________________ > > >>>Wicket-user mailing list > > >>>Wicket-user@lists.sourceforge.net > > >>>https://lists.sourceforge.net/lists/listinfo/wicket-user > > >>> > > >>> > > >>> > > >>------------------------------------------------------- > > >>SF.Net email is sponsored by: Discover Easy Linux Migration > > Strategies > > >>from IBM. Find simple to follow Roadmaps, straightforward > articles, > > >>informative Webcasts and more! Get everything you need to > get up to > > >>speed, fast. > > >>http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click > > >>_______________________________________________ > > >>Wicket-user mailing list > > >>Wicket-user@lists.sourceforge.net > > >>https://lists.sourceforge.net/lists/listinfo/wicket-user > > >> > > >> > > >> > > >> > > >> > > > > > > > > > > > > > > >------------------------------------------------------- > > >SF.Net email is sponsored by: Discover Easy Linux Migration > > Strategies > > >from IBM. Find simple to follow Roadmaps, straightforward > articles, > > >informative Webcasts and more! Get everything you need to > get up to > > >speed, fast. http://ads.osdn.com/?ad_idt77&alloc_id492&opÌk > > >_______________________________________________ > > >Wicket-user mailing list > > >Wicket-user@lists.sourceforge.net > > >https://lists.sourceforge.net/lists/listinfo/wicket-user > > > > > > > > > > > > > > > ------------------------------------------------------- > > SF.Net email is sponsored by: Discover Easy Linux Migration > Strategies > > from IBM. Find simple to follow Roadmaps, straightforward articles, > > informative Webcasts and more! Get everything you need to get up to > > speed, fast. > > http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click > > _______________________________________________ > > Wicket-user mailing list > > Wicket-user@lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/wicket-user > > > > > > > > > > > ------------------------------------------------------- > SF.Net email is sponsored by: Discover Easy Linux Migration > Strategies from IBM. Find simple to follow Roadmaps, > straightforward articles, informative Webcasts and more! Get > everything you need to get up to speed, fast. > http://ads.osdn.com/?ad_idt77&alloc_id492&op=ick > _______________________________________________ > Wicket-user mailing list > Wicket-user@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/wicket-user > > > ------------------------------------------------------- SF.Net email is sponsored by: Discover Easy Linux Migration Strategies from IBM. Find simple to follow Roadmaps, straightforward articles, informative Webcasts and more! Get everything you need to get up to speed, fast. http://ads.osdn.com/?ad_idt77&alloc_id492&op=click _______________________________________________ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user