diff flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/sq/MeasurementFactory.java @ 3290:36f3b53d5cfc

SQ relation: Added infrastructure to extract fractions from measurments. flys-artifacts/trunk@4958 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Thu, 12 Jul 2012 17:34:40 +0000
parents ec9aab93f292
children b52c4b34ec1b
line wrap: on
line diff
--- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/sq/MeasurementFactory.java	Thu Jul 12 16:15:30 2012 +0000
+++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/sq/MeasurementFactory.java	Thu Jul 12 17:34:40 2012 +0000
@@ -5,7 +5,6 @@
 import de.intevation.flys.backend.SedDBSessionHolder;
 
 import java.util.HashMap;
-import java.util.List;
 import java.util.Map;
 
 import org.apache.log4j.Logger;
@@ -27,6 +26,7 @@
             "m.TSAND   AS TSAND,"   +
             "m.TSCHWEB AS TSCHWEB," +
             "m.CSCHWEB AS CSCHWEB " +
+            "m.Q       AS Q " +
             /* TODO: Select more */
         "FROM messung m " +
             "JOIN station   s ON m.stationid   = s.stationid " +
@@ -34,7 +34,8 @@
             "WHERE " +
                 "g.name = :river_name AND " +
                 "s.km BETWEEN :location - 0.001 AND :location + 0.001 AND " +
-                "m.datum BETWEEN :from AND :to";
+                "m.datum BETWEEN :from AND :to AND " +
+                "m.Q IS NOT NULL";
 
     public static final class MeasurementResultTransformer
     extends                   BasicTransformerAdapter
@@ -58,7 +59,7 @@
     private MeasurementFactory() {
     }
 
-    protected static List<Measurement> load(
+    protected static Measurements load(
         Session   session,
         String    river,
         double    location,
@@ -67,7 +68,8 @@
         SQLQuery query = session.createSQLQuery(SQL_MEASSURE)
             .addScalar("TSAND",   StandardBasicTypes.DOUBLE)
             .addScalar("TSCHWEB", StandardBasicTypes.DOUBLE)
-            .addScalar("CSCHWEB", StandardBasicTypes.DOUBLE);
+            .addScalar("CSCHWEB", StandardBasicTypes.DOUBLE)
+            .addScalar("Q",       StandardBasicTypes.DOUBLE);
 
         query.setString("river_name", river);
         query.setDouble("location", location);
@@ -76,10 +78,10 @@
 
         query.setResultTransformer(MeasurementResultTransformer.INSTANCE);
 
-        return query.list();
+        return new Measurements(query.list());
     }
 
-    public static List<Measurement> getMeasurements(
+    public static Measurements getMeasurements(
         String    river,
         double    location,
         DateRange dateRange

http://dive4elements.wald.intevation.org