Mercurial > dive4elements > river
annotate artifacts/src/main/java/org/dive4elements/river/artifacts/model/sq/StaticSQFactory.java @ 8543:9a5b3079aad4
(issue1750) Take Static SQ Relations based on a range and merge them together
author | Andre Heinecke <andre.heinecke@intevation.de> |
---|---|
date | Fri, 13 Feb 2015 14:59:16 +0100 |
parents | 17db08570637 |
children | c6723e5b6857 |
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:
5500
diff
changeset
|
9 package org.dive4elements.river.artifacts.model.sq; |
5500
700ac898ab0b
Added Factory and model for static sq relations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
10 |
700ac898ab0b
Added Factory and model for static sq relations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
11 import java.math.BigDecimal; |
700ac898ab0b
Added Factory and model for static sq relations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
12 import java.util.Date; |
700ac898ab0b
Added Factory and model for static sq relations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
13 import java.util.List; |
700ac898ab0b
Added Factory and model for static sq relations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
14 |
700ac898ab0b
Added Factory and model for static sq relations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
15 import net.sf.ehcache.Cache; |
700ac898ab0b
Added Factory and model for static sq relations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
16 import net.sf.ehcache.Element; |
700ac898ab0b
Added Factory and model for static sq relations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
17 |
700ac898ab0b
Added Factory and model for static sq relations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
18 import org.apache.log4j.Logger; |
700ac898ab0b
Added Factory and model for static sq relations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
19 import org.hibernate.Query; |
700ac898ab0b
Added Factory and model for static sq relations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
20 import org.hibernate.Session; |
700ac898ab0b
Added Factory and model for static sq relations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
21 |
5831
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5500
diff
changeset
|
22 import org.dive4elements.river.artifacts.cache.CacheFactory; |
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5500
diff
changeset
|
23 import org.dive4elements.river.backend.SessionHolder; |
5500
700ac898ab0b
Added Factory and model for static sq relations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
24 |
700ac898ab0b
Added Factory and model for static sq relations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
25 |
700ac898ab0b
Added Factory and model for static sq relations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
26 public class StaticSQFactory |
700ac898ab0b
Added Factory and model for static sq relations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
27 { |
700ac898ab0b
Added Factory and model for static sq relations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
28 private static final Logger log = |
700ac898ab0b
Added Factory and model for static sq relations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
29 Logger.getLogger(StaticSQFactory.class); |
700ac898ab0b
Added Factory and model for static sq relations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
30 |
8543
9a5b3079aad4
(issue1750) Take Static SQ Relations based on a range and merge them together
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8412
diff
changeset
|
31 public static final String SQL_STATIONS_AT_RANGE = |
9a5b3079aad4
(issue1750) Take Static SQ Relations based on a range and merge them together
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8412
diff
changeset
|
32 "SELECT "+ |
9a5b3079aad4
(issue1750) Take Static SQ Relations based on a range and merge them together
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8412
diff
changeset
|
33 "ms.id AS ms_id " + |
9a5b3079aad4
(issue1750) Take Static SQ Relations based on a range and merge them together
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8412
diff
changeset
|
34 "FROM measurement_station ms " + |
9a5b3079aad4
(issue1750) Take Static SQ Relations based on a range and merge them together
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8412
diff
changeset
|
35 "JOIN ranges ra ON ra.id = ms.range_id " + |
9a5b3079aad4
(issue1750) Take Static SQ Relations based on a range and merge them together
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8412
diff
changeset
|
36 "JOIN rivers r ON r.id = ra.river_id " + |
9a5b3079aad4
(issue1750) Take Static SQ Relations based on a range and merge them together
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8412
diff
changeset
|
37 "WHERE r.name = :river AND " + |
9a5b3079aad4
(issue1750) Take Static SQ Relations based on a range and merge them together
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8412
diff
changeset
|
38 "ms.range_id = (SELECT range_id " + |
9a5b3079aad4
(issue1750) Take Static SQ Relations based on a range and merge them together
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8412
diff
changeset
|
39 "FROM measurement_station " + |
9a5b3079aad4
(issue1750) Take Static SQ Relations based on a range and merge them together
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8412
diff
changeset
|
40 "WHERE id = :ms_id)"; |
9a5b3079aad4
(issue1750) Take Static SQ Relations based on a range and merge them together
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8412
diff
changeset
|
41 |
5500
700ac898ab0b
Added Factory and model for static sq relations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
42 public static final String SQL_SQ = |
700ac898ab0b
Added Factory and model for static sq relations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
43 "SELECT " + |
700ac898ab0b
Added Factory and model for static sq relations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
44 "sq.description AS description,"+ |
700ac898ab0b
Added Factory and model for static sq relations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
45 "ti.start_time AS start_time," + |
700ac898ab0b
Added Factory and model for static sq relations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
46 "ti.stop_time AS stop_time, " + |
700ac898ab0b
Added Factory and model for static sq relations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
47 "ms.name AS station_name, " + |
8412
17db08570637
SCHEMA CHANGE: removed superfluous columns station and river_id from measurement_stations and adapted other components accordingly.
Tom Gottfried <tom@intevation.de>
parents:
7236
diff
changeset
|
48 "CASE WHEN r.km_up = 1 AND ra.b IS NOT NULL " + |
17db08570637
SCHEMA CHANGE: removed superfluous columns station and river_id from measurement_stations and adapted other components accordingly.
Tom Gottfried <tom@intevation.de>
parents:
7236
diff
changeset
|
49 "THEN ra.b " + |
17db08570637
SCHEMA CHANGE: removed superfluous columns station and river_id from measurement_stations and adapted other components accordingly.
Tom Gottfried <tom@intevation.de>
parents:
7236
diff
changeset
|
50 "ELSE ra.a " + |
17db08570637
SCHEMA CHANGE: removed superfluous columns station and river_id from measurement_stations and adapted other components accordingly.
Tom Gottfried <tom@intevation.de>
parents:
7236
diff
changeset
|
51 "END AS station_km, " + |
5500
700ac898ab0b
Added Factory and model for static sq relations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
52 "ms.measurement_type AS measurement_type, " + |
700ac898ab0b
Added Factory and model for static sq relations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
53 "sqv.parameter AS parameter, " + |
700ac898ab0b
Added Factory and model for static sq relations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
54 "sqv.a AS a, " + |
700ac898ab0b
Added Factory and model for static sq relations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
55 "sqv.b AS b, " + |
700ac898ab0b
Added Factory and model for static sq relations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
56 "sqv.qmax AS qmax " + |
700ac898ab0b
Added Factory and model for static sq relations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
57 "FROM sq_relation sq " + |
700ac898ab0b
Added Factory and model for static sq relations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
58 "JOIN time_intervals ti ON ti.id = sq.time_interval_id " + |
700ac898ab0b
Added Factory and model for static sq relations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
59 "JOIN sq_relation_value sqv ON sqv.sq_relation_id = sq.id " + |
8412
17db08570637
SCHEMA CHANGE: removed superfluous columns station and river_id from measurement_stations and adapted other components accordingly.
Tom Gottfried <tom@intevation.de>
parents:
7236
diff
changeset
|
60 "JOIN measurement_station ms " + |
17db08570637
SCHEMA CHANGE: removed superfluous columns station and river_id from measurement_stations and adapted other components accordingly.
Tom Gottfried <tom@intevation.de>
parents:
7236
diff
changeset
|
61 "ON sqv.measurement_station_id = ms.id " + |
17db08570637
SCHEMA CHANGE: removed superfluous columns station and river_id from measurement_stations and adapted other components accordingly.
Tom Gottfried <tom@intevation.de>
parents:
7236
diff
changeset
|
62 "JOIN ranges ra ON ra.id = ms.range_id " + |
17db08570637
SCHEMA CHANGE: removed superfluous columns station and river_id from measurement_stations and adapted other components accordingly.
Tom Gottfried <tom@intevation.de>
parents:
7236
diff
changeset
|
63 "JOIN rivers r ON r.id = ra.river_id "; |
7236
a9bd4a23a852
(issue1474) Add datacage loading for SQ Relations
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
64 |
a9bd4a23a852
(issue1474) Add datacage loading for SQ Relations
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
65 public static final String STATION_CLAUSE = |
5500
700ac898ab0b
Added Factory and model for static sq relations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
66 "WHERE " + |
700ac898ab0b
Added Factory and model for static sq relations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
67 "r.name = :river " + |
700ac898ab0b
Added Factory and model for static sq relations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
68 "AND ms.id = :ms_id "; |
700ac898ab0b
Added Factory and model for static sq relations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
69 |
7236
a9bd4a23a852
(issue1474) Add datacage loading for SQ Relations
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
70 public static final String ID_CLAUSE = |
a9bd4a23a852
(issue1474) Add datacage loading for SQ Relations
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
71 "WHERE " + |
a9bd4a23a852
(issue1474) Add datacage loading for SQ Relations
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
72 "sqv.id = :dis_id "; |
5500
700ac898ab0b
Added Factory and model for static sq relations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
73 |
700ac898ab0b
Added Factory and model for static sq relations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
74 private StaticSQFactory() { |
700ac898ab0b
Added Factory and model for static sq relations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
75 } |
700ac898ab0b
Added Factory and model for static sq relations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
76 |
8543
9a5b3079aad4
(issue1750) Take Static SQ Relations based on a range and merge them together
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8412
diff
changeset
|
77 /** Get SQ relations for a measurement station's location. |
9a5b3079aad4
(issue1750) Take Static SQ Relations based on a range and merge them together
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8412
diff
changeset
|
78 * Returns all SQRelations for the location of the station and |
9a5b3079aad4
(issue1750) Take Static SQ Relations based on a range and merge them together
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8412
diff
changeset
|
79 * not just for the station. E.g. for a "Geschiebemessstelle" |
9a5b3079aad4
(issue1750) Take Static SQ Relations based on a range and merge them together
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8412
diff
changeset
|
80 * and a "Schwebstoffmesstelle" at the same place.*/ |
9a5b3079aad4
(issue1750) Take Static SQ Relations based on a range and merge them together
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8412
diff
changeset
|
81 public static StaticSQContainer getSQRelationsForLocation( |
9a5b3079aad4
(issue1750) Take Static SQ Relations based on a range and merge them together
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8412
diff
changeset
|
82 String river, |
9a5b3079aad4
(issue1750) Take Static SQ Relations based on a range and merge them together
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8412
diff
changeset
|
83 int measurementStation |
9a5b3079aad4
(issue1750) Take Static SQ Relations based on a range and merge them together
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8412
diff
changeset
|
84 ) { |
9a5b3079aad4
(issue1750) Take Static SQ Relations based on a range and merge them together
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8412
diff
changeset
|
85 Session session = SessionHolder.HOLDER.get(); |
9a5b3079aad4
(issue1750) Take Static SQ Relations based on a range and merge them together
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8412
diff
changeset
|
86 Query query = session.createSQLQuery(SQL_STATIONS_AT_RANGE) |
9a5b3079aad4
(issue1750) Take Static SQ Relations based on a range and merge them together
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8412
diff
changeset
|
87 .setParameter("river", river) |
9a5b3079aad4
(issue1750) Take Static SQ Relations based on a range and merge them together
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8412
diff
changeset
|
88 .setParameter("ms_id", measurementStation); |
9a5b3079aad4
(issue1750) Take Static SQ Relations based on a range and merge them together
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8412
diff
changeset
|
89 /* Take the first container for the station requested. */ |
9a5b3079aad4
(issue1750) Take Static SQ Relations based on a range and merge them together
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8412
diff
changeset
|
90 StaticSQContainer retval = getSQRelations(river, measurementStation); |
9a5b3079aad4
(issue1750) Take Static SQ Relations based on a range and merge them together
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8412
diff
changeset
|
91 |
9a5b3079aad4
(issue1750) Take Static SQ Relations based on a range and merge them together
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8412
diff
changeset
|
92 /* And some others */ |
9a5b3079aad4
(issue1750) Take Static SQ Relations based on a range and merge them together
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8412
diff
changeset
|
93 List<Integer> list = query.list(); |
9a5b3079aad4
(issue1750) Take Static SQ Relations based on a range and merge them together
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8412
diff
changeset
|
94 if (list == null || list.isEmpty()) { |
9a5b3079aad4
(issue1750) Take Static SQ Relations based on a range and merge them together
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8412
diff
changeset
|
95 log.error("Did not even find one measurement station. Broken Query?"); |
9a5b3079aad4
(issue1750) Take Static SQ Relations based on a range and merge them together
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8412
diff
changeset
|
96 return retval; |
9a5b3079aad4
(issue1750) Take Static SQ Relations based on a range and merge them together
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8412
diff
changeset
|
97 } |
9a5b3079aad4
(issue1750) Take Static SQ Relations based on a range and merge them together
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8412
diff
changeset
|
98 |
9a5b3079aad4
(issue1750) Take Static SQ Relations based on a range and merge them together
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8412
diff
changeset
|
99 for (Integer stationId: list) { |
9a5b3079aad4
(issue1750) Take Static SQ Relations based on a range and merge them together
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8412
diff
changeset
|
100 log.debug("Collecting SQ Relations for: "+ stationId); |
9a5b3079aad4
(issue1750) Take Static SQ Relations based on a range and merge them together
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8412
diff
changeset
|
101 if (stationId == measurementStation) { |
9a5b3079aad4
(issue1750) Take Static SQ Relations based on a range and merge them together
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8412
diff
changeset
|
102 /* Skip the same station */ |
9a5b3079aad4
(issue1750) Take Static SQ Relations based on a range and merge them together
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8412
diff
changeset
|
103 continue; |
9a5b3079aad4
(issue1750) Take Static SQ Relations based on a range and merge them together
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8412
diff
changeset
|
104 } |
9a5b3079aad4
(issue1750) Take Static SQ Relations based on a range and merge them together
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8412
diff
changeset
|
105 |
9a5b3079aad4
(issue1750) Take Static SQ Relations based on a range and merge them together
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8412
diff
changeset
|
106 StaticSQContainer additional = getSQRelations(river, stationId); |
9a5b3079aad4
(issue1750) Take Static SQ Relations based on a range and merge them together
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8412
diff
changeset
|
107 if (additional == null || additional.getSQRelations() == null) { |
9a5b3079aad4
(issue1750) Take Static SQ Relations based on a range and merge them together
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8412
diff
changeset
|
108 continue; |
9a5b3079aad4
(issue1750) Take Static SQ Relations based on a range and merge them together
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8412
diff
changeset
|
109 } |
9a5b3079aad4
(issue1750) Take Static SQ Relations based on a range and merge them together
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8412
diff
changeset
|
110 |
9a5b3079aad4
(issue1750) Take Static SQ Relations based on a range and merge them together
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8412
diff
changeset
|
111 if (retval == null || retval.getSQRelations() == null || retval.getSQRelations().isEmpty()) { |
9a5b3079aad4
(issue1750) Take Static SQ Relations based on a range and merge them together
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8412
diff
changeset
|
112 /* Old one is empty, just take the new one. */ |
9a5b3079aad4
(issue1750) Take Static SQ Relations based on a range and merge them together
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8412
diff
changeset
|
113 retval = additional; |
9a5b3079aad4
(issue1750) Take Static SQ Relations based on a range and merge them together
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8412
diff
changeset
|
114 continue; |
9a5b3079aad4
(issue1750) Take Static SQ Relations based on a range and merge them together
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8412
diff
changeset
|
115 } |
9a5b3079aad4
(issue1750) Take Static SQ Relations based on a range and merge them together
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8412
diff
changeset
|
116 |
9a5b3079aad4
(issue1750) Take Static SQ Relations based on a range and merge them together
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8412
diff
changeset
|
117 for (StaticSQRelation rel: additional.getSQRelations()) { |
9a5b3079aad4
(issue1750) Take Static SQ Relations based on a range and merge them together
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8412
diff
changeset
|
118 /* Check if we already have one for this parameter. |
9a5b3079aad4
(issue1750) Take Static SQ Relations based on a range and merge them together
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8412
diff
changeset
|
119 * This is highly unlikely in the data scheme of things. */ |
9a5b3079aad4
(issue1750) Take Static SQ Relations based on a range and merge them together
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8412
diff
changeset
|
120 List<StaticSQRelation> old = retval.getRelationsByParameter( |
9a5b3079aad4
(issue1750) Take Static SQ Relations based on a range and merge them together
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8412
diff
changeset
|
121 rel.getParameter()); |
9a5b3079aad4
(issue1750) Take Static SQ Relations based on a range and merge them together
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8412
diff
changeset
|
122 if (old != null || !old.isEmpty()) { |
9a5b3079aad4
(issue1750) Take Static SQ Relations based on a range and merge them together
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8412
diff
changeset
|
123 log.warn("Multiple SQ relation Parameters found for different " + |
9a5b3079aad4
(issue1750) Take Static SQ Relations based on a range and merge them together
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8412
diff
changeset
|
124 "measurement_stations at the same range. This should not happen."); |
9a5b3079aad4
(issue1750) Take Static SQ Relations based on a range and merge them together
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8412
diff
changeset
|
125 continue; |
9a5b3079aad4
(issue1750) Take Static SQ Relations based on a range and merge them together
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8412
diff
changeset
|
126 } |
9a5b3079aad4
(issue1750) Take Static SQ Relations based on a range and merge them together
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8412
diff
changeset
|
127 retval.addSQRelation(rel); |
9a5b3079aad4
(issue1750) Take Static SQ Relations based on a range and merge them together
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8412
diff
changeset
|
128 } |
9a5b3079aad4
(issue1750) Take Static SQ Relations based on a range and merge them together
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8412
diff
changeset
|
129 |
9a5b3079aad4
(issue1750) Take Static SQ Relations based on a range and merge them together
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8412
diff
changeset
|
130 } |
9a5b3079aad4
(issue1750) Take Static SQ Relations based on a range and merge them together
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8412
diff
changeset
|
131 return retval; |
9a5b3079aad4
(issue1750) Take Static SQ Relations based on a range and merge them together
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8412
diff
changeset
|
132 } |
9a5b3079aad4
(issue1750) Take Static SQ Relations based on a range and merge them together
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8412
diff
changeset
|
133 |
9a5b3079aad4
(issue1750) Take Static SQ Relations based on a range and merge them together
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8412
diff
changeset
|
134 |
5500
700ac898ab0b
Added Factory and model for static sq relations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
135 public static StaticSQContainer getSQRelations( |
700ac898ab0b
Added Factory and model for static sq relations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
136 String river, |
700ac898ab0b
Added Factory and model for static sq relations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
137 int measurementStation |
700ac898ab0b
Added Factory and model for static sq relations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
138 ) { |
700ac898ab0b
Added Factory and model for static sq relations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
139 Cache cache = CacheFactory.getCache(StaticSQCacheKey.CACHE_NAME); |
700ac898ab0b
Added Factory and model for static sq relations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
140 |
700ac898ab0b
Added Factory and model for static sq relations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
141 StaticSQCacheKey cacheKey; |
700ac898ab0b
Added Factory and model for static sq relations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
142 |
700ac898ab0b
Added Factory and model for static sq relations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
143 if (cache != null) { |
700ac898ab0b
Added Factory and model for static sq relations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
144 cacheKey = new StaticSQCacheKey(river, measurementStation); |
700ac898ab0b
Added Factory and model for static sq relations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
145 Element element = cache.get(cacheKey); |
700ac898ab0b
Added Factory and model for static sq relations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
146 if (element != null) { |
8543
9a5b3079aad4
(issue1750) Take Static SQ Relations based on a range and merge them together
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8412
diff
changeset
|
147 log.debug("Got static sq relations from cache"); |
5500
700ac898ab0b
Added Factory and model for static sq relations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
148 return (StaticSQContainer)element.getValue(); |
700ac898ab0b
Added Factory and model for static sq relations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
149 } |
700ac898ab0b
Added Factory and model for static sq relations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
150 } |
700ac898ab0b
Added Factory and model for static sq relations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
151 else { |
700ac898ab0b
Added Factory and model for static sq relations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
152 cacheKey = null; |
700ac898ab0b
Added Factory and model for static sq relations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
153 } |
700ac898ab0b
Added Factory and model for static sq relations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
154 |
700ac898ab0b
Added Factory and model for static sq relations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
155 StaticSQContainer values = getUncached(river, measurementStation); |
700ac898ab0b
Added Factory and model for static sq relations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
156 |
700ac898ab0b
Added Factory and model for static sq relations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
157 if (values != null && cacheKey != null) { |
700ac898ab0b
Added Factory and model for static sq relations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
158 log.debug("Store static sq relations in cache."); |
700ac898ab0b
Added Factory and model for static sq relations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
159 Element element = new Element(cacheKey, values); |
700ac898ab0b
Added Factory and model for static sq relations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
160 cache.put(element); |
700ac898ab0b
Added Factory and model for static sq relations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
161 } |
700ac898ab0b
Added Factory and model for static sq relations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
162 return values; |
700ac898ab0b
Added Factory and model for static sq relations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
163 } |
700ac898ab0b
Added Factory and model for static sq relations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
164 |
7236
a9bd4a23a852
(issue1474) Add datacage loading for SQ Relations
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
165 public static StaticSQContainer getDistinctRelation(int id) { |
a9bd4a23a852
(issue1474) Add datacage loading for SQ Relations
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
166 Session session = SessionHolder.HOLDER.get(); |
a9bd4a23a852
(issue1474) Add datacage loading for SQ Relations
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
167 |
a9bd4a23a852
(issue1474) Add datacage loading for SQ Relations
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
168 Query query = session.createSQLQuery(SQL_SQ + ID_CLAUSE) |
a9bd4a23a852
(issue1474) Add datacage loading for SQ Relations
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
169 .addScalar("description") |
a9bd4a23a852
(issue1474) Add datacage loading for SQ Relations
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
170 .addScalar("start_time") |
a9bd4a23a852
(issue1474) Add datacage loading for SQ Relations
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
171 .addScalar("stop_time") |
a9bd4a23a852
(issue1474) Add datacage loading for SQ Relations
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
172 .addScalar("station_name") |
a9bd4a23a852
(issue1474) Add datacage loading for SQ Relations
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
173 .addScalar("station_km") |
a9bd4a23a852
(issue1474) Add datacage loading for SQ Relations
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
174 .addScalar("measurement_type") |
a9bd4a23a852
(issue1474) Add datacage loading for SQ Relations
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
175 .addScalar("parameter") |
a9bd4a23a852
(issue1474) Add datacage loading for SQ Relations
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
176 .addScalar("a") |
a9bd4a23a852
(issue1474) Add datacage loading for SQ Relations
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
177 .addScalar("b") |
a9bd4a23a852
(issue1474) Add datacage loading for SQ Relations
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
178 .addScalar("qmax"); |
a9bd4a23a852
(issue1474) Add datacage loading for SQ Relations
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
179 |
a9bd4a23a852
(issue1474) Add datacage loading for SQ Relations
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
180 query.setParameter("dis_id", id); |
a9bd4a23a852
(issue1474) Add datacage loading for SQ Relations
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
181 |
a9bd4a23a852
(issue1474) Add datacage loading for SQ Relations
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
182 /* This could be done nicer with hibernate */ |
a9bd4a23a852
(issue1474) Add datacage loading for SQ Relations
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
183 List<Object []> list = query.list(); |
a9bd4a23a852
(issue1474) Add datacage loading for SQ Relations
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
184 if (list.isEmpty()) { |
a9bd4a23a852
(issue1474) Add datacage loading for SQ Relations
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
185 log.debug("Query returened nothing"); |
a9bd4a23a852
(issue1474) Add datacage loading for SQ Relations
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
186 return null; |
a9bd4a23a852
(issue1474) Add datacage loading for SQ Relations
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
187 } |
a9bd4a23a852
(issue1474) Add datacage loading for SQ Relations
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
188 Object [] row = list.get(0); |
a9bd4a23a852
(issue1474) Add datacage loading for SQ Relations
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
189 |
a9bd4a23a852
(issue1474) Add datacage loading for SQ Relations
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
190 StaticSQContainer sq = new StaticSQContainer(); |
a9bd4a23a852
(issue1474) Add datacage loading for SQ Relations
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
191 sq.setDescription((String)list.get(0)[0]); |
a9bd4a23a852
(issue1474) Add datacage loading for SQ Relations
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
192 sq.setStationName((String)list.get(0)[3]); |
a9bd4a23a852
(issue1474) Add datacage loading for SQ Relations
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
193 sq.setKm(((BigDecimal)list.get(0)[4]).doubleValue()); |
a9bd4a23a852
(issue1474) Add datacage loading for SQ Relations
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
194 |
a9bd4a23a852
(issue1474) Add datacage loading for SQ Relations
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
195 StaticSQRelation relation = new StaticSQRelation(); |
a9bd4a23a852
(issue1474) Add datacage loading for SQ Relations
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
196 relation.setStartTime((Date)row[1]); |
a9bd4a23a852
(issue1474) Add datacage loading for SQ Relations
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
197 relation.setStopTime((Date)row[2]); |
a9bd4a23a852
(issue1474) Add datacage loading for SQ Relations
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
198 relation.setType((String)row[5]); |
a9bd4a23a852
(issue1474) Add datacage loading for SQ Relations
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
199 relation.setParameter((String)row[6]); |
a9bd4a23a852
(issue1474) Add datacage loading for SQ Relations
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
200 relation.setA(((BigDecimal)row[7]).doubleValue()); |
a9bd4a23a852
(issue1474) Add datacage loading for SQ Relations
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
201 relation.setB(((BigDecimal)row[8]).doubleValue()); |
a9bd4a23a852
(issue1474) Add datacage loading for SQ Relations
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
202 relation.setQmax(((BigDecimal)row[9]).doubleValue()); |
a9bd4a23a852
(issue1474) Add datacage loading for SQ Relations
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
203 sq.addSQRelation(relation); |
a9bd4a23a852
(issue1474) Add datacage loading for SQ Relations
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
204 |
a9bd4a23a852
(issue1474) Add datacage loading for SQ Relations
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
205 return sq; |
a9bd4a23a852
(issue1474) Add datacage loading for SQ Relations
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
206 } |
a9bd4a23a852
(issue1474) Add datacage loading for SQ Relations
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
207 |
5500
700ac898ab0b
Added Factory and model for static sq relations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
208 private static StaticSQContainer getUncached( |
700ac898ab0b
Added Factory and model for static sq relations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
209 String river, |
700ac898ab0b
Added Factory and model for static sq relations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
210 int measurementStation |
700ac898ab0b
Added Factory and model for static sq relations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
211 ) { |
700ac898ab0b
Added Factory and model for static sq relations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
212 Session session = SessionHolder.HOLDER.get(); |
700ac898ab0b
Added Factory and model for static sq relations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
213 |
7236
a9bd4a23a852
(issue1474) Add datacage loading for SQ Relations
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
214 Query query = session.createSQLQuery(SQL_SQ + STATION_CLAUSE) |
5500
700ac898ab0b
Added Factory and model for static sq relations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
215 .addScalar("description") |
700ac898ab0b
Added Factory and model for static sq relations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
216 .addScalar("start_time") |
700ac898ab0b
Added Factory and model for static sq relations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
217 .addScalar("stop_time") |
700ac898ab0b
Added Factory and model for static sq relations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
218 .addScalar("station_name") |
700ac898ab0b
Added Factory and model for static sq relations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
219 .addScalar("station_km") |
700ac898ab0b
Added Factory and model for static sq relations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
220 .addScalar("measurement_type") |
700ac898ab0b
Added Factory and model for static sq relations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
221 .addScalar("parameter") |
700ac898ab0b
Added Factory and model for static sq relations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
222 .addScalar("a") |
700ac898ab0b
Added Factory and model for static sq relations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
223 .addScalar("b") |
700ac898ab0b
Added Factory and model for static sq relations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
224 .addScalar("qmax"); |
700ac898ab0b
Added Factory and model for static sq relations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
225 |
700ac898ab0b
Added Factory and model for static sq relations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
226 query.setParameter("river", river); |
700ac898ab0b
Added Factory and model for static sq relations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
227 query.setParameter("ms_id", measurementStation); |
700ac898ab0b
Added Factory and model for static sq relations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
228 |
700ac898ab0b
Added Factory and model for static sq relations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
229 List<Object []> list = query.list(); |
700ac898ab0b
Added Factory and model for static sq relations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
230 |
700ac898ab0b
Added Factory and model for static sq relations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
231 if (list.isEmpty()) { |
7236
a9bd4a23a852
(issue1474) Add datacage loading for SQ Relations
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
232 log.debug("Query returened empty"); |
5500
700ac898ab0b
Added Factory and model for static sq relations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
233 return new StaticSQContainer(); |
700ac898ab0b
Added Factory and model for static sq relations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
234 } |
700ac898ab0b
Added Factory and model for static sq relations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
235 |
700ac898ab0b
Added Factory and model for static sq relations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
236 StaticSQContainer sq = new StaticSQContainer(); |
700ac898ab0b
Added Factory and model for static sq relations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
237 sq.setDescription((String)list.get(0)[0]); |
700ac898ab0b
Added Factory and model for static sq relations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
238 sq.setStationName((String)list.get(0)[3]); |
700ac898ab0b
Added Factory and model for static sq relations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
239 sq.setKm(((BigDecimal)list.get(0)[4]).doubleValue()); |
700ac898ab0b
Added Factory and model for static sq relations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
240 |
700ac898ab0b
Added Factory and model for static sq relations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
241 for (Object[] row : list) { |
700ac898ab0b
Added Factory and model for static sq relations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
242 StaticSQRelation relation = new StaticSQRelation(); |
700ac898ab0b
Added Factory and model for static sq relations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
243 relation.setStartTime((Date)row[1]); |
700ac898ab0b
Added Factory and model for static sq relations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
244 relation.setStopTime((Date)row[2]); |
700ac898ab0b
Added Factory and model for static sq relations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
245 relation.setType((String)row[5]); |
700ac898ab0b
Added Factory and model for static sq relations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
246 relation.setParameter((String)row[6]); |
700ac898ab0b
Added Factory and model for static sq relations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
247 relation.setA(((BigDecimal)row[7]).doubleValue()); |
700ac898ab0b
Added Factory and model for static sq relations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
248 relation.setB(((BigDecimal)row[8]).doubleValue()); |
700ac898ab0b
Added Factory and model for static sq relations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
249 relation.setQmax(((BigDecimal)row[9]).doubleValue()); |
700ac898ab0b
Added Factory and model for static sq relations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
250 sq.addSQRelation(relation); |
700ac898ab0b
Added Factory and model for static sq relations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
251 } |
700ac898ab0b
Added Factory and model for static sq relations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
252 return sq; |
700ac898ab0b
Added Factory and model for static sq relations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
253 } |
700ac898ab0b
Added Factory and model for static sq relations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
254 } |