view backend/src/main/java/org/dive4elements/river/importer/parsers/BedHeightSingleParser.java @ 7355:d12478cc5bb0

Remove code that was previously commented out.
author Tom Gottfried <tom@intevation.de>
date Wed, 16 Oct 2013 14:43:27 +0200
parents 809e76b7fe38
children 495cde925702
line wrap: on
line source
/* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde
 * Software engineering by Intevation GmbH
 *
 * This file is Free Software under the GNU AGPL (>=v3)
 * and comes with ABSOLUTELY NO WARRANTY! Check out the
 * documentation coming with Dive4Elements River for details.
 */

package org.dive4elements.river.importer.parsers;

import java.math.BigDecimal;

import java.text.ParseException;

import org.apache.log4j.Logger;

import org.dive4elements.river.importer.ImportBedHeight;
import org.dive4elements.river.importer.ImportBedHeightSingle;
import org.dive4elements.river.importer.ImportBedHeightSingleValue;


public class BedHeightSingleParser extends BedHeightParser {

    private static final Logger log =
        Logger.getLogger(BedHeightSingleParser.class);



    @Override
    protected ImportBedHeight newImportBedHeight(String description) {
        return new ImportBedHeightSingle(description);
    }



    /**
     * Create ImportBedHeightSingleValue from a line of csv file, add
     * it to the ImportBedHeight.
     */
    @Override
    protected void handleDataLine(ImportBedHeight obj, String line) {
        String[] values = line.split(SEPERATOR_CHAR, -1);

        if (values == null) {
            log.warn("BSP: Error while parsing data line: '" + line + "'");
            return;
        }

        Double km;

        try {
            km = new Double(nf.parse(values[0]).doubleValue());
	    
            Double key = Double.valueOf(km);

            if (kmExists.contains(key)) {
                log.warn("duplicate station '" + km + "': -> ignored");
                return;
            }

            kmExists.add(key);
	}

        catch (ParseException e) {
            // We expect a lot of ";;;;;;" lines.
            return;
        }

        // Handle gaps like "10,0;;;;;".
        if (values.length == 1) {
            // Do not import line without useful data
            return;
        }

	Double height = null;
	if (values[1].length() > 0) {
	    try {
		height = new Double(nf.parse(values[1]).doubleValue());
	    }
	    catch (ParseException e) {
		log.warn("BSP: unparseable height " + values[1]);
	    }
	}

	Double uncertainty = null;
	if (values[2].length() > 0) {
	    try {
		uncertainty = new Double(nf.parse(values[2]).doubleValue());
	    }
	    catch (ParseException e) {
		log.warn("BSP: unparseable uncertainty value " + values[2]);
	    }
	}

	Double dataGap = null;
	if (values[3].length() > 0) {
	    try {
		dataGap = new Double(nf.parse(values[3]).doubleValue());
	    }
	    catch (ParseException e) {
		log.warn("BSP: unparseable data gap " + values[3]);
	    }
	}

	Double soundingWidth = null;
	if (values[4].length() > 0) {
	    try {
		soundingWidth = new Double(nf.parse(values[4]).doubleValue());
	    }
	    catch (ParseException e) {
		log.warn("BSP: unparseable sounding width " + values[4]);
	    }
	}

	Double width = null;
	if (values[5].length() > 0) {
	    try {
		width = new Double(nf.parse(values[5]).doubleValue());
	    }
	    catch (ParseException e) {
		log.warn("BSP: unparseable width " + values[5]);
	    }
	}

	ImportBedHeightSingleValue value = new ImportBedHeightSingleValue(
	    (ImportBedHeightSingle) obj,
	    km,
	    height,
	    uncertainty,
	    dataGap,
	    soundingWidth,
	    width
	);

	obj.addValue(value);
    }
}
// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org