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;
     }

http://dive4elements.wald.intevation.org