You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by oh...@apache.org on 2014/09/09 21:32:49 UTC
svn commit: r1623873 - in /commons/proper/configuration/trunk/src:
main/java/org/apache/commons/configuration/PropertiesConfigurationLayout.java
test/java/org/apache/commons/configuration/TestPropertiesConfigurationLayout.java
Author: oheger
Date: Tue Sep 9 19:32:49 2014
New Revision: 1623873
URL: http://svn.apache.org/r1623873
Log:
[CONFIGURATION-582] Fixed a StringIndexOutOfBoundsException.
Lines in properties files containing only whitespace are now handled
correctly when extracting comments.
Modified:
commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/PropertiesConfigurationLayout.java
commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/TestPropertiesConfigurationLayout.java
Modified: commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/PropertiesConfigurationLayout.java
URL: http://svn.apache.org/viewvc/commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/PropertiesConfigurationLayout.java?rev=1623873&r1=1623872&r2=1623873&view=diff
==============================================================================
--- commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/PropertiesConfigurationLayout.java (original)
+++ commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/PropertiesConfigurationLayout.java Tue Sep 9 19:32:49 2014
@@ -724,7 +724,7 @@ public class PropertiesConfigurationLayo
*/
static String stripCommentChar(String s, boolean comment)
{
- if (s.length() < 1 || (isCommentLine(s) == comment))
+ if (StringUtils.isBlank(s) || (isCommentLine(s) == comment))
{
return s;
}
Modified: commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/TestPropertiesConfigurationLayout.java
URL: http://svn.apache.org/viewvc/commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/TestPropertiesConfigurationLayout.java?rev=1623873&r1=1623872&r2=1623873&view=diff
==============================================================================
--- commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/TestPropertiesConfigurationLayout.java (original)
+++ commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/TestPropertiesConfigurationLayout.java Tue Sep 9 19:32:49 2014
@@ -661,6 +661,21 @@ public class TestPropertiesConfiguration
}
/**
+ * Tests whether a line with whitespace is handled correctly. This is
+ * related to CONFIGURATION-582.
+ */
+ @Test
+ public void testLineWithBlank() throws ConfigurationException
+ {
+ builder.addComment(TEST_COMMENT);
+ builder.addLine(" ");
+ builder.addProperty(TEST_KEY, TEST_VALUE);
+ layout.load(config, builder.getReader());
+ assertEquals("Wrong comment", TEST_COMMENT + CRNORM + " ",
+ layout.getCanonicalComment(TEST_KEY, false));
+ }
+
+ /**
* Helper method for filling the layout object with some properties.
*/
private void fillLayout()
@@ -720,6 +735,16 @@ public class TestPropertiesConfiguration
private int commentCounter;
/**
+ * Adds a line verbatim to the simulated file.
+ *
+ * @param s the content of the line
+ */
+ public void addLine(String s)
+ {
+ buf.append(s).append(CR);
+ }
+
+ /**
* Adds a property to the simulated file.
*
* @param key the property key