commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Joerg Schaible (JIRA)" <j...@apache.org>
Subject [jira] Commented: (CONFIGURATION-429) configuration values of nodes with children inconsistent
Date Thu, 25 Nov 2010 11:58:16 GMT

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

Joerg Schaible commented on CONFIGURATION-429:
----------------------------------------------

I don't think that there is any extension necessary. Configuration.containsKey() does exactly
what it is supposed to do. If you want to know if there are elements in the hierarchy, you
can use:

{code:Java}
configuration.subset("foo").isEmpty()
{code}

> configuration values of nodes with children inconsistent
> --------------------------------------------------------
>
>                 Key: CONFIGURATION-429
>                 URL: https://issues.apache.org/jira/browse/CONFIGURATION-429
>             Project: Commons Configuration
>          Issue Type: Bug
>    Affects Versions: 1.6
>            Reporter: Silas De Munck
>   Original Estimate: 0.08h
>  Remaining Estimate: 0.08h
>
> {quote}
> 	<core>
> 		<multicore>
> 			<numberOfCores>2</numberOfCores>
> 		</multicore>
> 		<singlecore />
> 	</core>
> {quote}
> In an XML configfile (see above) where I want to check if a specific node is specified.
I do this using the containsKey() method on the configuration.
> In this case it will return true for the key "core.singlecore" but not for the key "core.multicore".
> If I change the multicore part to this (adding text as a child), it does return true.
> {quote}
> <multicore>
> 	ABC
> 	<numberOfCores>2</numberOfCores>
> </multicore>
> {quote}
> As the containsKey() method depends on the getProperty() method, the same problem exists
in that method.
> In the first case:
> "core.singlecore" returns an empty string
> "core.multicore" returns null
> and in the second case, "ABC" is returned.
> I would like it to also return an empty string in the first case for "core.multicore".
> This behaviour is caused by the code in lines 642-644 of XMLConfiguration.java (svn):
> {quote}
>        if (text.length() > 0 || (!node.hasChildren() && node != getRoot()))
>         \{
>             node.setValue(text);
>         \}
> {quote}
> I think it can be changed to just this:
> {quote}
>         if (node != getRoot() || text.length() > 0) 
>         \{
>             node.setValue(text);
>         \}
> {quote}

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


Mime
View raw message