Mercurial > dive4elements > river
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 :