Mercurial > dive4elements > river
view backend/src/main/java/org/dive4elements/river/importer/sinfo/importitem/DailyDischargeSeriesImport.java @ 9659:75bd347147ad
Importer (s/u-info) extensions: infrastructures: detecting, logging, cancelling in case of wrong column titles,
detecting, logging and skipping lines with duplicate km+bank
author | mschaefer |
---|---|
date | Mon, 23 Mar 2020 15:37:37 +0100 |
parents | d86c7cb68b41 |
children |
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.Gauge; import org.dive4elements.river.model.River; import org.dive4elements.river.model.sinfo.DailyDischarge; import org.dive4elements.river.model.sinfo.DailyDischargeValue; import org.hibernate.Query; import org.hibernate.Session; /** * Imported daily discharge value series of a gauge * * @author Matthias Schäfer * */ public class DailyDischargeSeriesImport extends AbstractSeriesImport<DailyDischarge, DailyDischargeValue, DailyDischargeDayLineImport> { /***** FIELDS *****/ private static Logger log = Logger.getLogger(DailyDischargeSeriesImport.class); private String gaugeName; private long gaugeNumber; private Gauge gauge; /***** CONSTRUCTORS *****/ public DailyDischargeSeriesImport(final String filename) { super(filename); } /***** METHODS *****/ public String getGaugeName() { return this.gaugeName; } public void setGaugeName(final String gaugeName) { this.gaugeName = gaugeName; } public long getGaugeNumber() { return this.gaugeNumber; } public void setGaugeNumber(final long gaugeNumber) { this.gaugeNumber = gaugeNumber; } public Gauge getGauge() { return this.gauge; } public void setGauge(final Gauge gauge) { this.gauge = gauge; } @Override public Logger getLog() { return log; } @Override public List<DailyDischarge> querySeriesItem(final Session session, final River river, final boolean doQueryParent) { final Query query = session.createQuery("FROM DailyDischarge WHERE gauge=:gauge"); query.setParameter("gauge", this.gauge); return query.list(); } @Override public DailyDischarge createSeriesItem(final River river) { return new DailyDischarge(this.gauge, this.filename, this.notes); } }