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@8971: import org.hibernate.SQLQuery; 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@8971: public void setReference_year(final Integer reference_year) { mschaefer@8971: this.reference_year = reference_year; mschaefer@8971: } mschaefer@8971: 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@8971: public List querySeriesItem(final Session session, final River river) { mschaefer@8971: /* mschaefer@8971: * final Query query = session.createQuery("FROM DepthEvolution WHERE river=:river AND lower(filename)=:filename"); mschaefer@8971: * query.setParameter("river", river); mschaefer@8971: * query.setParameter("filename", this.filename.toLowerCase()); mschaefer@8971: */ mschaefer@8971: final SQLQuery query = session.createSQLQuery("SELECT * FROM depth_evolution WHERE (river_id=:river) AND (lower(filename)=:filename)"); mschaefer@8971: query.setParameter("river", river.getId()); mschaefer@8971: query.setParameter("filename", getFilename().toLowerCase()); mschaefer@8971: return query.list(); mschaefer@8971: } mschaefer@8971: mschaefer@8971: mschaefer@8971: @Override mschaefer@8971: public DepthEvolution createSeriesItem(final River river) { mschaefer@8971: return new DepthEvolution(river, this.filename, this.kmrange_info, this.comment, 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: }