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 :

http://dive4elements.wald.intevation.org