[ 
https://issues.apache.org/jira/browse/CONFIGURATION-420?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12877181#action_12877181
 ] 

Oliver Heger commented on CONFIGURATION-420:
--------------------------------------------

No, OverrideCombiner always takes data from the first configuration, no matter 
if list nodes are involved or not. Only properties that are not contained in 
the first configuration are obtained from the second one. This is the classic 
override semantics.

Whether a property is a list node or not does not affect the selection 
performed by the combiner. This only influences the structure of the generated 
combined configuration.

If you have specific requirements (obviously some properties must not be 
overridden), you probably have to implement your own combiner.

Anyway, this is not a bug. OverrideCombiner works as expected.

> OverrideCombiner seems to ignore list nodes
> -------------------------------------------
>
>                 Key: CONFIGURATION-420
>                 URL: https://issues.apache.org/jira/browse/CONFIGURATION-420
>             Project: Commons Configuration
>          Issue Type: Bug
>          Components: Interpolation
>    Affects Versions: 1.6
>            Reporter: Aniruddh Chitre
>            Priority: Minor
>         Attachments: config-conf.xml, config-custom.xml, config.xml
>
>
> When using OverrideCombiner it seems to ignore any list nodes and always 
> return properties/values for list node from the overridden file. See the 
> attached files for an example of what I mean. The following code always 
> returns the values from config-custom even if list-nodes mentions that the 
> sysprops node is a list-node.
>               URL fileURL = TestConfig.class.getResource("config-conf.xml");
>               
>               try
>               {
>                       DefaultConfigurationBuilder configBuilder = new 
> DefaultConfigurationBuilder(fileURL);
>                       CombinedConfiguration config = 
> configBuilder.getConfiguration(true);
>                       
> System.out.println(config.getString("sysprops/testkey"));
>                       
> System.out.println(config.getString("configprops/testkey1"));
>               }
>               catch (ConfigurationException e)
>               {
>                       e.printStackTrace();
>               }

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to