Mercurial > dive4elements > river
view backend/src/main/java/org/dive4elements/river/importer/sinfo/importitem/CollisionSeriesImport.java @ 9658:d86c7cb68b41
Importer (s/u-info) extensions: daily discharge: detecting, logging and skipping lines with missing date or q, or duplicate date,
detecting wrong column titles and cancelling the import,
specific error message if gauge not found
author | mschaefer |
---|---|
date | Mon, 23 Mar 2020 15:33:40 +0100 |
parents | 8a2a777a8372 |
children | 7c1da1b3f6b8 |
line wrap: on
line source
/* Copyright (C) 2017 by Bundesanstalt für Gewässerkunde * Software engineering by * Björnsen Beratende Ingenieure GmbH * Dr. Schumacher Ingenieurbüro für Wasser und Umwelt * * 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.sinfo.importitem; import java.util.List; import org.apache.log4j.Logger; import org.dive4elements.river.importer.common.AbstractSeriesImport; import org.dive4elements.river.model.River; import org.dive4elements.river.model.sinfo.Collision; import org.dive4elements.river.model.sinfo.CollisionValue; import org.hibernate.Query; import org.hibernate.Session; /** * Imported collision data series of a river * * @author Matthias Schäfer * */ public class CollisionSeriesImport extends AbstractSeriesImport<Collision, CollisionValue, CollisionKmLineImport> { /***** FIELDS *****/ private static Logger log = Logger.getLogger(CollisionSeriesImport.class); private int year; /***** CONSTRUCTORS *****/ public CollisionSeriesImport(final String filename) { super(filename); } /***** METHODS *****/ public void setYear(final int year) { this.year = year; } @Override public Logger getLog() { return log; } @Override public List<Collision> querySeriesItem(final Session session, final River river, final boolean doQueryParent) { final Query query = session.createQuery("FROM Collision WHERE river=:river AND lower(filename)=:filename"); query.setParameter("river", river); query.setParameter("filename", this.filename.toLowerCase()); return query.list(); } @Override public Collision createSeriesItem(final River river) { return new Collision(river, this.filename, this.kmrange_info, this.notes, this.year); } }