annotate flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/minfo/QualityMeasurementFactory.java @ 3758:75bc96dd9d82

Added depth parameter to bed quality data. flys-artifacts/trunk@5456 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Raimund Renkert <raimund.renkert@intevation.de>
date Thu, 13 Sep 2012 13:43:00 +0000
parents 912a398968b6
children 728ecd2afa20
rev   line source
3755
9c555ce5ca50 Data objects and factory for minfo bedquality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
1 package de.intevation.flys.artifacts.model.minfo;
9c555ce5ca50 Data objects and factory for minfo bedquality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
2
9c555ce5ca50 Data objects and factory for minfo bedquality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
3 import java.util.Date;
9c555ce5ca50 Data objects and factory for minfo bedquality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
4 import java.util.HashMap;
9c555ce5ca50 Data objects and factory for minfo bedquality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
5 import java.util.Map;
9c555ce5ca50 Data objects and factory for minfo bedquality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
6
9c555ce5ca50 Data objects and factory for minfo bedquality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
7 import org.hibernate.SQLQuery;
9c555ce5ca50 Data objects and factory for minfo bedquality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
8 import org.hibernate.Session;
9c555ce5ca50 Data objects and factory for minfo bedquality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
9 import org.hibernate.transform.BasicTransformerAdapter;
9c555ce5ca50 Data objects and factory for minfo bedquality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
10 import org.hibernate.type.StandardBasicTypes;
9c555ce5ca50 Data objects and factory for minfo bedquality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
11
9c555ce5ca50 Data objects and factory for minfo bedquality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
12 import de.intevation.flys.backend.SedDBSessionHolder;
9c555ce5ca50 Data objects and factory for minfo bedquality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
13
3758
75bc96dd9d82 Added depth parameter to bed quality data.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3756
diff changeset
14
3755
9c555ce5ca50 Data objects and factory for minfo bedquality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
15 public class QualityMeasurementFactory {
9c555ce5ca50 Data objects and factory for minfo bedquality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
16
3758
75bc96dd9d82 Added depth parameter to bed quality data.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3756
diff changeset
17 private static final String SQL_BED_MEASUREMENT =
75bc96dd9d82 Added depth parameter to bed quality data.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3756
diff changeset
18 "SELECT st.km as km," +
75bc96dd9d82 Added depth parameter to bed quality data.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3756
diff changeset
19 " st.datum as date," +
75bc96dd9d82 Added depth parameter to bed quality data.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3756
diff changeset
20 " sp.tiefevon as depth1" +
75bc96dd9d82 Added depth parameter to bed quality data.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3756
diff changeset
21 " sp.tiefebis as depth2" +
75bc96dd9d82 Added depth parameter to bed quality data.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3756
diff changeset
22 " sa.d10 as d10," +
75bc96dd9d82 Added depth parameter to bed quality data.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3756
diff changeset
23 " sa.d16 as d16," +
75bc96dd9d82 Added depth parameter to bed quality data.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3756
diff changeset
24 " sa.d20 as d20," +
75bc96dd9d82 Added depth parameter to bed quality data.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3756
diff changeset
25 " sa.d25 as d25," +
75bc96dd9d82 Added depth parameter to bed quality data.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3756
diff changeset
26 " sa.d30 as d30," +
75bc96dd9d82 Added depth parameter to bed quality data.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3756
diff changeset
27 " sa.d40 as d40," +
75bc96dd9d82 Added depth parameter to bed quality data.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3756
diff changeset
28 " sa.d50 as d50," +
75bc96dd9d82 Added depth parameter to bed quality data.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3756
diff changeset
29 " sa.d60 as d60," +
75bc96dd9d82 Added depth parameter to bed quality data.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3756
diff changeset
30 " sa.d70 as d70," +
75bc96dd9d82 Added depth parameter to bed quality data.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3756
diff changeset
31 " sa.d75 as d75," +
75bc96dd9d82 Added depth parameter to bed quality data.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3756
diff changeset
32 " sa.d80 as d80," +
75bc96dd9d82 Added depth parameter to bed quality data.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3756
diff changeset
33 " sa.d84 as d84," +
75bc96dd9d82 Added depth parameter to bed quality data.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3756
diff changeset
34 " sa.d90 as d90," +
75bc96dd9d82 Added depth parameter to bed quality data.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3756
diff changeset
35 " sa.dmin as dmin," +
75bc96dd9d82 Added depth parameter to bed quality data.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3756
diff changeset
36 " sa.dmax as dmax " +
3755
9c555ce5ca50 Data objects and factory for minfo bedquality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
37 "FROM sohltest st" +
9c555ce5ca50 Data objects and factory for minfo bedquality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
38 " JOIN station sn ON sn.stationid = st.stationid" +
9c555ce5ca50 Data objects and factory for minfo bedquality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
39 " JOIN gewaesser gw ON gw.gewaesserid = sn.gewaesserid" +
9c555ce5ca50 Data objects and factory for minfo bedquality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
40 " JOIN sohlprobe sp ON sp.sohltestid = st.sohltestid" +
3758
75bc96dd9d82 Added depth parameter to bed quality data.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3756
diff changeset
41 " JOIN siebanalyse sa ON sa.sohlprobeid = sp.sohlprobeid " +
3755
9c555ce5ca50 Data objects and factory for minfo bedquality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
42 "WHERE gw.name = :name AND " +
9c555ce5ca50 Data objects and factory for minfo bedquality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
43 " st.km IS NOT NULL AND " +
9c555ce5ca50 Data objects and factory for minfo bedquality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
44 " st.km BETWEEN :from - 0.001 AND :to + 0.001 AND" +
9c555ce5ca50 Data objects and factory for minfo bedquality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
45 " st.datum BETWEEN :start AND :end";
9c555ce5ca50 Data objects and factory for minfo bedquality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
46
3758
75bc96dd9d82 Added depth parameter to bed quality data.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3756
diff changeset
47 private static final String SQL_BEDLOAD_MEASUREMENT =
3756
912a398968b6 The factory for minfo bed quality calculation can load bedload and bed data from seddb now.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3755
diff changeset
48 "SELECT m.km as km," +
3758
75bc96dd9d82 Added depth parameter to bed quality data.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3756
diff changeset
49 " m.datum as date," +
3756
912a398968b6 The factory for minfo bed quality calculation can load bedload and bed data from seddb now.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3755
diff changeset
50 " m.d10 as d10," +
912a398968b6 The factory for minfo bed quality calculation can load bedload and bed data from seddb now.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3755
diff changeset
51 " m.d16 as d16," +
912a398968b6 The factory for minfo bed quality calculation can load bedload and bed data from seddb now.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3755
diff changeset
52 " m.d20 as d20," +
912a398968b6 The factory for minfo bed quality calculation can load bedload and bed data from seddb now.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3755
diff changeset
53 " m.d25 as d25," +
912a398968b6 The factory for minfo bed quality calculation can load bedload and bed data from seddb now.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3755
diff changeset
54 " m.d30 as d30," +
912a398968b6 The factory for minfo bed quality calculation can load bedload and bed data from seddb now.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3755
diff changeset
55 " m.d40 as d40," +
912a398968b6 The factory for minfo bed quality calculation can load bedload and bed data from seddb now.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3755
diff changeset
56 " m.d50 as d50," +
912a398968b6 The factory for minfo bed quality calculation can load bedload and bed data from seddb now.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3755
diff changeset
57 " m.d60 as d60," +
912a398968b6 The factory for minfo bed quality calculation can load bedload and bed data from seddb now.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3755
diff changeset
58 " m.d70 as d70," +
912a398968b6 The factory for minfo bed quality calculation can load bedload and bed data from seddb now.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3755
diff changeset
59 " m.d75 as d75," +
912a398968b6 The factory for minfo bed quality calculation can load bedload and bed data from seddb now.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3755
diff changeset
60 " m.d80 as d80," +
912a398968b6 The factory for minfo bed quality calculation can load bedload and bed data from seddb now.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3755
diff changeset
61 " m.d84 as d84," +
912a398968b6 The factory for minfo bed quality calculation can load bedload and bed data from seddb now.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3755
diff changeset
62 " m.d90 as d90," +
912a398968b6 The factory for minfo bed quality calculation can load bedload and bed data from seddb now.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3755
diff changeset
63 " m.dmin as dmin," +
912a398968b6 The factory for minfo bed quality calculation can load bedload and bed data from seddb now.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3755
diff changeset
64 " m.dmax as dmax " +
912a398968b6 The factory for minfo bed quality calculation can load bedload and bed data from seddb now.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3755
diff changeset
65 "FROM messung m" +
912a398968b6 The factory for minfo bed quality calculation can load bedload and bed data from seddb now.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3755
diff changeset
66 " JOIN station sn ON sn.stationid = m.stationid" +
3758
75bc96dd9d82 Added depth parameter to bed quality data.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3756
diff changeset
67 " JOIN gewaesser gw ON gw.gewaesserid = sn.gewaesserid " +
3756
912a398968b6 The factory for minfo bed quality calculation can load bedload and bed data from seddb now.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3755
diff changeset
68 "WHERE gw.name = :name AND " +
912a398968b6 The factory for minfo bed quality calculation can load bedload and bed data from seddb now.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3755
diff changeset
69 " m.km IS NOT NULL AND " +
912a398968b6 The factory for minfo bed quality calculation can load bedload and bed data from seddb now.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3755
diff changeset
70 " m.km BETWEEN :from - 0.001 AND :to + 0.001 AND" +
912a398968b6 The factory for minfo bed quality calculation can load bedload and bed data from seddb now.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3755
diff changeset
71 " m.datum BETWEEN :start AND :end";
912a398968b6 The factory for minfo bed quality calculation can load bedload and bed data from seddb now.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3755
diff changeset
72
3755
9c555ce5ca50 Data objects and factory for minfo bedquality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
73 public static final class QualityMeasurementResultTransformer
3758
75bc96dd9d82 Added depth parameter to bed quality data.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3756
diff changeset
74 extends BasicTransformerAdapter {
75bc96dd9d82 Added depth parameter to bed quality data.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3756
diff changeset
75
75bc96dd9d82 Added depth parameter to bed quality data.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3756
diff changeset
76 public static QualityMeasurementResultTransformer INSTANCE = new QualityMeasurementResultTransformer();
3755
9c555ce5ca50 Data objects and factory for minfo bedquality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
77
9c555ce5ca50 Data objects and factory for minfo bedquality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
78 public QualityMeasurementResultTransformer() {
9c555ce5ca50 Data objects and factory for minfo bedquality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
79 }
9c555ce5ca50 Data objects and factory for minfo bedquality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
80
9c555ce5ca50 Data objects and factory for minfo bedquality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
81 @Override
3758
75bc96dd9d82 Added depth parameter to bed quality data.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3756
diff changeset
82 public Object transformTuple(Object[] tuple, String[] aliases) {
3755
9c555ce5ca50 Data objects and factory for minfo bedquality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
83 Map<String, Double> map = new HashMap<String, Double>();
9c555ce5ca50 Data objects and factory for minfo bedquality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
84 double km = 0;
9c555ce5ca50 Data objects and factory for minfo bedquality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
85 Date d = null;
3758
75bc96dd9d82 Added depth parameter to bed quality data.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3756
diff changeset
86 double depth1 = 0;
75bc96dd9d82 Added depth parameter to bed quality data.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3756
diff changeset
87 double depth2 = 0;
3755
9c555ce5ca50 Data objects and factory for minfo bedquality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
88 for (int i = 0; i < tuple.length; ++i) {
9c555ce5ca50 Data objects and factory for minfo bedquality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
89 if (tuple[i] != null) {
9c555ce5ca50 Data objects and factory for minfo bedquality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
90 if (aliases[i].equals("km")) {
3758
75bc96dd9d82 Added depth parameter to bed quality data.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3756
diff changeset
91 km = ((Number) tuple[i]).doubleValue();
3755
9c555ce5ca50 Data objects and factory for minfo bedquality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
92 }
9c555ce5ca50 Data objects and factory for minfo bedquality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
93 else if (aliases[i].equals("date")) {
3758
75bc96dd9d82 Added depth parameter to bed quality data.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3756
diff changeset
94 d = (Date) tuple[i];
75bc96dd9d82 Added depth parameter to bed quality data.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3756
diff changeset
95 }
75bc96dd9d82 Added depth parameter to bed quality data.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3756
diff changeset
96 else if (aliases[i].equals("depth1")) {
75bc96dd9d82 Added depth parameter to bed quality data.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3756
diff changeset
97 depth1 = ((Number) tuple[i]).doubleValue();
75bc96dd9d82 Added depth parameter to bed quality data.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3756
diff changeset
98 }
75bc96dd9d82 Added depth parameter to bed quality data.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3756
diff changeset
99 else if (aliases[i].equals("depth2")) {
75bc96dd9d82 Added depth parameter to bed quality data.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3756
diff changeset
100 depth2 = ((Number) tuple[i]).doubleValue();
3755
9c555ce5ca50 Data objects and factory for minfo bedquality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
101 }
9c555ce5ca50 Data objects and factory for minfo bedquality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
102 else {
3758
75bc96dd9d82 Added depth parameter to bed quality data.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3756
diff changeset
103 map.put(aliases[i], (Double) tuple[i]);
3755
9c555ce5ca50 Data objects and factory for minfo bedquality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
104 }
9c555ce5ca50 Data objects and factory for minfo bedquality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
105 }
9c555ce5ca50 Data objects and factory for minfo bedquality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
106 }
3758
75bc96dd9d82 Added depth parameter to bed quality data.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3756
diff changeset
107 return new QualityMeasurement(km, d, depth1, depth2, map);
3755
9c555ce5ca50 Data objects and factory for minfo bedquality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
108 }
9c555ce5ca50 Data objects and factory for minfo bedquality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
109 } // class BasicTransformerAdapter
9c555ce5ca50 Data objects and factory for minfo bedquality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
110
9c555ce5ca50 Data objects and factory for minfo bedquality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
111 private QualityMeasurementFactory() {
9c555ce5ca50 Data objects and factory for minfo bedquality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
112 }
9c555ce5ca50 Data objects and factory for minfo bedquality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
113
9c555ce5ca50 Data objects and factory for minfo bedquality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
114 protected static QualityMeasurements load(
9c555ce5ca50 Data objects and factory for minfo bedquality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
115 Session session,
9c555ce5ca50 Data objects and factory for minfo bedquality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
116 String river,
9c555ce5ca50 Data objects and factory for minfo bedquality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
117 double from,
9c555ce5ca50 Data objects and factory for minfo bedquality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
118 double to,
9c555ce5ca50 Data objects and factory for minfo bedquality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
119 Date start,
3756
912a398968b6 The factory for minfo bed quality calculation can load bedload and bed data from seddb now.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3755
diff changeset
120 Date end,
912a398968b6 The factory for minfo bed quality calculation can load bedload and bed data from seddb now.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3755
diff changeset
121 String statement
3755
9c555ce5ca50 Data objects and factory for minfo bedquality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
122 ) {
3756
912a398968b6 The factory for minfo bed quality calculation can load bedload and bed data from seddb now.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3755
diff changeset
123 SQLQuery query = session.createSQLQuery(statement)
3758
75bc96dd9d82 Added depth parameter to bed quality data.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3756
diff changeset
124 .addScalar("km", StandardBasicTypes.DOUBLE)
75bc96dd9d82 Added depth parameter to bed quality data.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3756
diff changeset
125 .addScalar("date", StandardBasicTypes.DATE)
75bc96dd9d82 Added depth parameter to bed quality data.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3756
diff changeset
126 .addScalar("d10", StandardBasicTypes.DOUBLE)
75bc96dd9d82 Added depth parameter to bed quality data.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3756
diff changeset
127 .addScalar("d16", StandardBasicTypes.DOUBLE)
75bc96dd9d82 Added depth parameter to bed quality data.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3756
diff changeset
128 .addScalar("d20", StandardBasicTypes.DOUBLE)
75bc96dd9d82 Added depth parameter to bed quality data.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3756
diff changeset
129 .addScalar("d25", StandardBasicTypes.DOUBLE)
75bc96dd9d82 Added depth parameter to bed quality data.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3756
diff changeset
130 .addScalar("d30", StandardBasicTypes.DOUBLE)
75bc96dd9d82 Added depth parameter to bed quality data.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3756
diff changeset
131 .addScalar("d40", StandardBasicTypes.DOUBLE)
75bc96dd9d82 Added depth parameter to bed quality data.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3756
diff changeset
132 .addScalar("d50", StandardBasicTypes.DOUBLE)
75bc96dd9d82 Added depth parameter to bed quality data.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3756
diff changeset
133 .addScalar("d60", StandardBasicTypes.DOUBLE)
75bc96dd9d82 Added depth parameter to bed quality data.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3756
diff changeset
134 .addScalar("d70", StandardBasicTypes.DOUBLE)
75bc96dd9d82 Added depth parameter to bed quality data.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3756
diff changeset
135 .addScalar("d75", StandardBasicTypes.DOUBLE)
75bc96dd9d82 Added depth parameter to bed quality data.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3756
diff changeset
136 .addScalar("d80", StandardBasicTypes.DOUBLE)
75bc96dd9d82 Added depth parameter to bed quality data.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3756
diff changeset
137 .addScalar("d84", StandardBasicTypes.DOUBLE)
75bc96dd9d82 Added depth parameter to bed quality data.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3756
diff changeset
138 .addScalar("d90", StandardBasicTypes.DOUBLE)
75bc96dd9d82 Added depth parameter to bed quality data.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3756
diff changeset
139 .addScalar("dmin", StandardBasicTypes.DOUBLE)
75bc96dd9d82 Added depth parameter to bed quality data.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3756
diff changeset
140 .addScalar("dmax", StandardBasicTypes.DOUBLE);
75bc96dd9d82 Added depth parameter to bed quality data.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3756
diff changeset
141
75bc96dd9d82 Added depth parameter to bed quality data.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3756
diff changeset
142 if (statement.equals(SQL_BED_MEASUREMENT)) {
75bc96dd9d82 Added depth parameter to bed quality data.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3756
diff changeset
143 query.addScalar("depth1", StandardBasicTypes.DOUBLE);
75bc96dd9d82 Added depth parameter to bed quality data.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3756
diff changeset
144 query.addScalar("depth2", StandardBasicTypes.DOUBLE);
75bc96dd9d82 Added depth parameter to bed quality data.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3756
diff changeset
145 }
3755
9c555ce5ca50 Data objects and factory for minfo bedquality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
146
9c555ce5ca50 Data objects and factory for minfo bedquality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
147 query.setString("name", river);
9c555ce5ca50 Data objects and factory for minfo bedquality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
148 query.setDouble("from", from);
3758
75bc96dd9d82 Added depth parameter to bed quality data.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3756
diff changeset
149 query.setDouble("to", to);
3755
9c555ce5ca50 Data objects and factory for minfo bedquality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
150 query.setDate("start", start);
9c555ce5ca50 Data objects and factory for minfo bedquality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
151 query.setDate("end", end);
9c555ce5ca50 Data objects and factory for minfo bedquality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
152
9c555ce5ca50 Data objects and factory for minfo bedquality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
153 query.setResultTransformer(
9c555ce5ca50 Data objects and factory for minfo bedquality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
154 QualityMeasurementResultTransformer.INSTANCE);
9c555ce5ca50 Data objects and factory for minfo bedquality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
155
9c555ce5ca50 Data objects and factory for minfo bedquality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
156 return new QualityMeasurements(query.list());
9c555ce5ca50 Data objects and factory for minfo bedquality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
157 }
9c555ce5ca50 Data objects and factory for minfo bedquality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
158
3756
912a398968b6 The factory for minfo bed quality calculation can load bedload and bed data from seddb now.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3755
diff changeset
159 public static QualityMeasurements getBedMeasurements(
3755
9c555ce5ca50 Data objects and factory for minfo bedquality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
160 String river,
9c555ce5ca50 Data objects and factory for minfo bedquality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
161 double from,
9c555ce5ca50 Data objects and factory for minfo bedquality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
162 double to,
9c555ce5ca50 Data objects and factory for minfo bedquality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
163 Date start,
3758
75bc96dd9d82 Added depth parameter to bed quality data.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3756
diff changeset
164 Date end) {
3755
9c555ce5ca50 Data objects and factory for minfo bedquality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
165 Session session = SedDBSessionHolder.HOLDER.get();
9c555ce5ca50 Data objects and factory for minfo bedquality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
166 try {
3758
75bc96dd9d82 Added depth parameter to bed quality data.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3756
diff changeset
167 return load(session, river, from, to, start, end,
75bc96dd9d82 Added depth parameter to bed quality data.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3756
diff changeset
168 SQL_BED_MEASUREMENT);
3756
912a398968b6 The factory for minfo bed quality calculation can load bedload and bed data from seddb now.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3755
diff changeset
169 }
912a398968b6 The factory for minfo bed quality calculation can load bedload and bed data from seddb now.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3755
diff changeset
170 finally {
912a398968b6 The factory for minfo bed quality calculation can load bedload and bed data from seddb now.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3755
diff changeset
171 session.close();
912a398968b6 The factory for minfo bed quality calculation can load bedload and bed data from seddb now.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3755
diff changeset
172 }
912a398968b6 The factory for minfo bed quality calculation can load bedload and bed data from seddb now.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3755
diff changeset
173 }
912a398968b6 The factory for minfo bed quality calculation can load bedload and bed data from seddb now.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3755
diff changeset
174
912a398968b6 The factory for minfo bed quality calculation can load bedload and bed data from seddb now.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3755
diff changeset
175 public static QualityMeasurements getBedloadMeasurements(
912a398968b6 The factory for minfo bed quality calculation can load bedload and bed data from seddb now.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3755
diff changeset
176 String river,
912a398968b6 The factory for minfo bed quality calculation can load bedload and bed data from seddb now.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3755
diff changeset
177 double from,
912a398968b6 The factory for minfo bed quality calculation can load bedload and bed data from seddb now.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3755
diff changeset
178 double to,
912a398968b6 The factory for minfo bed quality calculation can load bedload and bed data from seddb now.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3755
diff changeset
179 Date start,
912a398968b6 The factory for minfo bed quality calculation can load bedload and bed data from seddb now.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3755
diff changeset
180 Date end
3758
75bc96dd9d82 Added depth parameter to bed quality data.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3756
diff changeset
181 ) {
3756
912a398968b6 The factory for minfo bed quality calculation can load bedload and bed data from seddb now.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3755
diff changeset
182 Session session = SedDBSessionHolder.HOLDER.get();
912a398968b6 The factory for minfo bed quality calculation can load bedload and bed data from seddb now.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3755
diff changeset
183 try {
912a398968b6 The factory for minfo bed quality calculation can load bedload and bed data from seddb now.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3755
diff changeset
184 return load(
912a398968b6 The factory for minfo bed quality calculation can load bedload and bed data from seddb now.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3755
diff changeset
185 session,
912a398968b6 The factory for minfo bed quality calculation can load bedload and bed data from seddb now.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3755
diff changeset
186 river,
912a398968b6 The factory for minfo bed quality calculation can load bedload and bed data from seddb now.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3755
diff changeset
187 from,
912a398968b6 The factory for minfo bed quality calculation can load bedload and bed data from seddb now.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3755
diff changeset
188 to,
912a398968b6 The factory for minfo bed quality calculation can load bedload and bed data from seddb now.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3755
diff changeset
189 start,
912a398968b6 The factory for minfo bed quality calculation can load bedload and bed data from seddb now.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3755
diff changeset
190 end,
912a398968b6 The factory for minfo bed quality calculation can load bedload and bed data from seddb now.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3755
diff changeset
191 SQL_BEDLOAD_MEASUREMENT);
3755
9c555ce5ca50 Data objects and factory for minfo bedquality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
192 }
9c555ce5ca50 Data objects and factory for minfo bedquality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
193 finally {
9c555ce5ca50 Data objects and factory for minfo bedquality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
194 session.close();
9c555ce5ca50 Data objects and factory for minfo bedquality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
195 }
9c555ce5ca50 Data objects and factory for minfo bedquality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
196 }
9c555ce5ca50 Data objects and factory for minfo bedquality calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
197 }

http://dive4elements.wald.intevation.org