Mercurial > dive4elements > river
annotate artifacts/src/main/java/org/dive4elements/river/artifacts/model/GaugeFinder.java @ 9801:1d7a72a50183 3.2.x tip
Assume Compose V2, consistently
author | Tom Gottfried <tom@intevation.de> |
---|---|
date | Thu, 23 Nov 2023 10:14:13 +0100 |
parents | 0a5239a1e46e |
children |
rev | line source |
---|---|
5863
4897a58c8746
River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
1 /* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde |
4897a58c8746
River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
2 * Software engineering by Intevation GmbH |
4897a58c8746
River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
3 * |
5994
af13ceeba52a
Removed trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5863
diff
changeset
|
4 * This file is Free Software under the GNU AGPL (>=v3) |
5863
4897a58c8746
River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
5 * and comes with ABSOLUTELY NO WARRANTY! Check out the |
5994
af13ceeba52a
Removed trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5863
diff
changeset
|
6 * documentation coming with Dive4Elements River for details. |
5863
4897a58c8746
River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
7 */ |
4897a58c8746
River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
8 |
5831
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5343
diff
changeset
|
9 package org.dive4elements.river.artifacts.model; |
3142
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
10 |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
11 import java.io.Serializable; |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
12 |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
13 import java.util.List; |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
14 |
9726 | 15 import org.apache.logging.log4j.Logger; |
16 import org.apache.logging.log4j.LogManager; | |
3142
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
17 |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
18 import org.hibernate.SQLQuery; |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
19 import org.hibernate.Session; |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
20 |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
21 import org.hibernate.type.StandardBasicTypes; |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
22 |
5343
61f4d4164a30
Doc, cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5335
diff
changeset
|
23 /** Find Gauges and respective Q main values. */ |
3142
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
24 public class GaugeFinder |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
25 implements Serializable |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
26 { |
9726 | 27 private static Logger log = LogManager.getLogger(GaugeFinder.class); |
3142
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
28 |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
29 public static final String SQL_DISCHARGE_SECTORS = |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
30 "SELECT" + |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
31 " g.id AS gauge_id," + |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
32 " nmv.name AS name," + |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
33 " CAST(mv.value AS NUMERIC(38,2)) AS value " + |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
34 "FROM gauges g" + |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
35 " JOIN main_values mv ON g.id = mv.gauge_id" + |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
36 " JOIN named_main_values nmv ON nmv.id = mv.named_value_id" + |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
37 " JOIN main_value_types mvt ON nmv.type_id = mvt.id " + |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
38 "WHERE" + |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
39 " mvt.name = 'Q' AND (" + |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
40 " nmv.name = 'MNQ' OR" + |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
41 " nmv.name LIKE 'MNQ(%' OR" + |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
42 " nmv.name = 'MQ' OR" + |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
43 " nmv.name LIKE 'MQ(%' OR" + |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
44 " nmv.name = 'MHQ' OR" + |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
45 " nmv.name LIKE 'MHQ(%' OR" + |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
46 " nmv.name = 'HQ5' OR" + |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
47 " nmv.name LIKE 'HQ5(%') AND" + |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
48 " g.river_id = :river_id " + |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
49 "ORDER BY" + |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
50 " g.id"; |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
51 |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
52 protected List<GaugeRange> gauges; |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
53 protected boolean isKmUp; |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
54 |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
55 public GaugeFinder(List<GaugeRange> gauges) { |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
56 this(gauges, true); |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
57 } |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
58 |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
59 public GaugeFinder( |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
60 List<GaugeRange> gauges, |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
61 boolean isKmUp |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
62 ) { |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
63 this.gauges = gauges; |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
64 this.isKmUp = isKmUp; |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
65 } |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
66 |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
67 public boolean getIsKmUp() { |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
68 return isKmUp; |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
69 } |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
70 |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
71 public void setIsKmUp(boolean isKmUp) { |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
72 this.isKmUp = isKmUp; |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
73 } |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
74 |
5335
05eeedc5b156
Doc, cosmetic and TODO fixes, renamed field in WQTimeRange.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3401
diff
changeset
|
75 |
05eeedc5b156
Doc, cosmetic and TODO fixes, renamed field in WQTimeRange.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3401
diff
changeset
|
76 /** Find GaugeRange at kilometer. */ |
3143
29022c93027d
FixA: Create a cached GaugeFinderFactory to access the gauge along a river
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3142
diff
changeset
|
77 public GaugeRange find(double km) { |
3142
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
78 for (GaugeRange gauge: gauges) { |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
79 if (gauge.inside(km)) { |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
80 return gauge; |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
81 } |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
82 } |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
83 return null; |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
84 } |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
85 |
3143
29022c93027d
FixA: Create a cached GaugeFinderFactory to access the gauge along a river
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3142
diff
changeset
|
86 public GaugeRange find(Range range) { |
29022c93027d
FixA: Create a cached GaugeFinderFactory to access the gauge along a river
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3142
diff
changeset
|
87 return find(isKmUp ? range.start : range.end); |
29022c93027d
FixA: Create a cached GaugeFinderFactory to access the gauge along a river
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3142
diff
changeset
|
88 } |
29022c93027d
FixA: Create a cached GaugeFinderFactory to access the gauge along a river
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3142
diff
changeset
|
89 |
3142
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
90 public GaugeRange find(int gaugeId) { |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
91 for (GaugeRange gauge: gauges) { |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
92 if (gauge.gaugeId == gaugeId) { |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
93 return gauge; |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
94 } |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
95 } |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
96 return null; |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
97 } |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
98 |
3401
086326be721c
FixA: Overview: classify Q ranges by intersecting gauges.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3143
diff
changeset
|
99 public List<GaugeRange> getGauges() { |
086326be721c
FixA: Overview: classify Q ranges by intersecting gauges.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3143
diff
changeset
|
100 return gauges; |
086326be721c
FixA: Overview: classify Q ranges by intersecting gauges.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3143
diff
changeset
|
101 } |
086326be721c
FixA: Overview: classify Q ranges by intersecting gauges.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3143
diff
changeset
|
102 |
3142
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
103 public boolean loadDischargeSectors(Session session, int riverId) { |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
104 |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
105 SQLQuery query = session.createSQLQuery(SQL_DISCHARGE_SECTORS) |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
106 .addScalar("gauge_id", StandardBasicTypes.INTEGER) |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
107 .addScalar("name", StandardBasicTypes.STRING) |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
108 .addScalar("value", StandardBasicTypes.DOUBLE); |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
109 |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
110 query.setInteger("river_id", riverId); |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
111 |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
112 List<Object []> list = query.list(); |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
113 |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
114 if (list.isEmpty()) { |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
115 log.warn("River " + riverId + " has no discharge sectors."); |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
116 return false; |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
117 } |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
118 |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
119 GaugeRange gauge = null; |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
120 |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
121 for (Object [] row: list) { |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
122 int gaugeId = (Integer)row[0]; |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
123 String label = (String) row[1]; |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
124 Double value = (Double) row[2]; |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
125 |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
126 if (gauge == null || gauge.gaugeId != gaugeId) { |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
127 if ((gauge = find(gaugeId)) == null) { |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
128 log.warn("Cannot find gauge for id " + gaugeId + "."); |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
129 continue; |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
130 } |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
131 } |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
132 |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
133 gauge.addMainValue(label, value); |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
134 } |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
135 |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
136 for (GaugeRange g: gauges) { |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
137 g.buildClasses(); |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
138 } |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
139 |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
140 return true; |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
141 } |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
142 } |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
143 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |