I use ognl {} projection to make non-List Collections into Lists for a ListView. (And it /is/ way too slow with long lists.) If list view could handle a SortedSet, or just any Collection, it would eliminate that need.

It would still be nice to have an OgnlPropertyModel, even if it doesn't have an accompanying compound model. Sometimes a complicated expression is just what you need, and I'm not crazy about putting those in a component ID anyway. But if you're looking to eliminate the ognl jar dependency, I guess that's a worthy cause.

Nathan

Johan Compagner wrote:
Hi

I have written a replacement of OGNL when i test it with a very simple test (The FormInput example)
then i see quite some improvements in cpu speedups and mem improvements

Around 40% speed increase for a submitting the forminput example page 20 times
and only 1/5 of the memory garbage is generated (50MB against 10MB)

The question is what do you guys use of ognl? Can i completely drop it or must i make it an option so that you can switch in youre application for all using ognl or the homebrew wicket impl. Or make seperate classes (like AbstractPropertyModel) but this is not really doable because then all the
sub classes must also be copied...(Like CompoundXX)

What i do support now is this:

person.name <http://person.name> (plain properties)
person.addresses.0.street (addresses is a list and i take the first element)
person.addresses.homeaddress.street (addresses is map and i take the address with the key 'homeaddress' out of it)

so maps and list are seen and the next part of the expression is then the key or the index you can also put values in a map
or append/set to a list:

person.addresses.homeaddress = new Address()
person.addresses.10 = new Address()

if the list size is smaller then 10 then it will appends null to make it that size.

addresses can also be an Array but then it won't be able to grow.

Ofcourse the person.address.street will just be null if address is null, no exception will be thrown if you try to set something on a null object a exception is still thrown, Maybe we could make some null handlers for that somehow that are easy useable.

So can people live with this? Does anybody uses something different of ognl?

johan




-------------------------------------------------------
This SF.Net email is sponsored by the JBoss Inc.
Get Certified Today * Register for a JBoss Training Course
Free Certification Exam for All Training Attendees Through End of 2005
Visit http://www.jboss.com/services/certification for more information
_______________________________________________
Wicket-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wicket-user

Reply via email to