Mercurial > dive4elements > river
comparison artifacts/src/main/java/org/dive4elements/river/artifacts/model/sq/MeasurementFactory.java @ 8566:fe7e9da6312a
(issue1797) Move close into session release and guard it.
To avoid leaking open and Held sessions we centrally close
the session in the SessionHolder on release.
This also removes some duplicated code in SedDBSessionHolder
author | Andre Heinecke <andre.heinecke@intevation.de> |
---|---|
date | Tue, 24 Feb 2015 17:16:14 +0100 |
parents | 84929f882fa2 |
children | 2e11fc7f5d35 |
comparison
equal
deleted
inserted
replaced
8565:ea17665c5aad | 8566:fe7e9da6312a |
---|---|
256 double location, | 256 double location, |
257 DateRange dateRange, | 257 DateRange dateRange, |
258 SQ.Factory sqFactory | 258 SQ.Factory sqFactory |
259 ) { | 259 ) { |
260 Session session = SedDBSessionHolder.HOLDER.get(); | 260 Session session = SedDBSessionHolder.HOLDER.get(); |
261 try { | 261 List<Measurement> totals = loadTotals( |
262 List<Measurement> totals = loadTotals( | 262 session, river, location, dateRange); |
263 session, river, location, dateRange); | 263 |
264 | 264 List<Measurement> accumulated = loadFractions( |
265 List<Measurement> accumulated = loadFractions( | 265 session, river, location, dateRange); |
266 session, river, location, dateRange); | 266 |
267 | 267 return new Measurements(totals, accumulated, sqFactory); |
268 return new Measurements(totals, accumulated, sqFactory); | |
269 } | |
270 finally { | |
271 session.close(); | |
272 } | |
273 } | 268 } |
274 | 269 |
275 @SuppressWarnings("unchecked") | 270 @SuppressWarnings("unchecked") |
276 protected static List<Measurement> loadTotals( | 271 protected static List<Measurement> loadTotals( |
277 Session session, | 272 Session session, |