Mercurial > dive4elements > river
diff backend/src/main/java/org/dive4elements/river/importer/ImporterSession.java @ 8027:1e327d86c898
Load grain fractions from database only. Do not store new ones.
author | Sascha L. Teichmann <teichmann@intevation.de> |
---|---|
date | Thu, 10 Jul 2014 16:11:55 +0200 |
parents | 4c3ccf2b0304 |
children | cdb9f6d97f6a |
line wrap: on
line diff
--- a/backend/src/main/java/org/dive4elements/river/importer/ImporterSession.java Thu Jul 10 12:04:56 2014 +0200 +++ b/backend/src/main/java/org/dive4elements/river/importer/ImporterSession.java Thu Jul 10 16:11:55 2014 +0200 @@ -8,28 +8,25 @@ package org.dive4elements.river.importer; +import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.TreeMap; - import java.math.BigDecimal; import org.hibernate.SessionFactory; import org.hibernate.Session; import org.hibernate.Query; import org.hibernate.FlushMode; - import org.dive4elements.river.backend.SessionFactoryProvider; - +import org.dive4elements.river.model.GrainFraction; import org.dive4elements.river.model.WstColumnValue; import org.dive4elements.river.model.WstColumn; import org.dive4elements.river.model.DischargeTableValue; import org.dive4elements.river.model.DischargeTable; import org.dive4elements.river.model.Range; import org.dive4elements.river.model.River; - import org.apache.log4j.Logger; - import org.dive4elements.artifacts.common.utils.LRUCache; public class ImporterSession @@ -55,6 +52,8 @@ protected LRUCache<Integer, Map<ValueKey, Range>> ranges; + private Map<String, GrainFraction> grainFractions; + public static ImporterSession getInstance() { return SESSION.get(); } @@ -157,6 +156,18 @@ return dctv; } + public GrainFraction getGrainFraction(String name) { + if (grainFractions == null) { + grainFractions = new HashMap<String, GrainFraction>(); + Query query = databaseSession.createQuery("from GrainFraction"); + for (Iterator iter = query.iterate(); iter.hasNext();) { + GrainFraction gf = (GrainFraction)iter.next(); + grainFractions.put(gf.getName(), gf); + } + } + return grainFractions.get(name); + } + public Range getRange(River river, BigDecimal a, BigDecimal b) { Integer r = river.getId();