Mercurial > dive4elements > river
diff flys-backend/src/main/java/de/intevation/flys/importer/ImportRange.java @ 500:d50cd3a632e0
Importer: Use BigDecimals in hashing to prevent numerical problems. Cache ranges globally, too.
flys-backend/trunk@1854 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Sun, 08 May 2011 22:41:07 +0000 |
parents | cce054f27dac |
children | 2c99995395f5 |
line wrap: on
line diff
--- a/flys-backend/src/main/java/de/intevation/flys/importer/ImportRange.java Sun May 08 21:34:43 2011 +0000 +++ b/flys-backend/src/main/java/de/intevation/flys/importer/ImportRange.java Sun May 08 22:41:07 2011 +0000 @@ -3,11 +3,6 @@ import de.intevation.flys.model.Range; import de.intevation.flys.model.River; -import org.hibernate.Session; -import org.hibernate.Query; - -import java.util.List; - import java.math.BigDecimal; import org.apache.log4j.Logger; @@ -67,21 +62,7 @@ public Range getPeer(River river) { if (peer == null) { - Session session = ImporterSession.getInstance().getDatabaseSession(); - Query query = session.createQuery( - "from Range where a=:a and b=:b and river=:river"); - query.setParameter("a", a); - query.setParameter("b", b); - query.setParameter("river", river); - //log.debug("a: " + a + " b: " + b + " river.id: " + river.getId()); - List<Range> ranges = query.list(); - if (ranges.isEmpty()) { - peer = new Range(a, b, river); - session.save(peer); - } - else { - peer = ranges.get(0); - } + peer = ImporterSession.getInstance().getRange(river, a, b); } return peer; }