Updated Branches:
  refs/heads/wicket-1.5.x 9546a36d9 -> e25e1c9f0

AAU-2949 fix NPE. hasRawInput() can return null for check boxes...


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

Branch: refs/heads/wicket-1.5.x
Commit: e25e1c9f0237b8a582acb2d31c05dc8ef792c995
Parents: 9546a36
Author: Igor Vaynberg <[email protected]>
Authored: Fri Jan 27 13:21:17 2012 -0800
Committer: Igor Vaynberg <[email protected]>
Committed: Fri Jan 27 13:21:17 2012 -0800

----------------------------------------------------------------------
 .../org/apache/wicket/markup/html/form/Check.java  |   16 ++++--------
 .../extensions/markup/html/form/select/Select.java |   19 ++++++--------
 2 files changed, 14 insertions(+), 21 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/e25e1c9f/wicket-core/src/main/java/org/apache/wicket/markup/html/form/Check.java
----------------------------------------------------------------------
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/Check.java 
b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/Check.java
index 3040784..322894d 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/Check.java
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/Check.java
@@ -174,19 +174,15 @@ public class Check<T> extends LabeledWebMarkupContainer
                                "] contains a null model object, must be an 
object of type java.util.Collection");
                }
 
-               if (group.hasRawInput())
+               final String raw = group.getRawInput();
+               if (!Strings.isEmpty(raw))
                {
-                       // Wicket-2949 getInputAsArray() might not be the raw 
input
-                       final String[] inputArray = 
group.getRawInput().split(FormComponent.VALUE_SEPARATOR);
-
-                       if (inputArray != null)
+                       final String[] values = 
raw.split(FormComponent.VALUE_SEPARATOR);
+                       for (String value : values)
                        {
-                               for (String input : inputArray)
+                               if (uuid.equals(value))
                                {
-                                       if (uuid.equals(input))
-                                       {
-                                               tag.put("checked", "checked");
-                                       }
+                                       tag.put("checked", "checked");
                                }
                        }
                }

http://git-wip-us.apache.org/repos/asf/wicket/blob/e25e1c9f/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/select/Select.java
----------------------------------------------------------------------
diff --git 
a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/select/Select.java
 
b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/select/Select.java
index 515789f..a44625c 100644
--- 
a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/select/Select.java
+++ 
b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/select/Select.java
@@ -221,22 +221,19 @@ public class Select<T> extends FormComponent<T>
                Args.notNull(option, "option");
 
                // if the raw input is specified use that, otherwise use model
-               if (hasRawInput())
+               final String raw = getRawInput();
+               if (!Strings.isEmpty(raw))
                {
-                       // Wicket-2949 getInputAsArray() might not be the raw 
input
-                       String[] values = getRawInput().split(VALUE_SEPARATOR);
-                       if (values != null && values.length > 0)
+                       String[] values = raw.split(VALUE_SEPARATOR);
+                       for (int i = 0; i < values.length; i++)
                        {
-                               for (int i = 0; i < values.length; i++)
+                               String value = values[i];
+                               if (value.equals(option.getValue()))
                                {
-                                       String value = values[i];
-                                       if (value.equals(option.getValue()))
-                                       {
-                                               return true;
-                                       }
+                                       return true;
                                }
-                               return false;
                        }
+                       return false;
                }
 
                return compareModels(getDefaultModelObject(), 
option.getDefaultModelObject());

Reply via email to