annotate gwt-client/src/main/java/org/dive4elements/river/client/client/ui/minfo/SedLoadEpochPanel.java @ 8856:5e38e2924c07 3.2.x

Fix code style.
author Tom Gottfried <tom@intevation.de>
date Thu, 18 Jan 2018 20:12:01 +0100
parents 582e970115b6
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.minfo;
4223
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
10
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
11 import java.util.ArrayList;
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
12 import java.util.List;
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
13
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
14 import com.google.gwt.core.client.GWT;
4299
abd304085bd4 Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents: 4223
diff changeset
15 import com.google.gwt.user.client.rpc.AsyncCallback;
4223
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
16 import com.smartgwt.client.data.Record;
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
17 import com.smartgwt.client.types.ListGridFieldType;
4299
abd304085bd4 Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents: 4223
diff changeset
18 import com.smartgwt.client.util.SC;
4223
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
19 import com.smartgwt.client.widgets.Button;
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
20 import com.smartgwt.client.widgets.Canvas;
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
21 import com.smartgwt.client.widgets.Label;
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
22 import com.smartgwt.client.widgets.events.ClickEvent;
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
23 import com.smartgwt.client.widgets.events.ClickHandler;
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
24 import com.smartgwt.client.widgets.form.DynamicForm;
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
25 import com.smartgwt.client.widgets.form.fields.TextItem;
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
26 import com.smartgwt.client.widgets.form.validator.IsIntegerValidator;
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
27 import com.smartgwt.client.widgets.grid.ListGrid;
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
28 import com.smartgwt.client.widgets.grid.ListGridField;
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
29 import com.smartgwt.client.widgets.grid.ListGridRecord;
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
30 import com.smartgwt.client.widgets.grid.events.RecordClickEvent;
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
31 import com.smartgwt.client.widgets.grid.events.RecordClickHandler;
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
32 import com.smartgwt.client.widgets.layout.HLayout;
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
33 import com.smartgwt.client.widgets.layout.VLayout;
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
34
5835
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
35 import org.dive4elements.river.client.client.Config;
8531
3e6d4bd1c06e (issue1051) Add input support for epochs
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8235
diff changeset
36 import org.dive4elements.river.client.client.FLYSConstants;
5835
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
37 import org.dive4elements.river.client.client.services.SedimentLoadInfoService;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
38 import org.dive4elements.river.client.client.services.SedimentLoadInfoServiceAsync;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
39 import org.dive4elements.river.client.client.ui.AbstractUIProvider;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
40 import org.dive4elements.river.client.shared.model.ArtifactDescription;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
41 import org.dive4elements.river.client.shared.model.Data;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
42 import org.dive4elements.river.client.shared.model.DataItem;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
43 import org.dive4elements.river.client.shared.model.DataList;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
44 import org.dive4elements.river.client.shared.model.DefaultData;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
45 import org.dive4elements.river.client.shared.model.DefaultDataItem;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
46 import org.dive4elements.river.client.shared.model.SedimentLoadInfoObject;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
47 import org.dive4elements.river.client.shared.model.SedimentLoadInfoRecord;
4223
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
48
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
49
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
50 public class SedLoadEpochPanel
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
51 extends AbstractUIProvider
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
52 {
4299
abd304085bd4 Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents: 4223
diff changeset
53 protected SedimentLoadInfoServiceAsync sedLoadInfoService =
abd304085bd4 Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents: 4223
diff changeset
54 GWT.create(SedimentLoadInfoService.class);
abd304085bd4 Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents: 4223
diff changeset
55
8531
3e6d4bd1c06e (issue1051) Add input support for epochs
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8235
diff changeset
56 protected FLYSConstants MESSAGES = GWT.create(FLYSConstants.class);
3e6d4bd1c06e (issue1051) Add input support for epochs
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8235
diff changeset
57
4223
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
58 protected ListGrid elements;
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
59 private TextItem start;
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
60 private TextItem end;
4299
abd304085bd4 Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents: 4223
diff changeset
61 private ListGrid sedLoadTable;
4223
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
62
8597
ba2a34a4e440 (issue1051) Validate epochs before adding them to the list
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8532
diff changeset
63 protected List<String> validYears;
ba2a34a4e440 (issue1051) Validate epochs before adding them to the list
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8532
diff changeset
64
4223
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
65 public Canvas createWidget(DataList data) {
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
66 HLayout input = new HLayout();
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
67 VLayout root = new VLayout();
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
68 VLayout grid = new VLayout();
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
69 VLayout intFields = new VLayout();
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
70 Button add = new Button(MSG.add_date());
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
71 elements = new ListGrid();
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
72
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
73 Label title = new Label(data.get(0).getDescription());
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
74 title.setHeight("25px");
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
75
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
76 DynamicForm form = new DynamicForm();
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
77 form.setNumCols(4);
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
78 start = new TextItem(MSG.from());
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
79 start.setWidth(60);
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
80 start.setValidators(new IsIntegerValidator());
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
81 end = new TextItem(MSG.to());
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
82 end.setWidth(60);
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
83 end.setValidators(new IsIntegerValidator());
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
84 form.setFields(start, end);
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
85 add.addClickHandler(new ClickHandler() {
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
86 @Override
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
87 public void onClick(ClickEvent ce) {
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
88 String v1 = start.getValueAsString();
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
89 String v2 = end.getValueAsString();
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
90 if (v1 == null || v2 == null) {
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
91 return;
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
92 }
8597
ba2a34a4e440 (issue1051) Validate epochs before adding them to the list
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8532
diff changeset
93 if (!isValidEpoch(v1, v2)) {
4223
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
94 return;
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
95 }
7944
9b092c960455 Fixed sediment load epoch input panel.
Raimund Renkert <rrenkert@intevation.de>
parents: 5993
diff changeset
96 ListGridRecord r = new ListGridRecord();
4223
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
97 r.setAttribute("from", v1);
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
98 r.setAttribute("to", v2);
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
99 elements.addData(r);
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
100 }
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
101 });
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
102
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
103 Label sel = new Label(MSG.select());
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
104 sel.setHeight(25);
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
105 elements.setWidth(185);
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
106 elements.setHeight(120);
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
107 elements.setShowHeaderContextMenu(false);
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
108 elements.setCanReorderFields(false);
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
109 elements.setCanSort(false);
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
110 elements.setCanEdit(false);
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
111 ListGridField from = new ListGridField("from", MSG.from());
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
112 ListGridField to = new ListGridField("to", MSG.to());
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
113 from.setWidth(70);
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
114 to.setWidth(70);
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
115
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
116 final ListGridField removeField =
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
117 new ListGridField("_removeRecord", "Remove Record"){{
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
118 setType(ListGridFieldType.ICON);
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
119 setIcon(GWT.getHostPageBaseURL() + MSG.removeFeature());
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
120 setCanEdit(false);
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
121 setCanFilter(false);
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
122 setCanSort(false);
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
123 setCanGroupBy(false);
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
124 setCanFreeze(false);
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
125 setWidth(25);
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
126 }};
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
127
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
128 elements.addRecordClickHandler(new RecordClickHandler() {
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
129 @Override
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
130 public void onRecordClick(final RecordClickEvent event) {
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
131 // Just handle remove-clicks
8856
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8712
diff changeset
132 if(!event.getField().getName()
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8712
diff changeset
133 .equals(removeField.getName())
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8712
diff changeset
134 ) {
4223
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
135 return;
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
136 }
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
137 event.getViewer().removeData(event.getRecord());
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
138 }
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
139 });
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
140
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
141 elements.setFields(from, to, removeField);
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
142
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
143 intFields.addMember(form);
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
144 intFields.addMember(add);
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
145 grid.addMember(sel);
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
146 grid.addMember(elements);
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
147 input.addMember(intFields);
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
148 input.addMember(grid);
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
149 root.addMember(title);
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
150 root.addMember(input);
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
151
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
152 return root;
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
153 }
4299
abd304085bd4 Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents: 4223
diff changeset
154
4223
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
155 @Override
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
156 public Canvas createOld(DataList dataList) {
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
157 HLayout layout = new HLayout();
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
158 layout.setWidth("400px");
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
159 VLayout vLayout = new VLayout();
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
160 vLayout.setWidth(130);
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
161 Label label = new Label(dataList.getLabel());
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
162 label.setWidth("200px");
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
163 label.setHeight(25);
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
164
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
165 List<Data> items = dataList.getAll();
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
166 Data str = getData(items, "epochs");
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
167 DataItem[] strItems = str.getItems();
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
168
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
169 String[] pairs = strItems[0].getLabel().split(";");
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
170 for (int i = 0; i < pairs.length; i++) {
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
171 String[] vals = pairs[i].split(",");
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
172 Label dateLabel = new Label(vals[0] + " - " + vals[1]);
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
173 dateLabel.setHeight(20);
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
174 vLayout.addMember(dateLabel);
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
175 }
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
176 Canvas back = getBackButton(dataList.getState());
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
177 layout.addMember(label);
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
178 layout.addMember(vLayout);
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
179 layout.addMember(back);
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
180
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
181 return layout;
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
182 }
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
183
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
184 @Override
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
185 public Canvas create(DataList data) {
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
186 VLayout layout = new VLayout();
4299
abd304085bd4 Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents: 4223
diff changeset
187 Canvas helper = createHelper();
abd304085bd4 Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents: 4223
diff changeset
188 this.helperContainer.addMember(helper);
abd304085bd4 Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents: 4223
diff changeset
189
4223
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
190 Canvas submit = getNextButton();
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
191 Canvas widget = createWidget(data);
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
192
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
193 layout.addMember(widget);
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
194 layout.addMember(submit);
4299
abd304085bd4 Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents: 4223
diff changeset
195
abd304085bd4 Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents: 4223
diff changeset
196 fetchSedimentLoadData();
abd304085bd4 Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents: 4223
diff changeset
197
4223
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
198 return layout;
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
199 }
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
200
4299
abd304085bd4 Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents: 4223
diff changeset
201 private Canvas createHelper() {
abd304085bd4 Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents: 4223
diff changeset
202 sedLoadTable = new ListGrid();
abd304085bd4 Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents: 4223
diff changeset
203 sedLoadTable.setShowHeaderContextMenu(false);
abd304085bd4 Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents: 4223
diff changeset
204 sedLoadTable.setWidth100();
abd304085bd4 Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents: 4223
diff changeset
205 sedLoadTable.setShowRecordComponents(true);
abd304085bd4 Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents: 4223
diff changeset
206 sedLoadTable.setShowRecordComponentsByCell(true);
abd304085bd4 Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents: 4223
diff changeset
207 sedLoadTable.setHeight100();
abd304085bd4 Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents: 4223
diff changeset
208 sedLoadTable.setEmptyMessage(MSG.empty_table());
abd304085bd4 Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents: 4223
diff changeset
209 sedLoadTable.setCanReorderFields(false);
abd304085bd4 Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents: 4223
diff changeset
210
8531
3e6d4bd1c06e (issue1051) Add input support for epochs
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8235
diff changeset
211 /* Input support pins */
3e6d4bd1c06e (issue1051) Add input support for epochs
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8235
diff changeset
212 String baseUrl = GWT.getHostPageBaseURL();
3e6d4bd1c06e (issue1051) Add input support for epochs
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8235
diff changeset
213 ListGridField pinFrom = new ListGridField ("fromIcon", MESSAGES.from());
3e6d4bd1c06e (issue1051) Add input support for epochs
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8235
diff changeset
214 pinFrom.setWidth (30);
3e6d4bd1c06e (issue1051) Add input support for epochs
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8235
diff changeset
215 pinFrom.setType (ListGridFieldType.ICON);
3e6d4bd1c06e (issue1051) Add input support for epochs
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8235
diff changeset
216 pinFrom.setCellIcon(baseUrl + MESSAGES.markerGreen());
3e6d4bd1c06e (issue1051) Add input support for epochs
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8235
diff changeset
217
3e6d4bd1c06e (issue1051) Add input support for epochs
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8235
diff changeset
218 ListGridField pinTo = new ListGridField ("toIcon", MESSAGES.to());
3e6d4bd1c06e (issue1051) Add input support for epochs
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8235
diff changeset
219 pinTo.setType (ListGridFieldType.ICON);
3e6d4bd1c06e (issue1051) Add input support for epochs
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8235
diff changeset
220 pinTo.setWidth (30);
3e6d4bd1c06e (issue1051) Add input support for epochs
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8235
diff changeset
221 pinTo.setCellIcon(baseUrl + MESSAGES.markerRed());
3e6d4bd1c06e (issue1051) Add input support for epochs
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8235
diff changeset
222
3e6d4bd1c06e (issue1051) Add input support for epochs
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8235
diff changeset
223 pinFrom.addRecordClickHandler (new RecordClickHandler () {
3e6d4bd1c06e (issue1051) Add input support for epochs
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8235
diff changeset
224 @Override
3e6d4bd1c06e (issue1051) Add input support for epochs
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8235
diff changeset
225 public void onRecordClick (RecordClickEvent e) {
3e6d4bd1c06e (issue1051) Add input support for epochs
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8235
diff changeset
226 Record r = e.getRecord();
3e6d4bd1c06e (issue1051) Add input support for epochs
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8235
diff changeset
227 start.setValue(r.getAttribute("date"));
3e6d4bd1c06e (issue1051) Add input support for epochs
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8235
diff changeset
228 }
3e6d4bd1c06e (issue1051) Add input support for epochs
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8235
diff changeset
229 });
8532
73a4c3c202e5 (issue1051) Use a list of single years in SedimentLoadYear mode
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8531
diff changeset
230
8531
3e6d4bd1c06e (issue1051) Add input support for epochs
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8235
diff changeset
231 pinTo.addRecordClickHandler (new RecordClickHandler () {
3e6d4bd1c06e (issue1051) Add input support for epochs
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8235
diff changeset
232 @Override
3e6d4bd1c06e (issue1051) Add input support for epochs
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8235
diff changeset
233 public void onRecordClick (RecordClickEvent e) {
3e6d4bd1c06e (issue1051) Add input support for epochs
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8235
diff changeset
234 Record r = e.getRecord();
3e6d4bd1c06e (issue1051) Add input support for epochs
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8235
diff changeset
235 end.setValue(r.getAttribute("date"));
3e6d4bd1c06e (issue1051) Add input support for epochs
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8235
diff changeset
236 }
3e6d4bd1c06e (issue1051) Add input support for epochs
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8235
diff changeset
237 });
3e6d4bd1c06e (issue1051) Add input support for epochs
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8235
diff changeset
238
3e6d4bd1c06e (issue1051) Add input support for epochs
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8235
diff changeset
239
4299
abd304085bd4 Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents: 4223
diff changeset
240 ListGridField date = new ListGridField("date", MSG.year());
abd304085bd4 Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents: 4223
diff changeset
241 date.setType(ListGridFieldType.TEXT);
abd304085bd4 Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents: 4223
diff changeset
242 date.setWidth(100);
abd304085bd4 Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents: 4223
diff changeset
243
abd304085bd4 Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents: 4223
diff changeset
244 ListGridField descr =
abd304085bd4 Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents: 4223
diff changeset
245 new ListGridField("description", MSG.description());
abd304085bd4 Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents: 4223
diff changeset
246 descr.setType(ListGridFieldType.TEXT);
abd304085bd4 Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents: 4223
diff changeset
247 descr.setWidth("*");
abd304085bd4 Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents: 4223
diff changeset
248
8531
3e6d4bd1c06e (issue1051) Add input support for epochs
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8235
diff changeset
249 sedLoadTable.setFields(pinFrom, pinTo, date, descr);
4299
abd304085bd4 Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents: 4223
diff changeset
250 return sedLoadTable;
abd304085bd4 Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents: 4223
diff changeset
251 }
abd304085bd4 Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents: 4223
diff changeset
252
4223
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
253 @Override
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
254 protected Data[] getData() {
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
255 List<Data> data = new ArrayList<Data>();
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
256
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
257 ListGridRecord[] lgr = elements.getRecords();
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
258 if (lgr.length == 0) {
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
259 return new Data[0];
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
260 }
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
261 String d = "";
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
262 for (int i = 0; i < lgr.length; i++) {
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
263 Record r = (Record) lgr[i];
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
264 d += r.getAttribute("from") + "," + r.getAttribute("to");
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
265 d += ";";
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
266 }
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
267
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
268 DataItem item = new DefaultDataItem("epochs", null, d);
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
269 data.add(new DefaultData(
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
270 "epochs",
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
271 null,
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
272 null,
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
273 new DataItem[] { item }));
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
274 return data.toArray(new Data[data.size()]);
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
275 }
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
276
4299
abd304085bd4 Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents: 4223
diff changeset
277 protected void fetchSedimentLoadData() {
abd304085bd4 Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents: 4223
diff changeset
278 Config config = Config.getInstance();
abd304085bd4 Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents: 4223
diff changeset
279 String locale = config.getLocale ();
abd304085bd4 Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents: 4223
diff changeset
280
abd304085bd4 Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents: 4223
diff changeset
281 ArtifactDescription adescr = artifact.getArtifactDescription();
abd304085bd4 Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents: 4223
diff changeset
282 DataList[] data = adescr.getOldData();
abd304085bd4 Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents: 4223
diff changeset
283
abd304085bd4 Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents: 4223
diff changeset
284 double[] km = artifact.getArtifactDescription().getKMRange();
abd304085bd4 Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents: 4223
diff changeset
285 String river = artifact.getArtifactDescription().getRiver();
abd304085bd4 Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents: 4223
diff changeset
286
8230
f54c4b858213 (issue1448) Extend SedimentLoadInfo request to handle sq time intervals
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7944
diff changeset
287 String sq_ti_id = "";
8597
ba2a34a4e440 (issue1051) Validate epochs before adding them to the list
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8532
diff changeset
288 validYears = new ArrayList<String>(data.length);
8235
c0da2514f4ce (issue1448) Look through all the data for sq_ti_id in following states.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8230
diff changeset
289 for (int i = 0; i < data.length; i++) {
c0da2514f4ce (issue1448) Look through all the data for sq_ti_id in following states.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8230
diff changeset
290 Data str = getData(data[i].getAll(), "sq_ti_id");
8230
f54c4b858213 (issue1448) Extend SedimentLoadInfo request to handle sq time intervals
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7944
diff changeset
291 if (str != null) {
f54c4b858213 (issue1448) Extend SedimentLoadInfo request to handle sq time intervals
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7944
diff changeset
292 DataItem[] strItems = str.getItems();
f54c4b858213 (issue1448) Extend SedimentLoadInfo request to handle sq time intervals
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7944
diff changeset
293 sq_ti_id = strItems[0].getStringValue();
8235
c0da2514f4ce (issue1448) Look through all the data for sq_ti_id in following states.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8230
diff changeset
294 break;
8230
f54c4b858213 (issue1448) Extend SedimentLoadInfo request to handle sq time intervals
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7944
diff changeset
295 }
f54c4b858213 (issue1448) Extend SedimentLoadInfo request to handle sq time intervals
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7944
diff changeset
296 }
f54c4b858213 (issue1448) Extend SedimentLoadInfo request to handle sq time intervals
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7944
diff changeset
297
8235
c0da2514f4ce (issue1448) Look through all the data for sq_ti_id in following states.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8230
diff changeset
298 if (sq_ti_id.isEmpty()){
c0da2514f4ce (issue1448) Look through all the data for sq_ti_id in following states.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8230
diff changeset
299 GWT.log("Failed to find sq time interval id in data.");
c0da2514f4ce (issue1448) Look through all the data for sq_ti_id in following states.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8230
diff changeset
300 }
c0da2514f4ce (issue1448) Look through all the data for sq_ti_id in following states.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8230
diff changeset
301
8856
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8712
diff changeset
302 sedLoadInfoService.getSedimentLoadInfo(
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8712
diff changeset
303 locale, river, "single", km[0], km[1], sq_ti_id,
4299
abd304085bd4 Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents: 4223
diff changeset
304 new AsyncCallback<SedimentLoadInfoObject[]>() {
abd304085bd4 Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents: 4223
diff changeset
305 public void onFailure(Throwable caught) {
abd304085bd4 Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents: 4223
diff changeset
306 GWT.log("Could not recieve sediment load informations.");
8712
582e970115b6 (issue1448) Localize SedimentLoadInfo Exceptions shown in the client
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8597
diff changeset
307 SC.warn(MSG.getString(caught.getMessage()));
4299
abd304085bd4 Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents: 4223
diff changeset
308 }
abd304085bd4 Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents: 4223
diff changeset
309
abd304085bd4 Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents: 4223
diff changeset
310 public void onSuccess(SedimentLoadInfoObject[] sedLoad) {
abd304085bd4 Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents: 4223
diff changeset
311 int num = sedLoad != null ? sedLoad.length :0;
abd304085bd4 Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents: 4223
diff changeset
312 GWT.log("Recieved " + num + " sediment load informations.");
abd304085bd4 Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents: 4223
diff changeset
313
abd304085bd4 Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents: 4223
diff changeset
314 if (num == 0) {
abd304085bd4 Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents: 4223
diff changeset
315 return;
abd304085bd4 Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents: 4223
diff changeset
316 }
abd304085bd4 Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents: 4223
diff changeset
317
abd304085bd4 Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents: 4223
diff changeset
318 addSedimentLoadInfo(sedLoad);
abd304085bd4 Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents: 4223
diff changeset
319 }
abd304085bd4 Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents: 4223
diff changeset
320 }
abd304085bd4 Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents: 4223
diff changeset
321 );
abd304085bd4 Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents: 4223
diff changeset
322 }
abd304085bd4 Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents: 4223
diff changeset
323
abd304085bd4 Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents: 4223
diff changeset
324
abd304085bd4 Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents: 4223
diff changeset
325 protected void addSedimentLoadInfo (SedimentLoadInfoObject[] sedLoad) {
abd304085bd4 Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents: 4223
diff changeset
326 for(SedimentLoadInfoObject sl: sedLoad) {
abd304085bd4 Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents: 4223
diff changeset
327 SedimentLoadInfoRecord rec = new SedimentLoadInfoRecord(sl);
abd304085bd4 Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents: 4223
diff changeset
328 sedLoadTable.addData(rec);
8597
ba2a34a4e440 (issue1051) Validate epochs before adding them to the list
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8532
diff changeset
329 validYears.add(rec.getDate());
4299
abd304085bd4 Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents: 4223
diff changeset
330 }
abd304085bd4 Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents: 4223
diff changeset
331 }
abd304085bd4 Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents: 4223
diff changeset
332
8597
ba2a34a4e440 (issue1051) Validate epochs before adding them to the list
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8532
diff changeset
333 /* Validate the epoch input. We do this here and not in an overridden
ba2a34a4e440 (issue1051) Validate epochs before adding them to the list
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8532
diff changeset
334 * validate method as we want to validate before an epoch is added
ba2a34a4e440 (issue1051) Validate epochs before adding them to the list
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8532
diff changeset
335 * to the list of epochs. */
ba2a34a4e440 (issue1051) Validate epochs before adding them to the list
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8532
diff changeset
336 protected boolean isValidEpoch(String y1, String y2) {
ba2a34a4e440 (issue1051) Validate epochs before adding them to the list
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8532
diff changeset
337 // First check that both are integer
ba2a34a4e440 (issue1051) Validate epochs before adding them to the list
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8532
diff changeset
338 int iY1;
ba2a34a4e440 (issue1051) Validate epochs before adding them to the list
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8532
diff changeset
339 int iY2;
ba2a34a4e440 (issue1051) Validate epochs before adding them to the list
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8532
diff changeset
340 List<String> errors = new ArrayList<String>();
ba2a34a4e440 (issue1051) Validate epochs before adding them to the list
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8532
diff changeset
341 try {
ba2a34a4e440 (issue1051) Validate epochs before adding them to the list
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8532
diff changeset
342 iY1 = Integer.parseInt(y1);
ba2a34a4e440 (issue1051) Validate epochs before adding them to the list
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8532
diff changeset
343 } catch (NumberFormatException e) {
ba2a34a4e440 (issue1051) Validate epochs before adding them to the list
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8532
diff changeset
344 errors.add(MESSAGES.wrongFormat() + ": " + y1);
ba2a34a4e440 (issue1051) Validate epochs before adding them to the list
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8532
diff changeset
345 }
ba2a34a4e440 (issue1051) Validate epochs before adding them to the list
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8532
diff changeset
346 try {
ba2a34a4e440 (issue1051) Validate epochs before adding them to the list
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8532
diff changeset
347 iY2 = Integer.parseInt(y2);
ba2a34a4e440 (issue1051) Validate epochs before adding them to the list
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8532
diff changeset
348 } catch (NumberFormatException e) {
ba2a34a4e440 (issue1051) Validate epochs before adding them to the list
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8532
diff changeset
349 errors.add(MESSAGES.wrongFormat() + ": " + y2);
ba2a34a4e440 (issue1051) Validate epochs before adding them to the list
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8532
diff changeset
350 }
ba2a34a4e440 (issue1051) Validate epochs before adding them to the list
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8532
diff changeset
351 if (!errors.isEmpty()) {
ba2a34a4e440 (issue1051) Validate epochs before adding them to the list
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8532
diff changeset
352 showErrors(errors);
ba2a34a4e440 (issue1051) Validate epochs before adding them to the list
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8532
diff changeset
353 return false;
ba2a34a4e440 (issue1051) Validate epochs before adding them to the list
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8532
diff changeset
354 }
ba2a34a4e440 (issue1051) Validate epochs before adding them to the list
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8532
diff changeset
355 boolean startIsGood = false;
ba2a34a4e440 (issue1051) Validate epochs before adding them to the list
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8532
diff changeset
356 boolean endIsGood = false;
ba2a34a4e440 (issue1051) Validate epochs before adding them to the list
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8532
diff changeset
357 for (String validYear: validYears) {
ba2a34a4e440 (issue1051) Validate epochs before adding them to the list
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8532
diff changeset
358 if (startIsGood || y1.equals(validYear)) {
ba2a34a4e440 (issue1051) Validate epochs before adding them to the list
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8532
diff changeset
359 startIsGood = true;
ba2a34a4e440 (issue1051) Validate epochs before adding them to the list
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8532
diff changeset
360 }
ba2a34a4e440 (issue1051) Validate epochs before adding them to the list
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8532
diff changeset
361 if (endIsGood || y2.equals(validYear)) {
ba2a34a4e440 (issue1051) Validate epochs before adding them to the list
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8532
diff changeset
362 endIsGood = true;
ba2a34a4e440 (issue1051) Validate epochs before adding them to the list
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8532
diff changeset
363 }
ba2a34a4e440 (issue1051) Validate epochs before adding them to the list
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8532
diff changeset
364 if (startIsGood && endIsGood) {
ba2a34a4e440 (issue1051) Validate epochs before adding them to the list
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8532
diff changeset
365 break;
ba2a34a4e440 (issue1051) Validate epochs before adding them to the list
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8532
diff changeset
366 }
ba2a34a4e440 (issue1051) Validate epochs before adding them to the list
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8532
diff changeset
367 /* alternative check if data lies in between
ba2a34a4e440 (issue1051) Validate epochs before adding them to the list
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8532
diff changeset
368 int aYear = Integer.parseInt(validYear);
ba2a34a4e440 (issue1051) Validate epochs before adding them to the list
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8532
diff changeset
369 if (aYear >= iY1 && aYear <= iY2) {
ba2a34a4e440 (issue1051) Validate epochs before adding them to the list
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8532
diff changeset
370 isGood = true;
ba2a34a4e440 (issue1051) Validate epochs before adding them to the list
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8532
diff changeset
371 break;
ba2a34a4e440 (issue1051) Validate epochs before adding them to the list
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8532
diff changeset
372 }
ba2a34a4e440 (issue1051) Validate epochs before adding them to the list
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8532
diff changeset
373 */
ba2a34a4e440 (issue1051) Validate epochs before adding them to the list
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8532
diff changeset
374 }
ba2a34a4e440 (issue1051) Validate epochs before adding them to the list
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8532
diff changeset
375 if (!startIsGood) {
ba2a34a4e440 (issue1051) Validate epochs before adding them to the list
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8532
diff changeset
376 String tmp = MESSAGES.no_data_for_year();
ba2a34a4e440 (issue1051) Validate epochs before adding them to the list
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8532
diff changeset
377 tmp = tmp.replace("$1", y1);
ba2a34a4e440 (issue1051) Validate epochs before adding them to the list
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8532
diff changeset
378 errors.add(tmp);
ba2a34a4e440 (issue1051) Validate epochs before adding them to the list
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8532
diff changeset
379 }
ba2a34a4e440 (issue1051) Validate epochs before adding them to the list
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8532
diff changeset
380 if (!endIsGood) {
ba2a34a4e440 (issue1051) Validate epochs before adding them to the list
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8532
diff changeset
381 String tmp = MESSAGES.no_data_for_year();
ba2a34a4e440 (issue1051) Validate epochs before adding them to the list
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8532
diff changeset
382 tmp = tmp.replace("$1", y2);
ba2a34a4e440 (issue1051) Validate epochs before adding them to the list
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8532
diff changeset
383 errors.add(tmp);
ba2a34a4e440 (issue1051) Validate epochs before adding them to the list
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8532
diff changeset
384 }
ba2a34a4e440 (issue1051) Validate epochs before adding them to the list
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8532
diff changeset
385 if (!errors.isEmpty()) {
ba2a34a4e440 (issue1051) Validate epochs before adding them to the list
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8532
diff changeset
386 showErrors(errors);
ba2a34a4e440 (issue1051) Validate epochs before adding them to the list
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8532
diff changeset
387 return false;
ba2a34a4e440 (issue1051) Validate epochs before adding them to the list
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8532
diff changeset
388 }
ba2a34a4e440 (issue1051) Validate epochs before adding them to the list
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8532
diff changeset
389 return true;
ba2a34a4e440 (issue1051) Validate epochs before adding them to the list
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8532
diff changeset
390 }
4223
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
391 }

http://dive4elements.wald.intevation.org