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

Customizing the Properties Reader

    XMLWordPrintableJSON

Details

    • New Feature
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 1.6
    • 1.7
    • None
    • None
    • Properties File Reader.

    Description

      Currently Commons Configuration does not offer support to handle non-standard property file parsing. Inparticular, you can't parse properties where the key has whitespace.

      Taken from thread on mailing list:

      Howdy,

      We've got legacy/shared property files for our config (i.e. can't change the property files to solve this). We're trying to use commons-config but it has difficulty dealing with our properties files as the key's contain whitespace.

      Any help on how I can resolve this would be most welcomed

      Example Property:

      Welcome Message=Hello World

      Cheers.

      Response:

      The current code does not seem to support whitespace in property keys.

      PropertiesConfiguration uses PropertiesConfigurationLayout.load() for loading and parsing configuration files, which in turn delegates to the inner class PropertiesConfiguration.PropertiesReader. This class interprets all whitespace as end markers of the property key.

      It is probably not trivial to inject your own reader for properties files. Maybe you can create a custom layout class derived from PropertiesConfigurationLayout that overrides the load() method. You would have to override PropertiesConfiguration.createLayout() to activate your new layout class.

      Given these problems it would probably be a good idea if the library offered better support for customizing the properties reader. If you consider this helpful, feel free to open an enhancement ticket in Jira [1].

      Oliver

      Attachments

        Activity

          People

            oheger Oliver Heger
            ahhughes Andrew Hughes
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: