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]

Reply via email to