annotate gwt-client/src/main/java/org/dive4elements/river/client/client/ui/bundu/BunduWstWQPanel.java @ 9399:77367e8da74d

Fixed: startYear shifted by one year
author gernotbelger
date Tue, 14 Aug 2018 10:59:22 +0200
parents e3e465766cfe
children bc9a45d2b1fa
rev   line source
9276
3141f0e7314e clone for bundu.ws.wq
gernotbelger
parents:
diff changeset
1 /* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde
3141f0e7314e clone for bundu.ws.wq
gernotbelger
parents:
diff changeset
2 * Software engineering by Intevation GmbH
3141f0e7314e clone for bundu.ws.wq
gernotbelger
parents:
diff changeset
3 *
3141f0e7314e clone for bundu.ws.wq
gernotbelger
parents:
diff changeset
4 * This file is Free Software under the GNU AGPL (>=v3)
3141f0e7314e clone for bundu.ws.wq
gernotbelger
parents:
diff changeset
5 * and comes with ABSOLUTELY NO WARRANTY! Check out the
3141f0e7314e clone for bundu.ws.wq
gernotbelger
parents:
diff changeset
6 * documentation coming with Dive4Elements River for details.
3141f0e7314e clone for bundu.ws.wq
gernotbelger
parents:
diff changeset
7 */
3141f0e7314e clone for bundu.ws.wq
gernotbelger
parents:
diff changeset
8
3141f0e7314e clone for bundu.ws.wq
gernotbelger
parents:
diff changeset
9 package org.dive4elements.river.client.client.ui.bundu;
3141f0e7314e clone for bundu.ws.wq
gernotbelger
parents:
diff changeset
10
3141f0e7314e clone for bundu.ws.wq
gernotbelger
parents:
diff changeset
11 import java.util.ArrayList;
9288
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
12 import java.util.LinkedHashMap;
9276
3141f0e7314e clone for bundu.ws.wq
gernotbelger
parents:
diff changeset
13 import java.util.List;
3141f0e7314e clone for bundu.ws.wq
gernotbelger
parents:
diff changeset
14 import java.util.Map;
3141f0e7314e clone for bundu.ws.wq
gernotbelger
parents:
diff changeset
15
9288
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
16 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
17 import org.dive4elements.river.client.client.services.DynamicMainValuesServiceAsync;
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
18 import org.dive4elements.river.client.client.ui.AbstractWQAdaptedInputPanel;
9276
3141f0e7314e clone for bundu.ws.wq
gernotbelger
parents:
diff changeset
19 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
20 import org.dive4elements.river.client.client.ui.wq.QDTable;
9277
2323d005f9a5 compile error fix
gernotbelger
parents: 9276
diff changeset
21 import org.dive4elements.river.client.shared.model.Data;
9278
717c9dc1859f datatransfer bezugsjahr, qserieslength
gernotbelger
parents: 9277
diff changeset
22 import org.dive4elements.river.client.shared.model.DataItem;
9277
2323d005f9a5 compile error fix
gernotbelger
parents: 9276
diff changeset
23 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
24 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
25 import org.dive4elements.river.client.shared.model.DefaultDataItem;
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
26 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
27 import org.dive4elements.river.client.shared.model.WQInfoObject;
9276
3141f0e7314e clone for bundu.ws.wq
gernotbelger
parents:
diff changeset
28
9288
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
29 import com.google.gwt.core.client.GWT;
9276
3141f0e7314e clone for bundu.ws.wq
gernotbelger
parents:
diff changeset
30 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
31 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
32 import com.smartgwt.client.types.TitleOrientation;
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
33 import com.smartgwt.client.types.VerticalAlignment;
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
34 import com.smartgwt.client.types.Visibility;
9277
2323d005f9a5 compile error fix
gernotbelger
parents: 9276
diff changeset
35 import com.smartgwt.client.widgets.Canvas;
9288
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
36 import com.smartgwt.client.widgets.Label;
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
37 import com.smartgwt.client.widgets.form.DynamicForm;
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
38 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
39 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
40 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
41 import com.smartgwt.client.widgets.form.fields.events.ChangeHandler;
9293
e3e465766cfe FocusHandler re-added
gernotbelger
parents: 9292
diff changeset
42 import com.smartgwt.client.widgets.form.fields.events.FocusEvent;
e3e465766cfe FocusHandler re-added
gernotbelger
parents: 9292
diff changeset
43 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
44 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
45 import com.smartgwt.client.widgets.layout.HLayout;
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
46 import com.smartgwt.client.widgets.layout.VLayout;
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
47 import com.smartgwt.client.widgets.tab.Tab;
9276
3141f0e7314e clone for bundu.ws.wq
gernotbelger
parents:
diff changeset
48
3141f0e7314e clone for bundu.ws.wq
gernotbelger
parents:
diff changeset
49 /**
3141f0e7314e clone for bundu.ws.wq
gernotbelger
parents:
diff changeset
50 * This UIProvider creates a widget to enter W or Q data for
3141f0e7314e clone for bundu.ws.wq
gernotbelger
parents:
diff changeset
51 * Fixation analysis
3141f0e7314e clone for bundu.ws.wq
gernotbelger
parents:
diff changeset
52 *
3141f0e7314e clone for bundu.ws.wq
gernotbelger
parents:
diff changeset
53 * @author <a href="mailto:aheinecke@intevation.de">Andre Heinecke</a>
3141f0e7314e clone for bundu.ws.wq
gernotbelger
parents:
diff changeset
54 */
9293
e3e465766cfe FocusHandler re-added
gernotbelger
parents: 9292
diff changeset
55 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
56
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
57 private static final long serialVersionUID = -1L;
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
58
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
59 private static enum mode {
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
60 Q, UD
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
61 }
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
62
9293
e3e465766cfe FocusHandler re-added
gernotbelger
parents: 9292
diff changeset
63 /** The currently focussed Input element. */
e3e465766cfe FocusHandler re-added
gernotbelger
parents: 9292
diff changeset
64 private DoubleArrayPanel itemWithFocus;
e3e465766cfe FocusHandler re-added
gernotbelger
parents: 9292
diff changeset
65
9288
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
66 /** Service to fetch W/Q MainValues. */
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
67 private final DynamicMainValuesServiceAsync mainValueService = GWT.create(DynamicMainValuesService.class);
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
68
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
69 private final RadioGroupItem radiogroup = new RadioGroupItem();
9276
3141f0e7314e clone for bundu.ws.wq
gernotbelger
parents:
diff changeset
70
9278
717c9dc1859f datatransfer bezugsjahr, qserieslength
gernotbelger
parents: 9277
diff changeset
71 private int bezugsjahr = 0;
9288
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
72
9278
717c9dc1859f datatransfer bezugsjahr, qserieslength
gernotbelger
parents: 9277
diff changeset
73 private int qSeriesLength = 0;
717c9dc1859f datatransfer bezugsjahr, qserieslength
gernotbelger
parents: 9277
diff changeset
74
9288
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
75 private Canvas list;
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
76
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
77 private final DynamicForm udForm = new DynamicForm();
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
78
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
79 private final TextItem udInputItem = new TextItem();
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
80
9277
2323d005f9a5 compile error fix
gernotbelger
parents: 9276
diff changeset
81 @Override
9288
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
82 protected void beforeCreate(final DataList data) {
9278
717c9dc1859f datatransfer bezugsjahr, qserieslength
gernotbelger
parents: 9277
diff changeset
83 for (final Data container : data.getAll()) {
9288
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
84 final DataItem[] items = container.getItems();
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
85 if (items != null) {
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
86 for (final DataItem item : items) {
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
87 if ("ignore_bezugsjahr".equals(item.getLabel())) {
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
88 this.bezugsjahr = Integer.valueOf(item.getStringValue());
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
89 } 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
90 this.qSeriesLength = Integer.valueOf(item.getStringValue());
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
91 }
9278
717c9dc1859f datatransfer bezugsjahr, qserieslength
gernotbelger
parents: 9277
diff changeset
92 }
717c9dc1859f datatransfer bezugsjahr, qserieslength
gernotbelger
parents: 9277
diff changeset
93 }
717c9dc1859f datatransfer bezugsjahr, qserieslength
gernotbelger
parents: 9277
diff changeset
94 }
9277
2323d005f9a5 compile error fix
gernotbelger
parents: 9276
diff changeset
95 }
2323d005f9a5 compile error fix
gernotbelger
parents: 9276
diff changeset
96
9276
3141f0e7314e clone for bundu.ws.wq
gernotbelger
parents:
diff changeset
97 @Override
9288
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
98 protected void afterCreate() {
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
99 }
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
100
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
101 @Override
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
102 protected Canvas createWidget(final DataList dataList) {
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
103 final VLayout layout = new VLayout();
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
104 final Canvas mode = createMode(dataList);
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
105
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
106 this.list = createList(dataList);
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
107
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
108 this.udInputItem.setShowTitle(false);
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
109 this.udInputItem.setWidth(120);
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
110 final IntegerRangeValidator validator = new IntegerRangeValidator();
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
111 validator.setMax(364);
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
112 validator.setMin(0);
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
113 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
114 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
115 this.udInputItem.setValidators(validator);
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
116 this.udInputItem.setValidateOnChange(true);
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
117 this.udForm.setFields(this.udInputItem);
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 List<WQDataItem> items = getWQItems(dataList);
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
120 final int listHeight = ROW_HEIGHT * items.size();
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
121
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
122 mode.setHeight(25);
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
123 mode.setWidth(200);
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 layout.addMember(mode);
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
126 layout.addMember(this.list);
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
127 layout.addMember(this.udForm);
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
128 layout.setHeight(25 + listHeight);
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
129 layout.setWidth(350);
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
130 enableQ();
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
131 return layout;
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
132 }
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 /**
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
135 * Create radio button for switching
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
136 * 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
137 */
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
138
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
139 private Canvas createMode(final DataList dataList) {
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
140 this.radiogroup.setShowTitle(false);
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
141 this.radiogroup.setVertical(false);
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
142 this.radiogroup.setWidth(200);
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 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
145 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
146 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
147 this.radiogroup.setValueMap(wqValues);
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
148 this.radiogroup.setValue(String.valueOf(mode.Q));
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
149
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
150 this.modes = new DynamicForm();
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
151 this.modes.setFields(this.radiogroup);
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
152 this.modes.setWidth(200);
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
153 this.radiogroup.addChangeHandler(new ChangeHandler() {
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 public void onChange(final ChangeEvent e) {
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 final String value = e.getValue().toString();
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
158 if (value.equals(String.valueOf(mode.UD))) {
9290
3729434f6dec UD/Q verwechselt
gernotbelger
parents: 9288
diff changeset
159 enableUD();
3729434f6dec UD/Q verwechselt
gernotbelger
parents: 9288
diff changeset
160 } 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
161 enableQ();
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
162 }
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
163 }
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
164 });
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
165 return this.modes;
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 private void enableUD() {
9290
3729434f6dec UD/Q verwechselt
gernotbelger
parents: 9288
diff changeset
169 BunduWstWQPanel.this.list.setVisibility(Visibility.HIDDEN);
3729434f6dec UD/Q verwechselt
gernotbelger
parents: 9288
diff changeset
170 BunduWstWQPanel.this.udForm.setVisibility(Visibility.VISIBLE);
3729434f6dec UD/Q verwechselt
gernotbelger
parents: 9288
diff changeset
171 BunduWstWQPanel.this.tabs.disable();
3729434f6dec UD/Q verwechselt
gernotbelger
parents: 9288
diff changeset
172 }
3729434f6dec UD/Q verwechselt
gernotbelger
parents: 9288
diff changeset
173
3729434f6dec UD/Q verwechselt
gernotbelger
parents: 9288
diff changeset
174 private void enableQ() {
9288
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
175 BunduWstWQPanel.this.list.setVisibility(Visibility.VISIBLE);
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
176 BunduWstWQPanel.this.udForm.setVisibility(Visibility.HIDDEN);
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
177 BunduWstWQPanel.this.tabs.enable();
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
178 }
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 private final String getMode() {
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
181 return (String) this.radiogroup.getValue();
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
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
184 @Override
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
185 public Data[] getData() {
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
186 final Data[] data = new Data[2];
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
187 final String modeStr = getMode();
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
188 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
189 final Data modeData = new DefaultData("bundu.wst.mode", null, null, new DataItem[] { item });
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
190 data[0] = modeData;
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
191 if (modeStr.equals(mode.Q.toString())) {
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
192 data[1] = getWQValues("wq_values");
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
193 } else if (modeStr.equals(mode.UD.toString())) {
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
194 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
195 // nicht int-kompatibel ist
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
196 final DataItem itemV = new DefaultDataItem("bundu.wst.ud_value", "bundu.wst.ud_value", udValue);
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
197 data[1] = new DefaultData("bundu.wst.ud_value", null, null, new DataItem[] { itemV });
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
198 }
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
199 return data;
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
200 }
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
201
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
202 @Override
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
203 protected void createTabs() {
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
204 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
205 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
206 final QDTable qdTable = new QDTable();
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
207 this.qdTables.add(qdTable);
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
208 qdTable.showSelect();
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
209 qTab.setPane(qdTable);
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
210 this.tabs.addTab(qTab, i);
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
211 }
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
212 this.tabs.setSelectedTab(0);
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 private Canvas createList(final DataList dataList) {
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
216 final VLayout layout = new VLayout();
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
217
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
218 final List<WQDataItem> items = getWQItems(dataList);
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
219
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
220 int i = 0;
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
221 for (final DataItem item : items) {
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
222 if (item instanceof WQDataItem) {
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
223 final String title = item.getLabel();
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
224 final String label = item.getStringValue();
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.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
227
9293
e3e465766cfe FocusHandler re-added
gernotbelger
parents: 9292
diff changeset
228 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
229 this.wqranges.put(title, dap);
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
230 this.doubleArrayPanels.add(dap);
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 this.qranges.put(title, mmQ);
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 }
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
237 layout.addMember(dap);
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
238 i++;
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 }
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
241
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
242 layout.setHeight(items.size() * ROW_HEIGHT);
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 return layout;
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
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
247 @Override
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
248 public List<String> validate() {
9276
3141f0e7314e clone for bundu.ws.wq
gernotbelger
parents:
diff changeset
249 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
250 if (getMode().equals(mode.Q.toString())) {
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
251 errors.addAll(this.validateRange(this.qranges));
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
252 } else if (getMode().equals(mode.UD.toString())) {
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
253 try {
9290
3729434f6dec UD/Q verwechselt
gernotbelger
parents: 9288
diff changeset
254 if (!this.udInputItem.validate()) {
9288
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
255 errors.add(this.udInputItem.getRequiredMessage());
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
256 }
9292
e6958f0e72fa bundu.bezugswst details
gernotbelger
parents: 9290
diff changeset
257 final String value = this.udInputItem.getValueAsString();
e6958f0e72fa bundu.bezugswst details
gernotbelger
parents: 9290
diff changeset
258 if (value == null || value.isEmpty()) {
e6958f0e72fa bundu.bezugswst details
gernotbelger
parents: 9290
diff changeset
259 errors.add(this.MSG.missingInput());
e6958f0e72fa bundu.bezugswst details
gernotbelger
parents: 9290
diff changeset
260 return errors;
e6958f0e72fa bundu.bezugswst details
gernotbelger
parents: 9290
diff changeset
261 }
e6958f0e72fa bundu.bezugswst details
gernotbelger
parents: 9290
diff changeset
262 Integer.valueOf(value);// irgendwie klappt die validator-validierung nur bei der eingabe von
e6958f0e72fa bundu.bezugswst details
gernotbelger
parents: 9290
diff changeset
263 // ganzzahlen :-(
9288
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
264 }
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
265 catch (final NumberFormatException e) {
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
266 errors.add(this.MSG.error_invalid_integer());
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
267 }
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
268 }
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
269 return errors;
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
270 }
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
271
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
272 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
273 final List<String> errors = new ArrayList<String>();
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
274
9276
3141f0e7314e clone for bundu.ws.wq
gernotbelger
parents:
diff changeset
275 final NumberFormat nf = NumberFormat.getDecimalFormat();
3141f0e7314e clone for bundu.ws.wq
gernotbelger
parents:
diff changeset
276
3141f0e7314e clone for bundu.ws.wq
gernotbelger
parents:
diff changeset
277 for (final DoubleArrayPanel dap : this.wqranges.values()) {
3141f0e7314e clone for bundu.ws.wq
gernotbelger
parents:
diff changeset
278
3141f0e7314e clone for bundu.ws.wq
gernotbelger
parents:
diff changeset
279 if (!dap.validateForm()) {
3141f0e7314e clone for bundu.ws.wq
gernotbelger
parents:
diff changeset
280 errors.add(this.MSG.error_invalid_double_value());
3141f0e7314e clone for bundu.ws.wq
gernotbelger
parents:
diff changeset
281 return errors;
3141f0e7314e clone for bundu.ws.wq
gernotbelger
parents:
diff changeset
282 }
3141f0e7314e clone for bundu.ws.wq
gernotbelger
parents:
diff changeset
283
3141f0e7314e clone for bundu.ws.wq
gernotbelger
parents:
diff changeset
284 int idx = 0;
3141f0e7314e clone for bundu.ws.wq
gernotbelger
parents:
diff changeset
285
3141f0e7314e clone for bundu.ws.wq
gernotbelger
parents:
diff changeset
286 final double[] values = dap.getInputValues();
9292
e6958f0e72fa bundu.bezugswst details
gernotbelger
parents: 9290
diff changeset
287 if (values == null) {
e6958f0e72fa bundu.bezugswst details
gernotbelger
parents: 9290
diff changeset
288 errors.add(this.MSG.missingInputs());
e6958f0e72fa bundu.bezugswst details
gernotbelger
parents: 9290
diff changeset
289 return errors;
e6958f0e72fa bundu.bezugswst details
gernotbelger
parents: 9290
diff changeset
290 }
9276
3141f0e7314e clone for bundu.ws.wq
gernotbelger
parents:
diff changeset
291 final double[] good = new double[values.length];
3141f0e7314e clone for bundu.ws.wq
gernotbelger
parents:
diff changeset
292
3141f0e7314e clone for bundu.ws.wq
gernotbelger
parents:
diff changeset
293 for (final double value : values) {
3141f0e7314e clone for bundu.ws.wq
gernotbelger
parents:
diff changeset
294 if (value <= 0) {
3141f0e7314e clone for bundu.ws.wq
gernotbelger
parents:
diff changeset
295 String tmp = this.MSG.error_validate_positive();
3141f0e7314e clone for bundu.ws.wq
gernotbelger
parents:
diff changeset
296 tmp = tmp.replace("$1", nf.format(value));
3141f0e7314e clone for bundu.ws.wq
gernotbelger
parents:
diff changeset
297 errors.add(tmp);
3141f0e7314e clone for bundu.ws.wq
gernotbelger
parents:
diff changeset
298 } else {
3141f0e7314e clone for bundu.ws.wq
gernotbelger
parents:
diff changeset
299 good[idx++] = value;
3141f0e7314e clone for bundu.ws.wq
gernotbelger
parents:
diff changeset
300 }
3141f0e7314e clone for bundu.ws.wq
gernotbelger
parents:
diff changeset
301 }
3141f0e7314e clone for bundu.ws.wq
gernotbelger
parents:
diff changeset
302
3141f0e7314e clone for bundu.ws.wq
gernotbelger
parents:
diff changeset
303 final double[] justGood = new double[idx];
3141f0e7314e clone for bundu.ws.wq
gernotbelger
parents:
diff changeset
304 for (int i = 0; i < justGood.length; i++) {
3141f0e7314e clone for bundu.ws.wq
gernotbelger
parents:
diff changeset
305 justGood[i] = good[i];
3141f0e7314e clone for bundu.ws.wq
gernotbelger
parents:
diff changeset
306 }
3141f0e7314e clone for bundu.ws.wq
gernotbelger
parents:
diff changeset
307
3141f0e7314e clone for bundu.ws.wq
gernotbelger
parents:
diff changeset
308 if (!errors.isEmpty()) {
3141f0e7314e clone for bundu.ws.wq
gernotbelger
parents:
diff changeset
309 dap.setValues(justGood);
3141f0e7314e clone for bundu.ws.wq
gernotbelger
parents:
diff changeset
310 }
3141f0e7314e clone for bundu.ws.wq
gernotbelger
parents:
diff changeset
311 }
3141f0e7314e clone for bundu.ws.wq
gernotbelger
parents:
diff changeset
312 return errors;
3141f0e7314e clone for bundu.ws.wq
gernotbelger
parents:
diff changeset
313 }
9288
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
314
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
315 @Override
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
316 public Canvas createOld(final DataList dataList) {
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
317 final List<Data> all = dataList.getAll();
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
318 final Data wqData = getData(all, "wq_values");
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
319 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
320 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
321
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
322 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
323 final Canvas back = getBackButton(dataList.getState());
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
324
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
325 final HLayout valLayout = new HLayout();
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
326 final HLayout modeLayout = new HLayout();
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
327 final VLayout vlayout = new VLayout();
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
328
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
329 final Label wqLabel = new Label(dataList.getLabel());
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
330 final Label modeLabel = new Label("");
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
331
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
332 wqLabel.setValign(VerticalAlignment.TOP);
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
333
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
334 wqLabel.setWidth(200);
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
335 wqLabel.setHeight(25);
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
336 modeLabel.setHeight(25);
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
337 modeLabel.setWidth(200);
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
338
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
339 valLayout.addMember(wqLabel);
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
340 if (isQ) {
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
341 valLayout.addMember(createOldWQValues(wqData, true));
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
342 } else {
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
343 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
344 }
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
345 valLayout.addMember(back);
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
346 modeLayout.addMember(modeLabel);
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
347
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
348 vlayout.addMember(valLayout);
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
349 vlayout.addMember(modeLayout);
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
350
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
351 return vlayout;
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
352 }
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 @Override
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
355 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
356 final AsyncCallback<WQInfoObject[]> cb) {
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
357
9399
77367e8da74d Fixed: startYear shifted by one year
gernotbelger
parents: 9293
diff changeset
358 final int startYear = this.bezugsjahr - this.qSeriesLength + 1;
9288
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
359 final int endYear = this.bezugsjahr;
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
360
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
361 this.mainValueService.getWQInfo(locale, river, start, end, startYear, endYear, cb);
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
362 }
9293
e3e465766cfe FocusHandler re-added
gernotbelger
parents: 9292
diff changeset
363
e3e465766cfe FocusHandler re-added
gernotbelger
parents: 9292
diff changeset
364 @Override
e3e465766cfe FocusHandler re-added
gernotbelger
parents: 9292
diff changeset
365 public void onFocus(final FocusEvent event) {
e3e465766cfe FocusHandler re-added
gernotbelger
parents: 9292
diff changeset
366 this.itemWithFocus = (DoubleArrayPanel) event.getForm();
e3e465766cfe FocusHandler re-added
gernotbelger
parents: 9292
diff changeset
367 // Switch to respective tab.
e3e465766cfe FocusHandler re-added
gernotbelger
parents: 9292
diff changeset
368 if (getMode().equals(mode.Q.toString())) {
e3e465766cfe FocusHandler re-added
gernotbelger
parents: 9292
diff changeset
369 final int inputIndex = this.doubleArrayPanels.indexOf(this.itemWithFocus);
e3e465766cfe FocusHandler re-added
gernotbelger
parents: 9292
diff changeset
370 this.tabs.selectTab(inputIndex);
e3e465766cfe FocusHandler re-added
gernotbelger
parents: 9292
diff changeset
371 }
e3e465766cfe FocusHandler re-added
gernotbelger
parents: 9292
diff changeset
372 }
9288
82c67b859aa7 bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents: 9278
diff changeset
373 }

http://dive4elements.wald.intevation.org