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.River; mschaefer@8971: import org.dive4elements.river.model.sinfo.DepthEvolution; mschaefer@9032: import org.dive4elements.river.model.sinfo.DepthEvolution.Group; mschaefer@8971: import org.dive4elements.river.model.sinfo.DepthEvolutionValue; mschaefer@9657: import org.hibernate.Query; mschaefer@8971: import org.hibernate.Session; mschaefer@8971: mschaefer@8971: /** mschaefer@8971: * Imported depth evolution data series of a river mschaefer@8971: * mschaefer@8971: * @author Matthias Schäfer mschaefer@8971: * mschaefer@8971: */ mschaefer@8971: public class DepthEvolutionSeriesImport extends AbstractSeriesImport { mschaefer@8971: mschaefer@8971: /***** FIELDS *****/ mschaefer@8971: mschaefer@8971: private static Logger log = Logger.getLogger(DepthEvolutionSeriesImport.class); mschaefer@8971: mschaefer@9032: private Group group; mschaefer@9032: mschaefer@8971: private Integer start_year; mschaefer@8971: mschaefer@8971: private Integer reference_year; mschaefer@8971: mschaefer@8971: private String curr_sounding; mschaefer@8971: mschaefer@8971: private String old_sounding; mschaefer@8971: mschaefer@8971: private String curr_glw; mschaefer@8971: mschaefer@8971: private String old_glw; mschaefer@8971: mschaefer@8971: mschaefer@8971: /***** CONSTRUCTORS *****/ mschaefer@8971: mschaefer@8971: public DepthEvolutionSeriesImport(final String filename) { mschaefer@8971: super(filename); mschaefer@8971: } mschaefer@8971: mschaefer@8971: mschaefer@8971: /***** METHODS *****/ mschaefer@8971: mschaefer@9032: public void setGroup(final Group group) { mschaefer@9032: this.group = group; mschaefer@9032: } mschaefer@9032: mschaefer@8971: public void setStart_year(final Integer start_year) { mschaefer@8971: this.start_year = start_year; mschaefer@8971: } mschaefer@8971: mschaefer@9657: public Integer getStart_year() { mschaefer@9657: return this.start_year; mschaefer@9657: } mschaefer@9657: mschaefer@8971: public void setReference_year(final Integer reference_year) { mschaefer@8971: this.reference_year = reference_year; mschaefer@8971: } mschaefer@8971: mschaefer@9657: public Integer getReference_year() { mschaefer@9657: return this.reference_year; mschaefer@9657: } mschaefer@9657: mschaefer@8971: public void setCurr_sounding(final String curr_sounding) { mschaefer@8971: this.curr_sounding = curr_sounding; mschaefer@8971: } mschaefer@8971: mschaefer@8971: public void setOld_sounding(final String old_sounding) { mschaefer@8971: this.old_sounding = old_sounding; mschaefer@8971: } mschaefer@8971: mschaefer@8971: public void setCurr_glw(final String curr_glw) { mschaefer@8971: this.curr_glw = curr_glw; mschaefer@8971: } mschaefer@8971: mschaefer@8971: public void setOld_glw(final String old_glw) { mschaefer@8971: this.old_glw = old_glw; mschaefer@8971: } mschaefer@8971: mschaefer@8971: @Override mschaefer@8971: public Logger getLog() { mschaefer@8971: return log; mschaefer@8971: } mschaefer@8971: mschaefer@8971: @Override mschaefer@9657: public List querySeriesItem(final Session session, final River river, final boolean doQueryParent) { mschaefer@9657: final Query query = session.createQuery("FROM DepthEvolution WHERE river=:river AND lower(filename)=:filename"); mschaefer@9657: query.setParameter("river", river); mschaefer@9657: query.setParameter("filename", this.filename.toLowerCase()); mschaefer@8971: return query.list(); mschaefer@8971: } mschaefer@8971: mschaefer@8971: mschaefer@8971: @Override mschaefer@8971: public DepthEvolution createSeriesItem(final River river) { mschaefer@9038: return new DepthEvolution(river, this.filename, this.kmrange_info, this.notes, this.start_year, this.reference_year, this.curr_sounding, mschaefer@9032: this.old_sounding, this.curr_glw, this.old_glw, this.group); mschaefer@8971: } mschaefer@8971: }