Mercurial > dive4elements > river
view flys-backend/src/main/java/de/intevation/flys/importer/ImportSedimentYieldValue.java @ 3798:90f91ba077a8
Made importer more robust
flys-backend/trunk@5461 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Thu, 13 Sep 2012 16:34:02 +0000 |
parents | 75446c47ef77 |
children |
line wrap: on
line source
package de.intevation.flys.importer; import java.util.List; import org.hibernate.Session; import org.hibernate.Query; import de.intevation.flys.model.SedimentYield; import de.intevation.flys.model.SedimentYieldValue; public class ImportSedimentYieldValue { private Double station; private Double value; private SedimentYieldValue peer; public ImportSedimentYieldValue(Double station, Double value) { this.station = station; this.value = value; } public void storeDependencies(SedimentYield sedimentYield) { getPeer(sedimentYield); } public SedimentYieldValue getPeer(SedimentYield sedimentYield) { if (peer == null) { Session session = ImporterSession.getInstance().getDatabaseSession(); Query query = session.createQuery( "from SedimentYieldValue where " + " sedimentYield=:sedimentYield and " + " station=:station and " + " value=:value" ); query.setParameter("sedimentYield", sedimentYield); query.setParameter("station", station); query.setParameter("value", value); List<SedimentYieldValue> values = query.list(); if (values.isEmpty()) { peer = new SedimentYieldValue(sedimentYield, station, value); session.save(peer); } else { peer = values.get(0); } } return peer; } } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :