annotate gwt-client/src/main/java/org/dive4elements/river/client/client/ui/WQAdaptedInputPanel.java @ 9407:43c975f8ab92

Label for Eingabhilfe bundu.bezugswasserstände.EingabeFürWQDaten
author gernotbelger
date Wed, 15 Aug 2018 16:26:22 +0200
parents bc9a45d2b1fa
children
rev   line source
5861
172338b1407f GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
1 /* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde
172338b1407f GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
2 * Software engineering by Intevation GmbH
172338b1407f GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
3 *
5993
ea9eef426962 Removed trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5921
diff changeset
4 * This file is Free Software under the GNU AGPL (>=v3)
5861
172338b1407f GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
5 * and comes with ABSOLUTELY NO WARRANTY! Check out the
5993
ea9eef426962 Removed trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5921
diff changeset
6 * documentation coming with Dive4Elements River for details.
5861
172338b1407f GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
7 */
172338b1407f GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
8
5835
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
9 package org.dive4elements.river.client.client.ui;
243
11c5bcd349b1 Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
10
9278
717c9dc1859f datatransfer bezugsjahr, qserieslength
gernotbelger
parents: 8856
diff changeset
11 import java.util.ArrayList;
717c9dc1859f datatransfer bezugsjahr, qserieslength
gernotbelger
parents: 8856
diff changeset
12 import java.util.HashMap;
717c9dc1859f datatransfer bezugsjahr, qserieslength
gernotbelger
parents: 8856
diff changeset
13 import java.util.LinkedHashMap;
717c9dc1859f datatransfer bezugsjahr, qserieslength
gernotbelger
parents: 8856
diff changeset
14 import java.util.List;
717c9dc1859f datatransfer bezugsjahr, qserieslength
gernotbelger
parents: 8856
diff changeset
15 import java.util.Map;
717c9dc1859f datatransfer bezugsjahr, qserieslength
gernotbelger
parents: 8856
diff changeset
16
9404
bc9a45d2b1fa common time range for gauges incl. error messages
gernotbelger
parents: 9288
diff changeset
17 import org.dive4elements.river.client.client.Config;
9278
717c9dc1859f datatransfer bezugsjahr, qserieslength
gernotbelger
parents: 8856
diff changeset
18 import org.dive4elements.river.client.client.services.WQInfoService;
717c9dc1859f datatransfer bezugsjahr, qserieslength
gernotbelger
parents: 8856
diff changeset
19 import org.dive4elements.river.client.client.services.WQInfoServiceAsync;
717c9dc1859f datatransfer bezugsjahr, qserieslength
gernotbelger
parents: 8856
diff changeset
20 import org.dive4elements.river.client.client.ui.wq.QDTable;
717c9dc1859f datatransfer bezugsjahr, qserieslength
gernotbelger
parents: 8856
diff changeset
21 import org.dive4elements.river.client.client.ui.wq.WTable;
9404
bc9a45d2b1fa common time range for gauges incl. error messages
gernotbelger
parents: 9288
diff changeset
22 import org.dive4elements.river.client.shared.model.ArtifactDescription;
9278
717c9dc1859f datatransfer bezugsjahr, qserieslength
gernotbelger
parents: 8856
diff changeset
23 import org.dive4elements.river.client.shared.model.Data;
717c9dc1859f datatransfer bezugsjahr, qserieslength
gernotbelger
parents: 8856
diff changeset
24 import org.dive4elements.river.client.shared.model.DataItem;
717c9dc1859f datatransfer bezugsjahr, qserieslength
gernotbelger
parents: 8856
diff changeset
25 import org.dive4elements.river.client.shared.model.DataList;
717c9dc1859f datatransfer bezugsjahr, qserieslength
gernotbelger
parents: 8856
diff changeset
26 import org.dive4elements.river.client.shared.model.DefaultData;
717c9dc1859f datatransfer bezugsjahr, qserieslength
gernotbelger
parents: 8856
diff changeset
27 import org.dive4elements.river.client.shared.model.DefaultDataItem;
717c9dc1859f datatransfer bezugsjahr, qserieslength
gernotbelger
parents: 8856
diff changeset
28 import org.dive4elements.river.client.shared.model.WQDataItem;
717c9dc1859f datatransfer bezugsjahr, qserieslength
gernotbelger
parents: 8856
diff changeset
29 import org.dive4elements.river.client.shared.model.WQInfoObject;
717c9dc1859f datatransfer bezugsjahr, qserieslength
gernotbelger
parents: 8856
diff changeset
30
243
11c5bcd349b1 Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
31 import com.google.gwt.core.client.GWT;
565
a078ba1c139d Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 560
diff changeset
32 import com.google.gwt.i18n.client.NumberFormat;
2456
60ab1054069d Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2432
diff changeset
33 import com.google.gwt.user.client.rpc.AsyncCallback;
246
ccba1a0b743e The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 243
diff changeset
34 import com.smartgwt.client.types.TitleOrientation;
247
4a684d29404f Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 246
diff changeset
35 import com.smartgwt.client.types.VerticalAlignment;
602
3b670af34367 The adapted WQ panel now displays warnings if no information are present to validate user input.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 565
diff changeset
36 import com.smartgwt.client.util.SC;
243
11c5bcd349b1 Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
37 import com.smartgwt.client.widgets.Canvas;
11c5bcd349b1 Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
38 import com.smartgwt.client.widgets.Label;
255
e4f0bef52689 Added radio buttons to choose between W/Q modes in the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 247
diff changeset
39 import com.smartgwt.client.widgets.form.DynamicForm;
e4f0bef52689 Added radio buttons to choose between W/Q modes in the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 247
diff changeset
40 import com.smartgwt.client.widgets.form.fields.RadioGroupItem;
4568
bbd82bd8e541 flys-client: Cosmetics and warnings.
Christian Lins <christian.lins@intevation.de>
parents: 3969
diff changeset
41 import com.smartgwt.client.widgets.form.fields.events.ChangeEvent;
243
11c5bcd349b1 Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
42 import com.smartgwt.client.widgets.form.fields.events.ChangeHandler;
5195
d07abdb7ed7f flys/issue1137: Allow value selection via inputhelpers in WQAdaptedPanel.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5190
diff changeset
43 import com.smartgwt.client.widgets.form.fields.events.FocusEvent;
d07abdb7ed7f flys/issue1137: Allow value selection via inputhelpers in WQAdaptedPanel.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5190
diff changeset
44 import com.smartgwt.client.widgets.form.fields.events.FocusHandler;
247
4a684d29404f Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 246
diff changeset
45 import com.smartgwt.client.widgets.layout.HLayout;
243
11c5bcd349b1 Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
46 import com.smartgwt.client.widgets.layout.VLayout;
4568
bbd82bd8e541 flys-client: Cosmetics and warnings.
Christian Lins <christian.lins@intevation.de>
parents: 3969
diff changeset
47 import com.smartgwt.client.widgets.tab.Tab;
243
11c5bcd349b1 Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
48
11c5bcd349b1 Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
49 /**
11c5bcd349b1 Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
50 * This UIProvider creates a widget to enter W or Q data for discharge
11c5bcd349b1 Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
51 * longitudinal section computations.
11c5bcd349b1 Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
52 *
11c5bcd349b1 Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
53 * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a>
11c5bcd349b1 Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
54 */
9288
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
55 public class WQAdaptedInputPanel extends AbstractWQAdaptedInputPanel implements FocusHandler {
4568
bbd82bd8e541 flys-client: Cosmetics and warnings.
Christian Lins <christian.lins@intevation.de>
parents: 3969
diff changeset
56 private static final long serialVersionUID = -3218827566805476423L;
9288
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
57 private static final String FIELD_WQ_MODE = "wq_isq";
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
58 private static final String FIELD_WQ_W = "W";
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
59 private static final String FIELD_WQ_Q = "Q";
565
a078ba1c139d Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 560
diff changeset
60
5773
cdc47534a970 issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5640
diff changeset
61 /** Stores the min/max values for each w range (gauge). */
9288
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
62 private final Map<String, double[]> wranges = new HashMap<String, double[]>();
255
e4f0bef52689 Added radio buttons to choose between W/Q modes in the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 247
diff changeset
63
9288
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
64 /** Service to fetch W/Q MainValues. */
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
65 private final WQInfoServiceAsync wqInfoService = GWT.create(WQInfoService.class);
246
ccba1a0b743e The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 243
diff changeset
66
5195
d07abdb7ed7f flys/issue1137: Allow value selection via inputhelpers in WQAdaptedPanel.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5190
diff changeset
67 /** The currently focussed Input element. */
9288
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
68 private DoubleArrayPanel itemWithFocus;
5195
d07abdb7ed7f flys/issue1137: Allow value selection via inputhelpers in WQAdaptedPanel.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5190
diff changeset
69
9288
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
70 private void enableWTabs() {
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
71 for (int i = 0; i < this.doubleArrayPanels.size(); i++) {
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
72 this.tabs.disableTab(2 * i);
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
73 this.tabs.enableTab(2 * i + 1);
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
74 }
243
11c5bcd349b1 Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
75 }
11c5bcd349b1 Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
76
9288
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
77 private void enableQTabs() {
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
78 for (int i = 0; i < this.doubleArrayPanels.size(); i++) {
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
79 this.tabs.enableTab(2 * i);
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
80 this.tabs.disableTab(2 * i + 1);
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
81 }
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
82 }
243
11c5bcd349b1 Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
83
9288
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
84 /**
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
85 * Create radio button for switching w and q input.
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
86 * Radiobutton-change also triggers helper panel tab selection.
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
87 */
243
11c5bcd349b1 Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
88
9288
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
89 private final Canvas createMode(final DataList dataList) {
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
90 final RadioGroupItem wq = new RadioGroupItem(FIELD_WQ_MODE);
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
91 wq.setShowTitle(false);
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
92 wq.setVertical(false);
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
93 wq.setWidth(200);
243
11c5bcd349b1 Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
94
9288
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
95 final LinkedHashMap<String, String> wqValues = new LinkedHashMap<String, String>();
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
96 wqValues.put(FIELD_WQ_W, this.MSG.wqW());
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
97 wqValues.put(WQAdaptedInputPanel.FIELD_WQ_Q, this.MSG.wqQatGauge());
5773
cdc47534a970 issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5640
diff changeset
98
9288
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
99 wq.setValueMap(wqValues);
5773
cdc47534a970 issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5640
diff changeset
100
9288
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
101 this.modes = new DynamicForm();
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
102 this.modes.setFields(wq);
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
103 this.modes.setWidth(200);
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
104 wq.addChangeHandler(new ChangeHandler() {
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
105 @Override
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
106 public void onChange(final ChangeEvent e) {
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
107 final DynamicForm form = e.getForm();
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
108
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
109 if (form.getValueAsString(FIELD_WQ_MODE).contains("Q")) {
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
110 WQAdaptedInputPanel.this.tabs.selectTab(0);
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
111 enableQTabs();
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
112 } else {
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
113 WQAdaptedInputPanel.this.tabs.selectTab(1);
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
114 enableWTabs();
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
115 }
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
116 }
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
117 });
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
118
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
119 final LinkedHashMap<String, String> initial = new LinkedHashMap<String, String>();
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
120 initial.put(FIELD_WQ_MODE, this.FIELD_WQ_Q);
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
121 this.modes.setValues(initial);
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
122 this.tabs.selectTab(1);
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
123 return this.modes;
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
124 }
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
125
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
126 @Override
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
127 protected void createTabs() {
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
128 for (int i = 0; i < this.gaugeRanges.size(); i++) {
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
129 // Later the tabs title will get adjusted to include gauges name.
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
130 // TODO the tabs title becomes rather long through that (i18n).
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
131
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
132 final Tab wTab = new Tab(this.MSG.wq_table_w());
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
133 final WTable wTable = new WTable();
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
134 this.wTables.add(wTable);
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
135 wTable.showSelect();
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
136 wTab.setPane(wTable);
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
137
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
138 final Tab qTab = new Tab(this.MSG.wq_table_q());
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
139 final QDTable qdTable = new QDTable();
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
140 this.qdTables.add(qdTable);
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
141 qTab.setPane(qdTable);
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
142 qdTable.showSelect();
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
143
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
144 this.tabs.addTab(wTab, i * 2 + 0);
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
145 this.tabs.addTab(qTab, i * 2 + 1);
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
146
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
147 }
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
148
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
149 // Defaults at "Q", first input field.
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
150 this.tabs.selectTab(0);
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
151 enableQTabs();
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
152 }
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
153
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
154 @Override
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
155 protected void beforeCreate(final DataList data) {
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
156 }
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
157
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
158 @Override
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
159 protected void afterCreate() {
6413
c1b01cf2e91b issue1259: fixing initial selected input helper tab. Believing that there is a bug in TabSet.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6271
diff changeset
160 // We actually want the first Q tab to be selected and all
c1b01cf2e91b issue1259: fixing initial selected input helper tab. Believing that there is a bug in TabSet.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6271
diff changeset
161 // Q tabs to be enabled. I sense a bug in TabSet here, as
c1b01cf2e91b issue1259: fixing initial selected input helper tab. Believing that there is a bug in TabSet.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6271
diff changeset
162 // the code in the W/Q radiogroup-changehandler behaves
c1b01cf2e91b issue1259: fixing initial selected input helper tab. Believing that there is a bug in TabSet.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6271
diff changeset
163 // exactly vice versa (enabling Q, selecting tab 0).
c1b01cf2e91b issue1259: fixing initial selected input helper tab. Believing that there is a bug in TabSet.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6271
diff changeset
164 enableWTabs();
9278
717c9dc1859f datatransfer bezugsjahr, qserieslength
gernotbelger
parents: 8856
diff changeset
165 this.tabs.selectTab(1);
9288
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
166 }
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
167
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
168 @Override
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
169 protected Canvas createWidget(final DataList dataList) {
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
170 final VLayout layout = new VLayout();
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
171 final Canvas mode = createMode(dataList);
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
172 final Canvas list = createList(dataList);
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
173
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
174 final List<WQDataItem> items = getWQItems(dataList);
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
175 final int listHeight = ROW_HEIGHT * items.size();
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
176
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
177 mode.setHeight(25);
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
178 mode.setWidth(200);
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
179
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
180 layout.addMember(mode);
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
181 layout.addMember(list);
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
182
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
183 layout.setHeight(25 + listHeight);
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
184 layout.setWidth(350);
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
185
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
186 initUserDefaults(dataList);
6413
c1b01cf2e91b issue1259: fixing initial selected input helper tab. Believing that there is a bug in TabSet.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6271
diff changeset
187
243
11c5bcd349b1 Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
188 return layout;
11c5bcd349b1 Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
189 }
11c5bcd349b1 Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
190
9288
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
191 private void initUserDefaults(final DataList dataList) {
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
192 initUserWQValues(dataList);
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
193 initUserWQMode(dataList);
2456
60ab1054069d Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2432
diff changeset
194 }
60ab1054069d Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2432
diff changeset
195
9288
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
196 private void initUserWQMode(final DataList dataList) {
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
197 final List<Data> allData = dataList.getAll();
5195
d07abdb7ed7f flys/issue1137: Allow value selection via inputhelpers in WQAdaptedPanel.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5190
diff changeset
198
9288
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
199 final Data dDef = getData(allData, "wq_mode");
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
200 final DataItem def = dDef != null ? dDef.getDefault() : null;
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
201 final String value = def != null ? def.getStringValue() : null;
6666
3c4c0ea52bbb issue1259: in WQAdaptedInputPanel (vollmer w/q-input) allow
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6413
diff changeset
202
9288
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
203 if (value != null && value.equals(FIELD_WQ_W)) {
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
204 this.modes.setValue(FIELD_WQ_MODE, FIELD_WQ_W);
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
205 } else {
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
206 this.modes.setValue(FIELD_WQ_MODE, FIELD_WQ_Q);
6666
3c4c0ea52bbb issue1259: in WQAdaptedInputPanel (vollmer w/q-input) allow
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6413
diff changeset
207 }
5195
d07abdb7ed7f flys/issue1137: Allow value selection via inputhelpers in WQAdaptedPanel.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5190
diff changeset
208 }
d07abdb7ed7f flys/issue1137: Allow value selection via inputhelpers in WQAdaptedPanel.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5190
diff changeset
209
9288
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
210 private Canvas createList(final DataList dataList) {
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
211 final VLayout layout = new VLayout();
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
212
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
213 final List<WQDataItem> items = getWQItems(dataList);
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
214
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
215 int i = 0;
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
216
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
217 for (final DataItem item : items) {
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
218 if (item instanceof WQDataItem) {
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
219 final String title = item.getLabel(); // of form: 70.5;112.0
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
220 final String label = item.getStringValue();
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
221
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
222 // Rename W and Q tab to include gauges name.
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
223 this.tabs.getTab(i * 2).setTitle(this.tabs.getTab(i * 2).getTitle() + " (" + label + ")");
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
224 this.tabs.getTab(i * 2 + 1).setTitle(this.tabs.getTab(i * 2 + 1).getTitle() + " (" + label + ")");
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
225
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
226 final DoubleArrayPanel dap = new DoubleArrayPanel(label, null, this, this, TitleOrientation.LEFT);
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
227
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
228 this.wqranges.put(title, dap);
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
229 this.doubleArrayPanels.add(dap);
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
230
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
231 if (item instanceof WQDataItem) {
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
232 final WQDataItem wq = (WQDataItem) item;
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
233 final double[] mmQ = wq.getQRange();
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
234 final double[] mmW = wq.getWRange();
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
235
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
236 this.qranges.put(title, mmQ);
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
237 this.wranges.put(title, mmW);
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
238 }
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
239
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
240 layout.addMember(dap);
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
241 i++;
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
242 }
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
243
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
244 }
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
245
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
246 layout.setHeight(items.size() * ROW_HEIGHT);
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
247
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
248 return layout;
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
249 }
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
250
4568
bbd82bd8e541 flys-client: Cosmetics and warnings.
Christian Lins <christian.lins@intevation.de>
parents: 3969
diff changeset
251 @Override
9288
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
252 public Canvas createOld(final DataList dataList) { // TODO: OVERRIDE
9278
717c9dc1859f datatransfer bezugsjahr, qserieslength
gernotbelger
parents: 8856
diff changeset
253 final List<Data> all = dataList.getAll();
717c9dc1859f datatransfer bezugsjahr, qserieslength
gernotbelger
parents: 8856
diff changeset
254 final Data wqData = getData(all, "wq_values");
717c9dc1859f datatransfer bezugsjahr, qserieslength
gernotbelger
parents: 8856
diff changeset
255 final Data wqMode = getData(all, "wq_isq");
717c9dc1859f datatransfer bezugsjahr, qserieslength
gernotbelger
parents: 8856
diff changeset
256 final boolean isQ = wqMode.getItems()[0].getStringValue().equals("true");
717c9dc1859f datatransfer bezugsjahr, qserieslength
gernotbelger
parents: 8856
diff changeset
257 final Canvas back = getBackButton(dataList.getState());
247
4a684d29404f Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 246
diff changeset
258
9278
717c9dc1859f datatransfer bezugsjahr, qserieslength
gernotbelger
parents: 8856
diff changeset
259 final HLayout valLayout = new HLayout();
717c9dc1859f datatransfer bezugsjahr, qserieslength
gernotbelger
parents: 8856
diff changeset
260 final HLayout modeLayout = new HLayout();
717c9dc1859f datatransfer bezugsjahr, qserieslength
gernotbelger
parents: 8856
diff changeset
261 final VLayout vlayout = new VLayout();
247
4a684d29404f Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 246
diff changeset
262
9278
717c9dc1859f datatransfer bezugsjahr, qserieslength
gernotbelger
parents: 8856
diff changeset
263 final Label wqLabel = new Label(dataList.getLabel());
717c9dc1859f datatransfer bezugsjahr, qserieslength
gernotbelger
parents: 8856
diff changeset
264 final Label modeLabel = new Label("");
247
4a684d29404f Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 246
diff changeset
265
4a684d29404f Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 246
diff changeset
266 wqLabel.setValign(VerticalAlignment.TOP);
4a684d29404f Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 246
diff changeset
267
4a684d29404f Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 246
diff changeset
268 wqLabel.setWidth(200);
4a684d29404f Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 246
diff changeset
269 wqLabel.setHeight(25);
4a684d29404f Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 246
diff changeset
270 modeLabel.setHeight(25);
4a684d29404f Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 246
diff changeset
271 modeLabel.setWidth(200);
4a684d29404f Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 246
diff changeset
272
4a684d29404f Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 246
diff changeset
273 valLayout.addMember(wqLabel);
5154
56091d58a99f Partly fix flys/issue1127 (show unit in wqadapted) and added documentation.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5124
diff changeset
274 valLayout.addMember(createOldWQValues(wqData, isQ));
56091d58a99f Partly fix flys/issue1127 (show unit in wqadapted) and added documentation.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5124
diff changeset
275
247
4a684d29404f Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 246
diff changeset
276 valLayout.addMember(back);
4a684d29404f Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 246
diff changeset
277 modeLayout.addMember(modeLabel);
4a684d29404f Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 246
diff changeset
278
4a684d29404f Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 246
diff changeset
279 vlayout.addMember(valLayout);
4a684d29404f Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 246
diff changeset
280 vlayout.addMember(modeLayout);
4a684d29404f Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 246
diff changeset
281
4a684d29404f Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 246
diff changeset
282 return vlayout;
4a684d29404f Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 246
diff changeset
283 }
4a684d29404f Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 246
diff changeset
284
565
a078ba1c139d Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 560
diff changeset
285 @Override
a078ba1c139d Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 560
diff changeset
286 public List<String> validate() {
a078ba1c139d Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 560
diff changeset
287 if (isWMode()) {
a078ba1c139d Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 560
diff changeset
288 return validateW();
9278
717c9dc1859f datatransfer bezugsjahr, qserieslength
gernotbelger
parents: 8856
diff changeset
289 } else {
565
a078ba1c139d Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 560
diff changeset
290 return validateQ();
a078ba1c139d Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 560
diff changeset
291 }
a078ba1c139d Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 560
diff changeset
292 }
a078ba1c139d Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 560
diff changeset
293
9288
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
294 private boolean isWMode() {
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
295 final String mode = (String) this.modes.getValue(FIELD_WQ_MODE);
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
296
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
297 return FIELD_WQ_W.equals(mode);
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
298 }
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
299
9278
717c9dc1859f datatransfer bezugsjahr, qserieslength
gernotbelger
parents: 8856
diff changeset
300 protected List<String> validateRange(final Map<String, double[]> ranges) {
717c9dc1859f datatransfer bezugsjahr, qserieslength
gernotbelger
parents: 8856
diff changeset
301 final List<String> errors = new ArrayList<String>();
717c9dc1859f datatransfer bezugsjahr, qserieslength
gernotbelger
parents: 8856
diff changeset
302 final NumberFormat nf = NumberFormat.getDecimalFormat();
5527
6dbc111e9aec WQAdaptedInputPanel: Cosmetics, doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5526
diff changeset
303
9278
717c9dc1859f datatransfer bezugsjahr, qserieslength
gernotbelger
parents: 8856
diff changeset
304 for (final Map.Entry<String, DoubleArrayPanel> entry : this.wqranges.entrySet()) {
565
a078ba1c139d Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 560
diff changeset
305
9278
717c9dc1859f datatransfer bezugsjahr, qserieslength
gernotbelger
parents: 8856
diff changeset
306 final String key = entry.getKey();
717c9dc1859f datatransfer bezugsjahr, qserieslength
gernotbelger
parents: 8856
diff changeset
307 final DoubleArrayPanel dap = entry.getValue();
602
3b670af34367 The adapted WQ panel now displays warnings if no information are present to validate user input.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 565
diff changeset
308
3b670af34367 The adapted WQ panel now displays warnings if no information are present to validate user input.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 565
diff changeset
309 if (!dap.validateForm()) {
9278
717c9dc1859f datatransfer bezugsjahr, qserieslength
gernotbelger
parents: 8856
diff changeset
310 errors.add(this.MSG.error_invalid_double_value());
602
3b670af34367 The adapted WQ panel now displays warnings if no information are present to validate user input.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 565
diff changeset
311 return errors;
3b670af34367 The adapted WQ panel now displays warnings if no information are present to validate user input.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 565
diff changeset
312 }
3b670af34367 The adapted WQ panel now displays warnings if no information are present to validate user input.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 565
diff changeset
313
9278
717c9dc1859f datatransfer bezugsjahr, qserieslength
gernotbelger
parents: 8856
diff changeset
314 final double[] mm = ranges.get(key);
602
3b670af34367 The adapted WQ panel now displays warnings if no information are present to validate user input.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 565
diff changeset
315 if (mm == null) {
9278
717c9dc1859f datatransfer bezugsjahr, qserieslength
gernotbelger
parents: 8856
diff changeset
316 SC.warn(this.MSG.error_read_minmax_values());
602
3b670af34367 The adapted WQ panel now displays warnings if no information are present to validate user input.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 565
diff changeset
317 continue;
3b670af34367 The adapted WQ panel now displays warnings if no information are present to validate user input.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 565
diff changeset
318 }
565
a078ba1c139d Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 560
diff changeset
319
9278
717c9dc1859f datatransfer bezugsjahr, qserieslength
gernotbelger
parents: 8856
diff changeset
320 final double[] values = dap.getInputValues();
717c9dc1859f datatransfer bezugsjahr, qserieslength
gernotbelger
parents: 8856
diff changeset
321 final double[] good = new double[values.length];
565
a078ba1c139d Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 560
diff changeset
322
a078ba1c139d Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 560
diff changeset
323 int idx = 0;
a078ba1c139d Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 560
diff changeset
324
9278
717c9dc1859f datatransfer bezugsjahr, qserieslength
gernotbelger
parents: 8856
diff changeset
325 final List<String> tmpErrors = new ArrayList<String>();
717c9dc1859f datatransfer bezugsjahr, qserieslength
gernotbelger
parents: 8856
diff changeset
326 for (final double value : values) {
565
a078ba1c139d Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 560
diff changeset
327 if (value < mm[0] || value > mm[1]) {
9278
717c9dc1859f datatransfer bezugsjahr, qserieslength
gernotbelger
parents: 8856
diff changeset
328 String tmp = this.MSG.error_validate_range();
565
a078ba1c139d Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 560
diff changeset
329 tmp = tmp.replace("$1", nf.format(value));
a078ba1c139d Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 560
diff changeset
330 tmp = tmp.replace("$2", nf.format(mm[0]));
a078ba1c139d Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 560
diff changeset
331 tmp = tmp.replace("$3", nf.format(mm[1]));
a078ba1c139d Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 560
diff changeset
332 tmpErrors.add(tmp);
9278
717c9dc1859f datatransfer bezugsjahr, qserieslength
gernotbelger
parents: 8856
diff changeset
333 } else {
565
a078ba1c139d Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 560
diff changeset
334 good[idx++] = value;
a078ba1c139d Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 560
diff changeset
335 }
a078ba1c139d Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 560
diff changeset
336 }
a078ba1c139d Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 560
diff changeset
337
9278
717c9dc1859f datatransfer bezugsjahr, qserieslength
gernotbelger
parents: 8856
diff changeset
338 final double[] justGood = new double[idx];
565
a078ba1c139d Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 560
diff changeset
339 for (int i = 0; i < justGood.length; i++) {
a078ba1c139d Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 560
diff changeset
340 justGood[i] = good[i];
a078ba1c139d Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 560
diff changeset
341 }
a078ba1c139d Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 560
diff changeset
342
a078ba1c139d Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 560
diff changeset
343 if (!tmpErrors.isEmpty()) {
a078ba1c139d Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 560
diff changeset
344 dap.setValues(justGood);
a078ba1c139d Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 560
diff changeset
345
a078ba1c139d Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 560
diff changeset
346 errors.addAll(tmpErrors);
a078ba1c139d Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 560
diff changeset
347 }
a078ba1c139d Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 560
diff changeset
348 }
a078ba1c139d Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 560
diff changeset
349
a078ba1c139d Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 560
diff changeset
350 return errors;
a078ba1c139d Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 560
diff changeset
351 }
a078ba1c139d Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 560
diff changeset
352
9288
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
353 private Data getWQMode() {
9278
717c9dc1859f datatransfer bezugsjahr, qserieslength
gernotbelger
parents: 8856
diff changeset
354 final String wqMode = this.modes.getValueAsString(FIELD_WQ_MODE);
2392
8112ec686a9a Picked rev4066,4075 from trunk.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 617
diff changeset
355 String value = "false";
8112ec686a9a Picked rev4066,4075 from trunk.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 617
diff changeset
356 if (wqMode.equals("Q")) {
8112ec686a9a Picked rev4066,4075 from trunk.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 617
diff changeset
357 value = "true";
8112ec686a9a Picked rev4066,4075 from trunk.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 617
diff changeset
358 }
9278
717c9dc1859f datatransfer bezugsjahr, qserieslength
gernotbelger
parents: 8856
diff changeset
359 final DataItem item = new DefaultDataItem("wq_isq", "wq_isq", value);
717c9dc1859f datatransfer bezugsjahr, qserieslength
gernotbelger
parents: 8856
diff changeset
360 final Data mode = new DefaultData("wq_isq", null, null, new DataItem[] { item });
243
11c5bcd349b1 Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
361
246
ccba1a0b743e The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 243
diff changeset
362 return mode;
ccba1a0b743e The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 243
diff changeset
363 }
ccba1a0b743e The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 243
diff changeset
364
9288
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
365 @Override
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
366 public Data[] getData() {
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
367 final Data mode = getWQMode();
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
368 final Data values = getWQValues("wq_values");
246
ccba1a0b743e The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 243
diff changeset
369
9288
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
370 return new Data[] { mode, values };
246
ccba1a0b743e The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 243
diff changeset
371 }
ccba1a0b743e The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 243
diff changeset
372
9288
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
373 private List<String> validateW() {
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
374 return validateRange(this.wranges);
243
11c5bcd349b1 Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
375 }
11c5bcd349b1 Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
376
9288
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
377 private List<String> validateQ() {
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
378 return validateRange(this.qranges);
243
11c5bcd349b1 Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
379 }
11c5bcd349b1 Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
380
5195
d07abdb7ed7f flys/issue1137: Allow value selection via inputhelpers in WQAdaptedPanel.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5190
diff changeset
381 @Override
9278
717c9dc1859f datatransfer bezugsjahr, qserieslength
gernotbelger
parents: 8856
diff changeset
382 public void onFocus(final FocusEvent event) {
717c9dc1859f datatransfer bezugsjahr, qserieslength
gernotbelger
parents: 8856
diff changeset
383 this.itemWithFocus = (DoubleArrayPanel) event.getForm();
5773
cdc47534a970 issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5640
diff changeset
384 // Switch to respective tab.
cdc47534a970 issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5640
diff changeset
385 // TODO which makes a focus loss
9278
717c9dc1859f datatransfer bezugsjahr, qserieslength
gernotbelger
parents: 8856
diff changeset
386 final int inputIndex = this.doubleArrayPanels.indexOf(this.itemWithFocus);
717c9dc1859f datatransfer bezugsjahr, qserieslength
gernotbelger
parents: 8856
diff changeset
387 this.tabs.selectTab(inputIndex * 2 + (isWMode() ? 0 : 1));
5195
d07abdb7ed7f flys/issue1137: Allow value selection via inputhelpers in WQAdaptedPanel.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5190
diff changeset
388 }
d07abdb7ed7f flys/issue1137: Allow value selection via inputhelpers in WQAdaptedPanel.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5190
diff changeset
389
9288
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
390 protected void callMainValuesService(final String locale, final String river, final double start, final double end,
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
391 final AsyncCallback<WQInfoObject[]> cb) {
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
392 this.wqInfoService.getWQInfo(locale, river, start, end, cb);
243
11c5bcd349b1 Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
393 }
9404
bc9a45d2b1fa common time range for gauges incl. error messages
gernotbelger
parents: 9288
diff changeset
394
bc9a45d2b1fa common time range for gauges incl. error messages
gernotbelger
parents: 9288
diff changeset
395 @Override
bc9a45d2b1fa common time range for gauges incl. error messages
gernotbelger
parents: 9288
diff changeset
396 protected void fetchWQData() {
bc9a45d2b1fa common time range for gauges incl. error messages
gernotbelger
parents: 9288
diff changeset
397 {
bc9a45d2b1fa common time range for gauges incl. error messages
gernotbelger
parents: 9288
diff changeset
398 final Config config = Config.getInstance();
bc9a45d2b1fa common time range for gauges incl. error messages
gernotbelger
parents: 9288
diff changeset
399 final String locale = config.getLocale();
bc9a45d2b1fa common time range for gauges incl. error messages
gernotbelger
parents: 9288
diff changeset
400
bc9a45d2b1fa common time range for gauges incl. error messages
gernotbelger
parents: 9288
diff changeset
401 final ArtifactDescription adescr = this.artifact.getArtifactDescription();
bc9a45d2b1fa common time range for gauges incl. error messages
gernotbelger
parents: 9288
diff changeset
402 final DataList[] data = adescr.getOldData();
bc9a45d2b1fa common time range for gauges incl. error messages
gernotbelger
parents: 9288
diff changeset
403
bc9a45d2b1fa common time range for gauges incl. error messages
gernotbelger
parents: 9288
diff changeset
404 final String river = getRiverName(data);
bc9a45d2b1fa common time range for gauges incl. error messages
gernotbelger
parents: 9288
diff changeset
405
bc9a45d2b1fa common time range for gauges incl. error messages
gernotbelger
parents: 9288
diff changeset
406 int i = 0;
bc9a45d2b1fa common time range for gauges incl. error messages
gernotbelger
parents: 9288
diff changeset
407
bc9a45d2b1fa common time range for gauges incl. error messages
gernotbelger
parents: 9288
diff changeset
408 // Get Data for respective gauge.
bc9a45d2b1fa common time range for gauges incl. error messages
gernotbelger
parents: 9288
diff changeset
409 for (final Double[] range : this.gaugeRanges) {
bc9a45d2b1fa common time range for gauges incl. error messages
gernotbelger
parents: 9288
diff changeset
410 // Gauge ranges overlap, move start and end a bit closer
bc9a45d2b1fa common time range for gauges incl. error messages
gernotbelger
parents: 9288
diff changeset
411 // to each other.
bc9a45d2b1fa common time range for gauges incl. error messages
gernotbelger
parents: 9288
diff changeset
412 final double rDiff = (range[1] - range[0]) / 10d;
bc9a45d2b1fa common time range for gauges incl. error messages
gernotbelger
parents: 9288
diff changeset
413 final int fi = i;
bc9a45d2b1fa common time range for gauges incl. error messages
gernotbelger
parents: 9288
diff changeset
414 // TODO: HIER MÜSSTE EIN SERVICE HIN, der den größten gemeinsamen zeitlichen Bereich der daily_discharge_values aller
bc9a45d2b1fa common time range for gauges incl. error messages
gernotbelger
parents: 9288
diff changeset
415 // Pegel ermittelt
bc9a45d2b1fa common time range for gauges incl. error messages
gernotbelger
parents: 9288
diff changeset
416
bc9a45d2b1fa common time range for gauges incl. error messages
gernotbelger
parents: 9288
diff changeset
417 final AsyncCallback<WQInfoObject[]> cb = new AsyncCallback<WQInfoObject[]>() {
bc9a45d2b1fa common time range for gauges incl. error messages
gernotbelger
parents: 9288
diff changeset
418 @Override
bc9a45d2b1fa common time range for gauges incl. error messages
gernotbelger
parents: 9288
diff changeset
419 public void onFailure(final Throwable caught) {
bc9a45d2b1fa common time range for gauges incl. error messages
gernotbelger
parents: 9288
diff changeset
420 GWT.log("Could not recieve wq informations.");
bc9a45d2b1fa common time range for gauges incl. error messages
gernotbelger
parents: 9288
diff changeset
421 SC.warn(caught.getMessage());
bc9a45d2b1fa common time range for gauges incl. error messages
gernotbelger
parents: 9288
diff changeset
422 }
bc9a45d2b1fa common time range for gauges incl. error messages
gernotbelger
parents: 9288
diff changeset
423
bc9a45d2b1fa common time range for gauges incl. error messages
gernotbelger
parents: 9288
diff changeset
424 @Override
bc9a45d2b1fa common time range for gauges incl. error messages
gernotbelger
parents: 9288
diff changeset
425 public void onSuccess(final WQInfoObject[] wqi) {
bc9a45d2b1fa common time range for gauges incl. error messages
gernotbelger
parents: 9288
diff changeset
426 final int num = wqi != null ? wqi.length : 0;
bc9a45d2b1fa common time range for gauges incl. error messages
gernotbelger
parents: 9288
diff changeset
427 GWT.log("Received " + num + " wq informations (" + fi + ".");
bc9a45d2b1fa common time range for gauges incl. error messages
gernotbelger
parents: 9288
diff changeset
428
bc9a45d2b1fa common time range for gauges incl. error messages
gernotbelger
parents: 9288
diff changeset
429 if (num == 0) {
bc9a45d2b1fa common time range for gauges incl. error messages
gernotbelger
parents: 9288
diff changeset
430 return;
bc9a45d2b1fa common time range for gauges incl. error messages
gernotbelger
parents: 9288
diff changeset
431 }
bc9a45d2b1fa common time range for gauges incl. error messages
gernotbelger
parents: 9288
diff changeset
432
bc9a45d2b1fa common time range for gauges incl. error messages
gernotbelger
parents: 9288
diff changeset
433 addWQInfo(wqi, fi, null);
bc9a45d2b1fa common time range for gauges incl. error messages
gernotbelger
parents: 9288
diff changeset
434 }
bc9a45d2b1fa common time range for gauges incl. error messages
gernotbelger
parents: 9288
diff changeset
435 };
bc9a45d2b1fa common time range for gauges incl. error messages
gernotbelger
parents: 9288
diff changeset
436
bc9a45d2b1fa common time range for gauges incl. error messages
gernotbelger
parents: 9288
diff changeset
437 callMainValuesService(locale, river, range[0] + rDiff, range[1] - rDiff, cb);
bc9a45d2b1fa common time range for gauges incl. error messages
gernotbelger
parents: 9288
diff changeset
438
bc9a45d2b1fa common time range for gauges incl. error messages
gernotbelger
parents: 9288
diff changeset
439 i++;
bc9a45d2b1fa common time range for gauges incl. error messages
gernotbelger
parents: 9288
diff changeset
440 }
bc9a45d2b1fa common time range for gauges incl. error messages
gernotbelger
parents: 9288
diff changeset
441 }
bc9a45d2b1fa common time range for gauges incl. error messages
gernotbelger
parents: 9288
diff changeset
442
bc9a45d2b1fa common time range for gauges incl. error messages
gernotbelger
parents: 9288
diff changeset
443 }
9407
43c975f8ab92 Label for Eingabhilfe bundu.bezugswasserstände.EingabeFürWQDaten
gernotbelger
parents: 9404
diff changeset
444
43c975f8ab92 Label for Eingabhilfe bundu.bezugswasserstände.EingabeFürWQDaten
gernotbelger
parents: 9404
diff changeset
445 @Override
43c975f8ab92 Label for Eingabhilfe bundu.bezugswasserstände.EingabeFürWQDaten
gernotbelger
parents: 9404
diff changeset
446 protected String getWQInfoMsg() {
43c975f8ab92 Label for Eingabhilfe bundu.bezugswasserstände.EingabeFürWQDaten
gernotbelger
parents: 9404
diff changeset
447 return null;
43c975f8ab92 Label for Eingabhilfe bundu.bezugswasserstände.EingabeFürWQDaten
gernotbelger
parents: 9404
diff changeset
448 }
9288
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
449 }

http://dive4elements.wald.intevation.org