comparison flys-backend/src/main/java/de/intevation/flys/importer/parsers/WstParser.java @ 5544:12f4d088f088

WST importer: Cosmetics.
author Sascha L. Teichmann <teichmann@intevation.de>
date Wed, 03 Apr 2013 23:16:11 +0200
parents 732a8bd44650
children b223be96758c
comparison
equal deleted inserted replaced
5543:732a8bd44650 5544:12f4d088f088
103 String [] daten = null; 103 String [] daten = null;
104 104
105 BigDecimal [] aktAbfluesse = null; 105 BigDecimal [] aktAbfluesse = null;
106 BigDecimal [] firstAbfluesse = null; 106 BigDecimal [] firstAbfluesse = null;
107 107
108 BigDecimal minKm = MAX_RANGE; 108 BigDecimal minKm = MAX_RANGE;
109 BigDecimal maxKm = MIN_RANGE; 109 BigDecimal maxKm = MIN_RANGE;
110 BigDecimal kmHist1 = null;
111 BigDecimal kmHist2 = null;
110 112
111 boolean columnHeaderChecked = false; 113 boolean columnHeaderChecked = false;
112 114
113 String einheit = "Wasserstand [NN + m]"; 115 String einheit = "Wasserstand [NN + m]";
114 116
115 HashSet<BigDecimal> kms = new HashSet<BigDecimal>(); 117 HashSet<BigDecimal> kms = new HashSet<BigDecimal>();
116
117 BigDecimal kmHist1 = null, kmHist2 = null;
118 118
119 while ((input = in.readLine()) != null) { 119 while ((input = in.readLine()) != null) {
120 String line = input; 120 String line = input;
121 if (first) { // fetch number of columns 121 if (first) { // fetch number of columns
122 if ((line = line.trim()).length() == 0) { 122 if ((line = line.trim()).length() == 0) {
145 if (line.startsWith("*\u001f")) { 145 if (line.startsWith("*\u001f")) {
146 BigDecimal [] data = 146 BigDecimal [] data =
147 parseLineAsDouble(line, columnCount, false, true); 147 parseLineAsDouble(line, columnCount, false, true);
148 148
149 if (aktAbfluesse != null) { 149 if (aktAbfluesse != null) {
150 if (kmHist1 != null && kmHist2 != null) { 150 if (kmHist1 != null && kmHist2 != null
151 if (kmHist1.compareTo(kmHist2) < 0) { 151 && kmHist1.compareTo(kmHist2) < 0) {
152 log.debug("swapped"); 152 BigDecimal t = minKm; minKm = maxKm; maxKm = t;
153 BigDecimal t = minKm; minKm = maxKm; maxKm = t; 153 }
154 }
155 }
156 addInterval(minKm, maxKm, aktAbfluesse); 154 addInterval(minKm, maxKm, aktAbfluesse);
157 minKm = MAX_RANGE; 155 minKm = MAX_RANGE;
158 maxKm = MIN_RANGE; 156 maxKm = MIN_RANGE;
159 } 157 }
160 158
278 " (line " + in.getLineNumber() + 276 " (line " + in.getLineNumber() +
279 ") found more than once. -> ignored"); 277 ") found more than once. -> ignored");
280 continue; 278 continue;
281 } 279 }
282 280
283 kmHist2 = kmHist1; 281 kmHist2 = kmHist1;
284 kmHist1 = kaem; 282 kmHist1 = kaem;
285 283
286 if (kaem.compareTo(minKm) < 0) { 284 if (kaem.compareTo(minKm) < 0) {
287 minKm = kaem; 285 minKm = kaem;
288 } 286 }
289 if (kaem.compareTo(maxKm) > 0) { 287 if (kaem.compareTo(maxKm) > 0) {
328 } 326 }
329 327
330 } // for all lines in WST file 328 } // for all lines in WST file
331 329
332 wst.setUnit(new ImportUnit(einheit)); 330 wst.setUnit(new ImportUnit(einheit));
333 if (kmHist1.compareTo(kmHist2) < 0) { 331
334 BigDecimal t = minKm; minKm = maxKm; maxKm = t; 332 if (kmHist1 != null && kmHist2 != null
335 } 333 && kmHist1.compareTo(kmHist2) < 0) {
334 BigDecimal t = minKm; minKm = maxKm; maxKm = t;
335 }
336 addInterval(minKm, maxKm, aktAbfluesse); 336 addInterval(minKm, maxKm, aktAbfluesse);
337 337
338 fixRangesOrder(); 338 fixRangesOrder();
339 } 339 }
340 finally { 340 finally {

http://dive4elements.wald.intevation.org