diff flys-backend/src/main/java/de/intevation/flys/importer/ImportWst.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 3a99d0295006
children cce054f27dac
line wrap: on
line diff
--- a/flys-backend/src/main/java/de/intevation/flys/importer/ImportWst.java	Sun May 08 11:20:39 2011 +0000
+++ b/flys-backend/src/main/java/de/intevation/flys/importer/ImportWst.java	Sun May 08 15:29:45 2011 +0000
@@ -1,21 +1,15 @@
 package de.intevation.flys.importer;
 
 import de.intevation.flys.model.Wst;
-import de.intevation.flys.model.WstColumnValue;
 import de.intevation.flys.model.River;
 
-import de.intevation.flys.backend.SessionFactoryProvider;
-
 import org.apache.log4j.Logger;
 
 import org.hibernate.Session;
-import org.hibernate.SessionFactory;
 import org.hibernate.Query;
 
 import java.util.ArrayList;
-import java.util.HashMap;
 import java.util.List;
-import java.util.Map;
 
 public class ImportWst
 {
@@ -25,19 +19,13 @@
 
     protected Integer kind;
 
-    //protected Map<String, ImportWstColumn> columns;
     protected List<ImportWstColumn> columns;
 
-    protected Map<WstColumnValueKey, WstColumnValue> wstCache;
-
     protected Wst peer;
 
     public ImportWst() {
         kind = 0;
         columns = new ArrayList<ImportWstColumn>();
-
-        // This cache is used to avoid db queries for each WstColumnValue later
-        wstCache = getWstColumnValueCache();
     }
 
     public ImportWst(String description) {
@@ -64,7 +52,7 @@
 
     public void setNumberColumns(int numColumns) {
         for (int i = 0; i < numColumns; ++i) {
-            columns.add(new ImportWstColumn(this, null, null, i, wstCache));
+            columns.add(new ImportWstColumn(this, null, null, i));
         }
     }
 
@@ -84,43 +72,9 @@
         }
     }
 
-
-    public Map<WstColumnValueKey, WstColumnValue> getWstColumnValueCache() {
-        SessionFactory sessionFactory =
-            SessionFactoryProvider.createSessionFactory();
-
-        Session session = sessionFactory.openSession();
-
-        Importer.sessionHolder.set(session);
-
-        try {
-            Query query = session.createQuery("from WstColumnValue");
-
-            List<WstColumnValue> values = query.list();
-            Map<WstColumnValueKey, WstColumnValue> cache =
-                new HashMap<WstColumnValueKey, WstColumnValue>();
-
-            for (WstColumnValue value: values) {
-                cache.put(
-                    new WstColumnValueKey(value),
-                    value);
-            }
-
-            logger.info("++++++++++++++++++++++++++++++++++++++++++++++++++++");
-            logger.info(cache.size() + " WstColumnValue objects in WST cache.");
-            logger.info("++++++++++++++++++++++++++++++++++++++++++++++++++++");
-
-            return cache;
-        }
-        finally {
-            session.close();
-            Importer.sessionHolder.remove();
-        }
-    }
-
     public Wst getPeer(River river) {
         if (peer == null) {
-            Session session = Importer.sessionHolder.get();
+            Session session = ImporterSession.getInstance().getDatabaseSession();
             Query query = session.createQuery(
                 "from Wst where " +
                 "river=:river and description=:description and kind=:kind");

http://dive4elements.wald.intevation.org