[ http://www.stripesframework.org/jira/browse/STS-228?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Ben Gunter closed STS-228. -------------------------- > Remove use of OGNL and replace with build in property/bean utils code > --------------------------------------------------------------------- > > Key: STS-228 > URL: http://www.stripesframework.org/jira/browse/STS-228 > Project: Stripes > Issue Type: Improvement > Components: Validation > Reporter: Tim Fennell > Assignee: Tim Fennell > Priority: Critical > Fix For: Release 1.4 > > > OGNL is becoming the largest time-sink in Stripes. Trying to figure out how > to work around the fact that OGNL is completely unaware of Generics > information among other things, and trying to work with it's poorly > documented APIs is taking an inordinate amount of time and still there are > things that we can't do. > Switching to a built-in BeanUtils/PropertyExpression system should allow a > lot of improvement as it will be (obviously) a lot simpler than OGNL and > targette d directly at the needs of Stripes. I expect to see the following > benefits: > 1) Stripes can ship with one fewer libraries (we're down to comons logging > and cos) > 2) The replacement code will be far better documented and far clearer than > OGNL - it should be much easier to maintain than the code that interfaced > with OGNL which is substantial in it's own right > 3) We should be able to do things that we couldn't do with OGNL. For > example, assuming you have your generic declarations right, it should handle > back to back indexing e.g. foo['bar']['splat'][7] which was problematic > before. It could also deal with arrays of generic types! > 4) It should be *much* faster. Just calling bare get/set operations should > be faster due to it's limited scope. But what's better is that because it's > written to work closely with Stripes when used in the binder it could cache > partially evaluated expressions and re-use them which means that we're making > significantly fewer calls to the API as well as the API being faster :D > 5) We should be able to do other neat things such as using class level type > arguments to figure out the real type of a property when we're presented with > a type variable (thus allowing further generification of ActionBean classes > and their properties) > 6) The new code *should* in most circumstances give much friendlier error > messages than OGNL did :D -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira ------------------------------------------------------------------------------ Learn how Oracle Real Application Clusters (RAC) One Node allows customers to consolidate database storage, standardize their database environment, and, should the need arise, upgrade to a full multi-node Oracle RAC database without downtime or disruption http://p.sf.net/sfu/oracle-sfdevnl _______________________________________________ Stripes-development mailing list Stripes-development@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/stripes-development