Mercurial > dive4elements > river
diff flys-backend/src/main/java/de/intevation/flys/model/BedHeightEpoch.java @ 2875:444e52222941
Added lower and upper km to functions that return bed height singles and epochs for a given river.
flys-backend/trunk@4442 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Fri, 18 May 2012 12:31:26 +0000 |
parents | bcfdaa3a5bfc |
children | b9a99fcc78c3 |
line wrap: on
line diff
--- a/flys-backend/src/main/java/de/intevation/flys/model/BedHeightEpoch.java Fri May 18 11:34:17 2012 +0000 +++ b/flys-backend/src/main/java/de/intevation/flys/model/BedHeightEpoch.java Fri May 18 12:31:26 2012 +0000 @@ -163,7 +163,11 @@ } - public static List<BedHeightEpoch> getBedHeightEpochs(River river) { + public static List<BedHeightEpoch> getBedHeightEpochs( + River river, + double kmLo, + double kmHi + ) { Session session = SessionHolder.HOLDER.get(); Query query = session.createQuery( @@ -171,7 +175,24 @@ query.setParameter("river", river); - return query.list(); + // TODO Do km range filtering in SQL statement + + List<BedHeightEpoch> epochs = query.list(); + List<BedHeightEpoch> good = new ArrayList<BedHeightEpoch>(); + + for (BedHeightEpoch e: epochs) { + OUTER: + for (BedHeightEpochValue value: e.getValues()) { + double station = value.getStation().doubleValue(); + + if (station >= kmLo && station <= kmHi) { + good.add(e); + continue OUTER; + } + } + } + + return good; }