Mercurial > dive4elements > river
annotate gwt-client/src/main/java/org/dive4elements/river/client/client/ui/AbstractWQAdaptedInputPanel.java @ 9393:6174daaf5e56
qdTables all types have to be in.
author | gernotbelger |
---|---|
date | Fri, 10 Aug 2018 17:07:30 +0200 |
parents | 82c67b859aa7 |
children | bc9a45d2b1fa |
rev | line source |
---|---|
9288
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
1 /* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
2 * Software engineering by Intevation GmbH |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
3 * |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
4 * This file is Free Software under the GNU AGPL (>=v3) |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
5 * and comes with ABSOLUTELY NO WARRANTY! Check out the |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
6 * documentation coming with Dive4Elements River for details. |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
7 */ |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
8 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
9 package org.dive4elements.river.client.client.ui; |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
10 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
11 import java.util.ArrayList; |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
12 import java.util.HashMap; |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
13 import java.util.List; |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
14 import java.util.Map; |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
15 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
16 import org.dive4elements.river.client.client.Config; |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
17 import org.dive4elements.river.client.client.FLYSConstants; |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
18 import org.dive4elements.river.client.client.ui.wq.QDTable; |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
19 import org.dive4elements.river.client.client.ui.wq.WTable; |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
20 import org.dive4elements.river.client.shared.model.ArtifactDescription; |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
21 import org.dive4elements.river.client.shared.model.Data; |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
22 import org.dive4elements.river.client.shared.model.DataItem; |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
23 import org.dive4elements.river.client.shared.model.DataList; |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
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:
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:
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:
diff
changeset
|
27 import org.dive4elements.river.client.shared.model.WQInfoObject; |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
28 import org.dive4elements.river.client.shared.model.WQInfoRecord; |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
29 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
30 import com.google.gwt.core.client.GWT; |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
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:
diff
changeset
|
32 import com.smartgwt.client.data.Record; |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
33 import com.smartgwt.client.util.SC; |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
34 import com.smartgwt.client.widgets.Canvas; |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
35 import com.smartgwt.client.widgets.Label; |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
36 import com.smartgwt.client.widgets.form.DynamicForm; |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
37 import com.smartgwt.client.widgets.form.fields.events.BlurEvent; |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
38 import com.smartgwt.client.widgets.form.fields.events.BlurHandler; |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
39 import com.smartgwt.client.widgets.form.fields.events.ChangeEvent; |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
40 import com.smartgwt.client.widgets.form.fields.events.ChangeHandler; |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
41 import com.smartgwt.client.widgets.grid.events.CellClickEvent; |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
42 import com.smartgwt.client.widgets.grid.events.CellClickHandler; |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
43 import com.smartgwt.client.widgets.layout.HLayout; |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
44 import com.smartgwt.client.widgets.layout.VLayout; |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
45 import com.smartgwt.client.widgets.tab.TabSet; |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
46 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
47 /** |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
48 * This UIProvider creates a widget to enter W or Q data for discharge |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
49 * longitudinal section computations. |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
50 * |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
51 * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a> |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
52 */ |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
53 abstract public class AbstractWQAdaptedInputPanel extends AbstractUIProvider implements ChangeHandler, BlurHandler { |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
54 private static final long serialVersionUID = -3218827566805476423L; |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
55 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
56 /** The message class that provides i18n strings. */ |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
57 protected FLYSConstants MSG = GWT.create(FLYSConstants.class); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
58 protected static final int ROW_HEIGHT = 20; |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
59 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
60 /** List of QDTables in inputhelper section. */ |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
61 protected List<QDTable> qdTables; |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
62 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
63 private static final String GAUGE_SEPARATOR = ":"; |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
64 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
65 private static final String GAUGE_PART_SEPARATOR = ";"; |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
66 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
67 private static final String VALUE_SEPARATOR = ","; |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
68 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
69 /** Stores the input panels related to their keys. */ |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
70 protected Map<String, DoubleArrayPanel> wqranges; |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
71 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
72 /** [startkm,endkm] per gauge in selected range. */ |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
73 protected List<Double[]> gaugeRanges; |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
74 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
75 /** Stores the min/max values for each q range (gauge). */ |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
76 protected Map<String, double[]> qranges; |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
77 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
78 /** The RadioGroupItem that determines the w/q input mode. */ |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
79 protected DynamicForm modes; |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
80 /** List of doubleArrayPanels shown. */ |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
81 protected final ArrayList<DoubleArrayPanel> doubleArrayPanels = new ArrayList<DoubleArrayPanel>(); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
82 /** List of wTables in inputhelper section. */ |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
83 protected List<WTable> wTables; |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
84 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
85 /** Tabs in inputhelper area. */ |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
86 protected TabSet tabs; |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
87 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
88 public AbstractWQAdaptedInputPanel() { |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
89 this.wqranges = new HashMap<String, DoubleArrayPanel>(); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
90 this.qranges = new HashMap<String, double[]>(); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
91 this.wTables = new ArrayList<WTable>(); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
92 this.qdTables = new ArrayList<QDTable>(); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
93 } |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
94 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
95 /** Inits the helper panel. */ |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
96 // TODO duplicate in WQInputPanel |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
97 protected void initHelperPanel() { |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
98 this.tabs = new TabSet(); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
99 this.tabs.setWidth100(); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
100 this.tabs.setHeight100(); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
101 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
102 // For each gauge, add two tabs with helper tables. |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
103 createTabs(); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
104 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
105 this.helperContainer.addMember(this.tabs); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
106 } |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
107 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
108 /** Create labels, canvasses, layouts. */ |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
109 @Override |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
110 public Canvas create(final DataList data) { |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
111 beforeCreate(data); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
112 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
113 readGaugeRanges(data); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
114 initHelperPanel(); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
115 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
116 final Canvas submit = getNextButton(); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
117 final Canvas widget = createWidget(data); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
118 final Label label = new Label(this.MSG.wqadaptedTitle()); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
119 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
120 label.setHeight(25); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
121 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
122 final VLayout layout = new VLayout(); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
123 layout.setMembersMargin(10); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
124 layout.setWidth(350); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
125 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
126 layout.addMember(label); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
127 layout.addMember(widget); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
128 layout.addMember(submit); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
129 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
130 fetchWQData(); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
131 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
132 initTableListeners(); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
133 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
134 afterCreate(); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
135 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
136 return layout; |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
137 } |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
138 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
139 protected abstract void createTabs(); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
140 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
141 protected abstract void beforeCreate(final DataList data); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
142 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
143 protected abstract void afterCreate(); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
144 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
145 /** |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
146 * Initializes the listeners of the WQD tables. |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
147 */ |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
148 // TODO dupe from WQInputPanel |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
149 protected void initTableListeners() { |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
150 int i = 0; |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
151 for (final QDTable qdTable : this.qdTables) { |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
152 // Register listener such that values are filled in on click. |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
153 final QDTable table = qdTable; |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
154 final int fi = i; |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
155 final CellClickHandler handler = new CellClickHandler() { |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
156 @Override |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
157 public void onCellClick(final CellClickEvent e) { |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
158 if (table.isDisabled() || table.isLocked()) { |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
159 return; |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
160 } |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
161 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
162 final Record r = e.getRecord(); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
163 final double val = r.getAttributeAsDouble("value"); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
164 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
165 AbstractWQAdaptedInputPanel.this.doubleArrayPanels.get(fi).setValues(new double[] { val }); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
166 // If a named value for first gauge is chosen, |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
167 // try to find and set |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
168 // the values to the other panels too. |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
169 if (fi == 0) { |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
170 final String valueName = r.getAttribute("name"); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
171 int oi = 0; |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
172 // TODO instead of oi use random access. |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
173 for (final QDTable otherQDTable : AbstractWQAdaptedInputPanel.this.qdTables) { |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
174 if (oi == 0) { |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
175 oi++; |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
176 continue; |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
177 } |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
178 final Double value = otherQDTable.findRecordValue(valueName); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
179 if (value == null) { |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
180 SC.warn(AbstractWQAdaptedInputPanel.this.MSG.noMainValueAtGauge()); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
181 } else { |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
182 AbstractWQAdaptedInputPanel.this.doubleArrayPanels.get(oi).setValues(new double[] { value }); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
183 } |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
184 oi++; |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
185 } |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
186 } else { |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
187 // Focus next. |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
188 if (fi != AbstractWQAdaptedInputPanel.this.doubleArrayPanels.size() - 1) { |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
189 AbstractWQAdaptedInputPanel.this.doubleArrayPanels.get(fi + 1).focusInItem(1); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
190 } |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
191 } |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
192 } |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
193 }; |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
194 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
195 qdTable.addCellClickHandler(handler); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
196 i++; |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
197 } |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
198 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
199 i = 0; |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
200 for (final WTable wTable : this.wTables) { |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
201 // Register listener such that values are filled in on click. |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
202 final WTable table = wTable; |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
203 final int fi = i; |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
204 final CellClickHandler handler = new CellClickHandler() { |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
205 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
206 @Override |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
207 public void onCellClick(final CellClickEvent e) { |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
208 if (table.isDisabled()) { |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
209 return; |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
210 } |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
211 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
212 final Record r = e.getRecord(); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
213 final double val = r.getAttributeAsDouble("value"); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
214 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
215 AbstractWQAdaptedInputPanel.this.doubleArrayPanels.get(fi).setValues(new double[] { val }); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
216 // If a named value for first gauge is chosen, |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
217 // try to find and set |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
218 // the values to the other panels too. |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
219 if (fi == 0) { |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
220 final String valueName = r.getAttribute("name"); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
221 int oi = 0; |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
222 // TODO instead of oi use random access. |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
223 for (final WTable otherWTable : AbstractWQAdaptedInputPanel.this.wTables) { |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
224 if (oi == 0) { |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
225 oi++; |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
226 continue; |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
227 } |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
228 final Double value = otherWTable.findRecordValue(valueName); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
229 if (value == null) { |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
230 // TODO: afterwards it freaks out |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
231 SC.warn(AbstractWQAdaptedInputPanel.this.MSG.noMainValueAtGauge()); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
232 } else { |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
233 AbstractWQAdaptedInputPanel.this.doubleArrayPanels.get(oi).setValues(new double[] { value }); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
234 } |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
235 oi++; |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
236 } |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
237 } else { |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
238 // Focus next. |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
239 if (fi != AbstractWQAdaptedInputPanel.this.doubleArrayPanels.size() - 1) { |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
240 AbstractWQAdaptedInputPanel.this.doubleArrayPanels.get(fi + 1).focusInItem(1); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
241 } |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
242 } |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
243 } |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
244 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
245 }; |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
246 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
247 wTable.addCellClickHandler(handler); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
248 i++; |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
249 } |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
250 } |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
251 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
252 /** Create area showing previously entered w or q data. */ |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
253 protected final Canvas createOldWQValues(final Data wqData, final boolean isQ) { |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
254 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
255 final VLayout layout = new VLayout(); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
256 if (wqData != null) { |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
257 final DataItem item = wqData.getItems()[0]; |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
258 final String value = item.getStringValue(); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
259 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
260 final String[] gauges = value.split(GAUGE_SEPARATOR); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
261 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
262 final String unit = isQ ? "m³/s" : "cm"; |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
263 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
264 for (final String gauge : gauges) { |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
265 final HLayout h = new HLayout(); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
266 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
267 final String[] parts = gauge.split(GAUGE_PART_SEPARATOR); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
268 final String[] values = parts[3].split(VALUE_SEPARATOR); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
269 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
270 final Label l = new Label(parts[2] + ": "); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
271 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
272 final StringBuilder sb = new StringBuilder(); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
273 boolean first = true; |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
274 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
275 for (final String v : values) { |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
276 if (!first) { |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
277 sb.append(", "); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
278 } |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
279 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
280 sb.append(v); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
281 sb.append(" "); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
282 sb.append(unit); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
283 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
284 first = false; |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
285 } |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
286 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
287 final Label v = new Label(sb.toString()); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
288 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
289 l.setWidth(65); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
290 v.setWidth(65); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
291 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
292 h.addMember(l); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
293 h.addMember(v); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
294 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
295 layout.addMember(h); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
296 } |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
297 } |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
298 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
299 return layout; |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
300 } |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
301 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
302 protected void initUserWQValues(final DataList dataList) { |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
303 final List<Data> allData = dataList.getAll(); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
304 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
305 final Data dDef = getData(allData, "wq_values"); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
306 final DataItem def = dDef != null ? dDef.getDefault() : null; |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
307 final String value = def != null ? def.getStringValue() : null; |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
308 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
309 if (value == null || value.length() == 0) { |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
310 return; |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
311 } |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
312 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
313 final String[] lines = value.split(GAUGE_SEPARATOR); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
314 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
315 if (lines == null || lines.length == 0) { |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
316 return; |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
317 } |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
318 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
319 for (final String line : lines) { |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
320 final String[] cols = line.split(GAUGE_PART_SEPARATOR); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
321 // final String title = createLineTitle(line); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
322 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
323 if (cols == null || cols.length < 3) { |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
324 continue; |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
325 } |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
326 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
327 final String[] strValues = cols[2].split(VALUE_SEPARATOR); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
328 final double[] values = new double[strValues.length]; |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
329 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
330 int idx = 0; |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
331 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
332 for (final String strValue : strValues) { |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
333 try { |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
334 values[idx++] = Double.valueOf(strValue); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
335 } |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
336 catch (final NumberFormatException nfe) { |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
337 // do nothing |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
338 } |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
339 } |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
340 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
341 final String key = cols[0] + GAUGE_PART_SEPARATOR + cols[1]; |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
342 final DoubleArrayPanel dap = this.wqranges.get(key); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
343 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
344 if (dap == null) { |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
345 continue; |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
346 } |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
347 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
348 dap.setValues(values); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
349 } |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
350 } |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
351 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
352 /** Populate Gauge Ranges array. */ |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
353 protected final void readGaugeRanges(final DataList dataList) { |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
354 final List<WQDataItem> items = getWQItems(dataList); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
355 this.gaugeRanges = new ArrayList<Double[]>(); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
356 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
357 for (final DataItem item : items) { |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
358 if (item instanceof WQDataItem) { |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
359 final String[] startEndKm = item.getLabel().split(";"); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
360 final Double[] kvp = new Double[] { Double.parseDouble(startEndKm[0]), Double.parseDouble(startEndKm[1]) }; |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
361 this.gaugeRanges.add(kvp); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
362 } |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
363 } |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
364 } |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
365 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
366 /** Get items which are not WQ_MODE. */ |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
367 protected List<WQDataItem> getWQItems(final DataList dataList) { |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
368 final List<Data> data = dataList.getAll(); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
369 final List<WQDataItem> results = new ArrayList<WQDataItem>(); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
370 for (final Data d : data) { |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
371 final DataItem[] items = d.getItems(); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
372 if (items != null) { |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
373 for (final Object item : items) { |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
374 if (item instanceof WQDataItem) |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
375 results.add((WQDataItem) item); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
376 } |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
377 } |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
378 } |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
379 return results; |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
380 } |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
381 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
382 protected final Data getWQValues(final String dataKey) { |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
383 String wqvalue = null; |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
384 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
385 for (final Map.Entry<String, DoubleArrayPanel> entry : this.wqranges.entrySet()) { |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
386 final String key = entry.getKey(); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
387 final DoubleArrayPanel dap = entry.getValue(); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
388 final String label = dap.getItemTitle(); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
389 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
390 final double[] values = dap.getInputValues(); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
391 if (wqvalue == null) { |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
392 wqvalue = createValueString(key + ";" + label, values); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
393 } else { |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
394 wqvalue += GAUGE_SEPARATOR + createValueString(key + ";" + label, values); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
395 } |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
396 } |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
397 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
398 final DataItem valueItem = new DefaultDataItem(dataKey, dataKey, wqvalue); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
399 final Data values = new DefaultData(dataKey, null, null, new DataItem[] { valueItem }); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
400 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
401 return values; |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
402 } |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
403 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
404 protected String createValueString(final String key, final double[] values) { |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
405 final StringBuilder sb = new StringBuilder(); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
406 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
407 boolean first = true; |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
408 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
409 for (final double value : values) { |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
410 if (!first) { |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
411 sb.append(","); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
412 } |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
413 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
414 sb.append(Double.toString(value)); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
415 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
416 first = false; |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
417 } |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
418 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
419 return key + ";" + sb.toString(); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
420 } |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
421 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
422 @Override |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
423 public void onChange(final ChangeEvent event) { |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
424 // TODO IMPLEMENT ME |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
425 } |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
426 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
427 /** Store the currently focussed DoubleArrayPanel and focus helper tab. */ |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
428 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
429 @Override |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
430 public final void onBlur(final BlurEvent event) { |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
431 final DoubleArrayPanel dap = (DoubleArrayPanel) event.getForm(); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
432 dap.validateForm(event.getItem()); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
433 } |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
434 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
435 /** Get the WQD data from service and stuck them up that tables. */ |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
436 protected void fetchWQData() { |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
437 final Config config = Config.getInstance(); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
438 final String locale = config.getLocale(); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
439 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
440 final ArtifactDescription adescr = this.artifact.getArtifactDescription(); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
441 final DataList[] data = adescr.getOldData(); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
442 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
443 final String river = getRiverName(data); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
444 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
445 int i = 0; |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
446 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
447 // Get Data for respective gauge. |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
448 for (final Double[] range : this.gaugeRanges) { |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
449 // Gauge ranges overlap, move start and end a bit closer |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
450 // to each other. |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
451 final double rDiff = (range[1] - range[0]) / 10d; |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
452 final int fi = i; |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
453 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
454 final AsyncCallback<WQInfoObject[]> cb = new AsyncCallback<WQInfoObject[]>() { |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
455 @Override |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
456 public void onFailure(final Throwable caught) { |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
457 GWT.log("Could not recieve wq informations."); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
458 SC.warn(caught.getMessage()); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
459 } |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
460 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
461 @Override |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
462 public void onSuccess(final WQInfoObject[] wqi) { |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
463 final int num = wqi != null ? wqi.length : 0; |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
464 GWT.log("Received " + num + " wq informations (" + fi + "."); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
465 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
466 if (num == 0) { |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
467 return; |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
468 } |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
469 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
470 addWQInfo(wqi, fi); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
471 } |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
472 }; |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
473 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
474 callMainValuesService(locale, river, range[0] + rDiff, range[1] - rDiff, cb); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
475 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
476 i++; |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
477 } |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
478 } |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
479 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
480 protected abstract void callMainValuesService(String locale, String river, double start, double end, AsyncCallback<WQInfoObject[]> cb); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
481 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
482 /** Add Info to helper table for gauge at index gaugeIdx. */ |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
483 private void addWQInfo(final WQInfoObject[] wqi, final int gaugeIdx) { |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
484 for (final WQInfoObject wi : wqi) { |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
485 final WQInfoRecord rec = new WQInfoRecord(wi); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
486 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
487 if (wi.getType().equals("W")) { |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
488 if (gaugeIdx < this.wTables.size()) |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
489 this.wTables.get(gaugeIdx).addData(rec); |
9393 | 490 } else { // Q,D,- alle gehören hier rein! |
9288
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
491 if (gaugeIdx < this.qdTables.size()) |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
492 this.qdTables.get(gaugeIdx).addData(rec); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
493 } |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
494 } |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
495 } |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
496 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
497 /** |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
498 * Returns the name of the selected river. |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
499 * |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
500 * @param data |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
501 * The DataList with all data. |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
502 * |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
503 * @return the name of the current river. |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
504 */ |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
505 protected String getRiverName(final DataList[] data) { |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
506 final ArtifactDescription adesc = this.artifact.getArtifactDescription(); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
507 return adesc.getRiver(); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
508 } |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
509 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
510 abstract protected Canvas createWidget(final DataList dataList); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
diff
changeset
|
511 } |