# HG changeset patch # User Tom Gottfried # Date 1449150275 -3600 # Node ID 50ff99266e0e0dc6cd97858004d176e8cc8fc2c6 # Parent bbf6cf555e89338e8d0db8a949a4215408d4b0e3 Issue1854: Filter BedOverview down to river distance. diff -r bbf6cf555e89 -r 50ff99266e0e artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/BedOverview.java --- a/artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/BedOverview.java Thu Dec 03 12:20:03 2015 +0100 +++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/BedOverview.java Thu Dec 03 14:44:35 2015 +0100 @@ -95,12 +95,14 @@ " JOIN gewaesser g " + " ON s.gewaesserid = g.gewaesserid " + "WHERE" + - " g.name = :name AND" + - " so.km IS NOT NULL " + + " g.name = :name" + + " AND so.km IS NOT NULL" + + " AND so.km BETWEEN :from AND :to " + "ORDER by" + " so.km, so.datum"; - protected String riverName; + protected String riverName; + protected String SeddbRiverName; protected KMIndex> entries; @@ -110,7 +112,8 @@ public BedOverview(String riverName) { this(); - this.riverName = RiverFactory.getRiver(riverName).nameForSeddb(); + this.riverName = riverName; + this.SeddbRiverName = RiverFactory.getRiver(riverName).nameForSeddb(); } private static final boolean epsilonEquals(double a, double b) { @@ -118,16 +121,21 @@ } protected void loadData(Session session) { + double [] fromTo = RiverFactory.getRiver(riverName) + .determineMinMaxDistance(); + SQLQuery query = session.createSQLQuery(SQL_SQ) .addScalar("km", StandardBasicTypes.DOUBLE) .addScalar("datum", StandardBasicTypes.DATE); - query.setString("name", riverName); + query.setString("name", SeddbRiverName); + query.setDouble("from", fromTo[0]); + query.setDouble("to", fromTo[1]); List list = query.list(); if (list.isEmpty()) { - log.warn("No river '" + riverName + "' found."); + log.warn("No river '" + SeddbRiverName + "' found."); } Double prevKm = -Double.MAX_VALUE; @@ -175,7 +183,7 @@ Element riverElement = document.createElement("river"); - riverElement.setAttribute("name", riverName); + riverElement.setAttribute("name", SeddbRiverName); sqElement.appendChild(riverElement);