[ https://issues.apache.org/jira/browse/BEANUTILS-259?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Niall Pemberton updated BEANUTILS-259: -------------------------------------- Issue Type: New Feature (was: Improvement) > Plugable Property Name Expression Resolver > ------------------------------------------ > > Key: BEANUTILS-259 > URL: https://issues.apache.org/jira/browse/BEANUTILS-259 > Project: Commons BeanUtils > Issue Type: New Feature > Components: Expression Syntax > Affects Versions: 1.7.0 > Reporter: Niall Pemberton > Assignee: Niall Pemberton > Priority: Minor > Fix For: 1.8.0 > > Attachments: BasicResolver.java, BasicResolverTestCase.java, > Resolver.java > > > There are a number of outstanding bugs against the BeanUtils expression > syntax with people wanting BeanUtils to support different variations. There > is also a duplication of the "expression evaluation" code in various methods > which can't be tested in isolation and is difficult to maintain as changes > have to be applied uniformly to various places. > The main places where the code is duplicated: > PropertyUtilsBean > - getNestedProperty > - setNestedProperty > - getPropertyDescriptor > BeanUtilsBean > - copyProperty > - setProperty > LocaleBeanUtils has also implemented an alternative mechanism - using a > Descriptor object to resolve references. BeanUtils and PropertyUtils also > work in slightly different ways. There are also other methods (e.g. > PropertyUtilsBean's getIndexedProperty() method) which also have related code. > I propose to add a new "expression resolver" interface, which would be a > singleton and everywhere would delegate to to resolve property expressions. > This will allow easy testing as it can be tested in isolation and provide a > uniform mechanism accross BeanUtils. It will also allow alternative syntax to > be implemented if the resolver implementation can be configured. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]