Mercurial > dive4elements > river
changeset 7731:91a57b66c7ed
Client side fix for flys/issue1549
author | Sascha L. Teichmann <teichmann@intevation.de> |
---|---|
date | Mon, 20 Jan 2014 12:44:16 +0100 |
parents | 3d772f52080a |
children | 772c22b0ea12 |
files | gwt-client/src/main/java/org/dive4elements/river/client/client/FLYSConstants.java gwt-client/src/main/java/org/dive4elements/river/client/client/FLYSConstants.properties gwt-client/src/main/java/org/dive4elements/river/client/client/FLYSConstants_de.properties gwt-client/src/main/java/org/dive4elements/river/client/client/FLYSConstants_en.properties gwt-client/src/main/java/org/dive4elements/river/client/client/event/RangeFilterEvent.java gwt-client/src/main/java/org/dive4elements/river/client/client/ui/DistancePanel.java gwt-client/src/main/java/org/dive4elements/river/client/client/ui/WaterlevelGroundPanel.java |
diffstat | 7 files changed, 38 insertions(+), 18 deletions(-) [+] |
line wrap: on
line diff
--- a/gwt-client/src/main/java/org/dive4elements/river/client/client/FLYSConstants.java Mon Jan 13 11:52:22 2014 +0100 +++ b/gwt-client/src/main/java/org/dive4elements/river/client/client/FLYSConstants.java Mon Jan 20 12:44:16 2014 +0100 @@ -1367,5 +1367,7 @@ String current_gauge(); String suggested_label(); + + String negative_values_not_allowed_for_to(); } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :
--- a/gwt-client/src/main/java/org/dive4elements/river/client/client/FLYSConstants.properties Mon Jan 13 11:52:22 2014 +0100 +++ b/gwt-client/src/main/java/org/dive4elements/river/client/client/FLYSConstants.properties Mon Jan 20 12:44:16 2014 +0100 @@ -715,3 +715,4 @@ FEDSTATE_KM = Station (Federal State) official_regulation = official Regulation +negative_values_not_allowed_for_to=Keine negativen Werte bei 'bis' erlaubt.
--- a/gwt-client/src/main/java/org/dive4elements/river/client/client/FLYSConstants_de.properties Mon Jan 13 11:52:22 2014 +0100 +++ b/gwt-client/src/main/java/org/dive4elements/river/client/client/FLYSConstants_de.properties Mon Jan 20 12:44:16 2014 +0100 @@ -713,3 +713,4 @@ WATERBODY = Gewässer FEDSTATE_KM = Landes-Stationierung official_regulation = amtl. Festlegung +negative_values_not_allowed_for_to=Keine negativen Werte bei 'bis' erlaubt.
--- a/gwt-client/src/main/java/org/dive4elements/river/client/client/FLYSConstants_en.properties Mon Jan 13 11:52:22 2014 +0100 +++ b/gwt-client/src/main/java/org/dive4elements/river/client/client/FLYSConstants_en.properties Mon Jan 20 12:44:16 2014 +0100 @@ -654,3 +654,4 @@ # Get Feature Info Window PATH = Path official_regulation = Official Regulation +negative_values_not_allowed_for_to=Negative are not allowed for 'to'.
--- a/gwt-client/src/main/java/org/dive4elements/river/client/client/event/RangeFilterEvent.java Mon Jan 13 11:52:22 2014 +0100 +++ b/gwt-client/src/main/java/org/dive4elements/river/client/client/event/RangeFilterEvent.java Mon Jan 20 12:44:16 2014 +0100 @@ -18,25 +18,21 @@ protected Float from; protected Float to; + private static Float asFloat(NumberFormat nf, String x) { + try { + return Float.valueOf((float)nf.parse(x)); + } + catch (NumberFormatException nfe) { + return Float.NaN; + } + } + public RangeFilterEvent(String from, String to) { NumberFormat nf = NumberFormat.getDecimalFormat(); - double d; - try { - d = nf.parse(from); - this.from = Float.valueOf(String.valueOf(d)); - } - catch(NumberFormatException nfe) { - this.from = Float.NaN; - } - try { - d = nf.parse(to); - this.to = Float.valueOf(String.valueOf(d)); - } - catch(NumberFormatException nfe) { - this.to = Float.NaN; - } + this.from = asFloat(nf, from); + this.to = asFloat(nf, to); }
--- a/gwt-client/src/main/java/org/dive4elements/river/client/client/ui/DistancePanel.java Mon Jan 13 11:52:22 2014 +0100 +++ b/gwt-client/src/main/java/org/dive4elements/river/client/client/ui/DistancePanel.java Mon Jan 20 12:44:16 2014 +0100 @@ -598,22 +598,28 @@ Criterion combinedFilter = null; Criterion locationFilter = null; + if (from.equals(Float.NaN) && to.equals(Float.NaN)) { locationsTable.clearCriteria(); distancesTable.clearCriteria(); filterResultCount.setValue(""); return; } - else if (from.equals(Float.NaN)) { - combinedFilter = new Criterion("to", OperatorId.LESS_OR_EQUAL, to); + + if (from.equals(Float.NaN)) { + combinedFilter = + new Criterion("to", OperatorId.LESS_OR_EQUAL, to); + locationFilter = new Criterion("from", OperatorId.LESS_OR_EQUAL, to); + locationsTable.filterData(locationFilter); distancesTable.filterData(combinedFilter); filterResultCount.setValue(currentFiltered.getRecords().length); return; } - else if (to.equals(Float.NaN)) { + + if (to.equals(Float.NaN)) { combinedFilter = new Criterion("from", OperatorId.GREATER_OR_EQUAL, from); }
--- a/gwt-client/src/main/java/org/dive4elements/river/client/client/ui/WaterlevelGroundPanel.java Mon Jan 13 11:52:22 2014 +0100 +++ b/gwt-client/src/main/java/org/dive4elements/river/client/client/ui/WaterlevelGroundPanel.java Mon Jan 20 12:44:16 2014 +0100 @@ -8,6 +8,8 @@ package org.dive4elements.river.client.client.ui; +import java.util.List; + public class WaterlevelGroundPanel extends DistancePanel { private static final long serialVersionUID = 6598703468619862469L; @@ -123,5 +125,16 @@ // We don't need a helper panel here. But we have to override this // method to avoid the table creation in the parent class. } + + @Override + protected void validateTo(List<String> errors) { + double to = distancePanel.getTo(); + + if (to < 0d) { + distancePanel.setTo(max); + errors.add(MSG.negative_values_not_allowed_for_to()); + } + super.validateTo(errors); + } } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :