Author: mgrigorov
Date: Wed Feb 16 14:50:48 2011
New Revision: 1071275
URL: http://svn.apache.org/viewvc?rev=1071275&view=rev
Log:
PageParameters.add() works with java.lang.Object for the value.
Some apps from 1.4 (jolira's stateless components) passed String[] as value and
it properly parsed all values.
Fix this to work in 1.5 as well.
Modified:
wicket/trunk/wicket-request/src/main/java/org/apache/wicket/request/mapper/parameter/PageParameters.java
Modified:
wicket/trunk/wicket-request/src/main/java/org/apache/wicket/request/mapper/parameter/PageParameters.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket-request/src/main/java/org/apache/wicket/request/mapper/parameter/PageParameters.java?rev=1071275&r1=1071274&r2=1071275&view=diff
==============================================================================
---
wicket/trunk/wicket-request/src/main/java/org/apache/wicket/request/mapper/parameter/PageParameters.java
(original)
+++
wicket/trunk/wicket-request/src/main/java/org/apache/wicket/request/mapper/parameter/PageParameters.java
Wed Feb 16 14:50:48 2011
@@ -18,6 +18,7 @@ package org.apache.wicket.request.mapper
import java.io.Serializable;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;
@@ -374,17 +375,31 @@ public class PageParameters implements S
{
namedParameters = new ArrayList<Entry>(1);
}
- Entry entry = new Entry();
- entry.key = name;
- entry.value = value.toString();
- if (index == -1)
+ List<String> values = new ArrayList<String>();
+ if (value instanceof String[])
{
- namedParameters.add(entry);
+ values.addAll(Arrays.asList((String[])value));
}
else
{
- namedParameters.add(index, entry);
+ values.add(value.toString());
+ }
+
+ for (String val : values)
+ {
+ Entry entry = new Entry();
+ entry.key = name;
+ entry.value = val;
+
+ if (index == -1)
+ {
+ namedParameters.add(entry);
+ }
+ else
+ {
+ namedParameters.add(index, entry);
+ }
}
return this;
}