[ 
https://issues.apache.org/jira/browse/CONFIGURATION-684?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16302040#comment-16302040
 ] 

Bruno P. Kinoshita commented on CONFIGURATION-684:
--------------------------------------------------

Oliver is right. I didn't properly read the current documentation for 2.x.

[~oliver.he...@t-online.de] do you see any problem in having a different 
behaviour for YAML? i.e. allowing dots in YAML keys, and not escaping them?

> 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)

Reply via email to