[ 
https://issues.apache.org/jira/browse/BEANUTILS-312?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12594889#action_12594889
 ] 

Aaron Zeckoski commented on BEANUTILS-312:
------------------------------------------

Ah, I did not realize binary compatibility was a requirement...
I can only see one way to handle that and that is create a FastHashMap at the 
points where a FastHashMap is required doing something like:
if (! (existingMap instanceof FastHashMap)) {
existingMap = new FastHashMap(existingMap);
}

That is pseudo coded but you get the idea. This would also incur very little 
overhead (just the check) if the legacy FastHashMap is being used but would 
still allow for putting in and getting out whatever map or caching object (that 
implements Map) that you like.

If this is acceptable then I will recode the patch. If not, please suggest an 
alternative and I will recode the patch.

> Expose the caches in PropertyBeanUtils so they can be controlled if needed
> --------------------------------------------------------------------------
>
>                 Key: BEANUTILS-312
>                 URL: https://issues.apache.org/jira/browse/BEANUTILS-312
>             Project: Commons BeanUtils
>          Issue Type: Improvement
>          Components: Bean / Property Utils
>    Affects Versions: 1.8.0-BETA
>            Reporter: Aaron Zeckoski
>             Fix For: 1.8.0
>
>         Attachments: 
> beanutils-add-cache-setters-getters-remove-fasthashmap.patch
>
>   Original Estimate: 1h
>  Remaining Estimate: 1h
>
> We have an extension to commons beanutils which allows us to make it
> work with public fields as well (and a few other improvements we
> needed like deep cloning). In 1.8.0-BETA it is easier to handle this
> extension (thanks!) but it could be even easier if there was a way to
> get and set the caches which are used for storing the
> PropertyDescriptors. Just switching the type from FastHashMap to Map
> and making a setter and getter which are publicly visible would be
> enough to reduce our the work in extending this significantly.
> The attached patch exposes the caches in PropertyBeanUtils and sets them to 
> be Map instead of FastHashMap. This also involves a change to PropertyUtils 
> (also changing FastHashMap to Map). The patch is fairly small and was built 
> again the trunk.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to