# HG changeset patch # User Felix Wolfsteller # Date 1349077166 -7200 # Node ID cc0b31dc278910e0a5157f79e4b4b049245c53f8 # Parent 7d056b7a50d8d8d6f8c8f0242f350b7eea150239 fix issue898 (crash when no param selected for parametermatrix). diff -r 7d056b7a50d8 -r cc0b31dc2789 flys-client/ChangeLog --- a/flys-client/ChangeLog Mon Oct 01 08:54:44 2012 +0200 +++ b/flys-client/ChangeLog Mon Oct 01 09:39:26 2012 +0200 @@ -1,3 +1,16 @@ +2012-10-01 Felix Wolfsteller + + Fix issue898 (crash when no param selected). + + * flys-client/src/main/java/de/intevation/flys/client/client/ui/ParameterMatrixPanel.java + (validate): implemented. + + * flys-client/src/main/java/de/intevation/flys/client/client/FLYSConstants.java, + flys-client/src/main/java/de/intevation/flys/client/client/FLYSConstants.properties, + flys-client/src/main/java/de/intevation/flys/client/client/FLYSConstants_de.properties, + flys-client/src/main/java/de/intevation/flys/client/client/FLYSConstants_en.properties: + i18n for error message. + 2012-09-30 Christian Lins * flys-client/src/main/java/de/intevation/flys/client/client/FLYS.java: diff -r 7d056b7a50d8 -r cc0b31dc2789 flys-client/src/main/java/de/intevation/flys/client/client/FLYSConstants.java --- a/flys-client/src/main/java/de/intevation/flys/client/client/FLYSConstants.java Mon Oct 01 08:54:44 2012 +0200 +++ b/flys-client/src/main/java/de/intevation/flys/client/client/FLYSConstants.java Mon Oct 01 09:39:26 2012 +0200 @@ -684,6 +684,8 @@ String error_update_collection_attribute(); + String error_values_needed(); + // MAP RELATED STRINGS String digitize(); diff -r 7d056b7a50d8 -r cc0b31dc2789 flys-client/src/main/java/de/intevation/flys/client/client/FLYSConstants.properties --- a/flys-client/src/main/java/de/intevation/flys/client/client/FLYSConstants.properties Mon Oct 01 08:54:44 2012 +0200 +++ b/flys-client/src/main/java/de/intevation/flys/client/client/FLYSConstants.properties Mon Oct 01 09:39:26 2012 +0200 @@ -346,6 +346,7 @@ error_same_location = Reference location equals selected location. error_contains_same_location = Target locations contains reference location. error_update_collection_attribute = Error while updating the collection attribut +error_values_needed = You must provide values. error_no_module_found = No modules found ## map related strings diff -r 7d056b7a50d8 -r cc0b31dc2789 flys-client/src/main/java/de/intevation/flys/client/client/FLYSConstants_de.properties --- a/flys-client/src/main/java/de/intevation/flys/client/client/FLYSConstants_de.properties Mon Oct 01 08:54:44 2012 +0200 +++ b/flys-client/src/main/java/de/intevation/flys/client/client/FLYSConstants_de.properties Mon Oct 01 09:39:26 2012 +0200 @@ -345,6 +345,7 @@ error_same_location = Der gewählte Ort ist der Bezugsort. error_contains_same_location = Zielorte beinhalten den Bezugsort. error_update_collection_attribute = Fehler beim Aktualisieren des Collection-Attributs. +error_values_needed = Es muss mindestens ein Wert selektiert sein. error_no_module_found = Keine nutzbaren Module gefunden. ## map related strings diff -r 7d056b7a50d8 -r cc0b31dc2789 flys-client/src/main/java/de/intevation/flys/client/client/FLYSConstants_en.properties --- a/flys-client/src/main/java/de/intevation/flys/client/client/FLYSConstants_en.properties Mon Oct 01 08:54:44 2012 +0200 +++ b/flys-client/src/main/java/de/intevation/flys/client/client/FLYSConstants_en.properties Mon Oct 01 09:39:26 2012 +0200 @@ -346,6 +346,7 @@ error_same_location = Reference location equals selected location. error_contains_same_location = Target locations contains reference location. error_update_collection_attribute = Error while updating the collection attribut +error_values_needed = You must provide values. error_no_module_found = No modules found ## map related strings diff -r 7d056b7a50d8 -r cc0b31dc2789 flys-client/src/main/java/de/intevation/flys/client/client/ui/ParameterMatrixPanel.java --- 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 validate() { + GWT.log ("validation. validation. validation. "); + List errors = new ArrayList(); + // Early stop on one (only) error. + for (Map.Entry> 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 :