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

http://dive4elements.wald.intevation.org