commons-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Tim Bessie <>
Subject Re: [configuration] Any way to tell with CompositeConfiguration which child Config object a value is derived?
Date Wed, 16 Nov 2011 23:34:29 GMT
Thanks Oliver - unfortunately, that is not quite the same issue I'm talking
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

On Wed, Nov 16, 2011 at 1:34 PM, Oliver Heger

> 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:


Tim Bessie
Meez, Inc.

  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message