we will need to make our versioning implementation for pages a fully independent strategy pattern where you can do the serializing... but we should be doing this anyway...
yes, you must subclass session and return a subclass of PageState. users would need to create their own subclass of session (which i imagine most users are going to wind up doing anyway) and would install your XStreamPageState in their own subclass.
Gili wrote:
One final point: are we sure there is nothing in the current design that forces users to make their code Serializable even when using XStreamPageState? I just want to make sure that these sorts of requirements don't creep into 1.0 and then it is impossible for me to add XStreamPageState later on.
Also, I took a quick look at Session.java and there doesn't seem to be a way to set the state to a different type (such as XStreamPageState). You seem to initialize it internally and not give external access to it. Are you saying I'd have to subclass Session with XStreamSession that uses XStreamPageState internally and users would have to explicitly set their Session to XStreamSession somehow (I don't know that you can currently do that either)?
Gili
On Tue, 08 Mar 2005 12:26:38 -0500, Gili wrote:
Fair enough.
Gili
On Tue, 08 Mar 2005 09:18:10 -0800, Jonathan Locke wrote:
regardless, it seems like a good thing to test carefully in contrib before moving into core. also, by implementing as an extension first, we get to test out and ensure that our hooks for this sort of stuff work. if it turns out to be as great as you say, i'm sure we'll all discuss the possible core-ness of your contrib plugin in the future.
i think one thing at a time here is best. xstream is definitely not a 1.0 feature (we have to ship this darn thing and the date keeps sliding as people find more problems!). maybe contrib in 1.1. and then if that works, it could be considered for core in 1.2. please note the word "considered". we'd have to come to consensus. but the best way to get that consensus is surely implementing an xstream plugin in contrib that knocks our socks off.
Gili wrote:
<sigh> I give up :)
XStream is not "walking on the wild side". JSX, its predecessor has been around for *many* years and is a proven technology. XStream does the same thing, only it's free (the former was commercial). Both of these products simply hook into underlying JDK mechanisms to get at private fields, methods, etc. There is no native code or any magic at play here. Performance is very good.
So fine, if all you want is a non-default contrib module then maybe we can start with that but honestly the kinds of arguments I'm hearing here from Chris:
1) It's not good to add another JAR because it'll increase the size of Wicket 2) Serialization requires "a certain discipline" which would be lost if we allowed XStream
go smack in the face of Wicket's goals of focusing on ease of use before performance. No "discipline" is lost whether you use standard serialization or XStream. The same persistance rules apply (transient keyword, etc) whether you use one or the other. All we're doing is making it *easier* to serialize and if users want to come back and fine-tune the process further they can still do so. I think you guys are assuming (incorrectly) that XStream is "unstable magic" and that its performance is bad. Neither is true.
I have compared XStream vs Serialization to Java vs C before. I honestly think it's that sort of thing.
And Eelco, I'll work on the plugin as soon as I get around to working with Wicket again. Right now I'm knee-deep migrating to Hibernate3.
Gili
On Tue, 08 Mar 2005 09:00:04 -0800, Jonathan Locke wrote:
yeah. i'm +1 on that too. i'd also like versioning to be hookable enough that you could replace cloning code with a contrib'ed version mgr that uses xstream. best of all worlds this way. wicket would default to the normal Serialization model, but then you could replace that using contrib'ed xstream code if you felt like taking a walk on the wild side...
Christopher Turner wrote:
My personal view is that we should not be including this as a standard feature of the core. It just adds extra jar dependencies, increases the size of the web application and so on. I'm personally more than happy with using the standard serialization mechanism provided by my application server vendor.
Serialzation is a messy thing to deal with and I think that a certain discipline and design ethic is forced on you by having to implement Serializable and deal with the differences between transient and persistent fields. If you want to design efficient web applications then you have to be aware of the issues involved in this. Wicket can hide it for simpler applications but as soon as you start growing to servers supporting session clustering and recovery then you have to understand a bit more about what is going on and make some important design decisions.
However, I would be +1 for providing XStreamPageState and other Xstream support as an optional implementation in the contrib package.
Regards, Chris
<http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click>if xstream doesn't have downsides and is more efficient and we don't care about vm requirements, we could use xstream for undo cloning operations. then if we provided XStreamPageState, you wouldn't have to make anything serializable. (uh... i think). xml seems like a terribly verbose format though. i'm concerned about memory impact...
Gili wrote:
making a niceOn Tue, 08 Mar 2005 08:32:18 -0800, Jonathan Locke wrote:
if gili wants to go test our new PageState mechanism by
that might makesubclass of PageState using xstream (XStreamPageState?),
understanding of howBefore I do I want to make sure I have a bettera really nice contrib or extensions class...
far I can go to serialize as little as possible with the webcontainer
and handling the rest with XStream. My main concern is foroption of doing
user-classes: users should not have to worry about serialization or
no-arg constructors and I simply want to give them the
so. So it would be nice if say we'd still have to persistWicket using
Start readingthe web container but everything else could be handled "in-house" by Wicket using XStream.
Gili
-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real
users. Discover which products truly live up to the hype.
now. http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
<http://ads.osdn.com/?ad_id=6595&alloc_id=14396>> &op=click-------------------------------------------------------_______________________________________________ Wicket-develop mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/wicket-develop
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from
real users. Discover which products truly live up to the
hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396
_______________________________________________
Wicket-develop mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/wicket-develop
------------------------------------------------------- SF email is sponsored by - The IT Product Guide Read honest & candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click _______________________________________________ Wicket-develop mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/wicket-develop
------------------------------------------------------- SF email is sponsored by - The IT Product Guide Read honest & candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click _______________________________________________ Wicket-develop mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/wicket-develop
------------------------------------------------------- SF email is sponsored by - The IT Product Guide Read honest & candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click _______________________________________________ Wicket-develop mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/wicket-develop
------------------------------------------------------- SF email is sponsored by - The IT Product Guide Read honest & candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click _______________________________________________ Wicket-develop mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/wicket-develop
------------------------------------------------------- SF email is sponsored by - The IT Product Guide Read honest & candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click _______________________________________________ Wicket-develop mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/wicket-develop
