[ https://issues.apache.org/jira/browse/CONFIGURATION-684?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Fabien Renaud updated CONFIGURATION-684: ---------------------------------------- Description: 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.println("---"); 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. was: 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. > 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.println("---"); > 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)