You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by "Niall Pemberton (JIRA)" <ji...@apache.org> on 2007/05/20 10:55:16 UTC
[jira] Resolved: (BEANUTILS-259) Plugable Property Name Expression
Resolver
[ https://issues.apache.org/jira/browse/BEANUTILS-259?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Niall Pemberton resolved BEANUTILS-259.
---------------------------------------
Resolution: Fixed
> Plugable Property Name Expression Resolver
> ------------------------------------------
>
> Key: BEANUTILS-259
> URL: https://issues.apache.org/jira/browse/BEANUTILS-259
> Project: Commons BeanUtils
> Issue Type: Improvement
> Components: Expression Syntax
> Affects Versions: 1.7.0
> Reporter: Niall Pemberton
> Assigned To: 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: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org