annotate flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/minfo/QualityMeasurementFactory.java @ 3756:912a398968b6

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

http://dive4elements.wald.intevation.org