Updated Branches:
  refs/heads/wicket-1.5.x 594f7d509 -> 8a69ad577

WICKET-4590 palette single unselected choice


Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/8a69ad57
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/8a69ad57
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/8a69ad57

Branch: refs/heads/wicket-1.5.x
Commit: 8a69ad57772f75cc83ae691238a2b97f236a6e51
Parents: 594f7d5
Author: Sven Meier <svenme...@apache.org>
Authored: Wed Jun 6 19:24:49 2012 +0200
Committer: Sven Meier <svenme...@apache.org>
Committed: Wed Jun 6 19:24:49 2012 +0200

----------------------------------------------------------------------
 .../html/form/palette/component/Recorder.java      |   16 ++++++++-----
 .../markup/html/form/palette/PaletteTest.java      |   17 +++++++++++++++
 2 files changed, 27 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/8a69ad57/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/palette/component/Recorder.java
----------------------------------------------------------------------
diff --git 
a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/palette/component/Recorder.java
 
b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/palette/component/Recorder.java
index 6bf1214..3dd4366 100644
--- 
a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/palette/component/Recorder.java
+++ 
b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/palette/component/Recorder.java
@@ -46,7 +46,7 @@ public class Recorder<T> extends HiddenField<Object>
 {
        private static final long serialVersionUID = 1L;
 
-       /**  set of selected ids */
+       /** set of selected ids */
        private final List<String> selectedIds;
 
        /** parent palette object */
@@ -154,7 +154,7 @@ public class Recorder<T> extends HiddenField<Object>
        {
                if (getSelectedIds().isEmpty())
                {
-                       return Collections.EMPTY_LIST;
+                       return Collections.emptyList();
                }
 
                final IChoiceRenderer<T> renderer = 
getPalette().getChoiceRenderer();
@@ -200,11 +200,12 @@ public class Recorder<T> extends HiddenField<Object>
 
                if (choices.size() - getSelectedIds().size() == 0)
                {
-                       return Collections.<T>emptyList();
+                       return Collections.<T> emptyList();
                }
 
                final IChoiceRenderer<T> renderer = 
getPalette().getChoiceRenderer();
-               final List<T> unselected = new ArrayList<T>(Math.max(1, 
choices.size() - getSelectedIds().size()));
+               final List<T> unselected = new ArrayList<T>(Math.max(1, 
choices.size() -
+                       getSelectedIds().size()));
 
                for (final T choice : choices)
                {
@@ -245,9 +246,12 @@ public class Recorder<T> extends HiddenField<Object>
        {
                getSelectedIds().clear();
 
-               for (final String id : Strings.split(value, ','))
+               if (!Strings.isEmpty(value))
                {
-                       getSelectedIds().add(id);
+                       for (final String id : Strings.split(value, ','))
+                       {
+                               getSelectedIds().add(id);
+                       }
                }
        }
 }

http://git-wip-us.apache.org/repos/asf/wicket/blob/8a69ad57/wicket-extensions/src/test/java/org/apache/wicket/extensions/markup/html/form/palette/PaletteTest.java
----------------------------------------------------------------------
diff --git 
a/wicket-extensions/src/test/java/org/apache/wicket/extensions/markup/html/form/palette/PaletteTest.java
 
b/wicket-extensions/src/test/java/org/apache/wicket/extensions/markup/html/form/palette/PaletteTest.java
index 222c258..dd4c318 100644
--- 
a/wicket-extensions/src/test/java/org/apache/wicket/extensions/markup/html/form/palette/PaletteTest.java
+++ 
b/wicket-extensions/src/test/java/org/apache/wicket/extensions/markup/html/form/palette/PaletteTest.java
@@ -124,4 +124,21 @@ public class PaletteTest extends WicketTestCase
                assertEquals(1, collection.size());
                assertEquals("D", collection.iterator().next());
        }
+
+       /**
+        * WICKET-4590 single unselected item
+        */
+       @Test
+       public void choicesModelSingleNotSelected()
+       {
+               IModel<List<String>> selected = new ListModel<String>(new 
ArrayList<String>());
+
+               IModel<List<String>> all = new ListModel<String>(new 
ArrayList<String>(Arrays.asList("A")));
+
+               PaletteTestPage testPage = new PaletteTestPage(selected, all);
+
+               tester.startPage(testPage);
+
+               tester.assertContains("<option value=\"A\">A</option>");
+       }
 }

Reply via email to