You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by eb...@apache.org on 2005/07/27 12:01:38 UTC
svn commit: r225487 - in /jakarta/commons/proper/configuration/trunk:
conf/test.properties
src/java/org/apache/commons/configuration/PropertiesConfiguration.java
src/test/org/apache/commons/configuration/TestPropertiesConfiguration.java
xdocs/changes.xml
Author: ebourg
Date: Wed Jul 27 03:01:31 2005
New Revision: 225487
URL: http://svn.apache.org/viewcvs?rev=225487&view=rev
Log:
Add '!' as a comment marker for PropertiesConfiguration (Bug 35888)
Modified:
jakarta/commons/proper/configuration/trunk/conf/test.properties
jakarta/commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/PropertiesConfiguration.java
jakarta/commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/TestPropertiesConfiguration.java
jakarta/commons/proper/configuration/trunk/xdocs/changes.xml
Modified: jakarta/commons/proper/configuration/trunk/conf/test.properties
URL: http://svn.apache.org/viewcvs/jakarta/commons/proper/configuration/trunk/conf/test.properties?rev=225487&r1=225486&r2=225487&view=diff
==============================================================================
--- jakarta/commons/proper/configuration/trunk/conf/test.properties (original)
+++ jakarta/commons/proper/configuration/trunk/conf/test.properties Wed Jul 27 03:01:31 2005
@@ -74,3 +74,7 @@
test.path = C:\\path2\\
test.path = C:\\path3\\\
complex\\test\\
+
+
+#comment = this is not a property but a comment line starting with '#'
+!comment = this is not a property but a comment line starting with '!'
Modified: jakarta/commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/PropertiesConfiguration.java
URL: http://svn.apache.org/viewcvs/jakarta/commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/PropertiesConfiguration.java?rev=225487&r1=225486&r2=225487&view=diff
==============================================================================
--- jakarta/commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/PropertiesConfiguration.java (original)
+++ jakarta/commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/PropertiesConfiguration.java Wed Jul 27 03:01:31 2005
@@ -16,14 +16,14 @@
package org.apache.commons.configuration;
+import java.io.BufferedReader;
import java.io.File;
import java.io.FilterWriter;
import java.io.IOException;
import java.io.LineNumberReader;
import java.io.Reader;
-import java.io.Writer;
import java.io.StringReader;
-import java.io.BufferedReader;
+import java.io.Writer;
import java.net.URL;
import java.util.Date;
import java.util.Iterator;
@@ -68,7 +68,7 @@
* like if they were on the same line separated with commas.
* </li>
* <li>
- * Blank lines and lines starting with character '#' are skipped.
+ * Blank lines and lines starting with character '#' or '!' are skipped.
* </li>
* <li>
* If a property is named "include" (or whatever is defined by
@@ -414,7 +414,7 @@
/**
* Read a property. Returns null if Stream is
* at EOF. Concatenates lines ending with "\".
- * Skips lines beginning with "#" and empty lines.
+ * Skips lines beginning with "#" or "!" and empty lines.
*
* @return A string containing a property value or null
*
@@ -436,7 +436,7 @@
line = line.trim();
// skip comments and empty lines
- if (StringUtils.isEmpty(line) || (line.charAt(0) == '#'))
+ if (StringUtils.isEmpty(line) || (line.charAt(0) == '#') || (line.charAt(0) == '!'))
{
continue;
}
Modified: jakarta/commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/TestPropertiesConfiguration.java
URL: http://svn.apache.org/viewcvs/jakarta/commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/TestPropertiesConfiguration.java?rev=225487&r1=225486&r2=225487&view=diff
==============================================================================
--- jakarta/commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/TestPropertiesConfiguration.java (original)
+++ jakarta/commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/TestPropertiesConfiguration.java Wed Jul 27 03:01:31 2005
@@ -19,6 +19,13 @@
import java.io.File;
import java.io.FileWriter;
import java.io.PrintWriter;
+import java.io.PipedOutputStream;
+import java.io.PipedInputStream;
+import java.io.ObjectOutputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.FileOutputStream;
+import java.io.ObjectInputStream;
+import java.io.FileInputStream;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
@@ -347,7 +354,7 @@
assertEquals("C:\\path2\\", list.get(1));
assertEquals("C:\\path3\\complex\\test\\", list.get(2));
}
-
+
/**
* Tests if included files are loaded when the source lies in the class path.
*/
@@ -355,5 +362,13 @@
{
conf = new PropertiesConfiguration("test.properties");
assertEquals("true", conf.getString("include.loaded"));
+ }
+
+ /**
+ * Test if the lines starting with # or ! are properly ignored.
+ */
+ public void testComment() {
+ assertFalse("comment line starting with '#' parsed as a property", conf.containsKey("#comment"));
+ assertFalse("comment line starting with '!' parsed as a property", conf.containsKey("!comment"));
}
}
Modified: jakarta/commons/proper/configuration/trunk/xdocs/changes.xml
URL: http://svn.apache.org/viewcvs/jakarta/commons/proper/configuration/trunk/xdocs/changes.xml?rev=225487&r1=225486&r2=225487&view=diff
==============================================================================
--- jakarta/commons/proper/configuration/trunk/xdocs/changes.xml (original)
+++ jakarta/commons/proper/configuration/trunk/xdocs/changes.xml Wed Jul 27 03:01:31 2005
@@ -23,6 +23,9 @@
<body>
<release version="1.2-dev" date="in SVN">
+ <action dev="ebourg" type="update" issue="35888">
+ Comment lines for PropertiesConfiguration can start with the '!' char (compatibility with java.util.Properties)
+ </action>
<action dev="oheger" type="update" issue="35772">
Because ConfigurationUtils.copy() does not fully support hierarchical
configurations a clone() method was added to HierarchicalConfiguration
---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org