annotate flys-client/src/main/java/de/intevation/flys/client/client/ui/GaugeTimeRangePanel.java @ 4132:f6c73ee1b7f1

#543 Validate date range in client gauge time range selection state.
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Mon, 15 Oct 2012 09:29:25 +0200
parents 0cc2c3d89a9d
children c722c08cf502
rev   line source
1602
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
1 package de.intevation.flys.client.client.ui;
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
2
2468
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
3 import java.util.ArrayList;
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
4 import java.util.Date;
4115
0cc2c3d89a9d #900 Added complete start and end date to the discharge info service and display on in the client side.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2486
diff changeset
5 import java.util.List;
2468
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
6
1602
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
7 import com.google.gwt.core.client.GWT;
2468
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
8 import com.google.gwt.i18n.client.DateTimeFormat;
4115
0cc2c3d89a9d #900 Added complete start and end date to the discharge info service and display on in the client side.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2486
diff changeset
9 import com.smartgwt.client.data.Record;
1602
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
10 import com.smartgwt.client.types.ListGridFieldType;
4115
0cc2c3d89a9d #900 Added complete start and end date to the discharge info service and display on in the client side.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2486
diff changeset
11 import com.smartgwt.client.widgets.Canvas;
0cc2c3d89a9d #900 Added complete start and end date to the discharge info service and display on in the client side.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2486
diff changeset
12 import com.smartgwt.client.widgets.Label;
2468
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
13 import com.smartgwt.client.widgets.form.DynamicForm;
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
14 import com.smartgwt.client.widgets.form.fields.DateRangeItem;
4115
0cc2c3d89a9d #900 Added complete start and end date to the discharge info service and display on in the client side.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2486
diff changeset
15 import com.smartgwt.client.widgets.grid.CellFormatter;
1602
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
16 import com.smartgwt.client.widgets.grid.ListGrid;
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
17 import com.smartgwt.client.widgets.grid.ListGridField;
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
18 import com.smartgwt.client.widgets.grid.ListGridRecord;
4115
0cc2c3d89a9d #900 Added complete start and end date to the discharge info service and display on in the client side.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2486
diff changeset
19 import com.smartgwt.client.widgets.grid.events.RecordClickEvent;
1602
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
20 import com.smartgwt.client.widgets.grid.events.RecordClickHandler;
4115
0cc2c3d89a9d #900 Added complete start and end date to the discharge info service and display on in the client side.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2486
diff changeset
21 import com.smartgwt.client.widgets.layout.HLayout;
0cc2c3d89a9d #900 Added complete start and end date to the discharge info service and display on in the client side.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2486
diff changeset
22 import com.smartgwt.client.widgets.layout.VLayout;
1602
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
23
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
24 import de.intevation.flys.client.client.Config;
4115
0cc2c3d89a9d #900 Added complete start and end date to the discharge info service and display on in the client side.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2486
diff changeset
25 import de.intevation.flys.client.client.FLYSConstants;
0cc2c3d89a9d #900 Added complete start and end date to the discharge info service and display on in the client side.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2486
diff changeset
26 import de.intevation.flys.client.client.ui.range.DischargeInfoDataSource;
1602
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
27 import de.intevation.flys.client.shared.model.ArtifactDescription;
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
28 import de.intevation.flys.client.shared.model.Data;
4115
0cc2c3d89a9d #900 Added complete start and end date to the discharge info service and display on in the client side.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2486
diff changeset
29 import de.intevation.flys.client.shared.model.DataItem;
0cc2c3d89a9d #900 Added complete start and end date to the discharge info service and display on in the client side.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2486
diff changeset
30 import de.intevation.flys.client.shared.model.DataList;
2468
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
31 import de.intevation.flys.client.shared.model.LongRangeData;
4115
0cc2c3d89a9d #900 Added complete start and end date to the discharge info service and display on in the client side.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2486
diff changeset
32 import de.intevation.flys.client.shared.model.RangeData;
1602
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
33
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
34 /**
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
35 * @author <a href="mailto:raimund.renkert@intevation.de">Raimund Renkert</a>
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
36 */
2468
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
37 public class GaugeTimeRangePanel extends RangePanel {
1602
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
38
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
39 /** The message class that provides i18n strings. */
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
40 protected FLYSConstants MESSAGES = GWT.create(FLYSConstants.class);
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
41
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
42 protected ListGrid yearTable;
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
43
2468
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
44 protected DateRangeItem dateRange;
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
45
4132
f6c73ee1b7f1 #543 Validate date range in client gauge time range selection state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4115
diff changeset
46 protected Long maxUpper;
f6c73ee1b7f1 #543 Validate date range in client gauge time range selection state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4115
diff changeset
47 protected Long maxLower;
f6c73ee1b7f1 #543 Validate date range in client gauge time range selection state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4115
diff changeset
48
f6c73ee1b7f1 #543 Validate date range in client gauge time range selection state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4115
diff changeset
49
1602
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
50 public GaugeTimeRangePanel() {
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
51 GWT.log("Creating YearInputPanel");
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
52 yearTable = new ListGrid();
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
53 yearTable.setAutoFetchData(true);
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
54 yearTable.setShowHeaderContextMenu(false);
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
55 }
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
56
4132
f6c73ee1b7f1 #543 Validate date range in client gauge time range selection state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4115
diff changeset
57 protected void setMaxUpper(DataList dataList) {
f6c73ee1b7f1 #543 Validate date range in client gauge time range selection state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4115
diff changeset
58 LongRangeData range = (LongRangeData) dataList.get(0);
f6c73ee1b7f1 #543 Validate date range in client gauge time range selection state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4115
diff changeset
59 setMaxUpper((Long) range.getUpper());
f6c73ee1b7f1 #543 Validate date range in client gauge time range selection state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4115
diff changeset
60 }
f6c73ee1b7f1 #543 Validate date range in client gauge time range selection state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4115
diff changeset
61
f6c73ee1b7f1 #543 Validate date range in client gauge time range selection state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4115
diff changeset
62 protected void setMaxUpper(Long maxUpper) {
f6c73ee1b7f1 #543 Validate date range in client gauge time range selection state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4115
diff changeset
63 this.maxUpper = maxUpper;
f6c73ee1b7f1 #543 Validate date range in client gauge time range selection state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4115
diff changeset
64 }
f6c73ee1b7f1 #543 Validate date range in client gauge time range selection state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4115
diff changeset
65
f6c73ee1b7f1 #543 Validate date range in client gauge time range selection state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4115
diff changeset
66 protected void setMaxLower(DataList dataList) {
f6c73ee1b7f1 #543 Validate date range in client gauge time range selection state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4115
diff changeset
67 LongRangeData range = (LongRangeData) dataList.get(0);
f6c73ee1b7f1 #543 Validate date range in client gauge time range selection state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4115
diff changeset
68 setMaxLower((Long) range.getLower());
f6c73ee1b7f1 #543 Validate date range in client gauge time range selection state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4115
diff changeset
69 }
f6c73ee1b7f1 #543 Validate date range in client gauge time range selection state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4115
diff changeset
70
f6c73ee1b7f1 #543 Validate date range in client gauge time range selection state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4115
diff changeset
71 protected void setMaxLower(Long maxLower) {
f6c73ee1b7f1 #543 Validate date range in client gauge time range selection state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4115
diff changeset
72 this.maxLower = maxLower;
f6c73ee1b7f1 #543 Validate date range in client gauge time range selection state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4115
diff changeset
73 }
f6c73ee1b7f1 #543 Validate date range in client gauge time range selection state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4115
diff changeset
74
f6c73ee1b7f1 #543 Validate date range in client gauge time range selection state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4115
diff changeset
75
1602
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
76 public Canvas create(DataList data) {
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
77 setDataName(data);
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
78
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
79 VLayout root = new VLayout();
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
80
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
81 root.addMember(createLabel(data));
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
82 root.addMember(createForm(data));
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
83 root.addMember(getNextButton());
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
84
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
85 initDefaults(data);
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
86
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
87
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
88 initYearTable();
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
89
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
90 long gauge = getGaugeNumber();
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
91
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
92 Config config = Config.getInstance();
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
93 String url = config.getServerUrl();
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
94 yearTable.setDataSource(new DischargeInfoDataSource(url, gauge));
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
95
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
96 helperContainer.addMember(yearTable);
4132
f6c73ee1b7f1 #543 Validate date range in client gauge time range selection state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4115
diff changeset
97
f6c73ee1b7f1 #543 Validate date range in client gauge time range selection state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4115
diff changeset
98 setMaxUpper(data);
f6c73ee1b7f1 #543 Validate date range in client gauge time range selection state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4115
diff changeset
99 setMaxLower(data);
f6c73ee1b7f1 #543 Validate date range in client gauge time range selection state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4115
diff changeset
100
1602
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
101 return root;
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
102 }
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
103
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
104
2468
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
105 @Override
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
106 protected void initDefaults(DataList dataList) {
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
107 RangeData data = findRangeData(dataList);
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
108
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
109 if(data != null) {
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
110 GWT.log("data: " + data);
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
111 }
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
112 }
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
113
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
114
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
115 @Override
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
116 public Canvas createOld(DataList dataList) {
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
117 GWT.log("create old date.");
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
118 Data data = dataList.get(0);
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
119 DataItem[] items = data.getItems();
4132
f6c73ee1b7f1 #543 Validate date range in client gauge time range selection state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4115
diff changeset
120
2468
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
121 HLayout layout = new HLayout();
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
122
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
123 Label label = new Label(dataList.getLabel());
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
124 label.setWidth(200);
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
125 label.setHeight(20);
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
126
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
127 Date dl = new Date((Long)((LongRangeData)data).getLower());
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
128 Date du = new Date((Long)((LongRangeData)data).getUpper());
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
129 DateTimeFormat dtf = DateTimeFormat.getMediumDateFormat();
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
130 Label value = new Label(dtf.format(dl) + " - " + dtf.format(du));
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
131 value.setHeight(20);
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
132
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
133 layout.addMember(label);
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
134 layout.addMember(value);
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
135 layout.addMember(getBackButton(dataList.getState()));
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
136
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
137 return layout;
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
138 }
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
139
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
140
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
141 @Override
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
142 protected Data[] getData() {
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
143 long lo = getLowerAsLong();
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
144 long up = getUpperAsLong();
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
145
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
146 return new Data[] { new LongRangeData(getDataName(), null, lo, up) };
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
147 }
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
148
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
149
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
150 @Override
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
151 protected Canvas createForm(DataList dataList) {
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
152 HLayout layout = new HLayout();
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
153 DynamicForm form = new DynamicForm();
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
154 dateRange = new DateRangeItem();
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
155 dateRange.setToTitle(MESSAGES.to());
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
156 dateRange.setFromTitle(MESSAGES.from());
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
157 dateRange.setShowTitle(false);
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
158 form.setFields(dateRange);
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
159
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
160 layout.addMember(form);
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
161 return layout;
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
162
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
163 }
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
164
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
165
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
166 @Override
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
167 public Object getMaxLower() {
4132
f6c73ee1b7f1 #543 Validate date range in client gauge time range selection state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4115
diff changeset
168 return maxLower;
2468
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
169 }
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
170
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
171
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
172 protected long getLowerAsLong() {
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
173 Date d = dateRange.getFromDate();
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
174 return d.getTime();
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
175 }
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
176
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
177
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
178 protected long getUpperAsLong() {
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
179 Date d = dateRange.getToDate();
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
180 return d.getTime();
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
181 }
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
182
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
183
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
184 @Override
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
185 public Object getMaxUpper() {
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
186 Date d = dateRange.getToDate();
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
187 return new Long(d.getTime());
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
188 }
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
189
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
190
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
191 @Override
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
192 public void setLower(String lower) {
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
193 try {
4115
0cc2c3d89a9d #900 Added complete start and end date to the discharge info service and display on in the client side.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2486
diff changeset
194 long value = Long.valueOf(lower);
0cc2c3d89a9d #900 Added complete start and end date to the discharge info service and display on in the client side.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2486
diff changeset
195 dateRange.setFromDate(new Date(value));
2468
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
196 }
4115
0cc2c3d89a9d #900 Added complete start and end date to the discharge info service and display on in the client side.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2486
diff changeset
197 catch (NumberFormatException nfe) {
2468
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
198 GWT.log("could not parse lower date.");
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
199 //TODO: Messagebox with error.
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
200 }
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
201 }
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
202
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
203
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
204 @Override
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
205 public void setUpper(String upper) {
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
206 try {
4115
0cc2c3d89a9d #900 Added complete start and end date to the discharge info service and display on in the client side.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2486
diff changeset
207 long value = Long.valueOf(upper);
0cc2c3d89a9d #900 Added complete start and end date to the discharge info service and display on in the client side.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2486
diff changeset
208 dateRange.setToDate(new Date(value));
2468
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
209 }
4115
0cc2c3d89a9d #900 Added complete start and end date to the discharge info service and display on in the client side.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2486
diff changeset
210 catch (NumberFormatException nfe) {
2468
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
211 GWT.log("could not parse upper date.");
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
212 //TODO: Messagebox with error.
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
213 }
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
214 }
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
215
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
216
4115
0cc2c3d89a9d #900 Added complete start and end date to the discharge info service and display on in the client side.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2486
diff changeset
217 protected String buildDateString(String raw) {
0cc2c3d89a9d #900 Added complete start and end date to the discharge info service and display on in the client side.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2486
diff changeset
218 if (raw == null || raw.length() == 0) {
0cc2c3d89a9d #900 Added complete start and end date to the discharge info service and display on in the client side.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2486
diff changeset
219 return "";
0cc2c3d89a9d #900 Added complete start and end date to the discharge info service and display on in the client side.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2486
diff changeset
220 }
0cc2c3d89a9d #900 Added complete start and end date to the discharge info service and display on in the client side.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2486
diff changeset
221
0cc2c3d89a9d #900 Added complete start and end date to the discharge info service and display on in the client side.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2486
diff changeset
222 long value = Long.valueOf(raw);
0cc2c3d89a9d #900 Added complete start and end date to the discharge info service and display on in the client side.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2486
diff changeset
223 Date date = new Date(value);
0cc2c3d89a9d #900 Added complete start and end date to the discharge info service and display on in the client side.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2486
diff changeset
224 DateTimeFormat dtf = DateTimeFormat.getMediumDateFormat();
0cc2c3d89a9d #900 Added complete start and end date to the discharge info service and display on in the client side.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2486
diff changeset
225
0cc2c3d89a9d #900 Added complete start and end date to the discharge info service and display on in the client side.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2486
diff changeset
226 return dtf.format(date);
0cc2c3d89a9d #900 Added complete start and end date to the discharge info service and display on in the client side.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2486
diff changeset
227 }
0cc2c3d89a9d #900 Added complete start and end date to the discharge info service and display on in the client side.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2486
diff changeset
228
0cc2c3d89a9d #900 Added complete start and end date to the discharge info service and display on in the client side.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2486
diff changeset
229
1602
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
230 protected ListGrid initYearTable() {
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
231 String baseUrl = GWT.getHostPageBaseURL();
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
232
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
233 yearTable.setWidth100();
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
234 yearTable.setHeight100();
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
235 yearTable.setShowRecordComponents(true);
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
236 yearTable.setShowRecordComponentsByCell(true);
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
237 yearTable.setEmptyMessage(MESSAGES.empty_filter());
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
238 yearTable.setCanReorderFields(false);
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
239
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
240 CellFormatter cf = new CellFormatter() {
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
241 public String format(
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
242 Object value,
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
243 ListGridRecord record,
4115
0cc2c3d89a9d #900 Added complete start and end date to the discharge info service and display on in the client side.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2486
diff changeset
244 int rowNum, int colNum
0cc2c3d89a9d #900 Added complete start and end date to the discharge info service and display on in the client side.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2486
diff changeset
245 ) {
0cc2c3d89a9d #900 Added complete start and end date to the discharge info service and display on in the client side.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2486
diff changeset
246 if (value == null) {
0cc2c3d89a9d #900 Added complete start and end date to the discharge info service and display on in the client side.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2486
diff changeset
247 return null;
0cc2c3d89a9d #900 Added complete start and end date to the discharge info service and display on in the client side.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2486
diff changeset
248 }
0cc2c3d89a9d #900 Added complete start and end date to the discharge info service and display on in the client side.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2486
diff changeset
249 else if (value.toString().equals("-1")) {
1602
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
250 return "";
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
251 }
4115
0cc2c3d89a9d #900 Added complete start and end date to the discharge info service and display on in the client side.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2486
diff changeset
252 else if (colNum == 3 || colNum == 4) {
0cc2c3d89a9d #900 Added complete start and end date to the discharge info service and display on in the client side.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2486
diff changeset
253 return buildDateString(value.toString());
0cc2c3d89a9d #900 Added complete start and end date to the discharge info service and display on in the client side.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2486
diff changeset
254 }
0cc2c3d89a9d #900 Added complete start and end date to the discharge info service and display on in the client side.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2486
diff changeset
255 else {
1602
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
256 return value.toString();
4115
0cc2c3d89a9d #900 Added complete start and end date to the discharge info service and display on in the client side.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2486
diff changeset
257 }
0cc2c3d89a9d #900 Added complete start and end date to the discharge info service and display on in the client side.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2486
diff changeset
258 }
1602
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
259 };
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
260
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
261
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
262 ListGridField addstart = new ListGridField ("", "");
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
263 addstart.setType (ListGridFieldType.ICON);
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
264 addstart.setWidth (20);
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
265 addstart.setCellIcon(baseUrl + MESSAGES.markerGreen());
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
266 addstart.addRecordClickHandler(new RecordClickHandler() {
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
267 public void onRecordClick(RecordClickEvent e) {
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
268 Record r = e.getRecord();
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
269 if (r.getAttribute("start").equals("-1")) {
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
270 return;
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
271 }
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
272 else {
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
273 setLower(r.getAttribute("start"));
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
274 }
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
275 }
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
276 });
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
277
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
278 ListGridField addend = new ListGridField ("", "");
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
279 addend.setType (ListGridFieldType.ICON);
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
280 addend.setWidth (20);
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
281 addend.setCellIcon(baseUrl + MESSAGES.markerRed());
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
282 addend.addRecordClickHandler(new RecordClickHandler() {
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
283 public void onRecordClick(RecordClickEvent e) {
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
284 Record r = e.getRecord();
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
285 if (r.getAttribute("end").equals("-1")) {
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
286 return;
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
287 }
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
288 else {
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
289 setUpper(r.getAttribute("end"));
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
290 }
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
291 }
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
292 });
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
293
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
294 ListGridField desc =
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
295 new ListGridField("description", MESSAGES.description());
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
296 desc.setType(ListGridFieldType.TEXT);
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
297 desc.setWidth("*");
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
298
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
299 ListGridField start =
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
300 new ListGridField("start", MESSAGES.start_year());
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
301 start.setType(ListGridFieldType.INTEGER);
4115
0cc2c3d89a9d #900 Added complete start and end date to the discharge info service and display on in the client side.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2486
diff changeset
302 start.setWidth(100);
1602
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
303 start.setCellFormatter(cf);
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
304
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
305 ListGridField end =
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
306 new ListGridField("end", MESSAGES.end_year());
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
307 end.setType(ListGridFieldType.INTEGER);
4115
0cc2c3d89a9d #900 Added complete start and end date to the discharge info service and display on in the client side.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2486
diff changeset
308 end.setWidth(100);
1602
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
309 end.setCellFormatter(cf);
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
310
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
311 yearTable.setFields(addstart, addend, desc, start, end);
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
312
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
313 return yearTable;
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
314 }
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
315
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
316
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
317 protected long getGaugeNumber() {
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
318 ArtifactDescription adescr = artifact.getArtifactDescription();
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
319 DataList[] data = adescr.getOldData();
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
320
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
321 String gauge = "";
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
322 if (data != null && data.length > 0) {
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
323 for (int i = 0; i < data.length; i++) {
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
324 DataList dl = data[i];
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
325 if (dl.getState().equals("state.winfo.historicalq.reference_gauge")) {
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
326 for (int j = 0; j < dl.size(); j++) {
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
327 Data d = dl.get(j);
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
328 DataItem[] di = d.getItems();
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
329 if (di != null && di.length == 1) {
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
330 gauge = d.getItems()[0].getStringValue();
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
331 }
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
332 }
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
333 }
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
334 }
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
335 }
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
336 try {
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
337 return Long.parseLong(gauge);
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
338 }
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
339 catch (NumberFormatException nfe) {
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
340 GWT.log("Error parsing gauge.");
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
341 return 0;
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
342 }
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
343 }
2468
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
344
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
345
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
346 @Override
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
347 public List<String> validate() {
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
348 List<String> errors = new ArrayList<String>();
4132
f6c73ee1b7f1 #543 Validate date range in client gauge time range selection state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4115
diff changeset
349
f6c73ee1b7f1 #543 Validate date range in client gauge time range selection state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4115
diff changeset
350 Date from = dateRange.getFromDate();
f6c73ee1b7f1 #543 Validate date range in client gauge time range selection state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4115
diff changeset
351 Date to = dateRange.getToDate();
f6c73ee1b7f1 #543 Validate date range in client gauge time range selection state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4115
diff changeset
352
f6c73ee1b7f1 #543 Validate date range in client gauge time range selection state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4115
diff changeset
353 if (from == null || to == null) {
2468
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
354 String msg = MSG.error_validate_date_range();
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
355 errors.add(msg);
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
356 }
4132
f6c73ee1b7f1 #543 Validate date range in client gauge time range selection state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4115
diff changeset
357
f6c73ee1b7f1 #543 Validate date range in client gauge time range selection state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4115
diff changeset
358 long maxLow = (Long) getMaxLower();
f6c73ee1b7f1 #543 Validate date range in client gauge time range selection state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4115
diff changeset
359 long maxUpper = (Long) getMaxUpper();
f6c73ee1b7f1 #543 Validate date range in client gauge time range selection state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4115
diff changeset
360 long inLow = from.getTime();
f6c73ee1b7f1 #543 Validate date range in client gauge time range selection state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4115
diff changeset
361 long inUpper = to.getTime();
f6c73ee1b7f1 #543 Validate date range in client gauge time range selection state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4115
diff changeset
362
f6c73ee1b7f1 #543 Validate date range in client gauge time range selection state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4115
diff changeset
363 if (inLow < maxLow) {
f6c73ee1b7f1 #543 Validate date range in client gauge time range selection state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4115
diff changeset
364 errors.add(MSG.error_validate_date_range_invalid());
f6c73ee1b7f1 #543 Validate date range in client gauge time range selection state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4115
diff changeset
365 }
f6c73ee1b7f1 #543 Validate date range in client gauge time range selection state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4115
diff changeset
366 else if (inUpper > maxUpper) {
f6c73ee1b7f1 #543 Validate date range in client gauge time range selection state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4115
diff changeset
367 errors.add(MSG.error_validate_date_range_invalid());
f6c73ee1b7f1 #543 Validate date range in client gauge time range selection state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4115
diff changeset
368 }
f6c73ee1b7f1 #543 Validate date range in client gauge time range selection state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4115
diff changeset
369 else if (inLow > inUpper) {
f6c73ee1b7f1 #543 Validate date range in client gauge time range selection state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4115
diff changeset
370 errors.add(MSG.error_validate_date_range_invalid());
f6c73ee1b7f1 #543 Validate date range in client gauge time range selection state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4115
diff changeset
371 }
f6c73ee1b7f1 #543 Validate date range in client gauge time range selection state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4115
diff changeset
372
2468
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
373 return errors;
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
374 }
1602
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
375 }

http://dive4elements.wald.intevation.org