annotate gwt-client/src/main/java/org/dive4elements/river/client/client/ui/PeriodPanel.java @ 8870:c26fb37899ca

Introduced groups for modules. Modules marked with the same group-id, will be put together in the ui. Also using now the localization info from the server instead of localizing the modules again on the client side.
author gernotbelger
date Wed, 07 Feb 2018 11:59:13 +0100
parents 5e38e2924c07
children
rev   line source
5861
172338b1407f GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
1 /* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde
172338b1407f GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
2 * Software engineering by Intevation GmbH
172338b1407f GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
3 *
5993
ea9eef426962 Removed trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5861
diff changeset
4 * This file is Free Software under the GNU AGPL (>=v3)
5861
172338b1407f GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
5 * and comes with ABSOLUTELY NO WARRANTY! Check out the
5993
ea9eef426962 Removed trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5861
diff changeset
6 * documentation coming with Dive4Elements River for details.
5861
172338b1407f GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
7 */
172338b1407f GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
8
5835
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
9 package org.dive4elements.river.client.client.ui;
2898
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
10
2899
93302bd16f42 Removed superfluous imports.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2898
diff changeset
11 import com.google.gwt.core.client.GWT;
2898
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
12 import com.google.gwt.i18n.client.DateTimeFormat;
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
13
7942
1d6e5d9d9e57 Fixed date range input panels.
Raimund Renkert <rrenkert@intevation.de>
parents: 5993
diff changeset
14 import com.smartgwt.client.data.DateRange;
2898
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
15 import com.smartgwt.client.util.SC;
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
16 import com.smartgwt.client.widgets.Canvas;
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
17 import com.smartgwt.client.widgets.Label;
2899
93302bd16f42 Removed superfluous imports.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2898
diff changeset
18 import com.smartgwt.client.widgets.form.DynamicForm;
93302bd16f42 Removed superfluous imports.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2898
diff changeset
19 import com.smartgwt.client.widgets.form.fields.DateRangeItem;
2898
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
20 import com.smartgwt.client.widgets.layout.HLayout;
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
21 import com.smartgwt.client.widgets.layout.VLayout;
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
22
5835
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
23 import org.dive4elements.river.client.client.FLYSConstants;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
24 import org.dive4elements.river.client.shared.model.Data;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
25 import org.dive4elements.river.client.shared.model.DataItem;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
26 import org.dive4elements.river.client.shared.model.DataList;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
27 import org.dive4elements.river.client.shared.model.DefaultData;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
28 import org.dive4elements.river.client.shared.model.DefaultDataItem;
2899
93302bd16f42 Removed superfluous imports.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2898
diff changeset
29
93302bd16f42 Removed superfluous imports.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2898
diff changeset
30 import java.util.ArrayList;
93302bd16f42 Removed superfluous imports.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2898
diff changeset
31 import java.util.Date;
93302bd16f42 Removed superfluous imports.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2898
diff changeset
32 import java.util.List;
2898
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
33
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
34 /**
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
35 * This UIProvider creates a panel for location or distance input.
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
36 *
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
37 * @author <a href="mailto:raimund.renkert@intevation.de">Raimund Renkert</a>
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
38 */
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
39 public class PeriodPanel
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
40 extends AbstractUIProvider
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
41 {
4184
03de5c424f95 Fix warnings and minor TODOs in flys-client.
Christian Lins <christian.lins@intevation.de>
parents: 3379
diff changeset
42 private static final long serialVersionUID = -5249560815807538821L;
03de5c424f95 Fix warnings and minor TODOs in flys-client.
Christian Lins <christian.lins@intevation.de>
parents: 3379
diff changeset
43
2898
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
44 /** The message class that provides i18n strings. */
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
45 protected FLYSConstants MSG = GWT.create(FLYSConstants.class);
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
46
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
47 DateRangeItem inputPanel;
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
48
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
49 long start;
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
50 long end;
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
51
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
52 protected String startName;
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
53 protected String endName;
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
54
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
55 public PeriodPanel() {
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
56 this("start", "end");
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
57 }
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
58
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
59 public PeriodPanel(String startName, String endName) {
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
60 this.startName = startName;
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
61 this.endName = endName;
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
62 }
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
63
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
64
4184
03de5c424f95 Fix warnings and minor TODOs in flys-client.
Christian Lins <christian.lins@intevation.de>
parents: 3379
diff changeset
65 @Override
2898
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
66 public Canvas create(DataList list) {
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
67 VLayout layout = new VLayout();
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
68
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
69 Canvas helper = createHelper();
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
70 this.helperContainer.addMember(helper);
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
71
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
72 Canvas submit = getNextButton();
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
73 Canvas widget = createWidget(list);
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
74
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
75 layout.addMember(widget);
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
76 layout.addMember(submit);
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
77 return layout;
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
78 }
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
79
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
80
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
81 public Canvas createWidget(DataList data) {
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
82 VLayout layout = new VLayout();
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
83
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
84 Label title = new Label(data.get(0).getDescription());
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
85 title.setHeight("25px");
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
86
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
87 DynamicForm form = new DynamicForm();
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
88 inputPanel = new DateRangeItem();
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
89 inputPanel.setToTitle(MSG.to());
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
90 inputPanel.setFromTitle(MSG.from());
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
91 inputPanel.setShowTitle(false);
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
92 form.setFields(inputPanel);
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
93
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
94 layout.addMember(title);
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
95 layout.addMember(form);
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
96
8619
156980fb3cb9 Try to find "default" data items for start and end in period panel
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7942
diff changeset
97 /* Try to find default values for the periods */
8623
289486a43be8 Actually check if there are no items instead of no data.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8619
diff changeset
98 Data start = getData(data.getAll(), startName);
289486a43be8 Actually check if there are no items instead of no data.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8619
diff changeset
99 Data end = getData(data.getAll(), endName);
8629
97365575da6f Handle the case where the period panel is used in a state without start and end
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8623
diff changeset
100 if (start == null || end == null ||
97365575da6f Handle the case where the period panel is used in a state without start and end
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8623
diff changeset
101 start.getItems() == null || end.getItems() == null) {
8619
156980fb3cb9 Try to find "default" data items for start and end in period panel
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7942
diff changeset
102 return layout;
156980fb3cb9 Try to find "default" data items for start and end in period panel
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7942
diff changeset
103 }
156980fb3cb9 Try to find "default" data items for start and end in period panel
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7942
diff changeset
104
156980fb3cb9 Try to find "default" data items for start and end in period panel
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7942
diff changeset
105 for (DataItem item: start.getItems()) {
156980fb3cb9 Try to find "default" data items for start and end in period panel
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7942
diff changeset
106 if (item.getLabel().equals("default")) {
156980fb3cb9 Try to find "default" data items for start and end in period panel
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7942
diff changeset
107 Date defDate = new Date(Long.parseLong(item.getStringValue()));
156980fb3cb9 Try to find "default" data items for start and end in period panel
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7942
diff changeset
108 inputPanel.setFromDate(defDate);
156980fb3cb9 Try to find "default" data items for start and end in period panel
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7942
diff changeset
109 }
156980fb3cb9 Try to find "default" data items for start and end in period panel
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7942
diff changeset
110 }
156980fb3cb9 Try to find "default" data items for start and end in period panel
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7942
diff changeset
111 for (DataItem item: end.getItems()) {
156980fb3cb9 Try to find "default" data items for start and end in period panel
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7942
diff changeset
112 if (item.getLabel().equals("default")) {
156980fb3cb9 Try to find "default" data items for start and end in period panel
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7942
diff changeset
113 Date defDate = new Date(Long.parseLong(item.getStringValue()));
156980fb3cb9 Try to find "default" data items for start and end in period panel
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7942
diff changeset
114 inputPanel.setToDate(defDate);
156980fb3cb9 Try to find "default" data items for start and end in period panel
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7942
diff changeset
115 }
156980fb3cb9 Try to find "default" data items for start and end in period panel
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7942
diff changeset
116 }
2898
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
117 return layout;
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
118 }
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
119
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
120 protected Canvas createHelper() {
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
121 return new VLayout();
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
122 }
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
123
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
124 @Override
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
125 public Canvas createOld(DataList dataList) {
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
126 List<Data> items = dataList.getAll();
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
127
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
128 Data start = getData(items, startName);
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
129 Data end = getData(items, endName);
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
130 DataItem[] startItem = start.getItems();
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
131 DataItem[] endItem = end.getItems();
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
132
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
133 String v1 = startItem[0].getStringValue();
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
134 String v2 = endItem[0].getStringValue();
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
135
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
136 long v1l = 0;
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
137 long v2l = 0;
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
138 try {
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
139 v1l = Long.parseLong(v1);
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
140 v2l = Long.parseLong(v2);
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
141 }
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
142 catch(NumberFormatException nfe) {
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
143 GWT.log(nfe.toString());
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
144 }
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
145 Date d1 = new Date(v1l);
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
146 Date d2 = new Date(v2l);
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
147
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
148 DateTimeFormat f =
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
149 DateTimeFormat.getFormat(
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
150 DateTimeFormat.PredefinedFormat.DATE_MEDIUM);
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
151 StringBuilder sb = new StringBuilder();
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
152 sb.append(f.format(d1) + " - ");
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
153 sb.append(f.format(d2));
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
154
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
155 Label old = new Label(sb.toString());
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
156 old.setWidth(130);
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
157
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
158 HLayout layout = new HLayout();
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
159 layout.setWidth("400px");
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
160
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
161 Label label = new Label(dataList.getLabel());
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
162 label.setWidth("200px");
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
163
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
164 Canvas back = getBackButton(dataList.getState());
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
165
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
166 layout.addMember(label);
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
167 layout.addMember(old);
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
168 layout.addMember(back);
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
169
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
170 return layout;
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
171 }
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
172
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
173
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
174 /**
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
175 * This method returns the selected data.
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
176 *
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
177 * @return the selected/inserted data.
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
178 */
4184
03de5c424f95 Fix warnings and minor TODOs in flys-client.
Christian Lins <christian.lins@intevation.de>
parents: 3379
diff changeset
179 @Override
2898
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
180 public Data[] getData() {
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
181 List<Data> data = new ArrayList<Data>();
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
182
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
183 boolean valid = saveDateValues();
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
184 if(valid) {
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
185 String start = Long.valueOf(this.start).toString();
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
186 String end = Long.valueOf(this.end).toString();
8856
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8629
diff changeset
187 DataItem startItem = new DefaultDataItem(
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8629
diff changeset
188 startName, startName, start);
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8629
diff changeset
189 DataItem endItem = new DefaultDataItem(
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8629
diff changeset
190 endName, endName, end);
2898
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
191 data.add(new DefaultData(
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
192 startName,
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
193 null,
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
194 null,
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
195 new DataItem[] { startItem }));
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
196 data.add(new DefaultData(
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
197 endName,
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
198 null,
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
199 null,
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
200 new DataItem[] { endItem }));
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
201 }
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
202
3379
0de61fc9d281 Removed some superfluous casts.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2899
diff changeset
203 return data.toArray(new Data[data.size()]);
2898
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
204 }
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
205
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
206
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
207 protected boolean saveDateValues() {
7942
1d6e5d9d9e57 Fixed date range input panels.
Raimund Renkert <rrenkert@intevation.de>
parents: 5993
diff changeset
208 DateRange range = inputPanel.getValue();
1d6e5d9d9e57 Fixed date range input panels.
Raimund Renkert <rrenkert@intevation.de>
parents: 5993
diff changeset
209 Date st = range.getStartDate();
1d6e5d9d9e57 Fixed date range input panels.
Raimund Renkert <rrenkert@intevation.de>
parents: 5993
diff changeset
210 Date en = range.getEndDate();
2898
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
211 if (st == null || en == null) {
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
212 SC.warn(MSG.error_wrong_date());
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
213 return false;
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
214 }
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
215
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
216 long start = st.getTime();
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
217 long end = en.getTime();
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
218
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
219 if (start <= end) {
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
220 this.start = start;
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
221 this.end = end;
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
222 return true;
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
223 }
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
224 return false;
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
225 }
242b5c230707 Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
226 }

http://dive4elements.wald.intevation.org