commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ohe...@apache.org
Subject svn commit: r515306 - in /jakarta/commons/proper/configuration/trunk: ./ src/java/org/apache/commons/configuration/ src/java/org/apache/commons/configuration/web/ src/test/org/apache/commons/configuration/ src/test/org/apache/commons/configuration/web/...
Date Tue, 06 Mar 2007 21:15:01 GMT
Author: oheger
Date: Tue Mar  6 13:15:00 2007
New Revision: 515306

URL: http://svn.apache.org/viewvc?view=rev&rev=515306
Log:
CONFIGURATION-256: MapConfiguration and the web-based configurations now treat escaped list
delimiters correctly

Modified:
    jakarta/commons/proper/configuration/trunk/RELEASE-NOTES.txt
    jakarta/commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/MapConfiguration.java
    jakarta/commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/web/AppletConfiguration.java
    jakarta/commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/web/BaseWebConfiguration.java
    jakarta/commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/web/ServletConfiguration.java
    jakarta/commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/web/ServletContextConfiguration.java
    jakarta/commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/web/ServletFilterConfiguration.java
    jakarta/commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/web/ServletRequestConfiguration.java
    jakarta/commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/TestAbstractConfiguration.java
    jakarta/commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/TestMapConfiguration.java
    jakarta/commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/web/TestAppletConfiguration.java
    jakarta/commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/web/TestServletConfiguration.java
    jakarta/commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/web/TestServletContextConfiguration.java
    jakarta/commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/web/TestServletFilterConfiguration.java
    jakarta/commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/web/TestServletRequestConfiguration.java
    jakarta/commons/proper/configuration/trunk/xdocs/changes.xml

Modified: jakarta/commons/proper/configuration/trunk/RELEASE-NOTES.txt
URL: http://svn.apache.org/viewvc/jakarta/commons/proper/configuration/trunk/RELEASE-NOTES.txt?view=diff&rev=515306&r1=515305&r2=515306
==============================================================================
--- jakarta/commons/proper/configuration/trunk/RELEASE-NOTES.txt (original)
+++ jakarta/commons/proper/configuration/trunk/RELEASE-NOTES.txt Tue Mar  6 13:15:00 2007
@@ -94,6 +94,11 @@
   DatabaseConfiguration now handles list delimiters in property values
   correctly.
 
+* [CONFIGURATION-256]
+  MapConfiguration and the web-based configurations now treat strings that
+  contain an escaped list delimiter correctly: The escape character will be
+  removed, so that for instance "foo\,bar" becomes "foo,bar".
+
 IMPROVEMENTS IN 1.4
 ===================
 * [CONFIGURATION-155]

Modified: jakarta/commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/MapConfiguration.java
URL: http://svn.apache.org/viewvc/jakarta/commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/MapConfiguration.java?view=diff&rev=515306&r1=515305&r2=515306
==============================================================================
--- jakarta/commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/MapConfiguration.java
(original)
+++ jakarta/commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/MapConfiguration.java
Tue Mar  6 13:15:00 2007
@@ -62,7 +62,7 @@
         if ((value instanceof String) && (!isDelimiterParsingDisabled()))
         {
             List list = PropertyConverter.split((String) value, getListDelimiter());
-            return list.size() > 1 ? list : value;
+            return list.size() > 1 ? list : list.get(0);
         }
         else
         {

Modified: jakarta/commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/web/AppletConfiguration.java
URL: http://svn.apache.org/viewvc/jakarta/commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/web/AppletConfiguration.java?view=diff&rev=515306&r1=515305&r2=515306
==============================================================================
--- jakarta/commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/web/AppletConfiguration.java
(original)
+++ jakarta/commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/web/AppletConfiguration.java
Tue Mar  6 13:15:00 2007
@@ -19,10 +19,8 @@
 
 import java.applet.Applet;
 import java.util.Iterator;
-import java.util.List;
 
 import org.apache.commons.collections.iterators.ArrayIterator;
-import org.apache.commons.configuration.PropertyConverter;
 
 /**
  * A configuration wrapper to read applet parameters. This configuration is
@@ -51,14 +49,7 @@
 
     public Object getProperty(String key)
     {
-        Object value = applet.getParameter(key);
-        if (!isDelimiterParsingDisabled())
-        {
-            List list = PropertyConverter.split((String) value, getListDelimiter());
-            value = list.size() > 1 ? list : value;
-        }
-
-        return value;
+        return handleDelimiters(applet.getParameter(key));
     }
 
     public Iterator getKeys()

Modified: jakarta/commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/web/BaseWebConfiguration.java
URL: http://svn.apache.org/viewvc/jakarta/commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/web/BaseWebConfiguration.java?view=diff&rev=515306&r1=515305&r2=515306
==============================================================================
--- jakarta/commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/web/BaseWebConfiguration.java
(original)
+++ jakarta/commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/web/BaseWebConfiguration.java
Tue Mar  6 13:15:00 2007
@@ -16,7 +16,10 @@
  */
 package org.apache.commons.configuration.web;
 
+import java.util.List;
+
 import org.apache.commons.configuration.AbstractConfiguration;
+import org.apache.commons.configuration.PropertyConverter;
 
 /**
  * <p>
@@ -82,5 +85,25 @@
     protected void addPropertyDirect(String key, Object obj)
     {
         throw new UnsupportedOperationException("Read only configuration");
+    }
+
+    /**
+     * Takes care of list delimiters in property values. This method checks if
+     * delimiter parsing is enabled and the passed in value contains a delimiter
+     * character. If this is the case, a split operation is performed.
+     *
+     * @param value the property value to be examined
+     * @return the processed value
+     */
+    protected Object handleDelimiters(Object value)
+    {
+        if (!isDelimiterParsingDisabled() && value instanceof String)
+        {
+            List list = PropertyConverter.split((String) value,
+                    getListDelimiter());
+            value = list.size() > 1 ? list : list.get(0);
+        }
+
+        return value;
     }
 }

Modified: jakarta/commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/web/ServletConfiguration.java
URL: http://svn.apache.org/viewvc/jakarta/commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/web/ServletConfiguration.java?view=diff&rev=515306&r1=515305&r2=515306
==============================================================================
--- jakarta/commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/web/ServletConfiguration.java
(original)
+++ jakarta/commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/web/ServletConfiguration.java
Tue Mar  6 13:15:00 2007
@@ -18,12 +18,10 @@
 package org.apache.commons.configuration.web;
 
 import java.util.Iterator;
-import java.util.List;
 import javax.servlet.Servlet;
 import javax.servlet.ServletConfig;
 
 import org.apache.commons.collections.iterators.EnumerationIterator;
-import org.apache.commons.configuration.PropertyConverter;
 
 /**
  * A configuration wrapper around a {@link ServletConfig}. This configuration
@@ -62,14 +60,7 @@
 
     public Object getProperty(String key)
     {
-        Object value = config.getInitParameter(key);
-        if (!isDelimiterParsingDisabled())
-        {
-            List list = PropertyConverter.split((String) value, getListDelimiter());
-            value = list.size() > 1 ? list : value;
-        }
-
-        return value;
+        return handleDelimiters(config.getInitParameter(key));
     }
 
     public Iterator getKeys()

Modified: jakarta/commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/web/ServletContextConfiguration.java
URL: http://svn.apache.org/viewvc/jakarta/commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/web/ServletContextConfiguration.java?view=diff&rev=515306&r1=515305&r2=515306
==============================================================================
--- jakarta/commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/web/ServletContextConfiguration.java
(original)
+++ jakarta/commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/web/ServletContextConfiguration.java
Tue Mar  6 13:15:00 2007
@@ -18,12 +18,10 @@
 package org.apache.commons.configuration.web;
 
 import java.util.Iterator;
-import java.util.List;
 import javax.servlet.Servlet;
 import javax.servlet.ServletContext;
 
 import org.apache.commons.collections.iterators.EnumerationIterator;
-import org.apache.commons.configuration.PropertyConverter;
 
 /**
  * A configuration wrapper to read the initialization parameters of a servlet
@@ -63,14 +61,7 @@
 
     public Object getProperty(String key)
     {
-        Object value = context.getInitParameter(key);
-        if (!isDelimiterParsingDisabled())
-        {
-            List list = PropertyConverter.split((String) value, getListDelimiter());
-            value = list.size() > 1 ? list : value;
-        }
-
-        return value;
+        return handleDelimiters(context.getInitParameter(key));
     }
 
     public Iterator getKeys()

Modified: jakarta/commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/web/ServletFilterConfiguration.java
URL: http://svn.apache.org/viewvc/jakarta/commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/web/ServletFilterConfiguration.java?view=diff&rev=515306&r1=515305&r2=515306
==============================================================================
--- jakarta/commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/web/ServletFilterConfiguration.java
(original)
+++ jakarta/commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/web/ServletFilterConfiguration.java
Tue Mar  6 13:15:00 2007
@@ -18,11 +18,9 @@
 package org.apache.commons.configuration.web;
 
 import java.util.Iterator;
-import java.util.List;
 import javax.servlet.FilterConfig;
 
 import org.apache.commons.collections.iterators.EnumerationIterator;
-import org.apache.commons.configuration.PropertyConverter;
 
 /**
  * A configuration wrapper around a {@link FilterConfig}. This configuration is
@@ -50,14 +48,7 @@
 
     public Object getProperty(String key)
     {
-        Object value = config.getInitParameter(key);
-        if (!isDelimiterParsingDisabled())
-        {
-            List list = PropertyConverter.split((String) value, getListDelimiter());
-            value = list.size() > 1 ? list : value;
-        }
-
-        return value;
+        return handleDelimiters(config.getInitParameter(key));
     }
 
     public Iterator getKeys()

Modified: jakarta/commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/web/ServletRequestConfiguration.java
URL: http://svn.apache.org/viewvc/jakarta/commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/web/ServletRequestConfiguration.java?view=diff&rev=515306&r1=515305&r2=515306
==============================================================================
--- jakarta/commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/web/ServletRequestConfiguration.java
(original)
+++ jakarta/commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/web/ServletRequestConfiguration.java
Tue Mar  6 13:15:00 2007
@@ -17,8 +17,11 @@
 
 package org.apache.commons.configuration.web;
 
+import java.util.ArrayList;
+import java.util.Collection;
 import java.util.Iterator;
-import java.util.Arrays;
+import java.util.List;
+
 import javax.servlet.ServletRequest;
 
 import org.apache.commons.collections.iterators.EnumerationIterator;
@@ -57,11 +60,25 @@
         }
         else if (values.length == 1)
         {
-            return values[0];
+            return handleDelimiters(values[0]);
         }
         else
         {
-            return Arrays.asList(values);
+            // ensure that escape characters in all list elements are removed
+            List result = new ArrayList(values.length);
+            for (int i = 0; i < values.length; i++)
+            {
+                Object val = handleDelimiters(values[i]);
+                if (val instanceof Collection)
+                {
+                    result.addAll((Collection) val);
+                }
+                else
+                {
+                    result.add(val);
+                }
+            }
+            return result;
         }
     }
 

Modified: jakarta/commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/TestAbstractConfiguration.java
URL: http://svn.apache.org/viewvc/jakarta/commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/TestAbstractConfiguration.java?view=diff&rev=515306&r1=515305&r2=515306
==============================================================================
--- jakarta/commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/TestAbstractConfiguration.java
(original)
+++ jakarta/commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/TestAbstractConfiguration.java
Tue Mar  6 13:15:00 2007
@@ -36,11 +36,12 @@
 public abstract class TestAbstractConfiguration extends TestCase
 {
     /**
-     * Return an abstract configuration with 2 key/value pairs:<br>
+     * Return an abstract configuration with the following data:<br>
      * <pre>
      * key1 = value1
      * key2 = value2
      * list = value1, value2
+     * listesc = value1\\,value2
      * </pre>
      */
     protected abstract AbstractConfiguration getConfiguration();
@@ -69,6 +70,16 @@
         assertTrue("'value2' is not in the list", list.contains("value2"));
     }
 
+    /**
+     * Tests whether the escape character for list delimiters is recocknized and
+     * removed.
+     */
+    public void testListEscaped()
+    {
+        assertEquals("Wrong value for escaped list", "value1,value2",
+                getConfiguration().getString("listesc"));
+    }
+
     public void testAddPropertyDirect()
     {
         AbstractConfiguration config = getConfiguration();
@@ -118,6 +129,7 @@
         expectedKeys.add("key1");
         expectedKeys.add("key2");
         expectedKeys.add("list");
+        expectedKeys.add("listesc");
 
         assertNotNull("null iterator", keys);
         assertTrue("empty iterator", keys.hasNext());

Modified: jakarta/commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/TestMapConfiguration.java
URL: http://svn.apache.org/viewvc/jakarta/commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/TestMapConfiguration.java?view=diff&rev=515306&r1=515305&r2=515306
==============================================================================
--- jakarta/commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/TestMapConfiguration.java
(original)
+++ jakarta/commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/TestMapConfiguration.java
Tue Mar  6 13:15:00 2007
@@ -37,6 +37,7 @@
         map.put("key1", "value1");
         map.put("key2", "value2");
         map.put("list", "value1, value2");
+        map.put("listesc", "value1\\,value2");
 
         return new MapConfiguration(map);
     }

Modified: jakarta/commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/web/TestAppletConfiguration.java
URL: http://svn.apache.org/viewvc/jakarta/commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/web/TestAppletConfiguration.java?view=diff&rev=515306&r1=515305&r2=515306
==============================================================================
--- jakarta/commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/web/TestAppletConfiguration.java
(original)
+++ jakarta/commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/web/TestAppletConfiguration.java
Tue Mar  6 13:15:00 2007
@@ -64,6 +64,7 @@
         parameters.setProperty("key1", "value1");
         parameters.setProperty("key2", "value2");
         parameters.setProperty("list", "value1, value2");
+        parameters.setProperty("listesc", "value1\\,value2");
 
         if (supportsApplet)
         {
@@ -80,7 +81,8 @@
                     {
                     { "key1", "String", "" },
                     { "key2", "String", "" },
-                    { "list", "String[]", "" } };
+                    { "list", "String[]", "" },
+                    { "listesc", "String", "" } };
                 }
             };
 

Modified: jakarta/commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/web/TestServletConfiguration.java
URL: http://svn.apache.org/viewvc/jakarta/commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/web/TestServletConfiguration.java?view=diff&rev=515306&r1=515305&r2=515306
==============================================================================
--- jakarta/commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/web/TestServletConfiguration.java
(original)
+++ jakarta/commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/web/TestServletConfiguration.java
Tue Mar  6 13:15:00 2007
@@ -39,6 +39,7 @@
         config.setInitParameter("key1", "value1");
         config.setInitParameter("key2", "value2");
         config.setInitParameter("list", "value1, value2");
+        config.setInitParameter("listesc", "value1\\,value2");
 
         Servlet servlet = new HttpServlet() {
             public ServletConfig getServletConfig()

Modified: jakarta/commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/web/TestServletContextConfiguration.java
URL: http://svn.apache.org/viewvc/jakarta/commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/web/TestServletContextConfiguration.java?view=diff&rev=515306&r1=515305&r2=515306
==============================================================================
--- jakarta/commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/web/TestServletContextConfiguration.java
(original)
+++ jakarta/commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/web/TestServletContextConfiguration.java
Tue Mar  6 13:15:00 2007
@@ -43,6 +43,7 @@
         parameters.setProperty("key1", "value1");
         parameters.setProperty("key2", "value2");
         parameters.setProperty("list", "value1, value2");
+        parameters.setProperty("listesc", "value1\\,value2");
 
         // create a servlet context
         ServletContext context = new MockServletContext()

Modified: jakarta/commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/web/TestServletFilterConfiguration.java
URL: http://svn.apache.org/viewvc/jakarta/commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/web/TestServletFilterConfiguration.java?view=diff&rev=515306&r1=515305&r2=515306
==============================================================================
--- jakarta/commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/web/TestServletFilterConfiguration.java
(original)
+++ jakarta/commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/web/TestServletFilterConfiguration.java
Tue Mar  6 13:15:00 2007
@@ -39,6 +39,7 @@
         config.setInitParameter("key1", "value1");
         config.setInitParameter("key2", "value2");
         config.setInitParameter("list", "value1, value2");
+        config.setInitParameter("listesc", "value1\\,value2");
 
         return new ServletFilterConfiguration(config);
     }

Modified: jakarta/commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/web/TestServletRequestConfiguration.java
URL: http://svn.apache.org/viewvc/jakarta/commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/web/TestServletRequestConfiguration.java?view=diff&rev=515306&r1=515305&r2=515306
==============================================================================
--- jakarta/commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/web/TestServletRequestConfiguration.java
(original)
+++ jakarta/commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/web/TestServletRequestConfiguration.java
Tue Mar  6 13:15:00 2007
@@ -18,6 +18,8 @@
 package org.apache.commons.configuration.web;
 
 import java.util.Enumeration;
+import java.util.List;
+
 import javax.servlet.ServletRequest;
 
 import com.mockobjects.servlet.MockHttpServletRequest;
@@ -26,6 +28,7 @@
 import org.apache.commons.configuration.BaseConfiguration;
 import org.apache.commons.configuration.Configuration;
 import org.apache.commons.configuration.TestAbstractConfiguration;
+import org.apache.commons.lang.StringUtils;
 
 /**
  * Test case for the {@link ServletRequestConfiguration} class.
@@ -38,16 +41,25 @@
     protected AbstractConfiguration getConfiguration()
     {
         final Configuration configuration = new BaseConfiguration();
+        ((BaseConfiguration) configuration).setListDelimiter('\0');
         configuration.setProperty("key1", "value1");
         configuration.setProperty("key2", "value2");
         configuration.addProperty("list", "value1");
         configuration.addProperty("list", "value2");
+        configuration.addProperty("listesc", "value1\\,value2");
+
+        return createConfiguration(configuration);
+    }
+
+    protected AbstractConfiguration getEmptyConfiguration()
+    {
+        final Configuration configuration = new BaseConfiguration();
 
         ServletRequest request = new MockHttpServletRequest()
         {
-            public String[] getParameterValues(String key)
+            public String getParameter(String key)
             {
-                return configuration.getStringArray(key);
+                return null;
             }
 
             public Enumeration getParameterNames()
@@ -59,20 +71,26 @@
         return new ServletRequestConfiguration(request);
     }
 
-    protected AbstractConfiguration getEmptyConfiguration()
+    /**
+     * Returns a new servlet request configuration that is backed by the passed
+     * in configuration.
+     *
+     * @param base the configuration with the underlying values
+     * @return the servlet request configuration
+     */
+    private ServletRequestConfiguration createConfiguration(
+            final Configuration base)
     {
-        final Configuration configuration = new BaseConfiguration();
-
         ServletRequest request = new MockHttpServletRequest()
         {
-            public String getParameter(String key)
+            public String[] getParameterValues(String key)
             {
-                return null;
+                return base.getStringArray(key);
             }
 
             public Enumeration getParameterNames()
             {
-                return new IteratorEnumeration(configuration.getKeys());
+                return new IteratorEnumeration(base.getKeys());
             }
         };
 
@@ -105,4 +123,27 @@
         }
     }
 
+    /**
+     * Tests a list with elements that contain an escaped list delimiter.
+     */
+    public void testListWithEscapedElements()
+    {
+        String[] values =
+        { "test1", "test2\\,test3", "test4\\,test5" };
+        final String listKey = "test.list";
+        BaseConfiguration config = new BaseConfiguration();
+        config.setListDelimiter('\0');
+        config.addProperty(listKey, values);
+        assertEquals("Wrong number of list elements", values.length, config
+                .getList(listKey).size());
+        Configuration c = createConfiguration(config);
+        List v = c.getList(listKey);
+        assertEquals("Wrong number of elements in list", values.length, v
+                .size());
+        for (int i = 0; i < values.length; i++)
+        {
+            assertEquals("Wrong value at index " + i, StringUtils.replace(
+                    values[i], "\\", StringUtils.EMPTY), v.get(i));
+        }
+    }
 }

Modified: jakarta/commons/proper/configuration/trunk/xdocs/changes.xml
URL: http://svn.apache.org/viewvc/jakarta/commons/proper/configuration/trunk/xdocs/changes.xml?view=diff&rev=515306&r1=515305&r2=515306
==============================================================================
--- jakarta/commons/proper/configuration/trunk/xdocs/changes.xml (original)
+++ jakarta/commons/proper/configuration/trunk/xdocs/changes.xml Tue Mar  6 13:15:00 2007
@@ -23,6 +23,11 @@
 
   <body>
     <release version="1.4-SNAPSHOT" date="in SVN">
+      <action dev="oheger" type="update" issue="CONFIGURATION-256">
+        MapConfiguration and the web-based configurations now treat strings
+        that contain an escaped list delimiter correctly: The escape character
+        will be removed, so that for instance "foo\,bar" becomes "foo,bar".
+      </action>
       <action dev="oheger" type="update" issue="CONFIGURATION-255">
         DatabaseConfiguration now handles list delimiters in property values
         correctly.



---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org


Mime
View raw message