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]