comparison 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
comparison
equal deleted inserted replaced
2874:3bca80af6918 2875:444e52222941
161 public void setValues(List<BedHeightEpochValue> values) { 161 public void setValues(List<BedHeightEpochValue> values) {
162 this.values = values; 162 this.values = values;
163 } 163 }
164 164
165 165
166 public static List<BedHeightEpoch> getBedHeightEpochs(River river) { 166 public static List<BedHeightEpoch> getBedHeightEpochs(
167 River river,
168 double kmLo,
169 double kmHi
170 ) {
167 Session session = SessionHolder.HOLDER.get(); 171 Session session = SessionHolder.HOLDER.get();
168 172
169 Query query = session.createQuery( 173 Query query = session.createQuery(
170 "from BedHeightEpoch where river=:river"); 174 "from BedHeightEpoch where river=:river");
171 175
172 query.setParameter("river", river); 176 query.setParameter("river", river);
173 177
174 return query.list(); 178 // TODO Do km range filtering in SQL statement
179
180 List<BedHeightEpoch> epochs = query.list();
181 List<BedHeightEpoch> good = new ArrayList<BedHeightEpoch>();
182
183 for (BedHeightEpoch e: epochs) {
184 OUTER:
185 for (BedHeightEpochValue value: e.getValues()) {
186 double station = value.getStation().doubleValue();
187
188 if (station >= kmLo && station <= kmHi) {
189 good.add(e);
190 continue OUTER;
191 }
192 }
193 }
194
195 return good;
175 } 196 }
176 197
177 198
178 public static BedHeightEpoch getBedHeightEpochById(int id) { 199 public static BedHeightEpoch getBedHeightEpochById(int id) {
179 Session session = SessionHolder.HOLDER.get(); 200 Session session = SessionHolder.HOLDER.get();

http://dive4elements.wald.intevation.org