Mercurial > dive4elements > river
annotate flys-backend/src/main/java/de/intevation/flys/importer/ImportGauge.java @ 4198:1cdbd8a0c994
Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
The new tables define listener interfaces (clicked lower or upper icon) to listen to user clicks.
In addition to this, there is an enum ClickMode with NONE, SINGLE and RANGE options, which allows to
specifiy, which icons are displayed in the tables. NONE means no icon for user clicks, SINGLE has 1
icon, RANGE 2 icons for lower and upper.
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Mon, 22 Oct 2012 13:31:25 +0200 |
parents | ac93f397018d |
children | 11bcace6f2fe |
rev | line source |
---|---|
184
4ab2c3bd474c
Added parsing of PEGEL.GLT files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
1 package de.intevation.flys.importer; |
4ab2c3bd474c
Added parsing of PEGEL.GLT files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
2 |
4ab2c3bd474c
Added parsing of PEGEL.GLT files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
3 import java.io.File; |
4ab2c3bd474c
Added parsing of PEGEL.GLT files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
4 |
493
b35c5dc0f8b7
Importer: Make import of historical discharge tables work.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
492
diff
changeset
|
5 import java.util.ArrayList; |
192
f1fce41347ea
Added missing ImportGauge.getPeer() method
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
191
diff
changeset
|
6 import java.util.List; |
f1fce41347ea
Added missing ImportGauge.getPeer() method
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
191
diff
changeset
|
7 |
189
bc3747a371cc
First part of parsing main values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
185
diff
changeset
|
8 import java.math.BigDecimal; |
bc3747a371cc
First part of parsing main values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
185
diff
changeset
|
9 |
1234
c5c48f52dc7b
Removed FileTools that has been moved to artifacts-common module.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1211
diff
changeset
|
10 import de.intevation.artifacts.common.utils.FileTools; |
c5c48f52dc7b
Removed FileTools that has been moved to artifacts-common module.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1211
diff
changeset
|
11 |
189
bc3747a371cc
First part of parsing main values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
185
diff
changeset
|
12 import de.intevation.flys.model.River; |
bc3747a371cc
First part of parsing main values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
185
diff
changeset
|
13 import de.intevation.flys.model.Gauge; |
bc3747a371cc
First part of parsing main values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
185
diff
changeset
|
14 |
192
f1fce41347ea
Added missing ImportGauge.getPeer() method
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
191
diff
changeset
|
15 import org.hibernate.Session; |
f1fce41347ea
Added missing ImportGauge.getPeer() method
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
191
diff
changeset
|
16 import org.hibernate.Query; |
f1fce41347ea
Added missing ImportGauge.getPeer() method
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
191
diff
changeset
|
17 |
189
bc3747a371cc
First part of parsing main values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
185
diff
changeset
|
18 import java.io.IOException; |
bc3747a371cc
First part of parsing main values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
185
diff
changeset
|
19 |
492
14de9246b356
Importer: parse historical discharge tables, too. TODO: store them in database.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
464
diff
changeset
|
20 import org.apache.log4j.Logger; |
14de9246b356
Importer: parse historical discharge tables, too. TODO: store them in database.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
464
diff
changeset
|
21 |
1211
f08fe480092c
Moved file parsers to separate package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
499
diff
changeset
|
22 import de.intevation.flys.importer.parsers.AtFileParser; |
f08fe480092c
Moved file parsers to separate package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
499
diff
changeset
|
23 import de.intevation.flys.importer.parsers.StaFileParser; |
f08fe480092c
Moved file parsers to separate package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
499
diff
changeset
|
24 |
184
4ab2c3bd474c
Added parsing of PEGEL.GLT files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
25 public class ImportGauge |
4ab2c3bd474c
Added parsing of PEGEL.GLT files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
26 { |
492
14de9246b356
Importer: parse historical discharge tables, too. TODO: store them in database.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
464
diff
changeset
|
27 private static Logger log = Logger.getLogger(ImportGauge.class); |
14de9246b356
Importer: parse historical discharge tables, too. TODO: store them in database.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
464
diff
changeset
|
28 |
14de9246b356
Importer: parse historical discharge tables, too. TODO: store them in database.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
464
diff
changeset
|
29 public static final String HISTORICAL_DISCHARGE_TABLES = |
14de9246b356
Importer: parse historical discharge tables, too. TODO: store them in database.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
464
diff
changeset
|
30 "Histor.Abflusstafeln"; |
14de9246b356
Importer: parse historical discharge tables, too. TODO: store them in database.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
464
diff
changeset
|
31 |
185
a60edcfe5f53
Added new helper models for import.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
184
diff
changeset
|
32 protected ImportRange range; |
184
4ab2c3bd474c
Added parsing of PEGEL.GLT files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
33 |
189
bc3747a371cc
First part of parsing main values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
185
diff
changeset
|
34 protected File staFile; |
bc3747a371cc
First part of parsing main values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
185
diff
changeset
|
35 protected File atFile; |
bc3747a371cc
First part of parsing main values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
185
diff
changeset
|
36 |
bc3747a371cc
First part of parsing main values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
185
diff
changeset
|
37 protected String name; |
bc3747a371cc
First part of parsing main values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
185
diff
changeset
|
38 protected BigDecimal aeo; |
bc3747a371cc
First part of parsing main values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
185
diff
changeset
|
39 protected BigDecimal datum; |
192
f1fce41347ea
Added missing ImportGauge.getPeer() method
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
191
diff
changeset
|
40 protected BigDecimal station; |
2371
fe89d6cf55fb
Added support for official gauge numbers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
1234
diff
changeset
|
41 protected Long officialNumber; |
189
bc3747a371cc
First part of parsing main values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
185
diff
changeset
|
42 |
bc3747a371cc
First part of parsing main values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
185
diff
changeset
|
43 protected Gauge peer; |
184
4ab2c3bd474c
Added parsing of PEGEL.GLT files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
44 |
198
d980e545ccab
Added import code for importing discharge tables.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
195
diff
changeset
|
45 protected ImportDischargeTable dischargeTable; |
d980e545ccab
Added import code for importing discharge tables.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
195
diff
changeset
|
46 |
195
8d3533a03e10
Second part of parsing/storing main values. Should be finished now.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
193
diff
changeset
|
47 protected List<ImportMainValueType> mainValueTypes; |
8d3533a03e10
Second part of parsing/storing main values. Should be finished now.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
193
diff
changeset
|
48 protected List<ImportNamedMainValue> namedMainValues; |
8d3533a03e10
Second part of parsing/storing main values. Should be finished now.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
193
diff
changeset
|
49 protected List<ImportMainValue> mainValues; |
493
b35c5dc0f8b7
Importer: Make import of historical discharge tables work.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
492
diff
changeset
|
50 protected List<ImportDischargeTable> historicalDischargeTables; |
195
8d3533a03e10
Second part of parsing/storing main values. Should be finished now.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
193
diff
changeset
|
51 |
184
4ab2c3bd474c
Added parsing of PEGEL.GLT files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
52 public ImportGauge() { |
493
b35c5dc0f8b7
Importer: Make import of historical discharge tables work.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
492
diff
changeset
|
53 historicalDischargeTables = new ArrayList<ImportDischargeTable>(); |
184
4ab2c3bd474c
Added parsing of PEGEL.GLT files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
54 } |
4ab2c3bd474c
Added parsing of PEGEL.GLT files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
55 |
185
a60edcfe5f53
Added new helper models for import.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
184
diff
changeset
|
56 public ImportGauge(ImportRange range, File staFile, File atFile) { |
493
b35c5dc0f8b7
Importer: Make import of historical discharge tables work.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
492
diff
changeset
|
57 this(); |
185
a60edcfe5f53
Added new helper models for import.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
184
diff
changeset
|
58 this.range = range; |
184
4ab2c3bd474c
Added parsing of PEGEL.GLT files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
59 this.staFile = staFile; |
4ab2c3bd474c
Added parsing of PEGEL.GLT files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
60 this.atFile = atFile; |
4ab2c3bd474c
Added parsing of PEGEL.GLT files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
61 } |
4ab2c3bd474c
Added parsing of PEGEL.GLT files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
62 |
185
a60edcfe5f53
Added new helper models for import.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
184
diff
changeset
|
63 public void setRange(ImportRange range) { |
a60edcfe5f53
Added new helper models for import.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
184
diff
changeset
|
64 this.range = range; |
184
4ab2c3bd474c
Added parsing of PEGEL.GLT files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
65 } |
4ab2c3bd474c
Added parsing of PEGEL.GLT files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
66 |
4ab2c3bd474c
Added parsing of PEGEL.GLT files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
67 public void setStaFile(File staFile) { |
4ab2c3bd474c
Added parsing of PEGEL.GLT files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
68 this.staFile = staFile; |
4ab2c3bd474c
Added parsing of PEGEL.GLT files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
69 } |
4ab2c3bd474c
Added parsing of PEGEL.GLT files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
70 |
4ab2c3bd474c
Added parsing of PEGEL.GLT files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
71 public File getStaFile() { |
4ab2c3bd474c
Added parsing of PEGEL.GLT files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
72 return staFile; |
4ab2c3bd474c
Added parsing of PEGEL.GLT files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
73 } |
4ab2c3bd474c
Added parsing of PEGEL.GLT files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
74 |
4ab2c3bd474c
Added parsing of PEGEL.GLT files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
75 public void setAtFile(File atFile) { |
4ab2c3bd474c
Added parsing of PEGEL.GLT files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
76 this.atFile = atFile; |
4ab2c3bd474c
Added parsing of PEGEL.GLT files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
77 } |
4ab2c3bd474c
Added parsing of PEGEL.GLT files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
78 |
4ab2c3bd474c
Added parsing of PEGEL.GLT files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
79 public File getAtFile() { |
4ab2c3bd474c
Added parsing of PEGEL.GLT files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
80 return atFile; |
4ab2c3bd474c
Added parsing of PEGEL.GLT files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
81 } |
189
bc3747a371cc
First part of parsing main values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
185
diff
changeset
|
82 |
bc3747a371cc
First part of parsing main values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
185
diff
changeset
|
83 public BigDecimal getAeo() { |
bc3747a371cc
First part of parsing main values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
185
diff
changeset
|
84 return aeo; |
bc3747a371cc
First part of parsing main values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
185
diff
changeset
|
85 } |
bc3747a371cc
First part of parsing main values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
185
diff
changeset
|
86 |
bc3747a371cc
First part of parsing main values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
185
diff
changeset
|
87 public void setAeo(BigDecimal aeo) { |
bc3747a371cc
First part of parsing main values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
185
diff
changeset
|
88 this.aeo = aeo; |
bc3747a371cc
First part of parsing main values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
185
diff
changeset
|
89 } |
bc3747a371cc
First part of parsing main values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
185
diff
changeset
|
90 |
bc3747a371cc
First part of parsing main values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
185
diff
changeset
|
91 public String getName() { |
bc3747a371cc
First part of parsing main values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
185
diff
changeset
|
92 return name; |
bc3747a371cc
First part of parsing main values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
185
diff
changeset
|
93 } |
bc3747a371cc
First part of parsing main values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
185
diff
changeset
|
94 |
bc3747a371cc
First part of parsing main values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
185
diff
changeset
|
95 public void setName(String name) { |
bc3747a371cc
First part of parsing main values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
185
diff
changeset
|
96 this.name = name; |
bc3747a371cc
First part of parsing main values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
185
diff
changeset
|
97 } |
bc3747a371cc
First part of parsing main values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
185
diff
changeset
|
98 |
bc3747a371cc
First part of parsing main values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
185
diff
changeset
|
99 public BigDecimal getDatum() { |
bc3747a371cc
First part of parsing main values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
185
diff
changeset
|
100 return datum; |
bc3747a371cc
First part of parsing main values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
185
diff
changeset
|
101 } |
bc3747a371cc
First part of parsing main values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
185
diff
changeset
|
102 |
bc3747a371cc
First part of parsing main values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
185
diff
changeset
|
103 public void setDatum(BigDecimal datum) { |
bc3747a371cc
First part of parsing main values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
185
diff
changeset
|
104 this.datum = datum; |
bc3747a371cc
First part of parsing main values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
185
diff
changeset
|
105 } |
bc3747a371cc
First part of parsing main values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
185
diff
changeset
|
106 |
192
f1fce41347ea
Added missing ImportGauge.getPeer() method
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
191
diff
changeset
|
107 public BigDecimal getStation() { |
f1fce41347ea
Added missing ImportGauge.getPeer() method
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
191
diff
changeset
|
108 return station; |
f1fce41347ea
Added missing ImportGauge.getPeer() method
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
191
diff
changeset
|
109 } |
f1fce41347ea
Added missing ImportGauge.getPeer() method
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
191
diff
changeset
|
110 |
f1fce41347ea
Added missing ImportGauge.getPeer() method
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
191
diff
changeset
|
111 public void setStation(BigDecimal station) { |
f1fce41347ea
Added missing ImportGauge.getPeer() method
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
191
diff
changeset
|
112 this.station = station; |
f1fce41347ea
Added missing ImportGauge.getPeer() method
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
191
diff
changeset
|
113 } |
f1fce41347ea
Added missing ImportGauge.getPeer() method
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
191
diff
changeset
|
114 |
2371
fe89d6cf55fb
Added support for official gauge numbers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
1234
diff
changeset
|
115 public Long getOfficialNumber() { |
fe89d6cf55fb
Added support for official gauge numbers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
1234
diff
changeset
|
116 return officialNumber; |
fe89d6cf55fb
Added support for official gauge numbers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
1234
diff
changeset
|
117 } |
fe89d6cf55fb
Added support for official gauge numbers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
1234
diff
changeset
|
118 |
fe89d6cf55fb
Added support for official gauge numbers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
1234
diff
changeset
|
119 public void setOfficialNumber(Long officialNumber) { |
fe89d6cf55fb
Added support for official gauge numbers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
1234
diff
changeset
|
120 this.officialNumber = officialNumber; |
fe89d6cf55fb
Added support for official gauge numbers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
1234
diff
changeset
|
121 } |
fe89d6cf55fb
Added support for official gauge numbers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
1234
diff
changeset
|
122 |
198
d980e545ccab
Added import code for importing discharge tables.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
195
diff
changeset
|
123 public ImportDischargeTable getDischargeTable() { |
d980e545ccab
Added import code for importing discharge tables.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
195
diff
changeset
|
124 return dischargeTable; |
d980e545ccab
Added import code for importing discharge tables.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
195
diff
changeset
|
125 } |
d980e545ccab
Added import code for importing discharge tables.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
195
diff
changeset
|
126 |
d980e545ccab
Added import code for importing discharge tables.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
195
diff
changeset
|
127 public void setDischargeTable(ImportDischargeTable dischargeTable) { |
d980e545ccab
Added import code for importing discharge tables.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
195
diff
changeset
|
128 this.dischargeTable = dischargeTable; |
d980e545ccab
Added import code for importing discharge tables.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
195
diff
changeset
|
129 } |
d980e545ccab
Added import code for importing discharge tables.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
195
diff
changeset
|
130 |
195
8d3533a03e10
Second part of parsing/storing main values. Should be finished now.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
193
diff
changeset
|
131 public List<ImportMainValueType> getMainValueTypes() { |
8d3533a03e10
Second part of parsing/storing main values. Should be finished now.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
193
diff
changeset
|
132 return mainValueTypes; |
8d3533a03e10
Second part of parsing/storing main values. Should be finished now.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
193
diff
changeset
|
133 } |
8d3533a03e10
Second part of parsing/storing main values. Should be finished now.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
193
diff
changeset
|
134 |
8d3533a03e10
Second part of parsing/storing main values. Should be finished now.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
193
diff
changeset
|
135 public void setMainValueTypes(List<ImportMainValueType> mainValueTypes) { |
8d3533a03e10
Second part of parsing/storing main values. Should be finished now.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
193
diff
changeset
|
136 this.mainValueTypes = mainValueTypes; |
8d3533a03e10
Second part of parsing/storing main values. Should be finished now.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
193
diff
changeset
|
137 } |
8d3533a03e10
Second part of parsing/storing main values. Should be finished now.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
193
diff
changeset
|
138 |
8d3533a03e10
Second part of parsing/storing main values. Should be finished now.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
193
diff
changeset
|
139 public List<ImportNamedMainValue> getNamedMainValues() { |
8d3533a03e10
Second part of parsing/storing main values. Should be finished now.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
193
diff
changeset
|
140 return namedMainValues; |
8d3533a03e10
Second part of parsing/storing main values. Should be finished now.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
193
diff
changeset
|
141 } |
8d3533a03e10
Second part of parsing/storing main values. Should be finished now.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
193
diff
changeset
|
142 |
8d3533a03e10
Second part of parsing/storing main values. Should be finished now.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
193
diff
changeset
|
143 public void setNamedMainValues(List<ImportNamedMainValue> namedMainValues) { |
8d3533a03e10
Second part of parsing/storing main values. Should be finished now.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
193
diff
changeset
|
144 this.namedMainValues = namedMainValues; |
8d3533a03e10
Second part of parsing/storing main values. Should be finished now.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
193
diff
changeset
|
145 } |
8d3533a03e10
Second part of parsing/storing main values. Should be finished now.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
193
diff
changeset
|
146 |
8d3533a03e10
Second part of parsing/storing main values. Should be finished now.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
193
diff
changeset
|
147 public List<ImportMainValue> getMainValues() { |
8d3533a03e10
Second part of parsing/storing main values. Should be finished now.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
193
diff
changeset
|
148 return mainValues; |
8d3533a03e10
Second part of parsing/storing main values. Should be finished now.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
193
diff
changeset
|
149 } |
8d3533a03e10
Second part of parsing/storing main values. Should be finished now.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
193
diff
changeset
|
150 |
8d3533a03e10
Second part of parsing/storing main values. Should be finished now.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
193
diff
changeset
|
151 public void setMainValues(List<ImportMainValue> mainValues) { |
8d3533a03e10
Second part of parsing/storing main values. Should be finished now.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
193
diff
changeset
|
152 this.mainValues = mainValues; |
8d3533a03e10
Second part of parsing/storing main values. Should be finished now.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
193
diff
changeset
|
153 } |
8d3533a03e10
Second part of parsing/storing main values. Should be finished now.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
193
diff
changeset
|
154 |
189
bc3747a371cc
First part of parsing main values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
185
diff
changeset
|
155 public void parseDependencies() throws IOException { |
bc3747a371cc
First part of parsing main values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
185
diff
changeset
|
156 StaFileParser sfp = new StaFileParser(); |
bc3747a371cc
First part of parsing main values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
185
diff
changeset
|
157 sfp.parse(this); |
198
d980e545ccab
Added import code for importing discharge tables.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
195
diff
changeset
|
158 |
d980e545ccab
Added import code for importing discharge tables.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
195
diff
changeset
|
159 AtFileParser afp = new AtFileParser(); |
492
14de9246b356
Importer: parse historical discharge tables, too. TODO: store them in database.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
464
diff
changeset
|
160 setDischargeTable(afp.parse(getAtFile())); |
14de9246b356
Importer: parse historical discharge tables, too. TODO: store them in database.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
464
diff
changeset
|
161 parseHistoricalDischargeTables(); |
14de9246b356
Importer: parse historical discharge tables, too. TODO: store them in database.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
464
diff
changeset
|
162 } |
14de9246b356
Importer: parse historical discharge tables, too. TODO: store them in database.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
464
diff
changeset
|
163 |
14de9246b356
Importer: parse historical discharge tables, too. TODO: store them in database.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
464
diff
changeset
|
164 public void parseHistoricalDischargeTables() throws IOException { |
4135
ac93f397018d
Importer: Ignore historical discharge tables.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
2371
diff
changeset
|
165 if (Config.INSTANCE.skipHistoricalDischargeTables()) { |
ac93f397018d
Importer: Ignore historical discharge tables.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
2371
diff
changeset
|
166 log.info("skip historical discharge tables"); |
ac93f397018d
Importer: Ignore historical discharge tables.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
2371
diff
changeset
|
167 return; |
ac93f397018d
Importer: Ignore historical discharge tables.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
2371
diff
changeset
|
168 } |
ac93f397018d
Importer: Ignore historical discharge tables.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
2371
diff
changeset
|
169 |
492
14de9246b356
Importer: parse historical discharge tables, too. TODO: store them in database.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
464
diff
changeset
|
170 log.info("parse historical discharge tables"); |
14de9246b356
Importer: parse historical discharge tables, too. TODO: store them in database.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
464
diff
changeset
|
171 |
14de9246b356
Importer: parse historical discharge tables, too. TODO: store them in database.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
464
diff
changeset
|
172 File riverDir = atFile.getParentFile().getParentFile(); |
14de9246b356
Importer: parse historical discharge tables, too. TODO: store them in database.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
464
diff
changeset
|
173 |
14de9246b356
Importer: parse historical discharge tables, too. TODO: store them in database.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
464
diff
changeset
|
174 File histDischargeDir = FileTools.repair( |
14de9246b356
Importer: parse historical discharge tables, too. TODO: store them in database.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
464
diff
changeset
|
175 new File(riverDir, HISTORICAL_DISCHARGE_TABLES)); |
14de9246b356
Importer: parse historical discharge tables, too. TODO: store them in database.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
464
diff
changeset
|
176 |
14de9246b356
Importer: parse historical discharge tables, too. TODO: store them in database.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
464
diff
changeset
|
177 if (!histDischargeDir.isDirectory() || !histDischargeDir.canRead()) { |
14de9246b356
Importer: parse historical discharge tables, too. TODO: store them in database.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
464
diff
changeset
|
178 log.info("cannot find '" + histDischargeDir + "'"); |
14de9246b356
Importer: parse historical discharge tables, too. TODO: store them in database.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
464
diff
changeset
|
179 return; |
14de9246b356
Importer: parse historical discharge tables, too. TODO: store them in database.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
464
diff
changeset
|
180 } |
14de9246b356
Importer: parse historical discharge tables, too. TODO: store them in database.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
464
diff
changeset
|
181 |
14de9246b356
Importer: parse historical discharge tables, too. TODO: store them in database.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
464
diff
changeset
|
182 histDischargeDir = FileTools.repair( |
14de9246b356
Importer: parse historical discharge tables, too. TODO: store them in database.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
464
diff
changeset
|
183 new File(histDischargeDir, getName())); |
14de9246b356
Importer: parse historical discharge tables, too. TODO: store them in database.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
464
diff
changeset
|
184 |
14de9246b356
Importer: parse historical discharge tables, too. TODO: store them in database.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
464
diff
changeset
|
185 if (!histDischargeDir.isDirectory() || !histDischargeDir.canRead()) { |
14de9246b356
Importer: parse historical discharge tables, too. TODO: store them in database.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
464
diff
changeset
|
186 log.info("cannot find '" + histDischargeDir + "'"); |
14de9246b356
Importer: parse historical discharge tables, too. TODO: store them in database.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
464
diff
changeset
|
187 return; |
14de9246b356
Importer: parse historical discharge tables, too. TODO: store them in database.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
464
diff
changeset
|
188 } |
14de9246b356
Importer: parse historical discharge tables, too. TODO: store them in database.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
464
diff
changeset
|
189 |
14de9246b356
Importer: parse historical discharge tables, too. TODO: store them in database.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
464
diff
changeset
|
190 File [] files = histDischargeDir.listFiles(); |
14de9246b356
Importer: parse historical discharge tables, too. TODO: store them in database.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
464
diff
changeset
|
191 |
14de9246b356
Importer: parse historical discharge tables, too. TODO: store them in database.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
464
diff
changeset
|
192 if (files == null) { |
14de9246b356
Importer: parse historical discharge tables, too. TODO: store them in database.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
464
diff
changeset
|
193 log.info("cannot read directory '" + histDischargeDir + "'"); |
14de9246b356
Importer: parse historical discharge tables, too. TODO: store them in database.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
464
diff
changeset
|
194 return; |
14de9246b356
Importer: parse historical discharge tables, too. TODO: store them in database.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
464
diff
changeset
|
195 } |
14de9246b356
Importer: parse historical discharge tables, too. TODO: store them in database.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
464
diff
changeset
|
196 |
14de9246b356
Importer: parse historical discharge tables, too. TODO: store them in database.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
464
diff
changeset
|
197 for (File file: files) { |
14de9246b356
Importer: parse historical discharge tables, too. TODO: store them in database.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
464
diff
changeset
|
198 if (!file.isFile() || !file.canRead()) { |
14de9246b356
Importer: parse historical discharge tables, too. TODO: store them in database.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
464
diff
changeset
|
199 continue; |
14de9246b356
Importer: parse historical discharge tables, too. TODO: store them in database.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
464
diff
changeset
|
200 } |
14de9246b356
Importer: parse historical discharge tables, too. TODO: store them in database.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
464
diff
changeset
|
201 String name = file.getName().toLowerCase(); |
14de9246b356
Importer: parse historical discharge tables, too. TODO: store them in database.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
464
diff
changeset
|
202 if (!name.endsWith(".at")) { |
14de9246b356
Importer: parse historical discharge tables, too. TODO: store them in database.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
464
diff
changeset
|
203 continue; |
14de9246b356
Importer: parse historical discharge tables, too. TODO: store them in database.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
464
diff
changeset
|
204 } |
14de9246b356
Importer: parse historical discharge tables, too. TODO: store them in database.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
464
diff
changeset
|
205 log.info("found at file '" + file.getName() + "'"); |
14de9246b356
Importer: parse historical discharge tables, too. TODO: store them in database.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
464
diff
changeset
|
206 |
14de9246b356
Importer: parse historical discharge tables, too. TODO: store them in database.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
464
diff
changeset
|
207 AtFileParser afp = new AtFileParser(); |
493
b35c5dc0f8b7
Importer: Make import of historical discharge tables work.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
492
diff
changeset
|
208 historicalDischargeTables.add( |
b35c5dc0f8b7
Importer: Make import of historical discharge tables work.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
492
diff
changeset
|
209 afp.parse(file, HISTORICAL_DISCHARGE_TABLES + "/", 1)); |
492
14de9246b356
Importer: parse historical discharge tables, too. TODO: store them in database.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
464
diff
changeset
|
210 } |
189
bc3747a371cc
First part of parsing main values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
185
diff
changeset
|
211 } |
bc3747a371cc
First part of parsing main values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
185
diff
changeset
|
212 |
191
c4fb5141ce11
Propagate river into storing of gauges.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
189
diff
changeset
|
213 public void storeDependencies(River river) { |
195
8d3533a03e10
Second part of parsing/storing main values. Should be finished now.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
193
diff
changeset
|
214 |
192
f1fce41347ea
Added missing ImportGauge.getPeer() method
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
191
diff
changeset
|
215 Gauge gauge = getPeer(river); |
195
8d3533a03e10
Second part of parsing/storing main values. Should be finished now.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
193
diff
changeset
|
216 |
499
cce054f27dac
Importer: Only accept main value types 'Q', 'W', 'D' and 'T' by default.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
497
diff
changeset
|
217 log.info("store main value types"); |
195
8d3533a03e10
Second part of parsing/storing main values. Should be finished now.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
193
diff
changeset
|
218 for (ImportMainValueType mainValueType: mainValueTypes) { |
8d3533a03e10
Second part of parsing/storing main values. Should be finished now.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
193
diff
changeset
|
219 mainValueType.getPeer(); |
8d3533a03e10
Second part of parsing/storing main values. Should be finished now.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
193
diff
changeset
|
220 } |
8d3533a03e10
Second part of parsing/storing main values. Should be finished now.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
193
diff
changeset
|
221 |
499
cce054f27dac
Importer: Only accept main value types 'Q', 'W', 'D' and 'T' by default.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
497
diff
changeset
|
222 log.info("store named main values"); |
195
8d3533a03e10
Second part of parsing/storing main values. Should be finished now.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
193
diff
changeset
|
223 for (ImportNamedMainValue namedMainValue: namedMainValues) { |
8d3533a03e10
Second part of parsing/storing main values. Should be finished now.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
193
diff
changeset
|
224 namedMainValue.getPeer(); |
8d3533a03e10
Second part of parsing/storing main values. Should be finished now.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
193
diff
changeset
|
225 } |
8d3533a03e10
Second part of parsing/storing main values. Should be finished now.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
193
diff
changeset
|
226 |
499
cce054f27dac
Importer: Only accept main value types 'Q', 'W', 'D' and 'T' by default.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
497
diff
changeset
|
227 log.info("store main values"); |
195
8d3533a03e10
Second part of parsing/storing main values. Should be finished now.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
193
diff
changeset
|
228 for (ImportMainValue mainValue: mainValues) { |
8d3533a03e10
Second part of parsing/storing main values. Should be finished now.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
193
diff
changeset
|
229 mainValue.getPeer(river); |
8d3533a03e10
Second part of parsing/storing main values. Should be finished now.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
193
diff
changeset
|
230 } |
8d3533a03e10
Second part of parsing/storing main values. Should be finished now.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
193
diff
changeset
|
231 |
198
d980e545ccab
Added import code for importing discharge tables.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
195
diff
changeset
|
232 storeDischargeTable(gauge); |
493
b35c5dc0f8b7
Importer: Make import of historical discharge tables work.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
492
diff
changeset
|
233 storeHistoricalDischargeTable(gauge); |
198
d980e545ccab
Added import code for importing discharge tables.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
195
diff
changeset
|
234 } |
d980e545ccab
Added import code for importing discharge tables.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
195
diff
changeset
|
235 |
d980e545ccab
Added import code for importing discharge tables.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
195
diff
changeset
|
236 public void storeDischargeTable(Gauge gauge) { |
499
cce054f27dac
Importer: Only accept main value types 'Q', 'W', 'D' and 'T' by default.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
497
diff
changeset
|
237 log.info("store discharge table"); |
198
d980e545ccab
Added import code for importing discharge tables.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
195
diff
changeset
|
238 dischargeTable.getPeer(gauge); |
d980e545ccab
Added import code for importing discharge tables.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
195
diff
changeset
|
239 dischargeTable.storeDependencies(gauge); |
191
c4fb5141ce11
Propagate river into storing of gauges.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
189
diff
changeset
|
240 } |
c4fb5141ce11
Propagate river into storing of gauges.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
189
diff
changeset
|
241 |
493
b35c5dc0f8b7
Importer: Make import of historical discharge tables work.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
492
diff
changeset
|
242 public void storeHistoricalDischargeTable(Gauge gauge) { |
499
cce054f27dac
Importer: Only accept main value types 'Q', 'W', 'D' and 'T' by default.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
497
diff
changeset
|
243 log.info("store historical discharge tables"); |
493
b35c5dc0f8b7
Importer: Make import of historical discharge tables work.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
492
diff
changeset
|
244 for (ImportDischargeTable hdt: historicalDischargeTables) { |
b35c5dc0f8b7
Importer: Make import of historical discharge tables work.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
492
diff
changeset
|
245 hdt.storeDependencies(gauge); |
b35c5dc0f8b7
Importer: Make import of historical discharge tables work.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
492
diff
changeset
|
246 } |
b35c5dc0f8b7
Importer: Make import of historical discharge tables work.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
492
diff
changeset
|
247 } |
b35c5dc0f8b7
Importer: Make import of historical discharge tables work.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
492
diff
changeset
|
248 |
189
bc3747a371cc
First part of parsing main values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
185
diff
changeset
|
249 public Gauge getPeer(River river) { |
bc3747a371cc
First part of parsing main values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
185
diff
changeset
|
250 if (peer == null) { |
497
67fd63e4ef66
Importer: centralized caching
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
493
diff
changeset
|
251 Session session = ImporterSession.getInstance().getDatabaseSession(); |
192
f1fce41347ea
Added missing ImportGauge.getPeer() method
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
191
diff
changeset
|
252 Query query = session.createQuery( |
f1fce41347ea
Added missing ImportGauge.getPeer() method
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
191
diff
changeset
|
253 "from Gauge where name=:name " + |
193
31c48d54f09d
Add forgotten column river_id in Gauges.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
192
diff
changeset
|
254 "and river.id=:river"); |
192
f1fce41347ea
Added missing ImportGauge.getPeer() method
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
191
diff
changeset
|
255 query.setString("name", name); |
193
31c48d54f09d
Add forgotten column river_id in Gauges.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
192
diff
changeset
|
256 query.setParameter("river", river.getId()); |
192
f1fce41347ea
Added missing ImportGauge.getPeer() method
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
191
diff
changeset
|
257 List<Gauge> gauges = query.list(); |
f1fce41347ea
Added missing ImportGauge.getPeer() method
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
191
diff
changeset
|
258 if (gauges.isEmpty()) { |
f1fce41347ea
Added missing ImportGauge.getPeer() method
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
191
diff
changeset
|
259 peer = new Gauge( |
f1fce41347ea
Added missing ImportGauge.getPeer() method
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
191
diff
changeset
|
260 name, river, |
464
d37ccb04ab5d
Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
198
diff
changeset
|
261 station, aeo, datum, |
2371
fe89d6cf55fb
Added support for official gauge numbers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
1234
diff
changeset
|
262 officialNumber, |
192
f1fce41347ea
Added missing ImportGauge.getPeer() method
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
191
diff
changeset
|
263 range.getPeer(river)); |
f1fce41347ea
Added missing ImportGauge.getPeer() method
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
191
diff
changeset
|
264 session.save(peer); |
f1fce41347ea
Added missing ImportGauge.getPeer() method
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
191
diff
changeset
|
265 } |
f1fce41347ea
Added missing ImportGauge.getPeer() method
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
191
diff
changeset
|
266 else { |
f1fce41347ea
Added missing ImportGauge.getPeer() method
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
191
diff
changeset
|
267 peer = gauges.get(0); |
f1fce41347ea
Added missing ImportGauge.getPeer() method
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
191
diff
changeset
|
268 } |
189
bc3747a371cc
First part of parsing main values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
185
diff
changeset
|
269 } |
bc3747a371cc
First part of parsing main values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
185
diff
changeset
|
270 return peer; |
bc3747a371cc
First part of parsing main values.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
185
diff
changeset
|
271 } |
184
4ab2c3bd474c
Added parsing of PEGEL.GLT files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
272 } |
4ab2c3bd474c
Added parsing of PEGEL.GLT files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
273 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |