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

Pascal Essiembre commented on CONFIGURATION-703:
------------------------------------------------

OK, I've got a fix that does not break any tests.

In XMLConfiguration#constructHierarchy, where the "childrenFlag" is set, the 
attribute size is "wrongfully" 2 when the "xml:space" attribute is present, 
since "config-xml:space" get added by the code.  So the following is my fix for 
it, without modifying the attributes gathered so far:
{code:java}
boolean childrenFlag = hasChildren || (attributes.size() > 1 && 
!VALUE_PRESERVE.equals(attributes.get(ATTR_SPACE)));{code}
 

> xml:space="preserve" does not handle blank strings properly
> -----------------------------------------------------------
>
>                 Key: CONFIGURATION-703
>                 URL: https://issues.apache.org/jira/browse/CONFIGURATION-703
>             Project: Commons Configuration
>          Issue Type: Bug
>    Affects Versions: 2.2
>            Reporter: Pascal Essiembre
>            Priority: Major
>
> When using XMLConfiguration 2, tags containing only white spaces are not 
> handled properly when xml:space="preserve" is set.  'null' is returned 
> instead of the actual spaces.  To reproduce:
>  
> {code:java}
> XMLConfiguration xml = new BasicConfigurationBuilder<>(
>         XMLConfiguration.class).configure(
>             new Parameters().xml()).getConfiguration();
> FileHandler fh = new FileHandler(xml);
> fh.load(new StringReader("<test xml:space=\"preserve\">    </test>"));
> System.out.println("TEST: '" + xml.getString("") + "'");
> // Outputs   -> TEST: 'null'
> // Should be -> TEST: '    '
> {code}
>  
>  
>  
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to