diff flys-client/src/main/java/de/intevation/flys/client/client/ui/ParameterMatrixPanel.java @ 3994:cc0b31dc2789

fix issue898 (crash when no param selected for parametermatrix).
author Felix Wolfsteller <felix.wolfsteller@intevation.de>
date Mon, 01 Oct 2012 09:39:26 +0200
parents 87e7571970e6
children 4d74a579c5c5
line wrap: on
line diff
--- a/flys-client/src/main/java/de/intevation/flys/client/client/ui/ParameterMatrixPanel.java	Mon Oct 01 08:54:44 2012 +0200
+++ b/flys-client/src/main/java/de/intevation/flys/client/client/ui/ParameterMatrixPanel.java	Mon Oct 01 09:39:26 2012 +0200
@@ -1,9 +1,12 @@
 package de.intevation.flys.client.client.ui;
 
+import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
 
+import com.google.gwt.core.client.GWT;
+
 import com.google.gwt.user.client.ui.HTML;
 
 import com.smartgwt.client.widgets.Canvas;
@@ -24,6 +27,9 @@
  */
 public class ParameterMatrixPanel extends AbstractUIProvider {
 
+    /** The message class that provides i18n strings. */
+    protected FLYSConstants MESSAGES = GWT.create(FLYSConstants.class);
+
     private ParameterMatrix matrix;
 
     @Override
@@ -160,5 +166,21 @@
 
         return label;
     }
+
+
+    /** Selection shall not be empty. */
+    @Override
+    public List<String> validate() {
+        GWT.log ("validation. validation. validation. ");
+        List<String> errors = new ArrayList<String>();
+        // Early stop on one (only) error.
+        for (Map.Entry<String, List<String>> entry : matrix.getSelection().entrySet()) {
+                if (entry.getValue() == null || entry.getValue().size() == 0) {
+                    errors.add(MESSAGES.error_values_needed());
+                    return errors;
+                }
+        }
+        return errors;
+    }
 }
 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org