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 2010/03/14 16:05:27 UTC

[jira] Commented: (CONFIGURATION-411) XMLConfiguration: node text: first \ (backslash) of \\ (double backslash) character will not be in the configuration

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

Oliver Heger commented on CONFIGURATION-411:
--------------------------------------------

The handling of the backslash character is part of the list splitting mechanism: per default, properties containing the list delimiter character (",") are split and treated as a list of values. If the list delimiter character is part of the property value, it can be escaped using a backslash, i.e. "\,". The backslash itself can be escaped by another backslash - this is what you have hit.

You can work around the problem in the following ways:
* You can disable list delimiter parsing if you do not need it. This can be done by calling the {{setDelimiterParsingDisabled()}} method *before* the configuration is loaded.
* You can double the backslash where it is required, so your property becomes {{\\\\test\test}}.

This list splitting feature which is enabled per default has caused us many problems in the past. So we think about removing it in the next major release (of course in the commons-configuration 1.x series backwards compatibility will be kept).

Does this solve your problem? I do not think, this is really a bug.

> XMLConfiguration: node text: first \ (backslash) of \\ (double backslash) character will not be in the configuration
> --------------------------------------------------------------------------------------------------------------------
>
>                 Key: CONFIGURATION-411
>                 URL: https://issues.apache.org/jira/browse/CONFIGURATION-411
>             Project: Commons Configuration
>          Issue Type: Bug
>    Affects Versions: 1.6
>            Reporter: Jochen Hebbrecht
>            Priority: Minor
>         Attachments: xmldoublebackslash.rar
>
>
> I have this configuration element in my XML configuration:
> {code}
> <working-folder>\\test\test</working-folder>
> {code}
> ... but when I want to print out the value, I notice the content of this node changed to:
> {code} \test\test{code}
> So the first "\" has disappeared
> I've created a M2 project that simulates the problem. Just hit mvn eclipse:eclipse and run the Test.java file :-).
> The problem is situated in: *org.apache.commons.configuration.PropertyConverter.class*. Check the method:
> {code} public static List split(String s, char delimiter, boolean trim){code} => line 505.
> begin = 0
> c = "\"
> inEscape = true
> begin = 1
> c= "\"
> if (c \!= delimiter && c == LIST_ESC_CHAR) => only the second char will be printed

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