Mercurial > dive4elements > river
view flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/BedOverviewFactory.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/BedOverviewFactory.java@ae598cf50682 |
children |
line wrap: on
line source
package org.dive4elements.river.artifacts.model.minfo; import net.sf.ehcache.Cache; import net.sf.ehcache.Element; import org.apache.log4j.Logger; import org.hibernate.Session; import org.dive4elements.river.artifacts.cache.CacheFactory; import org.dive4elements.river.backend.SedDBSessionHolder; public class BedOverviewFactory { private static Logger log = Logger.getLogger(BedOverviewFactory.class); public static final String CACHE_NAME = "sq-overviews"; private BedOverviewFactory() { } public static BedOverview getOverview(String river) { boolean debug = log.isDebugEnabled(); if (debug) { log.debug( "Looking for bed overview for river '" + river + "'"); } Cache cache = CacheFactory.getCache(CACHE_NAME); if (cache == null) { if (debug) { log.debug("Cache not configured."); } return getUncached(river); } String key = "bed-over-" + river; Element element = cache.get(key); if (element != null) { if (debug) { log.debug("Overview found in cache"); } return (BedOverview)element.getValue(); } BedOverview overview = getUncached(river); if (overview != null) { if (debug) { log.debug("Store overview in cache."); } cache.put(new Element(key, overview)); } return overview; } public static BedOverview getUncached(String river) { BedOverview overview = new BedOverview(river); Session session = SedDBSessionHolder.HOLDER.get(); return overview.load(session) ? overview : null; } }