Uploaded image for project: 'Commons Configuration'
  1. Commons Configuration
  2. CONFIGURATION-471

CompositeConfiguration delivers value from wrong child

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 1.7
    • 1.8
    • File reloading
    • 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"

      Attachments

        Activity

          People

            oheger Oliver Heger
            jwesely Joerg Wesely
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: