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

Oliver Heger commented on CONFIGURATION-599:
--------------------------------------------

I have never used {{MergeCombiner}} myself. So the only reference is the API 
documentation of this class. There is the point

bq. Only a single node in the second file is considered a match to the node in 
the first file.

Can this be related to your problem?

You said that you use {MergeCombiner}} because it is used elsewhere in the 
project. This seems a bit strange to me. I would expect that you have some 
concrete requirements and based on these choose the appropriate combiner.

> CombinedConfiguration fails to merge correctly when one configuration only 
> contains one property
> ------------------------------------------------------------------------------------------------
>
>                 Key: CONFIGURATION-599
>                 URL: https://issues.apache.org/jira/browse/CONFIGURATION-599
>             Project: Commons Configuration
>          Issue Type: Bug
>    Affects Versions: 1.9
>            Reporter: Martin Lindgren
>            Priority: Critical
>
> When using a CombinedConfiguration it fails to merge properties located in 
> both of the configurations if one of the configuration only contains 1 
> property.
> {code:title=CombinedConfiguration.java|borderStyle=solid}
>       public static void main(String[] args)
>       {
>               NodeCombiner combiner = new MergeCombiner();
>               combiner.addListNode("module");
>               CombinedConfiguration configuration = new 
> CombinedConfiguration(combiner);
>               
>               XMLConfiguration xmlConf = new XMLConfiguration();
>               xmlConf.addProperty("modules.module", "1");
>               xmlConf.addProperty("modules.module", "2");
>               xmlConf.addProperty("modules.module", "3");
>               
>               XMLConfiguration xmlConf2 = new XMLConfiguration();
>               xmlConf2.addProperty("modules.module", "4");
>               configuration.addConfiguration(xmlConf);
>               configuration.addConfiguration(xmlConf2);
>               
>               //THIS WILL NOT PRINT THE VALUE 4 FROM XMLCONF2
>               for(String s : configuration.getStringArray("modules.module"))
>               {
>                       System.out.println(s);
>               }
>               
>               System.out.println();
>               //Now add one more additional property
>               xmlConf2.addProperty("modules.module", "5");
>               
>               //NOW IT WILL PRINT BOTH VALUE 4 AND 5 FROM XMLCONF2
>               for(String s : configuration.getStringArray("modules.module"))
>               {
>                       System.out.println(s);
>               }
>       }
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to