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);

http://dive4elements.wald.intevation.org