Mercurial > dive4elements > river
comparison flys-backend/src/main/java/de/intevation/flys/importer/ImportDischargeTable.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 | c8c09e31cdb8 |
comparison
equal
deleted
inserted
replaced
197:c0dcc2357106 | 198:d980e545ccab |
---|---|
1 package de.intevation.flys.importer; | |
2 | |
3 import java.util.ArrayList; | |
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.Gauge; | |
11 | |
12 | |
13 public class ImportDischargeTable | |
14 { | |
15 protected DischargeTable peer; | |
16 | |
17 protected List<ImportDischargeTableValue> dischargeTableValues; | |
18 | |
19 | |
20 public ImportDischargeTable() { | |
21 dischargeTableValues = new ArrayList<ImportDischargeTableValue>(); | |
22 } | |
23 | |
24 | |
25 public void addDischargeTableValue(ImportDischargeTableValue value) { | |
26 dischargeTableValues.add(value); | |
27 } | |
28 | |
29 | |
30 public void setDischargeTableValues(List<ImportDischargeTableValue> values){ | |
31 this.dischargeTableValues = values; | |
32 } | |
33 | |
34 | |
35 public List<ImportDischargeTableValue> getDischargeTableValues() { | |
36 return dischargeTableValues; | |
37 } | |
38 | |
39 | |
40 public DischargeTable getPeer(Gauge gauge) { | |
41 if (peer == null) { | |
42 Session session = Importer.sessionHolder.get(); | |
43 | |
44 Query query = session.createQuery( | |
45 "from DischargeTable where gauge.id=:gauge"); | |
46 query.setParameter("gauge", gauge.getId()); | |
47 | |
48 List<DischargeTable> dischargeTables = query.list(); | |
49 if (dischargeTables.isEmpty()) { | |
50 peer = new DischargeTable(gauge); | |
51 session.save(peer); | |
52 } | |
53 else { | |
54 peer = dischargeTables.get(0); | |
55 } | |
56 } | |
57 | |
58 return peer; | |
59 } | |
60 | |
61 | |
62 public void storeDependencies(Gauge gauge) { | |
63 storeDischargeTableValues(gauge); | |
64 } | |
65 | |
66 | |
67 public void storeDischargeTableValues(Gauge gauge) { | |
68 DischargeTable dischargeTable = getPeer(gauge); | |
69 | |
70 for (ImportDischargeTableValue value: dischargeTableValues) { | |
71 value.getPeer(dischargeTable); | |
72 } | |
73 } | |
74 } | |
75 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |