Mercurial > dive4elements > river
comparison flys-backend/src/main/java/de/intevation/flys/importer/ImportDischargeTable.java @ 486:8ea09ec7f0c8
Importer: Attach a time interval to a discharge table if we find one during import.
flys-backend/trunk@1813 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Tue, 03 May 2011 17:34:52 +0000 |
parents | 70de916d3e3a |
children | 14de9246b356 |
comparison
equal
deleted
inserted
replaced
485:6b231041dc18 | 486:8ea09ec7f0c8 |
---|---|
6 import org.hibernate.Session; | 6 import org.hibernate.Session; |
7 import org.hibernate.Query; | 7 import org.hibernate.Query; |
8 | 8 |
9 import de.intevation.flys.model.DischargeTable; | 9 import de.intevation.flys.model.DischargeTable; |
10 import de.intevation.flys.model.Gauge; | 10 import de.intevation.flys.model.Gauge; |
11 | 11 import de.intevation.flys.model.TimeInterval; |
12 | 12 |
13 public class ImportDischargeTable | 13 public class ImportDischargeTable |
14 { | 14 { |
15 protected DischargeTable peer; | 15 protected DischargeTable peer; |
16 | 16 |
17 protected Integer kind; | 17 protected Integer kind; |
18 | 18 |
19 protected List<ImportDischargeTableValue> dischargeTableValues; | 19 protected List<ImportDischargeTableValue> dischargeTableValues; |
20 | 20 |
21 protected ImportTimeInterval timeInterval; | |
21 | 22 |
22 public ImportDischargeTable() { | 23 public ImportDischargeTable() { |
23 kind = 0; | 24 kind = 0; |
24 dischargeTableValues = new ArrayList<ImportDischargeTableValue>(); | 25 dischargeTableValues = new ArrayList<ImportDischargeTableValue>(); |
25 } | 26 } |
37 | 38 |
38 public List<ImportDischargeTableValue> getDischargeTableValues() { | 39 public List<ImportDischargeTableValue> getDischargeTableValues() { |
39 return dischargeTableValues; | 40 return dischargeTableValues; |
40 } | 41 } |
41 | 42 |
43 public ImportTimeInterval getTimeInterval() { | |
44 return timeInterval; | |
45 } | |
46 | |
47 public void setTimeInterval(ImportTimeInterval timeInterval) { | |
48 this.timeInterval = timeInterval; | |
49 } | |
50 | |
42 | 51 |
43 public DischargeTable getPeer(Gauge gauge) { | 52 public DischargeTable getPeer(Gauge gauge) { |
44 if (peer == null) { | 53 if (peer == null) { |
54 TimeInterval ti = timeInterval != null | |
55 ? timeInterval.getPeer() | |
56 : null; | |
45 Session session = Importer.sessionHolder.get(); | 57 Session session = Importer.sessionHolder.get(); |
46 | 58 |
47 Query query = session.createQuery( | 59 Query query = session.createQuery( |
48 "from DischargeTable where gauge.id=:gauge and kind=:kind"); | 60 "from DischargeTable where " + |
49 query.setParameter("gauge", gauge.getId()); | 61 "gauge.id=:gauge and kind=:kind and timeInterval=:interval"); |
50 query.setParameter("kind", kind); | 62 query.setParameter("gauge", gauge.getId()); |
63 query.setParameter("kind", kind); | |
64 query.setParameter("interval", ti); | |
51 | 65 |
52 List<DischargeTable> dischargeTables = query.list(); | 66 List<DischargeTable> dischargeTables = query.list(); |
53 if (dischargeTables.isEmpty()) { | 67 if (dischargeTables.isEmpty()) { |
54 peer = new DischargeTable(gauge, kind); | 68 peer = new DischargeTable(gauge, kind); |
55 session.save(peer); | 69 session.save(peer); |