[
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.