Mercurial > dive4elements > river
diff flys-backend/src/main/java/de/intevation/flys/importer/ImportWstColumnValue.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 | db430bd9e0e0 |
children |
line wrap: on
line diff
--- a/flys-backend/src/main/java/de/intevation/flys/importer/ImportWstColumnValue.java Sun May 08 11:20:39 2011 +0000 +++ b/flys-backend/src/main/java/de/intevation/flys/importer/ImportWstColumnValue.java Sun May 08 15:29:45 2011 +0000 @@ -8,11 +8,6 @@ import org.apache.log4j.Logger; -import org.hibernate.Session; - -import java.util.Map; - - public class ImportWstColumnValue { protected Logger logger = Logger.getLogger(ImportWstColumnValue.class); @@ -21,8 +16,6 @@ protected BigDecimal w; protected ImportWstColumn wstColumn; - protected Map<WstColumnValueKey, WstColumnValue> cache; - protected WstColumnValue peer; public ImportWstColumnValue() { @@ -31,13 +24,11 @@ public ImportWstColumnValue( ImportWstColumn wstColumn, BigDecimal position, - BigDecimal w, - Map<WstColumnValueKey, WstColumnValue> cache + BigDecimal w ) { this.wstColumn = wstColumn; this.position = position; this.w = w; - this.cache = cache; } public BigDecimal getPosition() { @@ -67,23 +58,8 @@ public WstColumnValue getPeer(River river) { if (peer == null) { WstColumn c = wstColumn.getPeer(river); - - // check the cache before we fire a db query - WstColumnValue value = cache.get(new WstColumnValueKey( - c.getId(), - position.doubleValue(), - w.doubleValue())); - - if (value != null) { - peer = value; - return peer; - } - - Session session = Importer.sessionHolder.get(); - peer = new WstColumnValue(c, position, w); - session.save(peer); - - cache.put(new WstColumnValueKey(peer), peer); + peer = ImporterSession.getInstance().getWstColumnValue( + c, position, w); } return peer;