Mercurial > dive4elements > river
annotate artifacts/src/main/java/org/dive4elements/river/artifacts/model/GaugeFinder.java @ 6538:de62db0f2035
issue1157: Let CrossSection be able to find out whether it should be active & master.
author | Felix Wolfsteller <felix.wolfsteller@intevation.de> |
---|---|
date | Thu, 04 Jul 2013 11:52:06 +0200 |
parents | af13ceeba52a |
children | 9744ce3c3853 0a5239a1e46e |
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) { |
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 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
|
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 : |