Mercurial > dive4elements > river
annotate gwt-client/src/main/java/org/dive4elements/river/client/client/ui/PeriodPanel.java @ 8619:156980fb3cb9
Try to find "default" data items for start and end in period panel
This is not using the DefaultValue mechanismn which also exists
as the DefaultValue mechanism is deprecated and a candidate for
removal.
author | Andre Heinecke <andre.heinecke@intevation.de> |
---|---|
date | Wed, 25 Mar 2015 19:18:43 +0100 |
parents | 1d6e5d9d9e57 |
children | 289486a43be8 |
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 */ |
156980fb3cb9
Try to find "default" data items for start and end in period panel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
7942
diff
changeset
|
98 Data start = getData(data.getAll(), "start"); |
156980fb3cb9
Try to find "default" data items for start and end in period panel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
7942
diff
changeset
|
99 Data end = getData(data.getAll(), "end"); |
156980fb3cb9
Try to find "default" data items for start and end in period panel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
7942
diff
changeset
|
100 if (start == null || end == null) { |
156980fb3cb9
Try to find "default" data items for start and end in period panel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
7942
diff
changeset
|
101 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
|
102 } |
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 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
|
105 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
|
106 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
|
107 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
|
108 } |
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 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
|
111 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
|
112 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
|
113 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
|
114 } |
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 } |
2898
242b5c230707
Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
116 return layout; |
242b5c230707
Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
117 } |
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 protected Canvas createHelper() { |
242b5c230707
Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
120 return new VLayout(); |
242b5c230707
Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
121 } |
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 @Override |
242b5c230707
Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
124 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
|
125 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
|
126 |
242b5c230707
Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
127 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
|
128 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
|
129 DataItem[] startItem = start.getItems(); |
242b5c230707
Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
130 DataItem[] endItem = end.getItems(); |
242b5c230707
Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
131 |
242b5c230707
Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
132 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
|
133 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
|
134 |
242b5c230707
Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
135 long v1l = 0; |
242b5c230707
Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
136 long v2l = 0; |
242b5c230707
Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
137 try { |
242b5c230707
Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
138 v1l = Long.parseLong(v1); |
242b5c230707
Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
139 v2l = Long.parseLong(v2); |
242b5c230707
Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
140 } |
242b5c230707
Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
141 catch(NumberFormatException nfe) { |
242b5c230707
Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
142 GWT.log(nfe.toString()); |
242b5c230707
Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
143 } |
242b5c230707
Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
144 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
|
145 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
|
146 |
242b5c230707
Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
147 DateTimeFormat f = |
242b5c230707
Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
148 DateTimeFormat.getFormat( |
242b5c230707
Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
149 DateTimeFormat.PredefinedFormat.DATE_MEDIUM); |
242b5c230707
Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
150 StringBuilder sb = new StringBuilder(); |
242b5c230707
Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
151 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
|
152 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
|
153 |
242b5c230707
Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
154 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
|
155 old.setWidth(130); |
242b5c230707
Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
156 |
242b5c230707
Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
157 HLayout layout = new HLayout(); |
242b5c230707
Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
158 layout.setWidth("400px"); |
242b5c230707
Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
159 |
242b5c230707
Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
160 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
|
161 label.setWidth("200px"); |
242b5c230707
Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
162 |
242b5c230707
Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
163 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
|
164 |
242b5c230707
Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
165 layout.addMember(label); |
242b5c230707
Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
166 layout.addMember(old); |
242b5c230707
Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
167 layout.addMember(back); |
242b5c230707
Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
168 |
242b5c230707
Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
169 return layout; |
242b5c230707
Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
170 } |
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 * 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
|
175 * |
242b5c230707
Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
176 * @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
|
177 */ |
4184
03de5c424f95
Fix warnings and minor TODOs in flys-client.
Christian Lins <christian.lins@intevation.de>
parents:
3379
diff
changeset
|
178 @Override |
2898
242b5c230707
Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
179 public Data[] getData() { |
242b5c230707
Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
180 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
|
181 |
242b5c230707
Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
182 boolean valid = saveDateValues(); |
242b5c230707
Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
183 if(valid) { |
242b5c230707
Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
184 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
|
185 String end = Long.valueOf(this.end).toString(); |
242b5c230707
Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
186 DataItem startItem = new DefaultDataItem(startName, startName, start); |
242b5c230707
Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
187 DataItem endItem = new DefaultDataItem(endName, endName, end); |
242b5c230707
Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
188 data.add(new DefaultData( |
242b5c230707
Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
189 startName, |
242b5c230707
Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
190 null, |
242b5c230707
Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
191 null, |
242b5c230707
Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
192 new DataItem[] { startItem })); |
242b5c230707
Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
193 data.add(new DefaultData( |
242b5c230707
Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
194 endName, |
242b5c230707
Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
195 null, |
242b5c230707
Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
196 null, |
242b5c230707
Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
197 new DataItem[] { endItem })); |
242b5c230707
Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
198 } |
242b5c230707
Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
199 |
3379
0de61fc9d281
Removed some superfluous casts.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2899
diff
changeset
|
200 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
|
201 } |
242b5c230707
Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
202 |
242b5c230707
Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
203 |
242b5c230707
Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
204 protected boolean saveDateValues() { |
7942
1d6e5d9d9e57
Fixed date range input panels.
Raimund Renkert <rrenkert@intevation.de>
parents:
5993
diff
changeset
|
205 DateRange range = inputPanel.getValue(); |
1d6e5d9d9e57
Fixed date range input panels.
Raimund Renkert <rrenkert@intevation.de>
parents:
5993
diff
changeset
|
206 Date st = range.getStartDate(); |
1d6e5d9d9e57
Fixed date range input panels.
Raimund Renkert <rrenkert@intevation.de>
parents:
5993
diff
changeset
|
207 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
|
208 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
|
209 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
|
210 return false; |
242b5c230707
Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
211 } |
242b5c230707
Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
212 |
242b5c230707
Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
213 long start = st.getTime(); |
242b5c230707
Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
214 long end = en.getTime(); |
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 if (start <= end) { |
242b5c230707
Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
217 this.start = start; |
242b5c230707
Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
218 this.end = end; |
242b5c230707
Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
219 return true; |
242b5c230707
Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
220 } |
242b5c230707
Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
221 return false; |
242b5c230707
Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
222 } |
242b5c230707
Added UI for S-Q-relation parameters in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
223 } |