Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
1.7
-
None
Description
I create a composite configuration with two PropertyConfigurations: a user configuration and a default configuration, with the userConfiguration as inMemoryConfiguration.
If both configurations contain the same key, the value from defaultConfiguration is returned although the user configuration was added first. If no inMemoryConfiguration is specified, it's working ok:
Configuration defaultConf = new PropertiesConfiguration();
defaultConf.addProperty("prop1", "fromDefaultConfig");
Configuration userConf = new PropertiesConfiguration();
userConf.addProperty("prop1", "fromUserConfig");
CompositeConfiguration noMemoryConfig = new CompositeConfiguration();
noMemoryConfig.addConfiguration(userConf);
noMemoryConfig.addConfiguration(defaultConf);
System.out.println("noMemoryConfig: " + noMemoryConfig.getString("prop1")); // Shows "fromUserConfig"
CompositeConfiguration withMemoryConfig = new CompositeConfiguration(userConf);
withMemoryConfig.addConfiguration(userConf);
withMemoryConfig.addConfiguration(defaultConf);
System.out.println("withMemoryConfig: " + withMemoryConfig.getString("prop1")); // Shows "fromDefaultConfig"