Mercurial > dive4elements > river
comparison flys-backend/src/main/java/de/intevation/flys/importer/ImportDischargeTableValue.java @ 198:d980e545ccab
Added import code for importing discharge tables.
flys-backend/trunk@1537 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Tue, 22 Mar 2011 12:15:18 +0000 |
parents | |
children | 67fd63e4ef66 |
comparison
equal
deleted
inserted
replaced
197:c0dcc2357106 | 198:d980e545ccab |
---|---|
1 package de.intevation.flys.importer; | |
2 | |
3 import java.math.BigDecimal; | |
4 import java.util.List; | |
5 | |
6 import org.hibernate.Session; | |
7 import org.hibernate.Query; | |
8 | |
9 import de.intevation.flys.model.DischargeTable; | |
10 import de.intevation.flys.model.DischargeTableValue; | |
11 | |
12 | |
13 public class ImportDischargeTableValue | |
14 { | |
15 private Integer id; | |
16 | |
17 private BigDecimal q; | |
18 private BigDecimal w; | |
19 | |
20 private ImportDischargeTable dischargeTable; | |
21 | |
22 private DischargeTableValue peer; | |
23 | |
24 | |
25 public ImportDischargeTableValue() { | |
26 } | |
27 | |
28 | |
29 public ImportDischargeTableValue(BigDecimal q, BigDecimal w) { | |
30 this.dischargeTable = dischargeTable; | |
31 this.q = q; | |
32 this.w = w; | |
33 } | |
34 | |
35 | |
36 public DischargeTableValue getPeer(DischargeTable dischargeTable) { | |
37 if (peer == null) { | |
38 Session session = Importer.sessionHolder.get(); | |
39 | |
40 Query query = session.createQuery( | |
41 "from DischargeTableValue where " + | |
42 "dischargeTable.id=:tableId and q=:q and w=:w"); | |
43 query.setParameter("tableId", dischargeTable.getId()); | |
44 query.setParameter("q", q); | |
45 query.setParameter("w", w); | |
46 | |
47 List<DischargeTableValue> dischargeTableValues = query.list(); | |
48 if (dischargeTableValues.isEmpty()) { | |
49 peer = new DischargeTableValue(dischargeTable, q, w); | |
50 session.save(peer); | |
51 } | |
52 else { | |
53 peer = dischargeTableValues.get(0); | |
54 } | |
55 } | |
56 | |
57 return peer; | |
58 } | |
59 } |