SOLR-13783: Add space after comma in NamedList.toString() (#979)

This commit is contained in:
Chris Hennick 2019-10-28 17:09:08 -07:00 committed by Tomas Fernandez Lobbe
parent ee82e4567f
commit 74333c3af2
3 changed files with 15 additions and 1 deletions

View File

@ -31,6 +31,10 @@ Jetty 9.4.19.v20190610
Upgrade Notes Upgrade Notes
---------------------- ----------------------
* SOLR-13783: In situations where a NamedList must be output as plain text, commas between key-value pairs will now be
followed by a space (e.g. {shape=square, color=yellow} rather than {shape=square,color=yellow}) for consistency with
other java.util.Map implementations based on AbstractMap (Chris Hennick).
* LUCENE-8738: Move to Java 11 as minimum Java version. * LUCENE-8738: Move to Java 11 as minimum Java version.
(Adrien Grand, Uwe Schindler) (Adrien Grand, Uwe Schindler)

View File

@ -401,7 +401,7 @@ public class NamedList<T> implements Cloneable, Serializable, Iterable<Map.Entry
sb.append('{'); sb.append('{');
int sz = size(); int sz = size();
for (int i=0; i<sz; i++) { for (int i=0; i<sz; i++) {
if (i != 0) sb.append(','); if (i != 0) sb.append(", ");
sb.append(getName(i)); sb.append(getName(i));
sb.append('='); sb.append('=');
sb.append(getVal(i)); sb.append(getVal(i));

View File

@ -26,6 +26,16 @@ import org.junit.Test;
public class NamedListTest extends SolrTestCase { public class NamedListTest extends SolrTestCase {
@Test
public void testToString() {
NamedList<String> nl = new NamedList<>();
assertEquals("{}", nl.toString());
nl.add("key1", "value1");
assertEquals("{key1=value1}", nl.toString());
nl.add("key2", "value2");
assertEquals("{key1=value1, key2=value2}", nl.toString());
}
public void testRemove() { public void testRemove() {
NamedList<String> nl = new NamedList<>(); NamedList<String> nl = new NamedList<>();
nl.add("key1", "value1"); nl.add("key1", "value1");