Mercurial > dive4elements > river
annotate gwt-client/src/main/java/org/dive4elements/river/client/client/ui/fixation/FixPeriodPanel.java @ 9256:6c24c857ccf9
fixation refactoring and inputItem behaviour to interfaces
author | gernotbelger |
---|---|
date | Fri, 13 Jul 2018 12:04:21 +0200 |
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.fixation; |
2505
87ac5c532523
First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
10 |
9256
6c24c857ccf9
fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
8856
diff
changeset
|
11 import java.util.ArrayList; |
6c24c857ccf9
fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
8856
diff
changeset
|
12 import java.util.Date; |
6c24c857ccf9
fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
8856
diff
changeset
|
13 import java.util.List; |
6c24c857ccf9
fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
8856
diff
changeset
|
14 |
6c24c857ccf9
fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
8856
diff
changeset
|
15 import org.dive4elements.river.client.client.FLYSConstants; |
6c24c857ccf9
fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
8856
diff
changeset
|
16 import org.dive4elements.river.client.shared.model.Data; |
6c24c857ccf9
fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
8856
diff
changeset
|
17 import org.dive4elements.river.client.shared.model.DataItem; |
6c24c857ccf9
fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
8856
diff
changeset
|
18 import org.dive4elements.river.client.shared.model.DataList; |
6c24c857ccf9
fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
8856
diff
changeset
|
19 import org.dive4elements.river.client.shared.model.DefaultData; |
6c24c857ccf9
fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
8856
diff
changeset
|
20 import org.dive4elements.river.client.shared.model.DefaultDataItem; |
6c24c857ccf9
fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
8856
diff
changeset
|
21 import org.dive4elements.river.client.shared.model.FixingsOverviewInfo; |
6c24c857ccf9
fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
8856
diff
changeset
|
22 import org.dive4elements.river.client.shared.model.FixingsOverviewInfo.FixEvent; |
6c24c857ccf9
fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
8856
diff
changeset
|
23 |
2505
87ac5c532523
First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
24 import com.google.gwt.core.client.GWT; |
2537
cc5969df0490
New methods in UI providers for fixings states and minor protocol changes.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2526
diff
changeset
|
25 import com.google.gwt.i18n.client.DateTimeFormat; |
2505
87ac5c532523
First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
26 import com.smartgwt.client.util.SC; |
87ac5c532523
First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
27 import com.smartgwt.client.widgets.Canvas; |
87ac5c532523
First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
28 import com.smartgwt.client.widgets.Label; |
3855
b6b2d9aad95d
Fix for #854
Christian Lins <christian.lins@intevation.de>
parents:
3379
diff
changeset
|
29 import com.smartgwt.client.widgets.form.DynamicForm; |
b6b2d9aad95d
Fix for #854
Christian Lins <christian.lins@intevation.de>
parents:
3379
diff
changeset
|
30 import com.smartgwt.client.widgets.form.fields.DateRangeItem; |
2505
87ac5c532523
First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
31 import com.smartgwt.client.widgets.layout.HLayout; |
87ac5c532523
First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
32 import com.smartgwt.client.widgets.layout.VLayout; |
87ac5c532523
First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
33 |
87ac5c532523
First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
34 /** |
87ac5c532523
First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
35 * This UIProvider creates a panel for location or distance input. |
87ac5c532523
First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
36 * |
87ac5c532523
First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
37 * @author <a href="mailto:raimund.renkert@intevation.de">Raimund Renkert</a> |
87ac5c532523
First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
38 */ |
9256
6c24c857ccf9
fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
8856
diff
changeset
|
39 public class FixPeriodPanel extends FixationPanel { |
2505
87ac5c532523
First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
40 /** The message class that provides i18n strings. */ |
87ac5c532523
First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
41 protected FLYSConstants MESSAGES = GWT.create(FLYSConstants.class); |
87ac5c532523
First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
42 |
87ac5c532523
First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
43 DateRangeItem inputPanel; |
87ac5c532523
First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
44 |
87ac5c532523
First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
45 long start; |
87ac5c532523
First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
46 long end; |
87ac5c532523
First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
47 |
2538
c7da05282644
FixPeriodPanel: Make the names of state parameters configurable by constructor.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2537
diff
changeset
|
48 protected String startName; |
c7da05282644
FixPeriodPanel: Make the names of state parameters configurable by constructor.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2537
diff
changeset
|
49 protected String endName; |
c7da05282644
FixPeriodPanel: Make the names of state parameters configurable by constructor.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2537
diff
changeset
|
50 |
2505
87ac5c532523
First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
51 public FixPeriodPanel() { |
2538
c7da05282644
FixPeriodPanel: Make the names of state parameters configurable by constructor.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2537
diff
changeset
|
52 this("start", "end"); |
c7da05282644
FixPeriodPanel: Make the names of state parameters configurable by constructor.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2537
diff
changeset
|
53 } |
c7da05282644
FixPeriodPanel: Make the names of state parameters configurable by constructor.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2537
diff
changeset
|
54 |
9256
6c24c857ccf9
fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
8856
diff
changeset
|
55 public FixPeriodPanel(final String startName, final String endName) { |
2538
c7da05282644
FixPeriodPanel: Make the names of state parameters configurable by constructor.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2537
diff
changeset
|
56 this.startName = startName; |
9256
6c24c857ccf9
fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
8856
diff
changeset
|
57 this.endName = endName; |
2505
87ac5c532523
First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
58 } |
87ac5c532523
First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
59 |
3855
b6b2d9aad95d
Fix for #854
Christian Lins <christian.lins@intevation.de>
parents:
3379
diff
changeset
|
60 @Override |
9256
6c24c857ccf9
fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
8856
diff
changeset
|
61 public Canvas createWidget(final DataList data) { |
2505
87ac5c532523
First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
62 instances.put(this.artifact.getUuid(), this); |
87ac5c532523
First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
63 |
9256
6c24c857ccf9
fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
8856
diff
changeset
|
64 final VLayout layout = new VLayout(); |
2505
87ac5c532523
First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
65 |
9256
6c24c857ccf9
fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
8856
diff
changeset
|
66 final Label title = new Label(data.get(0).getDescription()); |
2505
87ac5c532523
First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
67 title.setHeight("25px"); |
87ac5c532523
First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
68 |
9256
6c24c857ccf9
fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
8856
diff
changeset
|
69 final DynamicForm form = new DynamicForm(); |
6c24c857ccf9
fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
8856
diff
changeset
|
70 this.inputPanel = new DateRangeItem(); |
6c24c857ccf9
fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
8856
diff
changeset
|
71 this.inputPanel.setToTitle(this.MESSAGES.to()); |
6c24c857ccf9
fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
8856
diff
changeset
|
72 this.inputPanel.setFromTitle(this.MESSAGES.from()); |
6c24c857ccf9
fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
8856
diff
changeset
|
73 this.inputPanel.setShowTitle(false); |
6c24c857ccf9
fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
8856
diff
changeset
|
74 form.setFields(this.inputPanel); |
2505
87ac5c532523
First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
75 |
87ac5c532523
First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
76 layout.addMember(title); |
87ac5c532523
First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
77 layout.addMember(form); |
87ac5c532523
First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
78 |
87ac5c532523
First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
79 return layout; |
87ac5c532523
First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
80 } |
87ac5c532523
First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
81 |
87ac5c532523
First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
82 @Override |
9256
6c24c857ccf9
fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
8856
diff
changeset
|
83 public Canvas createOld(final DataList dataList) { |
6c24c857ccf9
fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
8856
diff
changeset
|
84 final List<Data> items = dataList.getAll(); |
2505
87ac5c532523
First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
85 |
9256
6c24c857ccf9
fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
8856
diff
changeset
|
86 final Data start = getData(items, this.startName); |
6c24c857ccf9
fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
8856
diff
changeset
|
87 final Data end = getData(items, this.endName); |
6c24c857ccf9
fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
8856
diff
changeset
|
88 final DataItem[] startItem = start.getItems(); |
6c24c857ccf9
fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
8856
diff
changeset
|
89 final DataItem[] endItem = end.getItems(); |
2505
87ac5c532523
First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
90 |
9256
6c24c857ccf9
fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
8856
diff
changeset
|
91 final String v1 = startItem[0].getStringValue(); |
6c24c857ccf9
fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
8856
diff
changeset
|
92 final String v2 = endItem[0].getStringValue(); |
2537
cc5969df0490
New methods in UI providers for fixings states and minor protocol changes.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2526
diff
changeset
|
93 |
cc5969df0490
New methods in UI providers for fixings states and minor protocol changes.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2526
diff
changeset
|
94 long v1l = 0; |
cc5969df0490
New methods in UI providers for fixings states and minor protocol changes.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2526
diff
changeset
|
95 long v2l = 0; |
cc5969df0490
New methods in UI providers for fixings states and minor protocol changes.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2526
diff
changeset
|
96 try { |
cc5969df0490
New methods in UI providers for fixings states and minor protocol changes.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2526
diff
changeset
|
97 v1l = Long.parseLong(v1); |
cc5969df0490
New methods in UI providers for fixings states and minor protocol changes.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2526
diff
changeset
|
98 v2l = Long.parseLong(v2); |
cc5969df0490
New methods in UI providers for fixings states and minor protocol changes.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2526
diff
changeset
|
99 } |
9256
6c24c857ccf9
fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
8856
diff
changeset
|
100 catch (final NumberFormatException nfe) { |
2537
cc5969df0490
New methods in UI providers for fixings states and minor protocol changes.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2526
diff
changeset
|
101 GWT.log(nfe.toString()); |
cc5969df0490
New methods in UI providers for fixings states and minor protocol changes.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2526
diff
changeset
|
102 } |
9256
6c24c857ccf9
fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
8856
diff
changeset
|
103 final Date d1 = new Date(v1l); |
6c24c857ccf9
fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
8856
diff
changeset
|
104 final Date d2 = new Date(v2l); |
2537
cc5969df0490
New methods in UI providers for fixings states and minor protocol changes.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2526
diff
changeset
|
105 |
9256
6c24c857ccf9
fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
8856
diff
changeset
|
106 final DateTimeFormat f = DateTimeFormat.getFormat(DateTimeFormat.PredefinedFormat.DATE_MEDIUM); |
6c24c857ccf9
fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
8856
diff
changeset
|
107 final StringBuilder sb = new StringBuilder(); |
2537
cc5969df0490
New methods in UI providers for fixings states and minor protocol changes.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2526
diff
changeset
|
108 sb.append(f.format(d1) + " - "); |
cc5969df0490
New methods in UI providers for fixings states and minor protocol changes.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2526
diff
changeset
|
109 sb.append(f.format(d2)); |
2505
87ac5c532523
First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
110 |
9256
6c24c857ccf9
fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
8856
diff
changeset
|
111 final Label old = new Label(sb.toString()); |
2505
87ac5c532523
First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
112 old.setWidth(130); |
87ac5c532523
First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
113 |
9256
6c24c857ccf9
fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
8856
diff
changeset
|
114 final HLayout layout = new HLayout(); |
2505
87ac5c532523
First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
115 layout.setWidth("400px"); |
87ac5c532523
First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
116 |
9256
6c24c857ccf9
fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
8856
diff
changeset
|
117 final Label label = new Label(dataList.getLabel()); |
2505
87ac5c532523
First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
118 label.setWidth("200px"); |
87ac5c532523
First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
119 |
9256
6c24c857ccf9
fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
8856
diff
changeset
|
120 final Canvas back = getBackButton(dataList.getState()); |
2505
87ac5c532523
First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
121 |
87ac5c532523
First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
122 layout.addMember(label); |
87ac5c532523
First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
123 layout.addMember(old); |
87ac5c532523
First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
124 layout.addMember(back); |
87ac5c532523
First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
125 |
87ac5c532523
First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
126 return layout; |
87ac5c532523
First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
127 } |
87ac5c532523
First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
128 |
87ac5c532523
First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
129 /** |
87ac5c532523
First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
130 * This method returns the selected data. |
87ac5c532523
First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
131 * |
87ac5c532523
First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
132 * @return the selected/inserted data. |
87ac5c532523
First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
133 */ |
3855
b6b2d9aad95d
Fix for #854
Christian Lins <christian.lins@intevation.de>
parents:
3379
diff
changeset
|
134 @Override |
2505
87ac5c532523
First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
135 public Data[] getData() { |
9256
6c24c857ccf9
fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
8856
diff
changeset
|
136 final List<Data> data = new ArrayList<Data>(); |
2505
87ac5c532523
First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
137 |
9256
6c24c857ccf9
fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
8856
diff
changeset
|
138 final boolean valid = saveDateValues(); |
6c24c857ccf9
fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
8856
diff
changeset
|
139 if (valid) { |
6c24c857ccf9
fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
8856
diff
changeset
|
140 final String start = Long.valueOf(this.start).toString(); |
6c24c857ccf9
fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
8856
diff
changeset
|
141 final String end = Long.valueOf(this.end).toString(); |
6c24c857ccf9
fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
8856
diff
changeset
|
142 final DataItem startItem = new DefaultDataItem(this.startName, this.startName, start); |
6c24c857ccf9
fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
8856
diff
changeset
|
143 final DataItem endItem = new DefaultDataItem(this.endName, this.endName, end); |
6c24c857ccf9
fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
8856
diff
changeset
|
144 data.add(new DefaultData(this.startName, null, null, new DataItem[] { startItem })); |
6c24c857ccf9
fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
8856
diff
changeset
|
145 data.add(new DefaultData(this.endName, null, null, new DataItem[] { endItem })); |
2505
87ac5c532523
First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
146 } |
87ac5c532523
First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
147 |
3379
0de61fc9d281
Removed some superfluous casts.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2892
diff
changeset
|
148 return data.toArray(new Data[data.size()]); |
2505
87ac5c532523
First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
149 } |
87ac5c532523
First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
150 |
87ac5c532523
First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
151 @Override |
9256
6c24c857ccf9
fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
8856
diff
changeset
|
152 public void setValues(final String cid, final boolean checked) { |
2505
87ac5c532523
First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
153 // No user interaction, do nothing. |
87ac5c532523
First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
154 } |
87ac5c532523
First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
155 |
87ac5c532523
First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
156 @Override |
87ac5c532523
First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
157 public boolean renderCheckboxes() { |
87ac5c532523
First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
158 // No selection, return false. |
87ac5c532523
First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
159 return false; |
87ac5c532523
First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
160 } |
87ac5c532523
First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
161 |
3855
b6b2d9aad95d
Fix for #854
Christian Lins <christian.lins@intevation.de>
parents:
3379
diff
changeset
|
162 @Override |
9256
6c24c857ccf9
fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
8856
diff
changeset
|
163 public void success(final FixingsOverviewInfo fixInfo) { |
6c24c857ccf9
fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
8856
diff
changeset
|
164 final List<FixEvent> list = fixInfo.getEvents(); |
2892
ad013995e410
Fixed creation of initial date string in fixings parameters.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2886
diff
changeset
|
165 |
3855
b6b2d9aad95d
Fix for #854
Christian Lins <christian.lins@intevation.de>
parents:
3379
diff
changeset
|
166 // The date in FixEvent is always "de" locale, so it seems... |
9256
6c24c857ccf9
fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
8856
diff
changeset
|
167 final DateTimeFormat df = DateTimeFormat.getFormat("dd.MM.yyyy"); |
3855
b6b2d9aad95d
Fix for #854
Christian Lins <christian.lins@intevation.de>
parents:
3379
diff
changeset
|
168 |
b6b2d9aad95d
Fix for #854
Christian Lins <christian.lins@intevation.de>
parents:
3379
diff
changeset
|
169 if (!setFromAndToDate(list, df)) { |
9256
6c24c857ccf9
fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
8856
diff
changeset
|
170 GWT.log("FixPeriodPanel::success(): could not set " + "from and to dates!"); |
3855
b6b2d9aad95d
Fix for #854
Christian Lins <christian.lins@intevation.de>
parents:
3379
diff
changeset
|
171 } |
b6b2d9aad95d
Fix for #854
Christian Lins <christian.lins@intevation.de>
parents:
3379
diff
changeset
|
172 } |
b6b2d9aad95d
Fix for #854
Christian Lins <christian.lins@intevation.de>
parents:
3379
diff
changeset
|
173 |
9256
6c24c857ccf9
fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
8856
diff
changeset
|
174 protected boolean setFromAndToDate(final List<FixEvent> list, final DateTimeFormat df) { |
2886
bd16493cc0da
Set initial values for start and end date in fix analysis date panels.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2884
diff
changeset
|
175 try { |
3855
b6b2d9aad95d
Fix for #854
Christian Lins <christian.lins@intevation.de>
parents:
3379
diff
changeset
|
176 setFromDate(list.get(0).getDate(), df); |
b6b2d9aad95d
Fix for #854
Christian Lins <christian.lins@intevation.de>
parents:
3379
diff
changeset
|
177 setToDate(list.get(list.size() - 1).getDate(), df); |
b6b2d9aad95d
Fix for #854
Christian Lins <christian.lins@intevation.de>
parents:
3379
diff
changeset
|
178 return true; |
2886
bd16493cc0da
Set initial values for start and end date in fix analysis date panels.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2884
diff
changeset
|
179 } |
9256
6c24c857ccf9
fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
8856
diff
changeset
|
180 catch (final IllegalArgumentException ex) { |
3855
b6b2d9aad95d
Fix for #854
Christian Lins <christian.lins@intevation.de>
parents:
3379
diff
changeset
|
181 GWT.log("FixPeriodPanel::setFromAndToDate(): " + ex.toString()); |
b6b2d9aad95d
Fix for #854
Christian Lins <christian.lins@intevation.de>
parents:
3379
diff
changeset
|
182 return false; |
2886
bd16493cc0da
Set initial values for start and end date in fix analysis date panels.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2884
diff
changeset
|
183 } |
bd16493cc0da
Set initial values for start and end date in fix analysis date panels.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2884
diff
changeset
|
184 } |
2517
8f528f5ae137
Added filter object class and scrollable chart to helper panel.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2505
diff
changeset
|
185 |
9256
6c24c857ccf9
fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
8856
diff
changeset
|
186 protected void setFromDate(final String date, final DateTimeFormat df) throws IllegalArgumentException { |
6c24c857ccf9
fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
8856
diff
changeset
|
187 final Date from = df.parse(date); |
3855
b6b2d9aad95d
Fix for #854
Christian Lins <christian.lins@intevation.de>
parents:
3379
diff
changeset
|
188 this.inputPanel.setFromDate(from); |
b6b2d9aad95d
Fix for #854
Christian Lins <christian.lins@intevation.de>
parents:
3379
diff
changeset
|
189 } |
b6b2d9aad95d
Fix for #854
Christian Lins <christian.lins@intevation.de>
parents:
3379
diff
changeset
|
190 |
9256
6c24c857ccf9
fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
8856
diff
changeset
|
191 protected void setToDate(final String date, final DateTimeFormat df) throws IllegalArgumentException { |
6c24c857ccf9
fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
8856
diff
changeset
|
192 final Date to = df.parse(date); |
3855
b6b2d9aad95d
Fix for #854
Christian Lins <christian.lins@intevation.de>
parents:
3379
diff
changeset
|
193 this.inputPanel.setToDate(to); |
b6b2d9aad95d
Fix for #854
Christian Lins <christian.lins@intevation.de>
parents:
3379
diff
changeset
|
194 } |
b6b2d9aad95d
Fix for #854
Christian Lins <christian.lins@intevation.de>
parents:
3379
diff
changeset
|
195 |
2505
87ac5c532523
First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
196 protected boolean saveDateValues() { |
9256
6c24c857ccf9
fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
8856
diff
changeset
|
197 final Date st = this.inputPanel.getValue().getStartDate(); |
6c24c857ccf9
fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
8856
diff
changeset
|
198 final Date en = this.inputPanel.getValue().getEndDate(); |
2505
87ac5c532523
First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
199 if (st == null || en == null) { |
9256
6c24c857ccf9
fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
8856
diff
changeset
|
200 SC.warn(this.MESSAGES.error_wrong_date()); |
2505
87ac5c532523
First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
201 return false; |
87ac5c532523
First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
202 } |
87ac5c532523
First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
203 |
9256
6c24c857ccf9
fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
8856
diff
changeset
|
204 final long start = st.getTime(); |
6c24c857ccf9
fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
8856
diff
changeset
|
205 final long end = en.getTime(); |
2505
87ac5c532523
First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
206 |
87ac5c532523
First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
207 if (start <= end) { |
87ac5c532523
First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
208 this.start = start; |
87ac5c532523
First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
209 this.end = end; |
87ac5c532523
First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
210 return true; |
87ac5c532523
First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
211 } |
87ac5c532523
First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
212 return false; |
87ac5c532523
First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
213 } |
87ac5c532523
First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
214 } |