Mercurial > dive4elements > river
annotate artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/FlowVelocityMeasurementFactory.java @ 8653:dbec49147f54
(issue1755) Do not create interpolated themes and disable export of non interpolatable data.
Due to the fact that data can contain NaN's which will be filtered out
before creating the interpolator this requires the actual check
for interpolatable data when data is set in the ResultValue
author | Andre Heinecke <andre.heinecke@intevation.de> |
---|---|
date | Wed, 01 Apr 2015 17:10:03 +0200 |
parents | e4606eae8ea5 |
children | 5e38e2924c07 |
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:
4471
diff
changeset
|
9 package org.dive4elements.river.artifacts.model.minfo; |
4463
3395f8c6b030
FlowVelocityMeasurementFactory: New, do the query to fetch measured flow velocities.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
10 |
6944
602dac32a996
issue957: Better name for flowvelocity measured values facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5994
diff
changeset
|
11 import java.util.Date; |
4463
3395f8c6b030
FlowVelocityMeasurementFactory: New, do the query to fetch measured flow velocities.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
12 import java.util.List; |
3395f8c6b030
FlowVelocityMeasurementFactory: New, do the query to fetch measured flow velocities.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
13 |
3395f8c6b030
FlowVelocityMeasurementFactory: New, do the query to fetch measured flow velocities.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
14 import org.apache.log4j.Logger; |
3395f8c6b030
FlowVelocityMeasurementFactory: New, do the query to fetch measured flow velocities.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
15 import org.hibernate.SQLQuery; |
3395f8c6b030
FlowVelocityMeasurementFactory: New, do the query to fetch measured flow velocities.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
16 import org.hibernate.Session; |
3395f8c6b030
FlowVelocityMeasurementFactory: New, do the query to fetch measured flow velocities.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
17 |
6944
602dac32a996
issue957: Better name for flowvelocity measured values facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5994
diff
changeset
|
18 import org.hibernate.type.StandardBasicTypes; |
602dac32a996
issue957: Better name for flowvelocity measured values facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5994
diff
changeset
|
19 |
5831
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4471
diff
changeset
|
20 import org.dive4elements.river.model.FlowVelocityMeasurementValue; |
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4471
diff
changeset
|
21 import org.dive4elements.river.backend.SessionHolder; |
4463
3395f8c6b030
FlowVelocityMeasurementFactory: New, do the query to fetch measured flow velocities.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
22 |
3395f8c6b030
FlowVelocityMeasurementFactory: New, do the query to fetch measured flow velocities.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
23 |
3395f8c6b030
FlowVelocityMeasurementFactory: New, do the query to fetch measured flow velocities.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
24 public class FlowVelocityMeasurementFactory |
3395f8c6b030
FlowVelocityMeasurementFactory: New, do the query to fetch measured flow velocities.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
25 { |
8202
e4606eae8ea5
sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6945
diff
changeset
|
26 /** Private log to use here. */ |
4463
3395f8c6b030
FlowVelocityMeasurementFactory: New, do the query to fetch measured flow velocities.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
27 private static Logger log = Logger.getLogger(FlowVelocityMeasurementFactory.class); |
3395f8c6b030
FlowVelocityMeasurementFactory: New, do the query to fetch measured flow velocities.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
28 |
3395f8c6b030
FlowVelocityMeasurementFactory: New, do the query to fetch measured flow velocities.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
29 /** Query to get description and start year, given name and a km range. */ |
3395f8c6b030
FlowVelocityMeasurementFactory: New, do the query to fetch measured flow velocities.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
30 public static final String SQL_SELECT_ONE = |
3395f8c6b030
FlowVelocityMeasurementFactory: New, do the query to fetch measured flow velocities.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
31 "SELECT station, datetime, w, q, v, description " + |
3395f8c6b030
FlowVelocityMeasurementFactory: New, do the query to fetch measured flow velocities.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
32 " FROM flow_velocity_measure_values" + |
3395f8c6b030
FlowVelocityMeasurementFactory: New, do the query to fetch measured flow velocities.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
33 " WHERE id = :id"; |
3395f8c6b030
FlowVelocityMeasurementFactory: New, do the query to fetch measured flow velocities.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
34 |
3395f8c6b030
FlowVelocityMeasurementFactory: New, do the query to fetch measured flow velocities.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
35 |
3395f8c6b030
FlowVelocityMeasurementFactory: New, do the query to fetch measured flow velocities.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
36 private FlowVelocityMeasurementFactory() { |
3395f8c6b030
FlowVelocityMeasurementFactory: New, do the query to fetch measured flow velocities.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
37 } |
3395f8c6b030
FlowVelocityMeasurementFactory: New, do the query to fetch measured flow velocities.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
38 |
3395f8c6b030
FlowVelocityMeasurementFactory: New, do the query to fetch measured flow velocities.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
39 |
3395f8c6b030
FlowVelocityMeasurementFactory: New, do the query to fetch measured flow velocities.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
40 public static FlowVelocityMeasurementValue.FastFlowVelocityMeasurementValue |
3395f8c6b030
FlowVelocityMeasurementFactory: New, do the query to fetch measured flow velocities.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
41 getFlowVelocityMeasurement(int id) |
3395f8c6b030
FlowVelocityMeasurementFactory: New, do the query to fetch measured flow velocities.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
42 { |
3395f8c6b030
FlowVelocityMeasurementFactory: New, do the query to fetch measured flow velocities.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
43 log.debug("FlowVelocityMeasurementFactory.getFlowVelocityMeasurementValue"); |
3395f8c6b030
FlowVelocityMeasurementFactory: New, do the query to fetch measured flow velocities.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
44 Session session = SessionHolder.HOLDER.get(); |
3395f8c6b030
FlowVelocityMeasurementFactory: New, do the query to fetch measured flow velocities.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
45 SQLQuery sqlQuery = null; |
6944
602dac32a996
issue957: Better name for flowvelocity measured values facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5994
diff
changeset
|
46 sqlQuery = session.createSQLQuery(SQL_SELECT_ONE) |
602dac32a996
issue957: Better name for flowvelocity measured values facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5994
diff
changeset
|
47 .addScalar("station", StandardBasicTypes.DOUBLE) |
602dac32a996
issue957: Better name for flowvelocity measured values facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5994
diff
changeset
|
48 .addScalar("datetime", StandardBasicTypes.DATE) |
602dac32a996
issue957: Better name for flowvelocity measured values facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5994
diff
changeset
|
49 .addScalar("w", StandardBasicTypes.DOUBLE) |
602dac32a996
issue957: Better name for flowvelocity measured values facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5994
diff
changeset
|
50 .addScalar("q", StandardBasicTypes.DOUBLE) |
602dac32a996
issue957: Better name for flowvelocity measured values facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5994
diff
changeset
|
51 .addScalar("v", StandardBasicTypes.DOUBLE) |
602dac32a996
issue957: Better name for flowvelocity measured values facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5994
diff
changeset
|
52 .addScalar("description", StandardBasicTypes.STRING); |
4463
3395f8c6b030
FlowVelocityMeasurementFactory: New, do the query to fetch measured flow velocities.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
53 sqlQuery.setParameter("id", id); |
3395f8c6b030
FlowVelocityMeasurementFactory: New, do the query to fetch measured flow velocities.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
54 |
3395f8c6b030
FlowVelocityMeasurementFactory: New, do the query to fetch measured flow velocities.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
55 List<Object []> results = sqlQuery.list(); |
3395f8c6b030
FlowVelocityMeasurementFactory: New, do the query to fetch measured flow velocities.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
56 if (results.size() > 0) { |
3395f8c6b030
FlowVelocityMeasurementFactory: New, do the query to fetch measured flow velocities.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
57 Object[] row = results.get(0); |
3395f8c6b030
FlowVelocityMeasurementFactory: New, do the query to fetch measured flow velocities.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
58 if (row == null || row.length < 6) { |
3395f8c6b030
FlowVelocityMeasurementFactory: New, do the query to fetch measured flow velocities.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
59 return null; |
3395f8c6b030
FlowVelocityMeasurementFactory: New, do the query to fetch measured flow velocities.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
60 } |
3395f8c6b030
FlowVelocityMeasurementFactory: New, do the query to fetch measured flow velocities.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
61 return FlowVelocityMeasurementValue.getUnmapped( |
6945
735346b3e438
Let hibernate do the parsing/casting.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6944
diff
changeset
|
62 (Double) row[0], |
735346b3e438
Let hibernate do the parsing/casting.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6944
diff
changeset
|
63 (Double) row[2], |
735346b3e438
Let hibernate do the parsing/casting.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6944
diff
changeset
|
64 (Double) row[3], |
735346b3e438
Let hibernate do the parsing/casting.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6944
diff
changeset
|
65 (Double) row[4], |
735346b3e438
Let hibernate do the parsing/casting.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6944
diff
changeset
|
66 (Date) row[1], |
735346b3e438
Let hibernate do the parsing/casting.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6944
diff
changeset
|
67 (String) row[5]); |
4463
3395f8c6b030
FlowVelocityMeasurementFactory: New, do the query to fetch measured flow velocities.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
68 } |
3395f8c6b030
FlowVelocityMeasurementFactory: New, do the query to fetch measured flow velocities.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
69 return null; |
3395f8c6b030
FlowVelocityMeasurementFactory: New, do the query to fetch measured flow velocities.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
70 } |
3395f8c6b030
FlowVelocityMeasurementFactory: New, do the query to fetch measured flow velocities.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
71 } |
3395f8c6b030
FlowVelocityMeasurementFactory: New, do the query to fetch measured flow velocities.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
72 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 : |