diff flys-backend/src/main/java/de/intevation/flys/importer/ImportWstColumnValue.java @ 497:67fd63e4ef66

Importer: centralized caching flys-backend/trunk@1851 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Sun, 08 May 2011 15:29:45 +0000
parents db430bd9e0e0
children
line wrap: on
line diff
--- a/flys-backend/src/main/java/de/intevation/flys/importer/ImportWstColumnValue.java	Sun May 08 11:20:39 2011 +0000
+++ b/flys-backend/src/main/java/de/intevation/flys/importer/ImportWstColumnValue.java	Sun May 08 15:29:45 2011 +0000
@@ -8,11 +8,6 @@
 
 import org.apache.log4j.Logger;
 
-import org.hibernate.Session;
-
-import java.util.Map;
-
-
 public class ImportWstColumnValue
 {
     protected Logger logger = Logger.getLogger(ImportWstColumnValue.class);
@@ -21,8 +16,6 @@
     protected BigDecimal      w;
     protected ImportWstColumn wstColumn;
 
-    protected Map<WstColumnValueKey, WstColumnValue> cache;
-
     protected WstColumnValue  peer;
 
     public ImportWstColumnValue() {
@@ -31,13 +24,11 @@
     public ImportWstColumnValue(
         ImportWstColumn wstColumn,
         BigDecimal      position,
-        BigDecimal      w,
-        Map<WstColumnValueKey, WstColumnValue> cache
+        BigDecimal      w
     ) {
         this.wstColumn = wstColumn;
         this.position  = position;
         this.w         = w;
-        this.cache     = cache;
     }
 
     public BigDecimal getPosition() {
@@ -67,23 +58,8 @@
     public WstColumnValue getPeer(River river) {
         if (peer == null) {
             WstColumn c = wstColumn.getPeer(river);
-
-            // check the cache before we fire a db query
-            WstColumnValue value = cache.get(new WstColumnValueKey(
-                c.getId(),
-                position.doubleValue(),
-                w.doubleValue()));
-
-            if (value != null) {
-                peer = value;
-                return peer;
-            }
-
-            Session session = Importer.sessionHolder.get();
-            peer = new WstColumnValue(c, position, w);
-            session.save(peer);
-
-            cache.put(new WstColumnValueKey(peer), peer);
+            peer = ImporterSession.getInstance().getWstColumnValue(
+                c, position, w);
         }
 
         return peer;

http://dive4elements.wald.intevation.org