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

ConfugrationConverter treats properties different by type

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 1.6
    • 1.7
    • Type conversion
    • None
    • Linux Ubuntu

    Description

      The ConfigurationConverter is behaving differently depending on if I added an int or a string to a configuration object.

      Consider the following code:

      01 Configuration confInt = new BaseConfiguration();
      02 Configuration confString = new BaseConfiguration();
      03 confInt.setProperty("port", 80);
      04 confString.setProperty("port", "80");
      05 assertEquals(80, confInt.getInt("port"));
      06 assertEquals(80, confString.getInt("port"));
      07
      08 Properties propString = ConfigurationConverter.getProperties(confString);
      09 assertEquals("80", propString.getProperty("port"));
      10
      11 Properties propInt = ConfigurationConverter.getProperties(confInt);
      12
      13 assertEquals("80", propInt.getProperty("port"));

      As you can see the code is basically duplicated one set uses an int the other set uses a String. However an exception blows out of line 11.

      'port' doesn't map to a List object: 80, a java.lang.Integer
      org.apache.commons.configuration.ConversionException: 'port' doesn't map to a List object: 80, a java.lang.Integer
      at org.apache.commons.configuration.AbstractConfiguration.getList(AbstractConfiguration.java:1144)
      at org.apache.commons.configuration.AbstractConfiguration.getList(AbstractConfiguration.java:1109)
      at org.apache.commons.configuration.ConfigurationConverter.getProperties(ConfigurationConverter.java:116)

      I interpreted the interface to mean that everything up to and include line 13 would pass.

      Attachments

        Activity

          People

            oheger Oliver Heger
            mpower@alumni.calpoly.edu Mike Power
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: