I gather from Oliver's analysis that the existing behaviour for interpolating multi-values isn't useful in any case. So I think that means it's going to be changed to only use the first value from a multi-list as the substitute.
moran > -----Original Message----- > From: Eric Pugh [mailto:[EMAIL PROTECTED] > Sent: Monday, August 29, 2005 10:05 PM > To: Jakarta Commons Users List > Subject: Re: [configuration] Property Substitution Policy > > Does this suggest that we need to be able to hand in a > "InterpolationStrategy" object to Commons Config? Maybe start out > with a default that is based around the existing logic, and then > allow other people to provide there own? Versus adding more booleans > and flags to the existing logic? > > Eric > > On Aug 26, 2005, at 10:02 AM, Oliver Heger wrote: > > > > Moran Ben-David wrote: > > > > > > > >> Hi guys, > >> > >> Thanks again for inspecting this problem with me and hashing out > >> my various > >> options. I have taken the liberty of making some modifications to > >> 2 classes > >> in Commons Configuration (attached) in order to get it to do what > >> I wanted. > >> > >> Is it possible to contribute this to Commons Configuration? I've > >> tried to > >> do a good job in this code change by providing the test case. I > >> plan to use > >> commons configuration for as long as I can think and would hate to > >> have to > >> make this change for every new version I get. > >> > >> The summary of these changes is that I added a Boolean flag to > >> tell the > >> interpolation algorithm whether to substitute using the entire > >> multi-valued > >> property or just the first value. I.e., an if statement > >> determining whether > >> getString or getPoroperty are used. I added a test case for this > >> in what I > >> think is the appropriate place. > >> > >> > >> > > Hm, I am wondering if we need the flag and the handling of multi > > valued properties at all. > > > > The interpolate() method is called at two different places: in > > getString() for interpolating the return value and in getStringArray > > () for processing the single array elements. This context IMO makes > > it quite clear that its result should always be a single value and > > not a somehow to a string converted list of values. This will then > > be consistent with how getString() itself deals with multi-valued > > properties. > > > > IIRC your original question was how to turn off those multiple > > return values. So I suppose you do not have a concrete use case for > > this behavior either, do you? > > > > So I would suggest to fix interpolate() to always return the first > > value if there are multiple. > > > > Oliver > > > > <snip> > > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
