[
https://issues.apache.org/jira/browse/CONFIGURATION-599?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14520923#comment-14520923
]
Martin Lindgren commented on CONFIGURATION-599:
-----------------------------------------------
Thank you for your answer.
{{UnionCombiner}} gives me the expected result for the given example, but I am
not sure yet if I can change to that because many of our projects are currently
using the {{MergeCombiner}} and changing may have unexpected results on other
projects.
I am not sure that I am using the correct node combiner, but it seems strange
to me that my provided example wouldn't work with a {{MergeCombiner}}.
I would like to know if the {{MergeCombiner}} works as intended with the
provided example. If so, I will have to investigate if I can change to the
{{UnionCombiner}} without breaking any functionality.
Thanks!
> 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)