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]

Reply via email to