comparison flys-backend/src/main/java/de/intevation/flys/importer/ImportGauge.java @ 493:b35c5dc0f8b7

Importer: Make import of historical discharge tables work. flys-backend/trunk@1842 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Fri, 06 May 2011 10:27:32 +0000
parents 14de9246b356
children 67fd63e4ef66
comparison
equal deleted inserted replaced
492:14de9246b356 493:b35c5dc0f8b7
1 package de.intevation.flys.importer; 1 package de.intevation.flys.importer;
2 2
3 import java.io.File; 3 import java.io.File;
4 4
5 import java.util.ArrayList;
5 import java.util.List; 6 import java.util.List;
6 7
7 import java.math.BigDecimal; 8 import java.math.BigDecimal;
8 9
9 import de.intevation.flys.model.River; 10 import de.intevation.flys.model.River;
40 protected ImportDischargeTable dischargeTable; 41 protected ImportDischargeTable dischargeTable;
41 42
42 protected List<ImportMainValueType> mainValueTypes; 43 protected List<ImportMainValueType> mainValueTypes;
43 protected List<ImportNamedMainValue> namedMainValues; 44 protected List<ImportNamedMainValue> namedMainValues;
44 protected List<ImportMainValue> mainValues; 45 protected List<ImportMainValue> mainValues;
46 protected List<ImportDischargeTable> historicalDischargeTables;
45 47
46 public ImportGauge() { 48 public ImportGauge() {
49 historicalDischargeTables = new ArrayList<ImportDischargeTable>();
47 } 50 }
48 51
49 public ImportGauge(ImportRange range, File staFile, File atFile) { 52 public ImportGauge(ImportRange range, File staFile, File atFile) {
53 this();
50 this.range = range; 54 this.range = range;
51 this.staFile = staFile; 55 this.staFile = staFile;
52 this.atFile = atFile; 56 this.atFile = atFile;
53 } 57 }
54 58
182 continue; 186 continue;
183 } 187 }
184 log.info("found at file '" + file.getName() + "'"); 188 log.info("found at file '" + file.getName() + "'");
185 189
186 AtFileParser afp = new AtFileParser(); 190 AtFileParser afp = new AtFileParser();
187 ImportDischargeTable dct = afp.parse(file, 1); 191 historicalDischargeTables.add(
192 afp.parse(file, HISTORICAL_DISCHARGE_TABLES + "/", 1));
188 } 193 }
189 } 194 }
190 195
191 public void storeDependencies(River river) { 196 public void storeDependencies(River river) {
192 197
203 for (ImportMainValue mainValue: mainValues) { 208 for (ImportMainValue mainValue: mainValues) {
204 mainValue.getPeer(river); 209 mainValue.getPeer(river);
205 } 210 }
206 211
207 storeDischargeTable(gauge); 212 storeDischargeTable(gauge);
208 } 213 storeHistoricalDischargeTable(gauge);
209 214 }
210 215
211 public void storeDischargeTable(Gauge gauge) { 216 public void storeDischargeTable(Gauge gauge) {
212 dischargeTable.getPeer(gauge); 217 dischargeTable.getPeer(gauge);
213 dischargeTable.storeDependencies(gauge); 218 dischargeTable.storeDependencies(gauge);
219 }
220
221 public void storeHistoricalDischargeTable(Gauge gauge) {
222 for (ImportDischargeTable hdt: historicalDischargeTables) {
223 hdt.storeDependencies(gauge);
224 }
214 } 225 }
215 226
216 public Gauge getPeer(River river) { 227 public Gauge getPeer(River river) {
217 if (peer == null) { 228 if (peer == null) {
218 Session session = Importer.sessionHolder.get(); 229 Session session = Importer.sessionHolder.get();

http://dive4elements.wald.intevation.org