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

Oliver Heger commented on CONFIGURATION-272:
--------------------------------------------

I think the problem here is that ConfigurationUtils operates on plain 
Configuration objects and does not know about specifics like list delimiters 
available only for classes derived from AbstractConfiguration. And performing a 
cast to AbstractConfiguration in these methods would be really ugly IMO.

A solution would be to add new copy() and append() methods to 
AbstractConfiguration with the same semantics. Then we had full control over 
the copy process and could also determine, which events to generate (maybe it 
does not make sense to trigger an event for each copied property, but only one 
event for the whole copy operation).

copy() and append() in ConfigurationUtils could then be deprecated, or at least 
a remark could be added to their documentation that the variants implemented by 
AbstractConfiguration are preferable.

> ConfigurationUtils.copy results in escaped "," characters no longer being 
> escaped
> ---------------------------------------------------------------------------------
>
>                 Key: CONFIGURATION-272
>                 URL: https://issues.apache.org/jira/browse/CONFIGURATION-272
>             Project: Commons Configuration
>          Issue Type: Bug
>    Affects Versions: 1.4
>         Environment: commons 1.4
>            Reporter: John Meagher
>            Assignee: Emmanuel Bourg
>             Fix For: 1.5
>
>
> When using ConfigurationUtils.copy to go between configuration formats any 
> escaped out "," characters are put into the output configuration without the 
> escape character.  This results in a different value being returned from 
> getString calls as it now things the property is a list.  If 4 escape 
> characters are used instead of the expected 1 then the copy will end up with 
> the correct value, but then the original will end up with the escape 
> character as part of the property value.  
> Example:
> SomeLongProperty=This is a test\, it is only a test
> # Ends up right in the copy, but not right in the original
> SomeOtherProperty=This is also a test\\\\, it is also only a test
> After copy:
> # Missing "\" before ","
> SomeLongProperty=This is a test, it is only a test
> SomeOtherProperty=This is also a test\, it is also only a test

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


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to