commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jörg Schaible <>
Subject Re: [configuration] Merging overrides with defaults
Date Wed, 17 Jun 2009 07:45:53 GMT
Hi Alec,

as commons contains quite a lot of components, it is best practice to
include the component's name iln the subject to give a reader the context
of your question.

Alec Swan wrote at Mittwoch, 17. Juni 2009 00:00:

> I have a property file containing default configurations in a key=value
> format. I also have another file with the same format which contains
> overrides for some of the properties. I need to apply the overrides to the
> default configuration while preserving the format and comments. I also
> need to write the merged content to a string.
> I am using the following code, but the mergedContent contains the default
> content and no overrides. I tried reversing the order in which I add
> defaultConfig and overridingConfig to CompositeConfiguration, but still no
> luck.
>             PropertiesConfiguration mergedConfig = new
> PropertiesConfiguration();
>             CompositeConfiguration compositeConfig = new
> CompositeConfiguration(defaultConfig);
>             mergedConfig = defaultConfig;
>             compositeConfig.addConfiguration(overridingConfig);
>             StringWriter writer = new StringWriter();
>   ;
>             String mergedContent = writer.toString();
> What's wrong with the code above?

You add the configurations in the wrong sequence. A configuration that
contains default values should always added last, since the
CompositeConfiguration will return the first found value for the requested

- Jörg

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

View raw message