Mercurial > dive4elements > river
comparison 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 |
comparison
equal
deleted
inserted
replaced
8026:4b3054edbbaf | 8027:1e327d86c898 |
---|---|
6 * documentation coming with Dive4Elements River for details. | 6 * documentation coming with Dive4Elements River for details. |
7 */ | 7 */ |
8 | 8 |
9 package org.dive4elements.river.importer; | 9 package org.dive4elements.river.importer; |
10 | 10 |
11 import java.util.HashMap; | |
11 import java.util.Iterator; | 12 import java.util.Iterator; |
12 import java.util.Map; | 13 import java.util.Map; |
13 import java.util.TreeMap; | 14 import java.util.TreeMap; |
14 | |
15 import java.math.BigDecimal; | 15 import java.math.BigDecimal; |
16 | 16 |
17 import org.hibernate.SessionFactory; | 17 import org.hibernate.SessionFactory; |
18 import org.hibernate.Session; | 18 import org.hibernate.Session; |
19 import org.hibernate.Query; | 19 import org.hibernate.Query; |
20 import org.hibernate.FlushMode; | 20 import org.hibernate.FlushMode; |
21 | |
22 import org.dive4elements.river.backend.SessionFactoryProvider; | 21 import org.dive4elements.river.backend.SessionFactoryProvider; |
23 | 22 import org.dive4elements.river.model.GrainFraction; |
24 import org.dive4elements.river.model.WstColumnValue; | 23 import org.dive4elements.river.model.WstColumnValue; |
25 import org.dive4elements.river.model.WstColumn; | 24 import org.dive4elements.river.model.WstColumn; |
26 import org.dive4elements.river.model.DischargeTableValue; | 25 import org.dive4elements.river.model.DischargeTableValue; |
27 import org.dive4elements.river.model.DischargeTable; | 26 import org.dive4elements.river.model.DischargeTable; |
28 import org.dive4elements.river.model.Range; | 27 import org.dive4elements.river.model.Range; |
29 import org.dive4elements.river.model.River; | 28 import org.dive4elements.river.model.River; |
30 | |
31 import org.apache.log4j.Logger; | 29 import org.apache.log4j.Logger; |
32 | |
33 import org.dive4elements.artifacts.common.utils.LRUCache; | 30 import org.dive4elements.artifacts.common.utils.LRUCache; |
34 | 31 |
35 public class ImporterSession | 32 public class ImporterSession |
36 { | 33 { |
37 private static Logger log = Logger.getLogger(ImporterSession.class); | 34 private static Logger log = Logger.getLogger(ImporterSession.class); |
52 protected LRUCache<Integer, Map<ValueKey, DischargeTableValue>> | 49 protected LRUCache<Integer, Map<ValueKey, DischargeTableValue>> |
53 dischargeTableValues; | 50 dischargeTableValues; |
54 | 51 |
55 protected LRUCache<Integer, Map<ValueKey, Range>> | 52 protected LRUCache<Integer, Map<ValueKey, Range>> |
56 ranges; | 53 ranges; |
54 | |
55 private Map<String, GrainFraction> grainFractions; | |
57 | 56 |
58 public static ImporterSession getInstance() { | 57 public static ImporterSession getInstance() { |
59 return SESSION.get(); | 58 return SESSION.get(); |
60 } | 59 } |
61 | 60 |
155 map.put(key, dctv); | 154 map.put(key, dctv); |
156 | 155 |
157 return dctv; | 156 return dctv; |
158 } | 157 } |
159 | 158 |
159 public GrainFraction getGrainFraction(String name) { | |
160 if (grainFractions == null) { | |
161 grainFractions = new HashMap<String, GrainFraction>(); | |
162 Query query = databaseSession.createQuery("from GrainFraction"); | |
163 for (Iterator iter = query.iterate(); iter.hasNext();) { | |
164 GrainFraction gf = (GrainFraction)iter.next(); | |
165 grainFractions.put(gf.getName(), gf); | |
166 } | |
167 } | |
168 return grainFractions.get(name); | |
169 } | |
170 | |
160 public Range getRange(River river, BigDecimal a, BigDecimal b) { | 171 public Range getRange(River river, BigDecimal a, BigDecimal b) { |
161 Integer r = river.getId(); | 172 Integer r = river.getId(); |
162 | 173 |
163 Map<ValueKey, Range> map = ranges.get(r); | 174 Map<ValueKey, Range> map = ranges.get(r); |
164 | 175 |