Mercurial > dive4elements > river
diff flys-backend/src/main/java/de/intevation/flys/importer/ImportSedimentDensityValue.java @ 2817:8979f2294af9
Finished parsing MINFO specific sediment density.
flys-backend/trunk@4234 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Fri, 13 Apr 2012 11:45:29 +0000 |
parents | 70b4a31a3306 |
children | be9e28cff0c4 |
line wrap: on
line diff
--- a/flys-backend/src/main/java/de/intevation/flys/importer/ImportSedimentDensityValue.java Fri Apr 13 10:59:15 2012 +0000 +++ b/flys-backend/src/main/java/de/intevation/flys/importer/ImportSedimentDensityValue.java Fri Apr 13 11:45:29 2012 +0000 @@ -2,8 +2,13 @@ import java.math.BigDecimal; +import java.util.List; + import org.apache.log4j.Logger; +import org.hibernate.Session; +import org.hibernate.Query; + import de.intevation.flys.model.SedimentDensity; import de.intevation.flys.model.SedimentDensityValue; @@ -36,13 +41,47 @@ public void storeDependencies(SedimentDensity sedimentDensity) { log.info("store dependencies"); + + getPeer(sedimentDensity); } public SedimentDensityValue getPeer(SedimentDensity sedimentDensity) { log.info("get peer"); - return null; + if (peer == null) { + Session session = ImporterSession.getInstance().getDatabaseSession(); + + Query query = session.createQuery( + "from SedimentDensityValue where " + + " sedimentDensity=:sedimentDensity and " + + " station=:station and " + + " density=:density and " + + " description=:description"); + + query.setParameter("sedimentDensity", sedimentDensity); + query.setParameter("station", station); + query.setParameter("density", density); + query.setParameter("description", description); + + List<SedimentDensityValue> values = query.list(); + if (values.isEmpty()) { + log.debug("Create new SedimentDensityValue DB instance."); + + peer = new SedimentDensityValue( + sedimentDensity, + station, + density, + description); + + session.save(peer); + } + else { + peer = values.get(0); + } + } + + return peer; } } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :