Mercurial > dive4elements > river
view flys-backend/src/main/java/org/dive4elements/river/importer/parsers/BedHeightEpochParser.java @ 5828:dfb26b03b179
Moved directories to org.dive4elements.river
author | Sascha L. Teichmann <teichmann@intevation.de> |
---|---|
date | Thu, 25 Apr 2013 11:53:11 +0200 |
parents | flys-backend/src/main/java/de/intevation/flys/importer/parsers/BedHeightEpochParser.java@b3dd14fc13a6 |
children | 18619c1e7c2a |
line wrap: on
line source
package de.intevation.flys.importer.parsers; import java.math.BigDecimal; import java.text.ParseException; import org.apache.log4j.Logger; import de.intevation.flys.importer.ImportBedHeight; import de.intevation.flys.importer.ImportBedHeightEpoch; import de.intevation.flys.importer.ImportBedHeightEpochValue; /** Parses BedHeightEpochs from csv file. */ public class BedHeightEpochParser extends BedHeightParser { /** Our own logger. */ private static final Logger log = Logger.getLogger(BedHeightEpochParser.class); @Override protected ImportBedHeight newImportBedHeight(String description) { return new ImportBedHeightEpoch(description); } /** * Handle a non-comment, none-Metadata line of csv file, adding * ImportBedHeightEpochValues to the given ImportBedHeight object. */ @Override protected void handleDataLine(ImportBedHeight obj, String line) { String[] values = line.split(SEPERATOR_CHAR); if (values == null || values.length == 0 || values[0].length() == 0) { // There might be quite some ";" found. //log.warn("Skip invalid data line: " + line); return; } BigDecimal km; try { km = new BigDecimal(nf.parse(values[0]).doubleValue()); } catch (ParseException e) { log.warn("Unparseable number in data row: " + line); return; } // Handle "gap" lines like '255,0;' if (values.length < 2) { ImportBedHeightEpochValue value = new ImportBedHeightEpochValue( km, null ); obj.addValue(value); return; } try { ImportBedHeightEpochValue value = new ImportBedHeightEpochValue( km, new BigDecimal(nf.parse(values[1]).doubleValue()) ); obj.addValue(value); } catch (ParseException e) { log.warn("Unparseable number in data row: " + line); } } } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :