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 }

http://dive4elements.wald.intevation.org