Mercurial > dive4elements > river
diff flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/FixingsOverview.java @ 3143:29022c93027d
FixA: Create a cached GaugeFinderFactory to access the gauge along a river
flys-artifacts/trunk@4751 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Thu, 21 Jun 2012 16:46:05 +0000 |
parents | 9aed2e4de3ca |
children | 086326be721c |
line wrap: on
line diff
--- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/FixingsOverview.java Thu Jun 21 15:50:58 2012 +0000 +++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/FixingsOverview.java Thu Jun 21 16:46:05 2012 +0000 @@ -37,17 +37,6 @@ "WHERE" + " name = :name"; - public static final String SQL_GAUGES = - "SELECT" + - " g.id AS gauge_id," + - " r.a AS a," + - " r.b AS b " + - "FROM gauges g" + - " JOIN ranges r ON g.range_id = r.id " + - "WHERE" + - " g.river_id = :river_id " + - "ORDER BY r.a"; - public static final String SQL_FIXINGS = "SELECT" + " id AS wst_id," + @@ -382,35 +371,6 @@ return true; } - protected GaugeFinder loadGauges(Session session) { - SQLQuery query = session.createSQLQuery(SQL_GAUGES) - .addScalar("gauge_id", StandardBasicTypes.INTEGER) - .addScalar("a", StandardBasicTypes.DOUBLE) - .addScalar("b", StandardBasicTypes.DOUBLE); - - query.setInteger("river_id", riverId); - - List<Object []> list = query.list(); - - if (list.isEmpty()) { - log.warn("River " + riverId + " has no gauges."); - return null; - } - - List<GaugeRange> gauges = new ArrayList<GaugeRange>(); - - for (Object [] row: list) { - int gaugeId = (Integer)row[0]; - double start = (Double) row[1]; - double end = (Double) row[2]; - GaugeRange gauge = new GaugeRange(start, end, gaugeId); - gauges.add(gauge); - } - - return new GaugeFinder(gauges, isKmUp); - } - - protected void loadFixings(Session session) { SQLQuery query = session.createSQLQuery(SQL_FIXINGS) .addScalar("wst_id", StandardBasicTypes.INTEGER) @@ -480,10 +440,11 @@ return false; } - GaugeFinder gaugeFinder = loadGauges(session); + GaugeFinderFactory gff = GaugeFinderFactory.getInstance(); - if (gaugeFinder == null - || !gaugeFinder.loadDischargeSectors(session, riverId)) { + GaugeFinder gaugeFinder = gff.getGaugeFinder(riverId, isKmUp); + + if (gaugeFinder == null) { return false; }