annotate gwt-client/src/main/java/org/dive4elements/river/client/client/ui/stationinfo/GaugeListGrid.java @ 9284:486b6160962f

Fixed: filtering of gauge list did not handle cases correctly, where fromKm > toKm
author gernotbelger
date Fri, 20 Jul 2018 16:03:40 +0200
parents ff9372d0cc1c
children 45908b79c079
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.stationinfo;
4956
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
10
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
11 import java.util.ArrayList;
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
12 import java.util.List;
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
13
8303
519023ce3500 Updated the client to build a default artifact for gauge discharge curve.
Raimund Renkert <rrenkert@intevation.de>
parents: 8023
diff changeset
14 import org.dive4elements.river.client.client.Config;
5835
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
15 import org.dive4elements.river.client.client.FLYS;
8303
519023ce3500 Updated the client to build a default artifact for gauge discharge curve.
Raimund Renkert <rrenkert@intevation.de>
parents: 8023
diff changeset
16 import org.dive4elements.river.client.client.services.AdvanceService;
519023ce3500 Updated the client to build a default artifact for gauge discharge curve.
Raimund Renkert <rrenkert@intevation.de>
parents: 8023
diff changeset
17 import org.dive4elements.river.client.client.services.AdvanceServiceAsync;
519023ce3500 Updated the client to build a default artifact for gauge discharge curve.
Raimund Renkert <rrenkert@intevation.de>
parents: 8023
diff changeset
18 import org.dive4elements.river.client.client.services.ArtifactService;
519023ce3500 Updated the client to build a default artifact for gauge discharge curve.
Raimund Renkert <rrenkert@intevation.de>
parents: 8023
diff changeset
19 import org.dive4elements.river.client.client.services.ArtifactServiceAsync;
519023ce3500 Updated the client to build a default artifact for gauge discharge curve.
Raimund Renkert <rrenkert@intevation.de>
parents: 8023
diff changeset
20 import org.dive4elements.river.client.client.services.CreateCollectionService;
519023ce3500 Updated the client to build a default artifact for gauge discharge curve.
Raimund Renkert <rrenkert@intevation.de>
parents: 8023
diff changeset
21 import org.dive4elements.river.client.client.services.CreateCollectionServiceAsync;
519023ce3500 Updated the client to build a default artifact for gauge discharge curve.
Raimund Renkert <rrenkert@intevation.de>
parents: 8023
diff changeset
22 import org.dive4elements.river.client.client.services.StepForwardService;
519023ce3500 Updated the client to build a default artifact for gauge discharge curve.
Raimund Renkert <rrenkert@intevation.de>
parents: 8023
diff changeset
23 import org.dive4elements.river.client.client.services.StepForwardServiceAsync;
519023ce3500 Updated the client to build a default artifact for gauge discharge curve.
Raimund Renkert <rrenkert@intevation.de>
parents: 8023
diff changeset
24 import org.dive4elements.river.client.client.ui.CollectionView;
9270
7337034eb5d5 multiple whitespace input fix
gernotbelger
parents: 9093
diff changeset
25 import org.dive4elements.river.client.client.ui.StringArrayParseHelper;
8303
519023ce3500 Updated the client to build a default artifact for gauge discharge curve.
Raimund Renkert <rrenkert@intevation.de>
parents: 8023
diff changeset
26 import org.dive4elements.river.client.shared.model.Artifact;
519023ce3500 Updated the client to build a default artifact for gauge discharge curve.
Raimund Renkert <rrenkert@intevation.de>
parents: 8023
diff changeset
27 import org.dive4elements.river.client.shared.model.Collection;
5835
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
28 import org.dive4elements.river.client.shared.model.Data;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
29 import org.dive4elements.river.client.shared.model.DataItem;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
30 import org.dive4elements.river.client.shared.model.DataList;
8303
519023ce3500 Updated the client to build a default artifact for gauge discharge curve.
Raimund Renkert <rrenkert@intevation.de>
parents: 8023
diff changeset
31 import org.dive4elements.river.client.shared.model.DefaultData;
519023ce3500 Updated the client to build a default artifact for gauge discharge curve.
Raimund Renkert <rrenkert@intevation.de>
parents: 8023
diff changeset
32 import org.dive4elements.river.client.shared.model.DefaultDataItem;
5835
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
33 import org.dive4elements.river.client.shared.model.GaugeInfo;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
34 import org.dive4elements.river.client.shared.model.RiverInfo;
4956
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
35
9093
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
36 import com.google.gwt.core.client.GWT;
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
37 import com.google.gwt.user.client.rpc.AsyncCallback;
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
38 import com.smartgwt.client.util.SC;
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
39 import com.smartgwt.client.widgets.Canvas;
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
40 import com.smartgwt.client.widgets.grid.ListGridField;
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
41 import com.smartgwt.client.widgets.grid.ListGridRecord;
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
42 import com.smartgwt.client.widgets.grid.events.RecordClickEvent;
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
43 import com.smartgwt.client.widgets.grid.events.RecordClickHandler;
4956
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
44
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
45 /**
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
46 * @author <a href="mailto:bjoern.ricks@intevation.de">Björn Ricks</a>
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
47 */
4960
a3a59055ed5e Add click handler to create an artifact for Abflusstafel-/kurve from a pegel cell
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4959
diff changeset
48 public class GaugeListGrid extends InfoListGrid implements RecordClickHandler {
4956
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
49
9093
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
50 public static enum DisappearType {
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
51 remove, collapse, stayVisible
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
52 }
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
53
4961
27b4d5d20dc8 Render text in Abflusstafel/-kurve cell like a "normal" html link
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4960
diff changeset
54 private static final int ABFLUSSTAFEL_COLUMN = 6;
27b4d5d20dc8 Render text in Abflusstafel/-kurve cell like a "normal" html link
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4960
diff changeset
55
8303
519023ce3500 Updated the client to build a default artifact for gauge discharge curve.
Raimund Renkert <rrenkert@intevation.de>
parents: 8023
diff changeset
56 /** The ArtifactService used to communicate with the Artifact server. */
9093
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
57 protected ArtifactServiceAsync artifactService = GWT.create(ArtifactService.class);
8303
519023ce3500 Updated the client to build a default artifact for gauge discharge curve.
Raimund Renkert <rrenkert@intevation.de>
parents: 8023
diff changeset
58
519023ce3500 Updated the client to build a default artifact for gauge discharge curve.
Raimund Renkert <rrenkert@intevation.de>
parents: 8023
diff changeset
59 /** The StepForwardService used to put data into an existing artifact. */
9093
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
60 protected StepForwardServiceAsync forwardService = GWT.create(StepForwardService.class);
8303
519023ce3500 Updated the client to build a default artifact for gauge discharge curve.
Raimund Renkert <rrenkert@intevation.de>
parents: 8023
diff changeset
61
9093
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
62 /** The ArtifactService used to communicate with the Artifact server. */
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
63 protected CreateCollectionServiceAsync createCollectionService = GWT.create(CreateCollectionService.class);
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
64
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
65 /** The StepForwardService used to put data into an existing artifact. */
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
66 protected AdvanceServiceAsync advanceService = GWT.create(AdvanceService.class);
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
67
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
68 private final List<GaugeInfo> gauges = new ArrayList<GaugeInfo>();
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
69
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
70 public GaugeListGrid(final FLYS flys) {
4956
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
71 super(flys);
9093
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
72 // TODO i18n!!!
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
73 final ListGridField nfield = new ListGridField("name", "Pegel");
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
74 final ListGridField sfield = new ListGridField("kmstart", "Start [km]", 60);
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
75 final ListGridField efield = new ListGridField("kmend", "Ende [km]", 60);
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
76 final ListGridField stfield = new ListGridField("station", "Station [km]");
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
77 final ListGridField lfield = new ListGridField("infolink", "Info");
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
78 final ListGridField cfield = new ListGridField("curvelink", this.MSG.gauge_curve_link());
4959
2b7886ba7bb2 Display Ablusstafel/-kurve in Pegelinfo
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4957
diff changeset
79 cfield.addRecordClickHandler(this);
4956
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
80
6272
24be0cc1c67c Replaced the 'old school' wiki link buttons with default links.
Raimund Renkert <rrenkert@intevation.de>
parents: 6190
diff changeset
81 this.setShowRecordComponents(true);
24be0cc1c67c Replaced the 'old school' wiki link buttons with default links.
Raimund Renkert <rrenkert@intevation.de>
parents: 6190
diff changeset
82 this.setShowRecordComponentsByCell(true);
4959
2b7886ba7bb2 Display Ablusstafel/-kurve in Pegelinfo
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4957
diff changeset
83 this.setFields(nfield, sfield, efield, stfield, lfield, cfield);
4956
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
84 }
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
85
9093
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
86 @Override
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
87 public void setRiverInfo(final RiverInfo riverinfo) {
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
88 final List<GaugeInfo> gauges = riverinfo.getGauges();
4956
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
89
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
90 if (gauges != null && !gauges.isEmpty()) {
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
91
9093
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
92 final ArrayList<GaugeInfo> emptygauges = new ArrayList<GaugeInfo>();
4956
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
93
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
94 if (!riverinfo.isKmUp()) {
9093
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
95 for (final GaugeInfo gauge : gauges) {
4956
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
96 addGauge(gauge, emptygauges);
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
97 }
9093
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
98 } else {
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
99 for (int i = gauges.size() - 1; i >= 0; i--) {
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
100 final GaugeInfo gauge = gauges.get(i);
4956
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
101 addGauge(gauge, emptygauges);
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
102 }
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
103 }
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
104
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
105 // put empty gauges to the end
9093
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
106 for (final GaugeInfo gauge : emptygauges) {
4956
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
107 addGauge(gauge);
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
108 }
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
109 }
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
110 }
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
111
9093
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
112 private void addGauge(final GaugeInfo gauge, final List<GaugeInfo> empty) {
4956
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
113 if (gauge.getKmStart() != null && gauge.getKmEnd() != null) {
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
114 addGauge(gauge);
9093
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
115 } else {
4956
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
116 empty.add(gauge);
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
117 }
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
118 }
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
119
9093
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
120 private void addGauge(final GaugeInfo gauge) {
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
121
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
122 this.gauges.add(gauge);
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
123
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
124 // this.addData(new GaugeRecord(gauge));
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
125
4956
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
126 }
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
127
9093
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
128 @Override
4956
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
129 public void open() {
9093
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
130 final ArrayList<Double> locations = new ArrayList<Double>();
4956
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
131
9093
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
132 if (this.data != null && this.data.length > 0) {
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
133 for (final DataList dl : this.data) {
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
134
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
135 final String state = dl.getState();
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
136 DisappearType type = DisappearType.collapse;
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
137 if (state.contains("state.bundu.") || state.contains("state.fix.")) {
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
138 type = DisappearType.remove;
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
139 }
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
140
4956
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
141 GWT.log("GaugeListGrid - open " + state);
9093
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
142 if (state.contains(".location_distance")) {
4956
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
143 Double ldfrom = null;
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
144 Double ldto = null;
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
145
9093
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
146 for (int j = dl.size() - 1; j >= 0; --j) {
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
147 final Data d = dl.get(j);
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
148 final String label = d.getLabel();
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
149 GWT.log("GaugeListGrid - setData - label " + label + " " + d.getStringValue());
4956
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
150 if (label.equals("ld_from")) {
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
151 ldfrom = getDoubleValue(d);
9093
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
152 } else if (label.equals("ld_to")) {
4956
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
153 ldto = getDoubleValue(d);
9093
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
154 } else if (label.equals("ld_locations")) {
4956
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
155 getLocationsFromData(locations, d);
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
156 openOnLocations(locations);
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
157 return;
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
158 }
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
159 }
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
160 if (ldfrom != null) {
9093
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
161
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
162 openOnDistance(ldfrom, ldto, type);
4956
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
163 return;
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
164 }
9093
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
165 } else if (state.contains(".distance_only") || state.contains(".distance")
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
166 || state.contains(".location") && !state.contains(".location_distance")) {
4956
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
167 Double ldfrom = null;
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
168 Double ldto = null;
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
169
9093
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
170 for (int j = dl.size() - 1; j >= 0; --j) {
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
171 final Data d = dl.get(j);
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
172 final String label = d.getLabel();
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
173 GWT.log("GaugeListGrid - setData - label " + label + " " + d.getStringValue());
4956
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
174 if (label.equals("ld_from")) {
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
175 ldfrom = getDoubleValue(d);
9093
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
176 } else if (label.equals("ld_to")) {
4956
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
177 ldto = getDoubleValue(d);
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
178 }
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
179 }
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
180
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
181 if (ldfrom != null) {
9093
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
182 openOnDistance(ldfrom, ldto, type);
4956
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
183 return;
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
184 }
9093
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
185 } else if (state.equals("state.winfo.location")) {
4956
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
186 getLocations("ld_locations", locations, dl);
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
187 openOnLocations(locations);
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
188 return;
9093
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
189 } else if (state.equals("state.winfo.reference.curve.input.start")) {
4956
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
190 getLocations("reference_startpoint", locations, dl);
9093
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
191 } else if (state.equals("state.winfo.reference.curve.input.end")) {
4956
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
192 getLocations("reference_endpoint", locations, dl);
9093
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
193 } else if (state.equals("state.winfo.historicalq.reference_gauge")) {
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
194 for (int j = dl.size() - 1; j >= 0; --j) {
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
195 final Data d = dl.get(j);
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
196 final String label = d.getLabel();
4956
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
197 if (label.equals("reference_gauge")) {
9093
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
198 final String tmp = d.getStringValue();
4956
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
199 if (tmp != null) {
9093
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
200 final Long gaugereference = Long.valueOf(tmp);
4956
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
201 if (gaugereference != null) {
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
202 openOnReference(gaugereference);
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
203 return;
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
204 }
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
205 }
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
206 }
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
207 }
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
208 }
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
209 }
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
210 }
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
211 if (!locations.isEmpty()) {
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
212 openOnLocations(locations);
9275
ff9372d0cc1c All gauges should be collapsed during selection of calc mode
gernotbelger
parents: 9270
diff changeset
213 } else if( this.data != null && this.data.length == 1 ){
ff9372d0cc1c All gauges should be collapsed during selection of calc mode
gernotbelger
parents: 9270
diff changeset
214 // During selection of calc-mode: all gauges should be collapsed
ff9372d0cc1c All gauges should be collapsed during selection of calc mode
gernotbelger
parents: 9270
diff changeset
215 collapseAll();
ff9372d0cc1c All gauges should be collapsed during selection of calc mode
gernotbelger
parents: 9270
diff changeset
216 }
ff9372d0cc1c All gauges should be collapsed during selection of calc mode
gernotbelger
parents: 9270
diff changeset
217 else {
4956
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
218 openAll();
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
219 }
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
220 }
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
221
9093
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
222 @Override
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
223 public void openAll() {
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
224
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
225 GWT.log("InfoListGrid - openAll");
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
226
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
227 setData(new ListGridRecord[] {});
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
228 for (final GaugeInfo gauge : this.gauges) {
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
229 addExpandedRecord(gauge);
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
230 }
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
231 }
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
232
9275
ff9372d0cc1c All gauges should be collapsed during selection of calc mode
gernotbelger
parents: 9270
diff changeset
233 private void collapseAll() {
ff9372d0cc1c All gauges should be collapsed during selection of calc mode
gernotbelger
parents: 9270
diff changeset
234
ff9372d0cc1c All gauges should be collapsed during selection of calc mode
gernotbelger
parents: 9270
diff changeset
235 GWT.log("InfoListGrid - openAll");
ff9372d0cc1c All gauges should be collapsed during selection of calc mode
gernotbelger
parents: 9270
diff changeset
236
ff9372d0cc1c All gauges should be collapsed during selection of calc mode
gernotbelger
parents: 9270
diff changeset
237 setData(new ListGridRecord[] {});
ff9372d0cc1c All gauges should be collapsed during selection of calc mode
gernotbelger
parents: 9270
diff changeset
238 for (final GaugeInfo gauge : this.gauges) {
ff9372d0cc1c All gauges should be collapsed during selection of calc mode
gernotbelger
parents: 9270
diff changeset
239 addCollapsedRecord(gauge);
ff9372d0cc1c All gauges should be collapsed during selection of calc mode
gernotbelger
parents: 9270
diff changeset
240 }
ff9372d0cc1c All gauges should be collapsed during selection of calc mode
gernotbelger
parents: 9270
diff changeset
241 }
ff9372d0cc1c All gauges should be collapsed during selection of calc mode
gernotbelger
parents: 9270
diff changeset
242
9093
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
243 void getLocations(final String labelname, final List<Double> locations, final DataList dl) {
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
244 for (int j = dl.size() - 1; j >= 0; --j) {
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
245 final Data d = dl.get(j);
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
246 final String label = d.getLabel();
4956
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
247 if (label.equals(labelname)) {
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
248 getLocationsFromData(locations, d);
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
249 }
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
250 }
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
251 }
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
252
9093
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
253 void getLocationsFromData(final List<Double> locations, final Data data) {
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
254 final DataItem[] items = data.getItems();
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
255 for (final DataItem item : items) {
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
256 final String tmp = item.getStringValue();
4956
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
257 GWT.log("GaugeListGrid - getLocationsFromData " + tmp);
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
258 if (tmp != null) {
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
259 if (tmp.contains(" ")) {
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
260 // string contains several values ...
9270
7337034eb5d5 multiple whitespace input fix
gernotbelger
parents: 9093
diff changeset
261 final String[] values = StringArrayParseHelper.getArrayFromRawString(tmp);
9093
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
262 for (final String value2 : values) {
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
263 final Double value = Double.valueOf(value2);
4956
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
264 if (value != null) {
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
265 locations.add(value);
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
266 }
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
267 }
9093
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
268 } else {
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
269 final Double value = Double.valueOf(tmp);
4956
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
270 if (value != null) {
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
271 locations.add(value);
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
272 }
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
273 }
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
274 }
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
275 }
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
276 }
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
277
9093
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
278 public void openOnReference(final Long number) {
4956
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
279 GWT.log("GaugeListGrid - openOnReference " + number);
9093
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
280
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
281 setData(new ListGridRecord[] {});
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
282
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
283 for (final GaugeInfo gauge : this.gauges) {
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
284
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
285 if (gauge.getOfficialNumber().equals(number)) {
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
286 this.addExpandedRecord(gauge);// (gauge);
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
287 } else {
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
288 this.addCollapsedRecord(gauge);
4956
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
289 }
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
290 }
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
291 }
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
292
9284
486b6160962f Fixed: filtering of gauge list did not handle cases correctly, where fromKm > toKm
gernotbelger
parents: 9275
diff changeset
293 public void openOnDistance(final double start, final Double end, final DisappearType type) {
4956
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
294 GWT.log("GaugeListGrid - openOnDistance " + start + " " + end);
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
295
9093
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
296 setData(new ListGridRecord[] {});
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
297
9284
486b6160962f Fixed: filtering of gauge list did not handle cases correctly, where fromKm > toKm
gernotbelger
parents: 9275
diff changeset
298 double to = end == null ? Double.MAX_VALUE: end;
486b6160962f Fixed: filtering of gauge list did not handle cases correctly, where fromKm > toKm
gernotbelger
parents: 9275
diff changeset
299
486b6160962f Fixed: filtering of gauge list did not handle cases correctly, where fromKm > toKm
gernotbelger
parents: 9275
diff changeset
300 double from = Math.min(start, to);
486b6160962f Fixed: filtering of gauge list did not handle cases correctly, where fromKm > toKm
gernotbelger
parents: 9275
diff changeset
301 to = Math.max(start, to);
486b6160962f Fixed: filtering of gauge list did not handle cases correctly, where fromKm > toKm
gernotbelger
parents: 9275
diff changeset
302
9093
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
303 for (final GaugeInfo gauge : this.gauges) {
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
304
9284
486b6160962f Fixed: filtering of gauge list did not handle cases correctly, where fromKm > toKm
gernotbelger
parents: 9275
diff changeset
305 /* in earlier version, it was assumed that gaugeEnd may be null, but start not. */
486b6160962f Fixed: filtering of gauge list did not handle cases correctly, where fromKm > toKm
gernotbelger
parents: 9275
diff changeset
306 final Double gaugeStart = gauge.getKmStart();
486b6160962f Fixed: filtering of gauge list did not handle cases correctly, where fromKm > toKm
gernotbelger
parents: 9275
diff changeset
307 final Double gaugeEnd = gauge.getKmEnd() == null ? gaugeStart : gauge.getKmEnd();
486b6160962f Fixed: filtering of gauge list did not handle cases correctly, where fromKm > toKm
gernotbelger
parents: 9275
diff changeset
308
486b6160962f Fixed: filtering of gauge list did not handle cases correctly, where fromKm > toKm
gernotbelger
parents: 9275
diff changeset
309 boolean expand;
486b6160962f Fixed: filtering of gauge list did not handle cases correctly, where fromKm > toKm
gernotbelger
parents: 9275
diff changeset
310 if( gaugeStart == null )
486b6160962f Fixed: filtering of gauge list did not handle cases correctly, where fromKm > toKm
gernotbelger
parents: 9275
diff changeset
311 expand = false;
486b6160962f Fixed: filtering of gauge list did not handle cases correctly, where fromKm > toKm
gernotbelger
parents: 9275
diff changeset
312 else {
486b6160962f Fixed: filtering of gauge list did not handle cases correctly, where fromKm > toKm
gernotbelger
parents: 9275
diff changeset
313
486b6160962f Fixed: filtering of gauge list did not handle cases correctly, where fromKm > toKm
gernotbelger
parents: 9275
diff changeset
314 final double gaugeFrom = Math.min(gaugeStart, gaugeEnd);
486b6160962f Fixed: filtering of gauge list did not handle cases correctly, where fromKm > toKm
gernotbelger
parents: 9275
diff changeset
315 final double gaugeTo = Math.max(gaugeStart, gaugeEnd);
486b6160962f Fixed: filtering of gauge list did not handle cases correctly, where fromKm > toKm
gernotbelger
parents: 9275
diff changeset
316
486b6160962f Fixed: filtering of gauge list did not handle cases correctly, where fromKm > toKm
gernotbelger
parents: 9275
diff changeset
317 expand = (from >= gaugeFrom && from <= gaugeTo) || (to >= gaugeFrom && to <= gaugeTo) || (from <= gaugeFrom && to >= gaugeEnd);
486b6160962f Fixed: filtering of gauge list did not handle cases correctly, where fromKm > toKm
gernotbelger
parents: 9275
diff changeset
318 }
486b6160962f Fixed: filtering of gauge list did not handle cases correctly, where fromKm > toKm
gernotbelger
parents: 9275
diff changeset
319
486b6160962f Fixed: filtering of gauge list did not handle cases correctly, where fromKm > toKm
gernotbelger
parents: 9275
diff changeset
320 if( expand )
486b6160962f Fixed: filtering of gauge list did not handle cases correctly, where fromKm > toKm
gernotbelger
parents: 9275
diff changeset
321 addExpandedRecord(gauge);
486b6160962f Fixed: filtering of gauge list did not handle cases correctly, where fromKm > toKm
gernotbelger
parents: 9275
diff changeset
322 else
9093
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
323 removeOrCollapse(gauge, type);
4956
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
324 }
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
325 }
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
326
9093
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
327 private void removeOrCollapse(final GaugeInfo gauge, final DisappearType type) {
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
328 switch (type) {
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
329 case remove:
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
330 // Remove: gauge wird der datasource nicht hinzugefügt
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
331 break;
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
332 case collapse:
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
333 addCollapsedRecord(gauge);
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
334 break;
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
335 case stayVisible: // TODO: check
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
336 addExpandedRecord(gauge);
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
337 break;
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
338 }
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
339
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
340 }
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
341
4956
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
342 /**
4980
e70ff0a600a3 flys-client: Whitespace and doc cosemtics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4962
diff changeset
343 * Open Gauge entry if a location fits to the gauge.
4956
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
344 */
9093
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
345 public void openOnLocations(final List<Double> locations) {
4956
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
346 GWT.log("GaugeListGrid - openOnLocations " + locations);
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
347
9093
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
348 setData(new ListGridRecord[] {});
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
349
4956
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
350 if (locations == null || locations.isEmpty()) {
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
351 return;
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
352 }
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
353
9093
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
354 for (final GaugeInfo gauge : this.gauges) {
4956
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
355 boolean isset = false;
9093
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
356 for (final Double location : locations) {
4956
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
357 if (locations == null) {
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
358 continue;
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
359 }
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
360
9093
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
361 final Double start = gauge.getKmStart();
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
362 final Double end = gauge.getKmEnd();
4956
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
363 if (start == null || end == null) {
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
364 // should not occur but avoid NullPointerException
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
365 continue;
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
366 }
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
367
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
368 if (location >= start && location <= end) {
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
369 isset = true;
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
370 break;
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
371 }
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
372 }
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
373 if (isset) {
9093
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
374 addExpandedRecord(gauge);
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
375 } else {
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
376 addCollapsedRecord(gauge);
4956
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
377 }
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
378 }
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
379 }
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
380
9093
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
381 private void addExpandedRecord(final GaugeInfo gauge) {
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
382 final GaugeRecord record = new GaugeRecord(gauge);
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
383
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
384 this.addData(record);
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
385
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
386 expandRecord(record);
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
387 }
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
388
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
389 private void addCollapsedRecord(final GaugeInfo gauge) {
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
390 final GaugeRecord record = new GaugeRecord(gauge);
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
391
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
392 this.addData(record);
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
393
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
394 collapseRecord(record);
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
395 }
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
396
4956
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
397 @Override
9093
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
398 protected Canvas getExpandPanel(final ListGridRecord record) {
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
399 final GaugeRecord item = (GaugeRecord) record;
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
400 return new GaugeInfoPanel(item, this.flys);
4956
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
401 }
4960
a3a59055ed5e Add click handler to create an artifact for Abflusstafel-/kurve from a pegel cell
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4959
diff changeset
402
6032
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5993
diff changeset
403 /**
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5993
diff changeset
404 * When clicked on the gauge discharge link, open new Gauge Discharge
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5993
diff changeset
405 * Curve view.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5993
diff changeset
406 */
4960
a3a59055ed5e Add click handler to create an artifact for Abflusstafel-/kurve from a pegel cell
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4959
diff changeset
407 @Override
9093
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
408 public void onRecordClick(final RecordClickEvent event) {
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
409 final GaugeRecord gauge = (GaugeRecord) event.getRecord();
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
410 final Config config = Config.getInstance();
8303
519023ce3500 Updated the client to build a default artifact for gauge discharge curve.
Raimund Renkert <rrenkert@intevation.de>
parents: 8023
diff changeset
411 final String locale = config.getLocale();
9093
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
412 this.createCollectionService.create(locale, this.flys.getCurrentUser().identifier(), new AsyncCallback<Collection>() {
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
413 @Override
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
414 public void onFailure(final Throwable caught) {
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
415 GWT.log("Could not create the new collection.");
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
416 SC.warn(FLYS.getExceptionString(GaugeListGrid.this.MSG, caught));
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
417 }
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
418
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
419 @Override
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
420 public void onSuccess(final Collection collection) {
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
421 GWT.log("Successfully created a new collection.");
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
422 createArtifact(collection, locale, gauge);
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
423 }
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
424 });
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
425 }
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
426
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
427 private void createArtifact(final Collection collection, final String locale, final GaugeRecord gauge) {
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
428 this.artifactService.create(locale, "gaugedischargecurve", null, new AsyncCallback<Artifact>() {
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
429 @Override
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
430 public void onFailure(final Throwable caught) {
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
431 GWT.log("Could not create the new artifact.");
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
432 SC.warn(FLYS.getExceptionString(GaugeListGrid.this.MSG, caught));
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
433 }
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
434
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
435 @Override
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
436 public void onSuccess(final Artifact artifact) {
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
437 GWT.log("Successfully created a new artifact.");
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
438
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
439 final DataItem riverItem = new DefaultDataItem("river", "river", gauge.getRiverName());
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
440 final Data river = new DefaultData("river", null, null, new DataItem[] { riverItem });
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
441
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
442 final DataItem refItem = new DefaultDataItem("reference_gauge", "reference_gauge", gauge.getOfficialNumber().toString());
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
443 final Data ref = new DefaultData("reference_gauge", null, null, new DataItem[] { refItem });
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
444
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
445 final DataItem locItem = new DefaultDataItem("ld_locations", "ld_locations", gauge.getStation().toString());
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
446 final Data loc = new DefaultData("ld_locations", null, null, new DataItem[] { locItem });
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
447
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
448 final DataItem nameItem = new DefaultDataItem("gauge_name", "gauge_name", gauge.getName());
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
449 final Data name = new DefaultData("gauge_name", null, null, new DataItem[] { nameItem });
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
450
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
451 final Data[] data = new Data[] { river, ref, loc, name };
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
452 GaugeListGrid.this.forwardService.go(locale, artifact, data, new AsyncCallback<Artifact>() {
8303
519023ce3500 Updated the client to build a default artifact for gauge discharge curve.
Raimund Renkert <rrenkert@intevation.de>
parents: 8023
diff changeset
453 @Override
9093
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
454 public void onFailure(final Throwable caught) {
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
455 GWT.log("Could not feed the artifact.");
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
456 SC.warn(caught.getMessage());
8303
519023ce3500 Updated the client to build a default artifact for gauge discharge curve.
Raimund Renkert <rrenkert@intevation.de>
parents: 8023
diff changeset
457 }
519023ce3500 Updated the client to build a default artifact for gauge discharge curve.
Raimund Renkert <rrenkert@intevation.de>
parents: 8023
diff changeset
458
519023ce3500 Updated the client to build a default artifact for gauge discharge curve.
Raimund Renkert <rrenkert@intevation.de>
parents: 8023
diff changeset
459 @Override
9093
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
460 public void onSuccess(final Artifact artifact) {
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
461 GWT.log("Successfully feed the artifact.");
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
462 final CollectionView view = new CollectionView(GaugeListGrid.this.flys, collection, artifact);
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
463 GaugeListGrid.this.flys.getWorkspace().addView(collection.identifier(), view);
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
464 view.addArtifactToCollection(artifact);
8303
519023ce3500 Updated the client to build a default artifact for gauge discharge curve.
Raimund Renkert <rrenkert@intevation.de>
parents: 8023
diff changeset
465 }
9093
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
466 });
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
467 }
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
468 });
4960
a3a59055ed5e Add click handler to create an artifact for Abflusstafel-/kurve from a pegel cell
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4959
diff changeset
469 }
4961
27b4d5d20dc8 Render text in Abflusstafel/-kurve cell like a "normal" html link
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4960
diff changeset
470
27b4d5d20dc8 Render text in Abflusstafel/-kurve cell like a "normal" html link
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4960
diff changeset
471 @Override
9093
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
472 public String getCellCSSText(final ListGridRecord record, final int rowNum, final int colNum) {
4961
27b4d5d20dc8 Render text in Abflusstafel/-kurve cell like a "normal" html link
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4960
diff changeset
473 if (colNum == ABFLUSSTAFEL_COLUMN) {
27b4d5d20dc8 Render text in Abflusstafel/-kurve cell like a "normal" html link
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4960
diff changeset
474 // display the ablfusstafel cell like a link
9093
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
475 return "text-decoration: underline; color: #0000EE; " + "cursor: pointer;";
280c5b44f219 2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents: 8856
diff changeset
476 } else {
4961
27b4d5d20dc8 Render text in Abflusstafel/-kurve cell like a "normal" html link
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4960
diff changeset
477 return super.getCellCSSText(record, rowNum, colNum);
27b4d5d20dc8 Render text in Abflusstafel/-kurve cell like a "normal" html link
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4960
diff changeset
478 }
27b4d5d20dc8 Render text in Abflusstafel/-kurve cell like a "normal" html link
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4960
diff changeset
479 }
4956
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
480 }

http://dive4elements.wald.intevation.org