Mercurial > dive4elements > river
annotate artifacts/src/main/java/org/dive4elements/river/artifacts/model/GaugeFinder.java @ 9415:9744ce3c3853
Rework of fixanalysis computation and dWt and WQ facets. Got rid of strange remapping and bitshifting code by explicitely saving the column information and using it in the facets.
The facets also put the valid station range into their xml-metadata
author | gernotbelger |
---|---|
date | Thu, 16 Aug 2018 16:27:53 +0200 |
parents | af13ceeba52a |
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 |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
15 import org.apache.log4j.Logger; |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
16 |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
17 import org.hibernate.SQLQuery; |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
18 import org.hibernate.Session; |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
19 |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
20 import org.hibernate.type.StandardBasicTypes; |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
21 |
5343
61f4d4164a30
Doc, cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5335
diff
changeset
|
22 /** 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
|
23 public class GaugeFinder |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
24 implements Serializable |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
25 { |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
26 private static Logger log = Logger.getLogger(GaugeFinder.class); |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
27 |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
28 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
|
29 "SELECT" + |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
30 " g.id AS gauge_id," + |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
31 " nmv.name AS name," + |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
32 " 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
|
33 "FROM gauges g" + |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
34 " 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
|
35 " 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
|
36 " 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
|
37 "WHERE" + |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
38 " mvt.name = 'Q' AND (" + |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
39 " nmv.name = 'MNQ' OR" + |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
40 " nmv.name LIKE 'MNQ(%' OR" + |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
41 " nmv.name = 'MQ' OR" + |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
42 " nmv.name LIKE 'MQ(%' OR" + |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
43 " nmv.name = 'MHQ' OR" + |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
44 " nmv.name LIKE 'MHQ(%' OR" + |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
45 " nmv.name = 'HQ5' OR" + |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
46 " nmv.name LIKE 'HQ5(%') AND" + |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
47 " g.river_id = :river_id " + |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
48 "ORDER BY" + |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
49 " g.id"; |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
50 |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
51 protected List<GaugeRange> gauges; |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
52 protected boolean isKmUp; |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
53 |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
54 public GaugeFinder(List<GaugeRange> gauges) { |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
55 this(gauges, true); |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
56 } |
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 public GaugeFinder( |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
59 List<GaugeRange> gauges, |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
60 boolean isKmUp |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
61 ) { |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
62 this.gauges = gauges; |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
63 this.isKmUp = isKmUp; |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
64 } |
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 public boolean getIsKmUp() { |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
67 return isKmUp; |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
68 } |
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 public void setIsKmUp(boolean isKmUp) { |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
71 this.isKmUp = isKmUp; |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
72 } |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
73 |
5335
05eeedc5b156
Doc, cosmetic and TODO fixes, renamed field in WQTimeRange.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3401
diff
changeset
|
74 |
05eeedc5b156
Doc, cosmetic and TODO fixes, renamed field in WQTimeRange.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3401
diff
changeset
|
75 /** 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
|
76 public GaugeRange find(double km) { |
3142
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
77 for (GaugeRange gauge: gauges) { |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
78 if (gauge.inside(km)) { |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
79 return gauge; |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
80 } |
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 return null; |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
83 } |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
84 |
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
|
85 public GaugeRange find(Range range) { |
9415
9744ce3c3853
Rework of fixanalysis computation and dWt and WQ facets. Got rid of strange remapping and bitshifting code by explicitely saving the column information and using it in the facets.
gernotbelger
parents:
5994
diff
changeset
|
86 return find(isKmUp ? range.getStart() : range.getEnd()); |
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
|
87 } |
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 |
3142
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
89 public GaugeRange find(int gaugeId) { |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
90 for (GaugeRange gauge: gauges) { |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
91 if (gauge.gaugeId == gaugeId) { |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
92 return gauge; |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
93 } |
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 return null; |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
96 } |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
97 |
3401
086326be721c
FixA: Overview: classify Q ranges by intersecting gauges.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3143
diff
changeset
|
98 public List<GaugeRange> getGauges() { |
086326be721c
FixA: Overview: classify Q ranges by intersecting gauges.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3143
diff
changeset
|
99 return gauges; |
086326be721c
FixA: Overview: classify Q ranges by intersecting gauges.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3143
diff
changeset
|
100 } |
086326be721c
FixA: Overview: classify Q ranges by intersecting gauges.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3143
diff
changeset
|
101 |
3142
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
102 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
|
103 |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
104 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
|
105 .addScalar("gauge_id", StandardBasicTypes.INTEGER) |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
106 .addScalar("name", StandardBasicTypes.STRING) |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
107 .addScalar("value", StandardBasicTypes.DOUBLE); |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
108 |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
109 query.setInteger("river_id", riverId); |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
110 |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
111 List<Object []> list = query.list(); |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
112 |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
113 if (list.isEmpty()) { |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
114 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
|
115 return false; |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
116 } |
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 GaugeRange gauge = null; |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
119 |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
120 for (Object [] row: list) { |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
121 int gaugeId = (Integer)row[0]; |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
122 String label = (String) row[1]; |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
123 Double value = (Double) row[2]; |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
124 |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
125 if (gauge == null || gauge.gaugeId != gaugeId) { |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
126 if ((gauge = find(gaugeId)) == null) { |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
127 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
|
128 continue; |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
129 } |
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 gauge.addMainValue(label, value); |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
133 } |
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 for (GaugeRange g: gauges) { |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
136 g.buildClasses(); |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
137 } |
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 return true; |
9aed2e4de3ca
FixA: Moved GaugeFinder into top level class.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
140 } |
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 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |