You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Oliver Heger (JIRA)" <ji...@apache.org> on 2009/01/08 08:02:44 UTC

[jira] Commented: (CONFIGURATION-358) subset returned from HierarchicalINIConfiguration has unexpected property names

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

Oliver Heger commented on CONFIGURATION-358:
--------------------------------------------

I think, what you observe here is standard behavior of hierarchical configurations:
* The dot character in {{property.1}} has a special meaning as property delimiter for the expression engine used per default by {{HierarchicalINIConfiguration}}, so it is automatically escaped by duplicating it. This is explained in the [User Guide|http://commons.apache.org/configuration/userguide/howto_xml.html#Escaping_dot_characters_in_XML_tags]. If you do not want to use escaping, you can set an {{ExpressionEngine}} that is configured to use a different property delimiter. An example of how to do this can be found [here|http://commons.apache.org/configuration/userguide/howto_xml.html#The_default_expression_engine].
* The {{subset()}} method does not what you want when you need to access the global section. Invoking {{subset(null)}} returns a configuration that contains all properties below the key *null*, which denotes the root node - i.e. all properties of the original configuration. Use the {{getSection()}} method instead. {{getSection(null)}} should return only the properties of the global section and no more.

These are subtle differences between {{INIConfiguration}} and {{HierarchicalINIConfiguration}} caused by the fact that the latter is derived from {{HierarchicalConfiguration}}. But I don't think these are bugs. Maybe some hints in the documentation could be added?

> subset returned from HierarchicalINIConfiguration has unexpected property names
> -------------------------------------------------------------------------------
>
>                 Key: CONFIGURATION-358
>                 URL: https://issues.apache.org/jira/browse/CONFIGURATION-358
>             Project: Commons Configuration
>          Issue Type: Bug
>          Components: Documentation, Format
>    Affects Versions: 1.6
>            Reporter: Charles Honton
>             Fix For: 1.6
>
>         Attachments: TestHierarchicalINIConfiguration.java
>
>
> With the following ini file
> # comment
> property.1 = g1
> property.2 : g2
> [section]
> property.1 = l1
> HierarchicalINIConfiguration properly creates two sections: null and "section".  However, the subsets from this configuration do not have the expected property names.
> The global subset contains the following name=value pairs:
> property..1=g1
> property..2=g2
> section.property..1=l1
> The "section" subset contains the following name=value pairs:
> property..1=g1
> I expected the global subset to contain:
> property.1=g1
> property.2=g2
> I expected the "section" subset to contain:
> property.1 = l1

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.