commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Fabien Renaud (JIRA)" <j...@apache.org>
Subject [jira] [Created] (CONFIGURATION-684) YAMLConfiguration keys with double dots
Date Fri, 22 Dec 2017 02:12:00 GMT
Fabien Renaud created CONFIGURATION-684:
-------------------------------------------

             Summary: YAMLConfiguration keys with double dots
                 Key: CONFIGURATION-684
                 URL: https://issues.apache.org/jira/browse/CONFIGURATION-684
             Project: Commons Configuration
          Issue Type: Bug
            Reporter: Fabien Renaud


h2. Issue

Loading a YAML configuration with dotted keys causes dots to be duplicated in the keys of
the YAMLConfiguration object.

h2. Repro
100% repro:

file.yml:
{code}some.key.with.dots: 123{code}

{code}
package foo;

import org.apache.commons.configuration2.YAMLConfiguration;
import org.apache.commons.configuration2.builder.FileBasedConfigurationBuilder;
import org.apache.commons.configuration2.builder.fluent.Parameters;
import org.apache.commons.configuration2.ex.ConfigurationException;

public class App {

    public static void main(String[] args) throws ConfigurationException {
        Parameters params = new Parameters();
        FileBasedConfigurationBuilder<YAMLConfiguration> builder1 =
                new FileBasedConfigurationBuilder<>(YAMLConfiguration.class)
                        .configure(params.fileBased().setFileName("file.yml"));
        
        YAMLConfiguration conf = builder1.getConfiguration();
        conf.getKeys().forEachRemaining(System.out::println);

        System.out.printf("---");
        YAMLConfiguration yaml = new YAMLConfiguration();
        yaml.read(new InputStreamReader(ClassLoader.getSystemResourceAsStream("file.yml")));
        yaml.getKeys().forEachRemaining(System.out::println);
    }
}
{code}
prints
{code}some..key..with..dots
---
some..key..with..dots
{code}


That is a serious bug for a configuration system. The issue may easily go untested for some
keys and only reveal itself on production.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Mime
View raw message