comparison flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/BedloadOverviewFactory.java @ 5831:bd047b71ab37

Repaired internal references
author Sascha L. Teichmann <teichmann@intevation.de>
date Thu, 25 Apr 2013 12:06:39 +0200
parents flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/minfo/BedloadOverviewFactory.java@ae598cf50682
children
comparison
equal deleted inserted replaced
5830:160f53ee0870 5831:bd047b71ab37
1 package org.dive4elements.river.artifacts.model.minfo;
2
3 import net.sf.ehcache.Cache;
4 import net.sf.ehcache.Element;
5
6 import org.apache.log4j.Logger;
7 import org.hibernate.Session;
8
9 import org.dive4elements.river.artifacts.cache.CacheFactory;
10 import org.dive4elements.river.backend.SedDBSessionHolder;
11
12 public class BedloadOverviewFactory {
13
14 private static Logger log = Logger.getLogger(BedloadOverviewFactory.class);
15
16 public static final String CACHE_NAME = "sq-overviews";
17
18 private BedloadOverviewFactory() {
19 }
20
21
22 public static BedloadOverview getOverview(String river) {
23
24 boolean debug = log.isDebugEnabled();
25
26 if (debug) {
27 log.debug(
28 "Looking for bedload overview for river '" + river + "'");
29 }
30
31 Cache cache = CacheFactory.getCache(CACHE_NAME);
32
33 if (cache == null) {
34 if (debug) {
35 log.debug("Cache not configured.");
36 }
37 return getUncached(river);
38 }
39
40 String key = "bedload-over-" + river;
41
42 Element element = cache.get(key);
43
44 if (element != null) {
45 if (debug) {
46 log.debug("Overview found in cache");
47 }
48 return (BedloadOverview)element.getValue();
49 }
50
51 BedloadOverview overview = getUncached(river);
52
53 if (overview != null) {
54 if (debug) {
55 log.debug("Store overview in cache.");
56 }
57 cache.put(new Element(key, overview));
58 }
59
60 return overview;
61 }
62
63 public static BedloadOverview getUncached(String river) {
64 BedloadOverview overview = new BedloadOverview(river);
65
66 Session session = SedDBSessionHolder.HOLDER.get();
67
68 return overview.load(session) ? overview : null;
69 }
70 }

http://dive4elements.wald.intevation.org