Mercurial > dive4elements > river
comparison flys-backend/src/main/java/de/intevation/flys/importer/WstParser.java @ 489:e960098b1398
Importer: Ignore lines that contain km positions which were found before in the same WST file.
flys-backend/trunk@1833 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Thu, 05 May 2011 09:45:13 +0000 |
parents | 73052199f9f6 |
children | 13af9318a4a2 |
comparison
equal
deleted
inserted
replaced
488:b316d2106598 | 489:e960098b1398 |
---|---|
1 package de.intevation.flys.importer; | 1 package de.intevation.flys.importer; |
2 | 2 |
3 import java.util.ArrayList; | 3 import java.util.ArrayList; |
4 import java.util.HashMap; | 4 import java.util.HashMap; |
5 import java.util.HashSet; | |
5 | 6 |
6 import java.io.File; | 7 import java.io.File; |
7 import java.io.IOException; | 8 import java.io.IOException; |
8 import java.io.LineNumberReader; | 9 import java.io.LineNumberReader; |
9 import java.io.InputStreamReader; | 10 import java.io.InputStreamReader; |
88 | 89 |
89 boolean columnHeaderChecked = false; | 90 boolean columnHeaderChecked = false; |
90 | 91 |
91 String einheit = "Wasserstand [NN + m]"; | 92 String einheit = "Wasserstand [NN + m]"; |
92 | 93 |
93 //HashMap<String, Double> oldEscapeLine = null; | 94 HashSet<BigDecimal> kms = new HashSet<BigDecimal>(); |
94 | 95 |
95 while ((input = in.readLine()) != null) { | 96 while ((input = in.readLine()) != null) { |
96 String line = input; | 97 String line = input; |
97 if (first) { // fetch number of columns | 98 if (first) { // fetch number of columns |
98 if ((line = line.trim()).length() == 0) { | 99 if ((line = line.trim()).length() == 0) { |
229 BigDecimal [] data = | 230 BigDecimal [] data = |
230 parseLineAsDouble(line, columnCount, true, false); | 231 parseLineAsDouble(line, columnCount, true, false); |
231 | 232 |
232 BigDecimal kaem = data[0]; | 233 BigDecimal kaem = data[0]; |
233 | 234 |
235 if (!kms.add(kaem)) { | |
236 log.warn( | |
237 "km " + kaem + | |
238 " (line " + in.getLineNumber() + | |
239 ") found more than once. -> ignored"); | |
240 continue; | |
241 } | |
242 | |
234 if (kaem.compareTo(minKm) < 0) { | 243 if (kaem.compareTo(minKm) < 0) { |
235 minKm = kaem; | 244 minKm = kaem; |
236 } | 245 } |
237 if (kaem.compareTo(maxKm) > 0) { | 246 if (kaem.compareTo(maxKm) > 0) { |
238 maxKm = kaem; | 247 maxKm = kaem; |