Mercurial > dive4elements > river
annotate flys-client/src/main/java/de/intevation/flys/client/shared/model/DoubleProperty.java @ 4241:49cb65d5932d
Improved the historical discharge calculation.
The calculation now creates new HistoricalWQKms (new subclass of WQKms). Those WQKms are used
to create new facets from (new) type 'HistoricalDischargeCurveFacet'. The chart generator is
improved to support those facets.
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Wed, 24 Oct 2012 14:34:35 +0200 |
parents | 62332fa199bf |
children |
rev | line source |
---|---|
1461
83ed39d1083d
Added new classes for output setting types.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
1 package de.intevation.flys.client.shared.model; |
83ed39d1083d
Added new classes for output setting types.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
2 |
3859
62332fa199bf
Work on "Date" support for ManualPointsEditor.
Christian Lins <christian.lins@intevation.de>
parents:
3368
diff
changeset
|
3 import com.google.gwt.core.client.GWT; |
62332fa199bf
Work on "Date" support for ManualPointsEditor.
Christian Lins <christian.lins@intevation.de>
parents:
3368
diff
changeset
|
4 import com.google.gwt.i18n.client.NumberFormat; |
62332fa199bf
Work on "Date" support for ManualPointsEditor.
Christian Lins <christian.lins@intevation.de>
parents:
3368
diff
changeset
|
5 |
1503
3304608baf35
Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1461
diff
changeset
|
6 import java.util.HashMap; |
3304608baf35
Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1461
diff
changeset
|
7 |
1461
83ed39d1083d
Added new classes for output setting types.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
8 /** |
83ed39d1083d
Added new classes for output setting types.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
9 * @author <a href="mailto:raimund.renkert@intevation.de">Raimund Renkert</a> |
83ed39d1083d
Added new classes for output setting types.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
10 */ |
83ed39d1083d
Added new classes for output setting types.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
11 public class DoubleProperty extends PropertySetting { |
83ed39d1083d
Added new classes for output setting types.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
12 |
1503
3304608baf35
Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1461
diff
changeset
|
13 /** |
3304608baf35
Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1461
diff
changeset
|
14 * Create a new DoubleProperty for settings. |
3304608baf35
Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1461
diff
changeset
|
15 */ |
3304608baf35
Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1461
diff
changeset
|
16 public DoubleProperty() { |
3304608baf35
Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1461
diff
changeset
|
17 this.attributes = new HashMap<String, String>(); |
3304608baf35
Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1461
diff
changeset
|
18 } |
3304608baf35
Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1461
diff
changeset
|
19 |
3304608baf35
Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1461
diff
changeset
|
20 |
3304608baf35
Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1461
diff
changeset
|
21 /** |
3304608baf35
Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1461
diff
changeset
|
22 * Create a new DoubleProperty. |
3304608baf35
Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1461
diff
changeset
|
23 * @param name The attribute name. |
3304608baf35
Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1461
diff
changeset
|
24 * @param value The current value. |
3304608baf35
Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1461
diff
changeset
|
25 */ |
3304608baf35
Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1461
diff
changeset
|
26 public DoubleProperty( |
3304608baf35
Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1461
diff
changeset
|
27 String name, |
1507
c21d14e48040
Improved validation and property handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1503
diff
changeset
|
28 Double value) |
1503
3304608baf35
Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1461
diff
changeset
|
29 { |
3304608baf35
Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1461
diff
changeset
|
30 this.name = name; |
1507
c21d14e48040
Improved validation and property handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1503
diff
changeset
|
31 this.value = value.toString(); |
1503
3304608baf35
Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1461
diff
changeset
|
32 this.attributes = new HashMap<String, String>(); |
3304608baf35
Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1461
diff
changeset
|
33 } |
3304608baf35
Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1461
diff
changeset
|
34 |
1507
c21d14e48040
Improved validation and property handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1503
diff
changeset
|
35 @Override |
c21d14e48040
Improved validation and property handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1503
diff
changeset
|
36 public Double getValue() { |
c21d14e48040
Improved validation and property handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1503
diff
changeset
|
37 try { |
3368
bf080e932d54
Use more idiomatic Java when parsing doubles and ints.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
1507
diff
changeset
|
38 Double value = Double.valueOf(this.value); |
bf080e932d54
Use more idiomatic Java when parsing doubles and ints.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
1507
diff
changeset
|
39 GWT.log("returning: " + value); |
bf080e932d54
Use more idiomatic Java when parsing doubles and ints.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
1507
diff
changeset
|
40 return value; |
1507
c21d14e48040
Improved validation and property handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1503
diff
changeset
|
41 } |
c21d14e48040
Improved validation and property handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1503
diff
changeset
|
42 catch(NumberFormatException nfe) { |
c21d14e48040
Improved validation and property handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1503
diff
changeset
|
43 //Should never happen, if property is used correctly. |
c21d14e48040
Improved validation and property handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1503
diff
changeset
|
44 return null; |
c21d14e48040
Improved validation and property handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1503
diff
changeset
|
45 } |
c21d14e48040
Improved validation and property handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1503
diff
changeset
|
46 } |
c21d14e48040
Improved validation and property handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1503
diff
changeset
|
47 |
c21d14e48040
Improved validation and property handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1503
diff
changeset
|
48 |
c21d14e48040
Improved validation and property handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1503
diff
changeset
|
49 public void setValueFromUI(String value) { |
c21d14e48040
Improved validation and property handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1503
diff
changeset
|
50 NumberFormat nf = NumberFormat.getDecimalFormat(); |
c21d14e48040
Improved validation and property handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1503
diff
changeset
|
51 double d; |
c21d14e48040
Improved validation and property handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1503
diff
changeset
|
52 try { |
c21d14e48040
Improved validation and property handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1503
diff
changeset
|
53 d = nf.parse(value); |
c21d14e48040
Improved validation and property handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1503
diff
changeset
|
54 GWT.log("setting " + value + " as " + d); |
c21d14e48040
Improved validation and property handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1503
diff
changeset
|
55 this.value = Double.toString(d); |
c21d14e48040
Improved validation and property handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1503
diff
changeset
|
56 } |
c21d14e48040
Improved validation and property handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1503
diff
changeset
|
57 catch(NumberFormatException nfe) {} |
c21d14e48040
Improved validation and property handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1503
diff
changeset
|
58 } |
c21d14e48040
Improved validation and property handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1503
diff
changeset
|
59 |
c21d14e48040
Improved validation and property handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1503
diff
changeset
|
60 public void setValue(Double value) { |
c21d14e48040
Improved validation and property handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1503
diff
changeset
|
61 this.value = value.toString(); |
c21d14e48040
Improved validation and property handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1503
diff
changeset
|
62 } |
c21d14e48040
Improved validation and property handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1503
diff
changeset
|
63 |
c21d14e48040
Improved validation and property handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1503
diff
changeset
|
64 |
c21d14e48040
Improved validation and property handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1503
diff
changeset
|
65 public String toUIString() { |
c21d14e48040
Improved validation and property handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1503
diff
changeset
|
66 double dv; |
c21d14e48040
Improved validation and property handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1503
diff
changeset
|
67 NumberFormat nf = NumberFormat.getDecimalFormat(); |
c21d14e48040
Improved validation and property handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1503
diff
changeset
|
68 try { |
3368
bf080e932d54
Use more idiomatic Java when parsing doubles and ints.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
1507
diff
changeset
|
69 dv = Double.parseDouble(this.value); |
1507
c21d14e48040
Improved validation and property handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1503
diff
changeset
|
70 } |
c21d14e48040
Improved validation and property handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1503
diff
changeset
|
71 catch (NumberFormatException nfe) { |
c21d14e48040
Improved validation and property handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1503
diff
changeset
|
72 return null; |
c21d14e48040
Improved validation and property handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1503
diff
changeset
|
73 } |
c21d14e48040
Improved validation and property handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1503
diff
changeset
|
74 return nf.format(dv); |
c21d14e48040
Improved validation and property handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1503
diff
changeset
|
75 } |
1503
3304608baf35
Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1461
diff
changeset
|
76 |
3859
62332fa199bf
Work on "Date" support for ManualPointsEditor.
Christian Lins <christian.lins@intevation.de>
parents:
3368
diff
changeset
|
77 @Override |
1503
3304608baf35
Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1461
diff
changeset
|
78 public Object clone() { |
3304608baf35
Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1461
diff
changeset
|
79 DoubleProperty clone = new DoubleProperty(this.getName(), |
1507
c21d14e48040
Improved validation and property handling.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1503
diff
changeset
|
80 this.getValue()); |
1503
3304608baf35
Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1461
diff
changeset
|
81 for(String s: this.getAttributeList()) { |
3304608baf35
Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1461
diff
changeset
|
82 clone.setAttribute(s, this.getAttribute(s)); |
3304608baf35
Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1461
diff
changeset
|
83 } |
3304608baf35
Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1461
diff
changeset
|
84 return clone; |
3304608baf35
Issue 433.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1461
diff
changeset
|
85 } |
1461
83ed39d1083d
Added new classes for output setting types.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
86 } |