Mercurial > dive4elements > river
annotate gwt-client/src/main/java/org/dive4elements/river/client/client/ui/bundu/BunduWstWQPanel.java @ 9454:4cccbd32b680
Bundu.wst.UD -> Q-Values are set on Client side now
author | gernotbelger |
---|---|
date | Thu, 23 Aug 2018 16:32:28 +0200 |
parents | 096f151a0a9f |
children | 7369d6ae3f87 |
rev | line source |
---|---|
9276 | 1 /* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde |
2 * Software engineering by Intevation GmbH | |
3 * | |
4 * This file is Free Software under the GNU AGPL (>=v3) | |
5 * and comes with ABSOLUTELY NO WARRANTY! Check out the | |
6 * documentation coming with Dive4Elements River for details. | |
7 */ | |
8 | |
9 package org.dive4elements.river.client.client.ui.bundu; | |
10 | |
11 import java.util.ArrayList; | |
9404
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9399
diff
changeset
|
12 import java.util.Date; |
9288
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
13 import java.util.LinkedHashMap; |
9276 | 14 import java.util.List; |
15 import java.util.Map; | |
16 | |
9404
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9399
diff
changeset
|
17 import org.dive4elements.river.client.client.Config; |
9288
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
18 import org.dive4elements.river.client.client.services.DynamicMainValuesService; |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
19 import org.dive4elements.river.client.client.services.DynamicMainValuesServiceAsync; |
9404
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9399
diff
changeset
|
20 import org.dive4elements.river.client.client.services.DynamicMainValuesTimeRangeDeterminationService; |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9399
diff
changeset
|
21 import org.dive4elements.river.client.client.services.DynamicMainValuesTimeRangeDeterminationServiceAsync; |
9288
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
22 import org.dive4elements.river.client.client.ui.AbstractWQAdaptedInputPanel; |
9276 | 23 import org.dive4elements.river.client.client.ui.DoubleArrayPanel; |
9288
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
24 import org.dive4elements.river.client.client.ui.wq.QDTable; |
9404
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9399
diff
changeset
|
25 import org.dive4elements.river.client.shared.model.ArtifactDescription; |
9277 | 26 import org.dive4elements.river.client.shared.model.Data; |
9278 | 27 import org.dive4elements.river.client.shared.model.DataItem; |
9277 | 28 import org.dive4elements.river.client.shared.model.DataList; |
9288
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
29 import org.dive4elements.river.client.shared.model.DefaultData; |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
30 import org.dive4elements.river.client.shared.model.DefaultDataItem; |
9404
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9399
diff
changeset
|
31 import org.dive4elements.river.client.shared.model.GaugeInfoObject; |
9412
0fb76f2d4e5b
bundu wst time range globalErrorMsg to client - no error thrown
gernotbelger
parents:
9407
diff
changeset
|
32 import org.dive4elements.river.client.shared.model.GaugeInfoResult; |
9288
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
33 import org.dive4elements.river.client.shared.model.WQDataItem; |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
34 import org.dive4elements.river.client.shared.model.WQInfoObject; |
9276 | 35 |
9288
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
36 import com.google.gwt.core.client.GWT; |
9276 | 37 import com.google.gwt.i18n.client.NumberFormat; |
9288
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
38 import com.google.gwt.user.client.rpc.AsyncCallback; |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
39 import com.smartgwt.client.types.TitleOrientation; |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
40 import com.smartgwt.client.types.VerticalAlignment; |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
41 import com.smartgwt.client.types.Visibility; |
9404
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9399
diff
changeset
|
42 import com.smartgwt.client.util.SC; |
9277 | 43 import com.smartgwt.client.widgets.Canvas; |
9288
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
44 import com.smartgwt.client.widgets.Label; |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
45 import com.smartgwt.client.widgets.form.DynamicForm; |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
46 import com.smartgwt.client.widgets.form.fields.RadioGroupItem; |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
47 import com.smartgwt.client.widgets.form.fields.TextItem; |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
48 import com.smartgwt.client.widgets.form.fields.events.ChangeEvent; |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
49 import com.smartgwt.client.widgets.form.fields.events.ChangeHandler; |
9293 | 50 import com.smartgwt.client.widgets.form.fields.events.FocusEvent; |
51 import com.smartgwt.client.widgets.form.fields.events.FocusHandler; | |
9288
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
52 import com.smartgwt.client.widgets.form.validator.IntegerRangeValidator; |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
53 import com.smartgwt.client.widgets.layout.HLayout; |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
54 import com.smartgwt.client.widgets.layout.VLayout; |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
55 import com.smartgwt.client.widgets.tab.Tab; |
9276 | 56 |
57 /** | |
58 * This UIProvider creates a widget to enter W or Q data for | |
59 * Fixation analysis | |
60 * | |
61 * @author <a href="mailto:aheinecke@intevation.de">Andre Heinecke</a> | |
62 */ | |
9293 | 63 public class BunduWstWQPanel extends AbstractWQAdaptedInputPanel implements FocusHandler { |
9288
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
64 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
65 private static final long serialVersionUID = -1L; |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
66 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
67 private static enum mode { |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
68 Q, UD |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
69 } |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
70 |
9293 | 71 /** The currently focussed Input element. */ |
72 private DoubleArrayPanel itemWithFocus; | |
73 | |
9288
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
74 /** Service to fetch W/Q MainValues. */ |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
75 private final DynamicMainValuesServiceAsync mainValueService = GWT.create(DynamicMainValuesService.class); |
9404
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9399
diff
changeset
|
76 private final DynamicMainValuesTimeRangeDeterminationServiceAsync serviceForTime = GWT.create(DynamicMainValuesTimeRangeDeterminationService.class); |
9288
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
77 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
78 private final RadioGroupItem radiogroup = new RadioGroupItem(); |
9276 | 79 |
9278 | 80 private int bezugsjahr = 0; |
9288
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
81 |
9278 | 82 private int qSeriesLength = 0; |
83 | |
9288
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
84 private Canvas list; |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
85 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
86 private final DynamicForm udForm = new DynamicForm(); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
87 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
88 private final TextItem udInputItem = new TextItem(); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
89 |
9277 | 90 @Override |
9288
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
91 protected void beforeCreate(final DataList data) { |
9278 | 92 for (final Data container : data.getAll()) { |
9288
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
93 final DataItem[] items = container.getItems(); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
94 if (items != null) { |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
95 for (final DataItem item : items) { |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
96 if ("ignore_bezugsjahr".equals(item.getLabel())) { |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
97 this.bezugsjahr = Integer.valueOf(item.getStringValue()); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
98 } else if ("ignore_q_series_length".equals(item.getLabel())) { |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
99 this.qSeriesLength = Integer.valueOf(item.getStringValue()); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
100 } |
9278 | 101 } |
102 } | |
103 } | |
9277 | 104 } |
105 | |
9276 | 106 @Override |
9288
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
107 protected void afterCreate() { |
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 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
110 @Override |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
111 protected Canvas createWidget(final DataList dataList) { |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
112 final VLayout layout = new VLayout(); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
113 final Canvas mode = createMode(dataList); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
114 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
115 this.list = createList(dataList); |
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 this.udInputItem.setShowTitle(false); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
118 this.udInputItem.setWidth(120); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
119 final IntegerRangeValidator validator = new IntegerRangeValidator(); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
120 validator.setMax(364); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
121 validator.setMin(0); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
122 validator.setErrorMessage(this.MSG.bundu_bezugswst_validation_range()); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
123 this.udInputItem.setRequiredMessage(this.MSG.bundu_bezugswst_validation_range()); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
124 this.udInputItem.setValidators(validator); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
125 this.udInputItem.setValidateOnChange(true); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
126 this.udForm.setFields(this.udInputItem); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
127 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
128 final List<WQDataItem> items = getWQItems(dataList); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
129 final int listHeight = ROW_HEIGHT * items.size(); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
130 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
131 mode.setHeight(25); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
132 mode.setWidth(200); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
133 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
134 layout.addMember(mode); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
135 layout.addMember(this.list); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
136 layout.addMember(this.udForm); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
137 layout.setHeight(25 + listHeight); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
138 layout.setWidth(350); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
139 enableQ(); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
140 return layout; |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
141 } |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
142 |
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 * Create radio button for switching |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
145 * 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
|
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 private Canvas createMode(final DataList dataList) { |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
149 this.radiogroup.setShowTitle(false); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
150 this.radiogroup.setVertical(false); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
151 this.radiogroup.setWidth(200); |
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 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
|
154 wqValues.put(String.valueOf(mode.Q), this.MSG.wqQatGauge()); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
155 wqValues.put(String.valueOf(mode.UD), this.MSG.bundu_bezugswst_mode_ud()); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
156 this.radiogroup.setValueMap(wqValues); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
157 this.radiogroup.setValue(String.valueOf(mode.Q)); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
158 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
159 this.modes = new DynamicForm(); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
160 this.modes.setFields(this.radiogroup); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
161 this.modes.setWidth(200); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
162 this.radiogroup.addChangeHandler(new ChangeHandler() { |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
163 @Override |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
164 public void onChange(final ChangeEvent e) { |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
165 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
166 final String value = e.getValue().toString(); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
167 if (value.equals(String.valueOf(mode.UD))) { |
9290 | 168 enableUD(); |
169 } else if (value.equals(String.valueOf(mode.Q))) { | |
9288
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
170 enableQ(); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
171 } |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
172 } |
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 return this.modes; |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
175 } |
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 private void enableUD() { |
9290 | 178 BunduWstWQPanel.this.list.setVisibility(Visibility.HIDDEN); |
179 BunduWstWQPanel.this.udForm.setVisibility(Visibility.VISIBLE); | |
180 BunduWstWQPanel.this.tabs.disable(); | |
181 } | |
182 | |
183 private void enableQ() { | |
9288
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
184 BunduWstWQPanel.this.list.setVisibility(Visibility.VISIBLE); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
185 BunduWstWQPanel.this.udForm.setVisibility(Visibility.HIDDEN); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
186 BunduWstWQPanel.this.tabs.enable(); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
187 } |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
188 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
189 private final String getMode() { |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
190 return (String) this.radiogroup.getValue(); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
191 } |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
192 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
193 @Override |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
194 public Data[] getData() { |
9454
4cccbd32b680
Bundu.wst.UD -> Q-Values are set on Client side now
gernotbelger
parents:
9414
diff
changeset
|
195 final List<Data> dataList = new ArrayList<Data>(); |
9288
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
196 final String modeStr = getMode(); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
197 final DataItem item = new DefaultDataItem("bundu.wst.mode", "bundu.wst.mode", modeStr); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
198 final Data modeData = new DefaultData("bundu.wst.mode", null, null, new DataItem[] { item }); |
9454
4cccbd32b680
Bundu.wst.UD -> Q-Values are set on Client side now
gernotbelger
parents:
9414
diff
changeset
|
199 dataList.add(modeData); |
9288
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
200 if (modeStr.equals(mode.Q.toString())) { |
9454
4cccbd32b680
Bundu.wst.UD -> Q-Values are set on Client side now
gernotbelger
parents:
9414
diff
changeset
|
201 |
4cccbd32b680
Bundu.wst.UD -> Q-Values are set on Client side now
gernotbelger
parents:
9414
diff
changeset
|
202 dataList.add(getWQValues("wq_values")); |
9288
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
203 } else if (modeStr.equals(mode.UD.toString())) { |
9454
4cccbd32b680
Bundu.wst.UD -> Q-Values are set on Client side now
gernotbelger
parents:
9414
diff
changeset
|
204 |
9288
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
205 final String udValue = this.udInputItem.getValueAsString(); // in validate findet der int-check statt; er verhindert ein weitergehen, falls der Wert |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
206 // nicht int-kompatibel ist |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
207 final DataItem itemV = new DefaultDataItem("bundu.wst.ud_value", "bundu.wst.ud_value", udValue); |
9454
4cccbd32b680
Bundu.wst.UD -> Q-Values are set on Client side now
gernotbelger
parents:
9414
diff
changeset
|
208 dataList.add(new DefaultData("bundu.wst.ud_value", null, null, new DataItem[] { itemV })); |
4cccbd32b680
Bundu.wst.UD -> Q-Values are set on Client side now
gernotbelger
parents:
9414
diff
changeset
|
209 dataList.add(getWQValuesForUD("wq_values", udValue)); |
9288
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
210 } |
9454
4cccbd32b680
Bundu.wst.UD -> Q-Values are set on Client side now
gernotbelger
parents:
9414
diff
changeset
|
211 |
4cccbd32b680
Bundu.wst.UD -> Q-Values are set on Client side now
gernotbelger
parents:
9414
diff
changeset
|
212 return dataList.toArray(new Data[dataList.size()]); |
9288
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
213 } |
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 @Override |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
216 protected void createTabs() { |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
217 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
|
218 final Tab qTab = new Tab(this.MSG.wq_table_q()); |
9407
43c975f8ab92
Label for Eingabhilfe bundu.bezugswasserstände.EingabeFürWQDaten
gernotbelger
parents:
9404
diff
changeset
|
219 qTab.setPaneMargin(0); |
9288
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
220 final QDTable qdTable = new QDTable(); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
221 this.qdTables.add(qdTable); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
222 qdTable.showSelect(); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
223 qTab.setPane(qdTable); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
224 this.tabs.addTab(qTab, i); |
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 this.tabs.setSelectedTab(0); |
9407
43c975f8ab92
Label for Eingabhilfe bundu.bezugswasserstände.EingabeFürWQDaten
gernotbelger
parents:
9404
diff
changeset
|
227 |
9288
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
228 } |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
229 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
230 private Canvas createList(final DataList dataList) { |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
231 final VLayout layout = new VLayout(); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
232 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
233 final List<WQDataItem> items = getWQItems(dataList); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
234 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
235 int i = 0; |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
236 for (final DataItem item : items) { |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
237 if (item instanceof WQDataItem) { |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
238 final String title = item.getLabel(); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
239 final String label = item.getStringValue(); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
240 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
241 this.tabs.getTab(i).setTitle(this.tabs.getTab(i).getTitle() + " (" + label + ")"); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
242 |
9293 | 243 final DoubleArrayPanel dap = new DoubleArrayPanel(label, null, this, this, TitleOrientation.LEFT); |
9288
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
244 this.wqranges.put(title, dap); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
245 this.doubleArrayPanels.add(dap); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
246 if (item instanceof WQDataItem) { |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
247 final WQDataItem wq = (WQDataItem) item; |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
248 final double[] mmQ = wq.getQRange(); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
249 this.qranges.put(title, mmQ); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
250 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
251 } |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
252 layout.addMember(dap); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
253 i++; |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
254 } |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
255 } |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
256 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
257 layout.setHeight(items.size() * ROW_HEIGHT); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
258 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
259 return layout; |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
260 } |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
261 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
262 @Override |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
263 public List<String> validate() { |
9276 | 264 final List<String> errors = new ArrayList<String>(); |
9288
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
265 if (getMode().equals(mode.Q.toString())) { |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
266 errors.addAll(this.validateRange(this.qranges)); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
267 } else if (getMode().equals(mode.UD.toString())) { |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
268 try { |
9290 | 269 if (!this.udInputItem.validate()) { |
9288
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
270 errors.add(this.udInputItem.getRequiredMessage()); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
271 } |
9292 | 272 final String value = this.udInputItem.getValueAsString(); |
273 if (value == null || value.isEmpty()) { | |
274 errors.add(this.MSG.missingInput()); | |
275 return errors; | |
276 } | |
277 Integer.valueOf(value);// irgendwie klappt die validator-validierung nur bei der eingabe von | |
278 // ganzzahlen :-( | |
9288
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
279 } |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
280 catch (final NumberFormatException e) { |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
281 errors.add(this.MSG.error_invalid_integer()); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
282 } |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
283 } |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
284 return errors; |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
285 } |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
286 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
287 private List<String> validateRange(final Map<String, double[]> ranges) { |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
288 final List<String> errors = new ArrayList<String>(); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
289 |
9276 | 290 final NumberFormat nf = NumberFormat.getDecimalFormat(); |
291 | |
292 for (final DoubleArrayPanel dap : this.wqranges.values()) { | |
293 | |
294 if (!dap.validateForm()) { | |
295 errors.add(this.MSG.error_invalid_double_value()); | |
296 return errors; | |
297 } | |
298 | |
299 int idx = 0; | |
300 | |
301 final double[] values = dap.getInputValues(); | |
9292 | 302 if (values == null) { |
303 errors.add(this.MSG.missingInputs()); | |
304 return errors; | |
305 } | |
9276 | 306 final double[] good = new double[values.length]; |
307 | |
308 for (final double value : values) { | |
309 if (value <= 0) { | |
310 String tmp = this.MSG.error_validate_positive(); | |
311 tmp = tmp.replace("$1", nf.format(value)); | |
312 errors.add(tmp); | |
313 } else { | |
314 good[idx++] = value; | |
315 } | |
316 } | |
317 | |
318 final double[] justGood = new double[idx]; | |
319 for (int i = 0; i < justGood.length; i++) { | |
320 justGood[i] = good[i]; | |
321 } | |
322 | |
323 if (!errors.isEmpty()) { | |
324 dap.setValues(justGood); | |
325 } | |
326 } | |
327 return errors; | |
328 } | |
9288
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
329 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
330 @Override |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
331 public Canvas createOld(final DataList dataList) { |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
332 final List<Data> all = dataList.getAll(); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
333 final Data wqData = getData(all, "wq_values"); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
334 final Data wqMode = getData(all, "bundu.wst.mode"); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
335 final Data udValue = getData(all, "bundu.wst.ud_value"); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
336 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
337 final boolean isQ = wqMode.getItems()[0].getStringValue().equals(String.valueOf(mode.Q)); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
338 final Canvas back = getBackButton(dataList.getState()); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
339 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
340 final HLayout valLayout = new HLayout(); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
341 final HLayout modeLayout = new HLayout(); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
342 final VLayout vlayout = new VLayout(); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
343 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
344 final Label wqLabel = new Label(dataList.getLabel()); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
345 final Label modeLabel = new Label(""); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
346 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
347 wqLabel.setValign(VerticalAlignment.TOP); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
348 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
349 wqLabel.setWidth(200); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
350 wqLabel.setHeight(25); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
351 modeLabel.setHeight(25); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
352 modeLabel.setWidth(200); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
353 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
354 valLayout.addMember(wqLabel); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
355 if (isQ) { |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
356 valLayout.addMember(createOldWQValues(wqData, true)); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
357 } else { |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
358 valLayout.addMember(new Label(udValue.getItems()[0].getStringValue() + " [d/a]")); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
359 } |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
360 valLayout.addMember(back); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
361 modeLayout.addMember(modeLabel); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
362 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
363 vlayout.addMember(valLayout); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
364 vlayout.addMember(modeLayout); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
365 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
366 return vlayout; |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
367 } |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
368 |
9404
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9399
diff
changeset
|
369 protected void callMainValuesService(final String locale, final String river, final double start, final double end, final Date startDate, |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9399
diff
changeset
|
370 final Date endDate, final AsyncCallback<WQInfoObject[]> cb) { |
9288
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
371 |
9404
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9399
diff
changeset
|
372 this.mainValueService.getWQInfo(locale, river, start, end, startDate, endDate, cb); |
9288
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
373 } |
9293 | 374 |
375 @Override | |
376 public void onFocus(final FocusEvent event) { | |
377 this.itemWithFocus = (DoubleArrayPanel) event.getForm(); | |
378 // Switch to respective tab. | |
379 if (getMode().equals(mode.Q.toString())) { | |
380 final int inputIndex = this.doubleArrayPanels.indexOf(this.itemWithFocus); | |
381 this.tabs.selectTab(inputIndex); | |
382 } | |
383 } | |
9404
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9399
diff
changeset
|
384 |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9399
diff
changeset
|
385 @Override |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9399
diff
changeset
|
386 protected void fetchWQData() { |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9399
diff
changeset
|
387 { |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9399
diff
changeset
|
388 final Config config = Config.getInstance(); |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9399
diff
changeset
|
389 final String locale = config.getLocale(); |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9399
diff
changeset
|
390 |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9399
diff
changeset
|
391 final ArtifactDescription adescr = this.artifact.getArtifactDescription(); |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9399
diff
changeset
|
392 final DataList[] data = adescr.getOldData(); |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9399
diff
changeset
|
393 |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9399
diff
changeset
|
394 final String river = getRiverName(data); |
9414
096f151a0a9f
bundu bezugswst länge der abflusszeitreihe fix + klasse vergessen
gernotbelger
parents:
9412
diff
changeset
|
395 final int startYear = this.bezugsjahr - this.qSeriesLength + 1; |
9404
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9399
diff
changeset
|
396 final int endYear = this.bezugsjahr; |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9399
diff
changeset
|
397 |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9399
diff
changeset
|
398 // Gauge ranges overlap, move start and end a bit closer |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9399
diff
changeset
|
399 // to each other. |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9399
diff
changeset
|
400 |
9412
0fb76f2d4e5b
bundu wst time range globalErrorMsg to client - no error thrown
gernotbelger
parents:
9407
diff
changeset
|
401 final AsyncCallback<GaugeInfoResult> cb = new AsyncCallback<GaugeInfoResult>() { |
9404
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9399
diff
changeset
|
402 @Override |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9399
diff
changeset
|
403 public void onFailure(final Throwable caught) { |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9399
diff
changeset
|
404 GWT.log("Could not recieve wq informations."); |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9399
diff
changeset
|
405 final String msg = caught.getMessage(); |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9399
diff
changeset
|
406 resetLoadingMessageOfQTable(msg); |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9399
diff
changeset
|
407 // disable weiter-knopf |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9399
diff
changeset
|
408 getSubmitBtn().disable(); |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9399
diff
changeset
|
409 SC.warn(msg); |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9399
diff
changeset
|
410 } |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9399
diff
changeset
|
411 |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9399
diff
changeset
|
412 @Override |
9412
0fb76f2d4e5b
bundu wst time range globalErrorMsg to client - no error thrown
gernotbelger
parents:
9407
diff
changeset
|
413 public void onSuccess(final GaugeInfoResult result) { |
9404
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9399
diff
changeset
|
414 // TODO Auto-generated method stub |
9412
0fb76f2d4e5b
bundu wst time range globalErrorMsg to client - no error thrown
gernotbelger
parents:
9407
diff
changeset
|
415 final String globalErrorMsg = result.getGlobalErrorMsg(); |
0fb76f2d4e5b
bundu wst time range globalErrorMsg to client - no error thrown
gernotbelger
parents:
9407
diff
changeset
|
416 if (!globalErrorMsg.equals("")) { |
0fb76f2d4e5b
bundu wst time range globalErrorMsg to client - no error thrown
gernotbelger
parents:
9407
diff
changeset
|
417 resetLoadingMessageOfQTable(""); |
0fb76f2d4e5b
bundu wst time range globalErrorMsg to client - no error thrown
gernotbelger
parents:
9407
diff
changeset
|
418 // disable weiter-knopf |
0fb76f2d4e5b
bundu wst time range globalErrorMsg to client - no error thrown
gernotbelger
parents:
9407
diff
changeset
|
419 getSubmitBtn().disable(); |
0fb76f2d4e5b
bundu wst time range globalErrorMsg to client - no error thrown
gernotbelger
parents:
9407
diff
changeset
|
420 SC.warn(globalErrorMsg); |
0fb76f2d4e5b
bundu wst time range globalErrorMsg to client - no error thrown
gernotbelger
parents:
9407
diff
changeset
|
421 } |
0fb76f2d4e5b
bundu wst time range globalErrorMsg to client - no error thrown
gernotbelger
parents:
9407
diff
changeset
|
422 |
0fb76f2d4e5b
bundu wst time range globalErrorMsg to client - no error thrown
gernotbelger
parents:
9407
diff
changeset
|
423 final GaugeInfoObject[] gauges = result.getGaugeInfoObjects(); |
0fb76f2d4e5b
bundu wst time range globalErrorMsg to client - no error thrown
gernotbelger
parents:
9407
diff
changeset
|
424 |
0fb76f2d4e5b
bundu wst time range globalErrorMsg to client - no error thrown
gernotbelger
parents:
9407
diff
changeset
|
425 final int num = gauges != null ? gauges.length : 0; |
9404
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9399
diff
changeset
|
426 GWT.log("Received timeranges for gauges"); |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9399
diff
changeset
|
427 |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9399
diff
changeset
|
428 if (num == 0) { |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9399
diff
changeset
|
429 return; |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9399
diff
changeset
|
430 } |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9399
diff
changeset
|
431 |
9412
0fb76f2d4e5b
bundu wst time range globalErrorMsg to client - no error thrown
gernotbelger
parents:
9407
diff
changeset
|
432 for (int i = 0; i < gauges.length; i++) { |
0fb76f2d4e5b
bundu wst time range globalErrorMsg to client - no error thrown
gernotbelger
parents:
9407
diff
changeset
|
433 final GaugeInfoObject gauge = gauges[i]; |
9404
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9399
diff
changeset
|
434 // Gauge ranges overlap, move start and end a bit closer |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9399
diff
changeset
|
435 // to each other. |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9399
diff
changeset
|
436 final Double[] range = getGaugeNamesRange().get(gauge.getName()); |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9399
diff
changeset
|
437 final double rDiff = (range[1] - range[0]) / 10d; |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9399
diff
changeset
|
438 final int fi = i; |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9399
diff
changeset
|
439 |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9399
diff
changeset
|
440 final AsyncCallback<WQInfoObject[]> cb = new AsyncCallback<WQInfoObject[]>() { |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9399
diff
changeset
|
441 @Override |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9399
diff
changeset
|
442 public void onFailure(final Throwable caught) { |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9399
diff
changeset
|
443 GWT.log("Could not recieve wq informations."); |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9399
diff
changeset
|
444 addWQInfo(null, fi, gauge); |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9399
diff
changeset
|
445 } |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9399
diff
changeset
|
446 |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9399
diff
changeset
|
447 @Override |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9399
diff
changeset
|
448 public void onSuccess(final WQInfoObject[] wqi) { |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9399
diff
changeset
|
449 final int num = wqi != null ? wqi.length : 0; |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9399
diff
changeset
|
450 GWT.log("Received " + num + " wq informations (" + fi + "."); |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9399
diff
changeset
|
451 |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9399
diff
changeset
|
452 addWQInfo(wqi, fi, gauge); |
9412
0fb76f2d4e5b
bundu wst time range globalErrorMsg to client - no error thrown
gernotbelger
parents:
9407
diff
changeset
|
453 if (fi == (gauges.length - 1) && globalErrorMsg.equals("")) |
9404
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9399
diff
changeset
|
454 getSubmitBtn().enable(); |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9399
diff
changeset
|
455 } |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9399
diff
changeset
|
456 }; |
9412
0fb76f2d4e5b
bundu wst time range globalErrorMsg to client - no error thrown
gernotbelger
parents:
9407
diff
changeset
|
457 callMainValuesService(locale, river, range[0] + rDiff, range[1] - rDiff, gauge.getStartdate(), gauge.getEnddate(), cb); |
9404
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9399
diff
changeset
|
458 } |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9399
diff
changeset
|
459 } |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9399
diff
changeset
|
460 |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9399
diff
changeset
|
461 }; |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9399
diff
changeset
|
462 |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9399
diff
changeset
|
463 this.serviceForTime.getGaugeInfo(locale, river, getGaugeNames(), startYear, endYear, cb); |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9399
diff
changeset
|
464 getSubmitBtn().disable(); |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9399
diff
changeset
|
465 } |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9399
diff
changeset
|
466 |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9399
diff
changeset
|
467 } |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9399
diff
changeset
|
468 |
9407
43c975f8ab92
Label for Eingabhilfe bundu.bezugswasserstände.EingabeFürWQDaten
gernotbelger
parents:
9404
diff
changeset
|
469 @Override |
43c975f8ab92
Label for Eingabhilfe bundu.bezugswasserstände.EingabeFürWQDaten
gernotbelger
parents:
9404
diff
changeset
|
470 protected String getWQInfoMsg() { |
43c975f8ab92
Label for Eingabhilfe bundu.bezugswasserstände.EingabeFürWQDaten
gernotbelger
parents:
9404
diff
changeset
|
471 return this.MSG.bundu_ws_wq_info(); |
43c975f8ab92
Label for Eingabhilfe bundu.bezugswasserstände.EingabeFürWQDaten
gernotbelger
parents:
9404
diff
changeset
|
472 } |
43c975f8ab92
Label for Eingabhilfe bundu.bezugswasserstände.EingabeFürWQDaten
gernotbelger
parents:
9404
diff
changeset
|
473 |
9288
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
474 } |