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 }

http://dive4elements.wald.intevation.org