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 }

http://dive4elements.wald.intevation.org