Martin Lindgren created CONFIGURATION-599:
---------------------------------------------

             Summary: 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