commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From tenn...@visi.com
Subject Re: [BeanUtils] Adding ConverterSet
Date Mon, 10 Feb 2003 20:53:55 GMT
ok, that will be fine. Let me know when you are ready to have a look at it. I 
can put it off for a couple days, and if I end up working on it we can just 
work through and changes that you think are appropriate.

-ET

Quoting robert burrell donkin <robertburrelldonkin@blueyonder.co.uk>:

> hi erik
> 
> beanutils is on a bit of an unofficial code freeze at the moment (only bug
> fixes)  since we need to release a 1.6.1 version soon to fix a problem in
> 1.6 (which breaks maven and jelly). if you could put your ideas on hold
> for a few days until this release is out the way, then i'd be glad to talk
> about refactoring then (if you're willing to hang around).
> 
> - robert
> 
> On Saturday, February 8, 2003, at 12:45 AM, tennant@visi.com wrote:
> 
> > I am using BeanUtils.copyProperties(Object dest, Object orig)  to copy
> > from
> > my "view" beans to my dto beans, and vica versa. I find that I need to
> > apply
> > slightly different rules based on which direction I am going.  I would
> > like to
> > add the idea of a "ConverterSet" to beanutils, and plan on passing up the
> > changes, if anyone is interested.
> >
> > Here are the changes I am looking at:
> >
> > Add a new ConverterSet class, which will contain a hashmap of Converter
> > objects, and a name, as well as lookup and set methods for Converters.
> >
> > Add a new method in BeanUtils with the signature copyProperties(Object
> > dest,
> > Object orig, ConverterSet converterSet). The current copyProperties(Object
> > dest, Object orig) will chain to this new method, using a default
> > ConverterSet.
> >
> > There will be many other methods in BeanUtils and ConvertUtils which will
> > also
> > have to undergo the same transition- i.e. copyProperty(Object bean, String
> > name, Object value), etc..
> >
> > In ConvertUtils, I will add a "Converter lookup(Class clazz, ConverterSet
> > converterSet)" method, along with register(...), etc. Basically
> > everything that
> > currently does a lookup on the converters variable inside of ConvertUtils
> > will
> > be changed to allow the specification of a ConverterSet, and the default
> > will
> > be used if none is specified.
> >
> > I will add a utility method on ConvertUtils to retrieve a given
> > ConverterSet:
> > public static ConverterSet getConverterSet(String setName)
> >
> > That should all be pretty straight forward and will maintain backwards
> > compatability.
> >
> >
> > There is a chance for a larger refactoring here.. It might be appropriate
> > to
> > move some of the functionality from ConvertUtils into this new
> > ConverterSet
> > object, for example setDefaultDouble(double value) (and then deprecating
> > those
> > methods on ConvertUtils). Which would yield something like:
> >
> > ConverterSet converterSet = ConvertUtils.getConverterSet("FormToDTO");
> > converterSet.setDefaultBoolean(false);
> >
> > instead of:
> >
> > ConverterSet converterSet = ConvertUtils.getConverterSet("FormToDTO");
> > converterUtils.setDefaultBoolean(false,converterSet);
> >
> > (or use ConvertUtils.getDefaultConverterSet() to get the default set..)
> >
> >
> > On a side note, I initially thought I could use the name of the
> > ConverterSet in
> > such situations, and do something like:
> >
> > converterUtils.setDefaultBoolean(false,"FormToDTO");
> >
> > However, that got me in trouble inside BeanUtils, because overloading
> > some of
> > the methods with an additional String produced a method signature that was
> > already in use. Hence the requirement for a ConverterSet object.
> >
> >
> > I wanted to run this by the list because I would rather have input now
> > before I
> > make a lot of changes, rather than after I make them :)   If anyone has
> > strong
> > opinions/comments/suggestions I would appreciate the feedback --
> > particularly
> > in regards to whether to expose the ConverterSet functionality through the
> > ConvertUtils (seems more in line with how the library currently works), or
> > whether to expose it through ConverterSet (seems more OO) .  My
> > preference is
> > the latter of those two options, however it means fiddling with a public
> > API,
> > which might upset people...
> >
> > Thanks.
> >
> > -Erik
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
> > For additional commands, e-mail: commons-dev-help@jakarta.apache.org
> >
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: commons-dev-help@jakarta.apache.org

---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org


Mime
View raw message