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();
>             mergedConfig.save(writer);
>             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
key.

- Jörg


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
For additional commands, e-mail: dev-h...@commons.apache.org

Reply via email to