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]

Reply via email to