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); }