# HG changeset patch # User Raimund Renkert # Date 1347533389 0 # Node ID 912a398968b675eb8038e7ecc5af068f0cd1b08a # Parent 9c555ce5ca504d756cacf65600bbef75156ecc83 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 diff -r 9c555ce5ca50 -r 912a398968b6 flys-artifacts/ChangeLog --- a/flys-artifacts/ChangeLog Thu Sep 13 10:34:51 2012 +0000 +++ b/flys-artifacts/ChangeLog Thu Sep 13 10:49:49 2012 +0000 @@ -1,4 +1,9 @@ -2012-09-12 Raimund Renkert +2012-09-13 Raimund Renkert + + * src/main/java/de/intevation/flys/artifacts/model/minfo/QualityMeasurementFactory.java: + The factory can load bedload and bed data from seddb now. + +2012-09-13 Raimund Renkert Objects and factory for minfo bedquality calculation data. diff -r 9c555ce5ca50 -r 912a398968b6 flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/minfo/QualityMeasurementFactory.java --- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/minfo/QualityMeasurementFactory.java Thu Sep 13 10:34:51 2012 +0000 +++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/minfo/QualityMeasurementFactory.java Thu Sep 13 10:49:49 2012 +0000 @@ -13,7 +13,7 @@ public class QualityMeasurementFactory { - private static final String SQL_MEASUREMENT = + private static final String SQL_BED_MEASUREMENT = "SELECT st.km as km," + " st.datum as date,"+ " sa.d10 as d10," + @@ -41,6 +41,32 @@ " st.km BETWEEN :from - 0.001 AND :to + 0.001 AND" + " st.datum BETWEEN :start AND :end"; + private static final String SQL_BEDLOAD_MEASUREMENT = + "SELECT m.km as km," + + " m.datum as date,"+ + " m.d10 as d10," + + " m.d16 as d16," + + " m.d20 as d20," + + " m.d25 as d25," + + " m.d30 as d30," + + " m.d40 as d40," + + " m.d50 as d50," + + " m.d60 as d60," + + " m.d70 as d70," + + " m.d75 as d75," + + " m.d80 as d80," + + " m.d84 as d84," + + " m.d90 as d90," + + " m.dmin as dmin," + + " m.dmax as dmax " + + "FROM messung m" + + " JOIN station sn ON sn.stationid = m.stationid" + + " JOIN gewaesser gw ON gw.gewaesserid = sn.gewaesserid" + + "WHERE gw.name = :name AND " + + " m.km IS NOT NULL AND " + + " m.km BETWEEN :from - 0.001 AND :to + 0.001 AND" + + " m.datum BETWEEN :start AND :end"; + public static final class QualityMeasurementResultTransformer extends BasicTransformerAdapter { @@ -81,9 +107,10 @@ double from, double to, Date start, - Date end + Date end, + String statement ) { - SQLQuery query = session.createSQLQuery(SQL_MEASUREMENT) + SQLQuery query = session.createSQLQuery(statement) .addScalar("km", StandardBasicTypes.DOUBLE) .addScalar("date", StandardBasicTypes.DATE) .addScalar("d10", StandardBasicTypes.DOUBLE) @@ -114,7 +141,7 @@ return new QualityMeasurements(query.list()); } - public static QualityMeasurements getMeasurements( + public static QualityMeasurements getBedMeasurements( String river, double from, double to, @@ -123,7 +150,37 @@ ) { Session session = SedDBSessionHolder.HOLDER.get(); try { - return load(session, river, from, to, start, end); + return load( + session, + river, + from, + to, + start, + end, + SQL_BED_MEASUREMENT); + } + finally { + session.close(); + } + } + + public static QualityMeasurements getBedloadMeasurements( + String river, + double from, + double to, + Date start, + Date end + ){ + Session session = SedDBSessionHolder.HOLDER.get(); + try { + return load( + session, + river, + from, + to, + start, + end, + SQL_BEDLOAD_MEASUREMENT); } finally { session.close();