commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Okal Otieno (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CONFIGURATION-516) PropertiesConfiguration.save escapes double qoutes " unecessary
Date Tue, 21 Jan 2014 07:24:20 GMT

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

Okal Otieno commented on CONFIGURATION-516:
-------------------------------------------

Apologies, I completely missed that the fix version was 2.0. I just looked at the date the
issue was created and noted that it preceded the 1.10 release.

> PropertiesConfiguration.save escapes double qoutes " unecessary
> ---------------------------------------------------------------
>
>                 Key: CONFIGURATION-516
>                 URL: https://issues.apache.org/jira/browse/CONFIGURATION-516
>             Project: Commons Configuration
>          Issue Type: Bug
>    Affects Versions: 1.9
>            Reporter: Johan Maasing
>            Assignee: Oliver Heger
>            Priority: Minor
>             Fix For: 2.0
>
>
> Add a property with a value containing " (double quote character) and saving it back
to file will result in the value being modified and unecessary escaping of the quote character.
> The reason is that PropertiesConfig calls into the StringEscapeUtils#escapeJavaStyleString
that escapes quotes. This is not correct for propertiesfiles. http://docs.oracle.com/javase/7/docs/api/java/util/Properties.html#load(java.io.Reader)
says "Escapes are not necessary for single and double quotes"
> Here is a test case:
> @Test
> public void shouldNotEscapeQuotesInTheResult() throws ConfigurationException, IOException
{
>     final String value = "-Djava.io.tmpdir=\"${TEST_TEMP_DIR}\"";
>     
>     PropertiesConfiguration testConfig = new PropertiesConfiguration();
>     testConfig.addProperty("testKey1", value);
>     File testFile = new File(tempTestDir.getPath() + "\\prop-with-quotes.properties");
>     testConfig.save(testFile) ;
>     
>     String testFileContent = FileUtils.readFileToString(testFile);
>     
>     Assert.assertTrue(testFileContent.contains(value));
> }



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

Mime
View raw message