# HG changeset patch # User Tom Gottfried # Date 1365015737 -7200 # Node ID 732a8bd446502999d046879d08788be2b9385d91 # Parent f3b270e5462ed65b12873d40df3766f5df20d11f Wst Parser: Yet another attempt to fix the order of the Q ranges (made by S. Teichmann) diff -r f3b270e5462e -r 732a8bd44650 flys-backend/src/main/java/de/intevation/flys/importer/parsers/WstParser.java --- a/flys-backend/src/main/java/de/intevation/flys/importer/parsers/WstParser.java Wed Apr 03 20:16:01 2013 +0200 +++ b/flys-backend/src/main/java/de/intevation/flys/importer/parsers/WstParser.java Wed Apr 03 21:02:17 2013 +0200 @@ -114,6 +114,8 @@ HashSet kms = new HashSet(); + BigDecimal kmHist1 = null, kmHist2 = null; + while ((input = in.readLine()) != null) { String line = input; if (first) { // fetch number of columns @@ -145,6 +147,12 @@ parseLineAsDouble(line, columnCount, false, true); if (aktAbfluesse != null) { + if (kmHist1 != null && kmHist2 != null) { + if (kmHist1.compareTo(kmHist2) < 0) { + log.debug("swapped"); + BigDecimal t = minKm; minKm = maxKm; maxKm = t; + } + } addInterval(minKm, maxKm, aktAbfluesse); minKm = MAX_RANGE; maxKm = MIN_RANGE; @@ -272,6 +280,9 @@ continue; } + kmHist2 = kmHist1; + kmHist1 = kaem; + if (kaem.compareTo(minKm) < 0) { minKm = kaem; } @@ -319,7 +330,9 @@ } // for all lines in WST file wst.setUnit(new ImportUnit(einheit)); - + if (kmHist1.compareTo(kmHist2) < 0) { + BigDecimal t = minKm; minKm = maxKm; maxKm = t; + } addInterval(minKm, maxKm, aktAbfluesse); fixRangesOrder();