annotate flys-client/src/main/java/de/intevation/flys/client/client/ui/GaugeTimeRangePanel.java @ 4115:0cc2c3d89a9d

#900 Added complete start and end date to the discharge info service and display on in the client side.
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Fri, 12 Oct 2012 09:27:18 +0200
parents 8d27d2d33d70
children 360e22afb98b f6c73ee1b7f1
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
1602
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
46 public GaugeTimeRangePanel() {
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
47 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
48 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
49 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
50 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
51 }
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
52
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
53 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
54 setDataName(data);
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 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
57
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
58 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
59 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
60 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
61
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
62 initDefaults(data);
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
63
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
64
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
65 initYearTable();
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
66
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
67 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
68
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
69 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
70 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
71 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
72
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
73 helperContainer.addMember(yearTable);
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
74 return root;
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
75 }
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
76
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
77
2468
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
78 @Override
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
79 protected void initDefaults(DataList dataList) {
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
80 RangeData data = findRangeData(dataList);
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
81
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
82 if(data != null) {
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
83 GWT.log("data: " + data);
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
84 }
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
85 }
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
86
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
87
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
88 @Override
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
89 public Canvas createOld(DataList dataList) {
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
90 GWT.log("create old date.");
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
91 Data data = dataList.get(0);
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
92 DataItem[] items = data.getItems();
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
93 GWT.log(data.getClass().toString());
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
94 HLayout layout = new HLayout();
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
95
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
96 Label label = new Label(dataList.getLabel());
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
97 label.setWidth(200);
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
98 label.setHeight(20);
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
99
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
100 Date dl = new Date((Long)((LongRangeData)data).getLower());
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
101 Date du = new Date((Long)((LongRangeData)data).getUpper());
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
102 DateTimeFormat dtf = DateTimeFormat.getMediumDateFormat();
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
103 Label value = new Label(dtf.format(dl) + " - " + dtf.format(du));
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
104 value.setHeight(20);
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
105
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
106 layout.addMember(label);
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
107 layout.addMember(value);
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
108 layout.addMember(getBackButton(dataList.getState()));
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
109
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
110 return layout;
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 @Override
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
115 protected Data[] getData() {
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
116 long lo = getLowerAsLong();
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
117 long up = getUpperAsLong();
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
118
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
119 return new Data[] { new LongRangeData(getDataName(), null, lo, up) };
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
120 }
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
121
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 @Override
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
124 protected Canvas createForm(DataList dataList) {
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
125 HLayout layout = new HLayout();
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
126 DynamicForm form = new DynamicForm();
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
127 dateRange = new DateRangeItem();
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
128 dateRange.setToTitle(MESSAGES.to());
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
129 dateRange.setFromTitle(MESSAGES.from());
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
130 dateRange.setShowTitle(false);
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
131 form.setFields(dateRange);
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(form);
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
134 return layout;
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
135
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
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 @Override
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
140 public Object getMaxLower() {
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
141 Date d = dateRange.getFromDate();
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
142 return new Long(d.getTime());
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
143 }
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
144
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 protected long getLowerAsLong() {
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
147 Date d = dateRange.getFromDate();
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
148 return d.getTime();
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
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
151
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
152 protected long getUpperAsLong() {
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
153 Date d = dateRange.getToDate();
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
154 return d.getTime();
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
155 }
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
156
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
157
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
158 @Override
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
159 public Object getMaxUpper() {
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
160 Date d = dateRange.getToDate();
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
161 return new Long(d.getTime());
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 @Override
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
166 public void setLower(String lower) {
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
167 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
168 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
169 dateRange.setFromDate(new Date(value));
2468
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
170 }
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
171 catch (NumberFormatException nfe) {
2468
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
172 GWT.log("could not parse lower date.");
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
173 //TODO: Messagebox with error.
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
174 }
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 @Override
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
179 public void setUpper(String upper) {
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
180 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
181 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
182 dateRange.setToDate(new Date(value));
2468
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
183 }
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
184 catch (NumberFormatException nfe) {
2468
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
185 GWT.log("could not parse upper date.");
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
186 //TODO: Messagebox with error.
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
187 }
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
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
191 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
192 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
193 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
194 }
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
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
196 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
197 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
198 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
199
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
200 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
201 }
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
202
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
203
1602
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
204 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
205 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
206
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
207 yearTable.setWidth100();
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
208 yearTable.setHeight100();
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
209 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
210 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
211 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
212 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
213
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
214 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
215 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
216 Object value,
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
217 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
218 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
219 ) {
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 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
221 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
222 }
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 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
224 return "";
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
225 }
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
226 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
227 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
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 else {
1602
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
230 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
231 }
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
232 }
1602
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
233 };
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
234
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
235
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
236 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
237 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
238 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
239 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
240 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
241 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
242 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
243 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
244 return;
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
245 }
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
246 else {
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
247 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
248 }
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
249 }
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
250 });
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
251
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
252 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
253 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
254 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
255 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
256 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
257 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
258 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
259 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
260 return;
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 else {
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
263 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
264 }
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
265 }
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
266 });
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
267
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
268 ListGridField desc =
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
269 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
270 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
271 desc.setWidth("*");
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
272
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
273 ListGridField start =
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
274 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
275 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
276 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
277 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
278
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
279 ListGridField end =
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
280 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
281 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
282 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
283 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
284
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
285 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
286
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
287 return yearTable;
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
288 }
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
289
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 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
292 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
293 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
294
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
295 String gauge = "";
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
296 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
297 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
298 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
299 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
300 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
301 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
302 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
303 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
304 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
305 }
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
306 }
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
307 }
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
308 }
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
309 }
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
310 try {
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
311 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
312 }
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
313 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
314 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
315 return 0;
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 }
2468
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
318
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
319
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
320 @Override
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
321 public List<String> validate() {
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
322 List<String> errors = new ArrayList<String>();
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
323 if (dateRange.getFromDate() == null ||
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
324 dateRange.getToDate() == null ||
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
325 !dateRange.getFromDate().before(dateRange.getToDate()))
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
326 {
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
327 String msg = MSG.error_validate_date_range();
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
328 errors.add(msg);
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
329 }
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
330 return errors;
6a65694bdcc2 Issue 506.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1602
diff changeset
331 }
1602
f30919997e57 Added helper input table to state 'timerange' input in hist. discharge curves.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
332 }

http://dive4elements.wald.intevation.org