Mercurial > dive4elements > river
comparison backend/src/main/java/org/dive4elements/river/importer/parsers/PRFParser.java @ 6015:e514cab94026
PRFParser: Re-enable line skipping. Act so on station change.
author | Felix Wolfsteller <felix.wolfsteller@intevation.de> |
---|---|
date | Mon, 13 May 2013 18:33:01 +0200 |
parents | 4c3ccf2b0304 |
children | 3158f8f227bf |
comparison
equal
deleted
inserted
replaced
6014:2132c4b70cf9 | 6015:e514cab94026 |
---|---|
340 log.warn( | 340 log.warn( |
341 "PRF: line 5 is not an positive integer."); | 341 "PRF: line 5 is not an positive integer."); |
342 return false; | 342 return false; |
343 } | 343 } |
344 | 344 |
345 int skip = lineSkipCount; | |
346 | |
345 while ((line = in.readLine()) != null) { | 347 while ((line = in.readLine()) != null) { |
348 // Expecting dummy lines. | |
349 if (skip > 0) { | |
350 skip--; | |
351 continue; | |
352 } | |
353 | |
346 double km; | 354 double km; |
347 try { | 355 try { |
348 km = kmFormat.extractKm(line); | 356 km = kmFormat.extractKm(line); |
349 } | 357 } |
350 catch (NumberFormatException iae) { | 358 catch (NumberFormatException iae) { |
354 | 362 |
355 Double station = Double.valueOf(km); | 363 Double station = Double.valueOf(km); |
356 | 364 |
357 List<XY> kmData = data.get(station); | 365 List<XY> kmData = data.get(station); |
358 | 366 |
367 // When the station changed we know we are expecting skip/dummy lines. | |
359 if (kmData == null) { | 368 if (kmData == null) { |
360 //log.debug("found new km: " + station); | 369 //log.debug("found new km: " + station); |
361 kmData = new ArrayList<XY>(); | 370 kmData = new ArrayList<XY>(); |
362 data.put(station, kmData); | 371 data.put(station, kmData); |
372 // When a station change occurs, dummy lines will occur, too. | |
373 skip = lineSkipCount; | |
374 continue; | |
363 } | 375 } |
364 | 376 |
365 dataFormat.extractData(line, kmData); | 377 dataFormat.extractData(line, kmData); |
366 } | 378 } |
367 | 379 |