Author: ivaynberg
Date: Sun Jan 13 22:40:58 2008
New Revision: 611726
URL: http://svn.apache.org/viewvc?rev=611726&view=rev
Log:
WICKET-1270 be a bit more defensive
Modified:
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/form/ListMultipleChoice.java
Modified:
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/form/ListMultipleChoice.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/form/ListMultipleChoice.java?rev=611726&r1=611725&r2=611726&view=diff
==============================================================================
---
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/form/ListMultipleChoice.java
(original)
+++
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/form/ListMultipleChoice.java
Sun Jan 13 22:40:58 2008
@@ -124,7 +124,7 @@
* List,IChoiceRenderer)
*/
public ListMultipleChoice(final String id, IModel object, final List
choices,
- final IChoiceRenderer renderer)
+ final IChoiceRenderer renderer)
{
super(id, object, choices, renderer);
}
@@ -188,8 +188,8 @@
if (modelObject != null && !(modelObject instanceof Collection))
{
throw new WicketRuntimeException(
- "Model object for a ListMultipleChoice
must be a Collection (found " +
- modelObject.getClass()
+ ")");
+ "Model object for a ListMultipleChoice must be
a Collection (found " +
+ modelObject.getClass() + ")");
}
final Collection selectedValues = (Collection)modelObject;
final AppendingStringBuffer buffer = new
AppendingStringBuffer();
@@ -217,8 +217,7 @@
if (selected != null)
{
// Loop through ids
- for (final StringTokenizer tokenizer = new
StringTokenizer(selected, VALUE_SEPARATOR); tokenizer
- .hasMoreTokens();)
+ for (final StringTokenizer tokenizer = new
StringTokenizer(selected, VALUE_SEPARATOR); tokenizer.hasMoreTokens();)
{
final String id = tokenizer.nextToken();
if
(id.equals(getChoiceRenderer().getIdValue(choice, index)))
@@ -313,7 +312,11 @@
{
modelChanging();
selectedValues.clear();
- selectedValues.addAll((Collection)getConvertedInput());
+ final Collection converted =
(Collection)getConvertedInput();
+ if (converted != null)
+ {
+ selectedValues.addAll(converted);
+ }
modelChanged();
getModel().setObject(selectedValues);
}