mschaefer@8971: /* Copyright (C) 2017 by Bundesanstalt für Gewässerkunde mschaefer@8971: * Software engineering by mschaefer@8971: * Björnsen Beratende Ingenieure GmbH mschaefer@8971: * Dr. Schumacher Ingenieurbüro für Wasser und Umwelt mschaefer@8971: * mschaefer@8971: * This file is Free Software under the GNU AGPL (>=v3) mschaefer@8971: * and comes with ABSOLUTELY NO WARRANTY! Check out the mschaefer@8971: * documentation coming with Dive4Elements River for details. mschaefer@8971: */ mschaefer@8971: mschaefer@8971: package org.dive4elements.river.importer.sinfo.importitem; mschaefer@8971: mschaefer@8971: import java.util.List; mschaefer@8971: mschaefer@8971: import org.apache.log4j.Logger; mschaefer@8971: import org.dive4elements.river.importer.common.AbstractSeriesImport; mschaefer@8971: import org.dive4elements.river.model.Gauge; mschaefer@8971: import org.dive4elements.river.model.River; mschaefer@8971: import org.dive4elements.river.model.sinfo.DailyDischarge; mschaefer@8971: import org.dive4elements.river.model.sinfo.DailyDischargeValue; mschaefer@8971: import org.hibernate.Query; mschaefer@8971: import org.hibernate.Session; mschaefer@8971: mschaefer@8971: /** mschaefer@8971: * Imported daily discharge value series of a gauge mschaefer@8971: * mschaefer@8971: * @author Matthias Schäfer mschaefer@8971: * mschaefer@8971: */ mschaefer@8971: public class DailyDischargeSeriesImport extends AbstractSeriesImport { mschaefer@8971: mschaefer@8971: /***** FIELDS *****/ mschaefer@8971: mschaefer@8971: private static Logger log = Logger.getLogger(DailyDischargeSeriesImport.class); mschaefer@8971: mschaefer@8971: private String gaugeName; mschaefer@8971: mschaefer@8971: private long gaugeNumber; mschaefer@8971: mschaefer@8971: private Gauge gauge; mschaefer@8971: mschaefer@8971: mschaefer@8971: /***** CONSTRUCTORS *****/ mschaefer@8971: mschaefer@8971: public DailyDischargeSeriesImport(final String filename) { mschaefer@8971: super(filename); mschaefer@8971: } mschaefer@8971: mschaefer@8971: mschaefer@8971: /***** METHODS *****/ mschaefer@8971: mschaefer@8971: public String getGaugeName() { mschaefer@8971: return this.gaugeName; mschaefer@8971: } mschaefer@8971: mschaefer@8971: public void setGaugeName(final String gaugeName) { mschaefer@8971: this.gaugeName = gaugeName; mschaefer@8971: } mschaefer@8971: mschaefer@8971: public long getGaugeNumber() { mschaefer@8971: return this.gaugeNumber; mschaefer@8971: } mschaefer@8971: mschaefer@8971: public void setGaugeNumber(final long gaugeNumber) { mschaefer@8971: this.gaugeNumber = gaugeNumber; mschaefer@8971: } mschaefer@8971: mschaefer@8971: public Gauge getGauge() { mschaefer@8971: return this.gauge; mschaefer@8971: } mschaefer@8971: mschaefer@8971: public void setGauge(final Gauge gauge) { mschaefer@8971: this.gauge = gauge; mschaefer@8971: } mschaefer@8971: mschaefer@8971: @Override mschaefer@8971: public Logger getLog() { mschaefer@8971: return log; mschaefer@8971: } mschaefer@8971: mschaefer@8971: @Override mschaefer@9658: public List querySeriesItem(final Session session, final River river, final boolean doQueryParent) { mschaefer@8971: final Query query = session.createQuery("FROM DailyDischarge WHERE gauge=:gauge"); mschaefer@8971: query.setParameter("gauge", this.gauge); mschaefer@8971: return query.list(); mschaefer@8971: } mschaefer@8971: mschaefer@8971: mschaefer@8971: @Override mschaefer@8971: public DailyDischarge createSeriesItem(final River river) { mschaefer@9038: return new DailyDischarge(this.gauge, this.filename, this.notes); mschaefer@8971: } mschaefer@8971: }