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

ConfugrationConverter treats properties different by type

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 1.6
    • Fix Version/s: 1.7
    • Component/s: Type conversion
    • Labels:
      None
    • Environment:

      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

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

              Dates

              • Created:
                Updated:
                Resolved: