Mercurial > dive4elements > river
comparison flys-backend/src/main/java/de/intevation/flys/importer/ImportSedimentYieldValue.java @ 2838:75446c47ef77
Added new importer classes for importing sediment yield data.
flys-backend/trunk@4271 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Thu, 19 Apr 2012 07:15:25 +0000 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
2837:8b910e3277b0 | 2838:75446c47ef77 |
---|---|
1 package de.intevation.flys.importer; | |
2 | |
3 import java.util.List; | |
4 | |
5 import org.hibernate.Session; | |
6 import org.hibernate.Query; | |
7 | |
8 import de.intevation.flys.model.SedimentYield; | |
9 import de.intevation.flys.model.SedimentYieldValue; | |
10 | |
11 | |
12 public class ImportSedimentYieldValue { | |
13 | |
14 private Double station; | |
15 private Double value; | |
16 | |
17 private SedimentYieldValue peer; | |
18 | |
19 | |
20 public ImportSedimentYieldValue(Double station, Double value) { | |
21 this.station = station; | |
22 this.value = value; | |
23 } | |
24 | |
25 | |
26 public void storeDependencies(SedimentYield sedimentYield) { | |
27 getPeer(sedimentYield); | |
28 } | |
29 | |
30 | |
31 public SedimentYieldValue getPeer(SedimentYield sedimentYield) { | |
32 if (peer == null) { | |
33 Session session = ImporterSession.getInstance().getDatabaseSession(); | |
34 Query query = session.createQuery( | |
35 "from SedimentYieldValue where " + | |
36 " sedimentYield=:sedimentYield and " + | |
37 " station=:station and " + | |
38 " value=:value" | |
39 ); | |
40 | |
41 query.setParameter("sedimentYield", sedimentYield); | |
42 query.setParameter("station", station); | |
43 query.setParameter("value", value); | |
44 | |
45 List<SedimentYieldValue> values = query.list(); | |
46 if (values.isEmpty()) { | |
47 peer = new SedimentYieldValue(sedimentYield, station, value); | |
48 session.save(peer); | |
49 } | |
50 else { | |
51 peer = values.get(0); | |
52 } | |
53 } | |
54 | |
55 return peer; | |
56 } | |
57 } | |
58 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |