commons-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Oliver Heger <>
Subject Re: [configuration] Any way to tell with CompositeConfiguration which child Config object a value is derived?
Date Thu, 17 Nov 2011 16:55:11 GMT
Am 17.11.2011 00:34, schrieb Tim Bessie:
> Thanks Oliver - unfortunately, that is not quite the same issue I'm talking
> about.
> Mostly, this is because I want to use CompositeConfiguration; I don't
> require structure in my configurations and don't want to have to deal with
> the concepts CombinedConfiguration uses (nodes, views, etc.).
> Just a simple, layered configuration concept like CompositeConfiguration
> provides, and the ability to say "where did the value for this key come
> from", not "what is the ONLY configuration object this key is defined in".
> Perhaps we need another method - getFirstSource(String key), where the
> source config returned is the one where key is first defined in the child
> configurations, regardless of whether that key is defined again in a later
> child config?
> Where would I request such a feature? Would that be hard to implement?
> Seems to be a common sort of requirement.
> - Tim

Just open an enhancement ticket in Jira, our bug-tracking system [1] 
with a detailed description of what you want to achieve.

 From your explanation above I have the impression that this feature is 
not too complicated to implemented. But we will see when the ticket has 
been created.



> On Wed, Nov 16, 2011 at 1:34 PM, Oliver Heger
> <>wrote:
>> Am 16.11.2011 22:24, schrieb Tim Bessie:
>>   I have been trying to use commons-configuration, especially the
>>> CompositeConfiguration object (and have looked into
>>> CombinedConfiguration),
>>> and I have a need to be able to ask  "Which child configuration object did
>>> a given key's value derive from?"
>>> I had thought that CompositeConfiguration.**getSource() would tell me,
>>> but if
>>> we have:
>>> source A:
>>> x.prop1=hello
>>> source B:
>>> x.prop1=goodbye
>>> source DEFAULT:
>>> x.prop1=You didn't set a value
>>> and I call getSource("x.prop1"), I'll get an IllegalArgumentException,
>>> since x.prop1 exists in all 3 child configurations.
>>> What I was hoping for was something that would be consistent with
>>> getProperty("x.prop1"); since that would return the value from "source A"
>>> (since that was where it was first found), I was hoping there'd be some
>>> method that could tell me "in which child configuration was the value you
>>> got found", but there doesn't seem to be any way to do this.
>>> Why is this vital functionality missing?  Or am I missing something in the
>>> documentation?
>> There is an open bug report [1] related to this issue. Maybe the
>> discussion in this ticket answers some of your questions.
>> Oliver
>> [1]**jira/browse/CONFIGURATION-443<>
>> ------------------------------**------------------------------**---------
>> To unsubscribe, e-mail: user-unsubscribe@commons.**<>
>> For additional commands, e-mail:

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message