# HG changeset patch # User Ingo Weinzierl # Date 1308126534 0 # Node ID 6ebe845a9d3731b5d429156393f1df93a47df6ec # Parent 85d7cc0f2bab4e37a700da97340e6dc689afe30a #117 Improved double value parsing in DoubleArrayPanel and DoubleRangePanel. flys-client/trunk@2121 c6561f87-3c4e-4783-a992-168aeb5c3f6f diff -r 85d7cc0f2bab -r 6ebe845a9d37 flys-client/ChangeLog --- a/flys-client/ChangeLog Tue Jun 14 16:43:09 2011 +0000 +++ b/flys-client/ChangeLog Wed Jun 15 08:28:54 2011 +0000 @@ -1,3 +1,13 @@ +2011-06-15 Ingo Weinzierl + + flys/issue117 (W-INFO: Wasserspiegellagenberechnung / Q-Eingabe) + + * src/main/java/de/intevation/flys/client/client/ui/DoubleArrayPanel.java: + This panel will return a list of unique values. + + * src/main/java/de/intevation/flys/client/client/ui/DoubleRangePanel.java: + Improved parsing of double values. + 2011-06-14 Sascha L. Teichmann flys/issue88 (WINFO/Wasserspiegellage: Namensänderung im Eingabebereich diff -r 85d7cc0f2bab -r 6ebe845a9d37 flys-client/src/main/java/de/intevation/flys/client/client/ui/DoubleArrayPanel.java --- a/flys-client/src/main/java/de/intevation/flys/client/client/ui/DoubleArrayPanel.java Tue Jun 14 16:43:09 2011 +0000 +++ b/flys-client/src/main/java/de/intevation/flys/client/client/ui/DoubleArrayPanel.java Wed Jun 15 08:28:54 2011 +0000 @@ -192,21 +192,30 @@ return null; } - double[] values = new double[parts.length]; - NumberFormat f = NumberFormat.getDecimalFormat(); + double[] values = new double[parts.length]; + int i = 0; - for (String part: parts) { + OUTER: for (String part: parts) { try { - values[i++] = f.parse(part); + double x = f.parse(part); + for (int j = 0; j < i; ++j) { + if (values[j] == x) { + continue OUTER; + } + } + values[i++] = x; } catch (NumberFormatException nfe) { // do nothing } } - return values; + double [] out = new double[i]; + System.arraycopy(values, 0, out, 0, i); + + return out; } diff -r 85d7cc0f2bab -r 6ebe845a9d37 flys-client/src/main/java/de/intevation/flys/client/client/ui/DoubleRangePanel.java --- a/flys-client/src/main/java/de/intevation/flys/client/client/ui/DoubleRangePanel.java Tue Jun 14 16:43:09 2011 +0000 +++ b/flys-client/src/main/java/de/intevation/flys/client/client/ui/DoubleRangePanel.java Wed Jun 15 08:28:54 2011 +0000 @@ -178,7 +178,9 @@ protected double getDouble(String value) { NumberFormat f = NumberFormat.getDecimalFormat(); - return f.parse(value); + String[] splitted = value.split(" "); + + return f.parse(splitted[0]); }