Mercurial > dive4elements > river
diff backend/src/main/java/org/dive4elements/river/importer/sinfo/importitem/DepthEvolutionSeriesImport.java @ 8971:50416a0df385
Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
author | mschaefer |
---|---|
date | Tue, 03 Apr 2018 10:18:30 +0200 |
parents | |
children | 1f63e9d3b0ec |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/backend/src/main/java/org/dive4elements/river/importer/sinfo/importitem/DepthEvolutionSeriesImport.java Tue Apr 03 10:18:30 2018 +0200 @@ -0,0 +1,105 @@ +/* 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.DepthEvolution; +import org.dive4elements.river.model.sinfo.DepthEvolutionValue; +import org.hibernate.SQLQuery; +import org.hibernate.Session; + +/** + * Imported depth evolution data series of a river + * + * @author Matthias Schäfer + * + */ +public class DepthEvolutionSeriesImport extends AbstractSeriesImport<DepthEvolution, DepthEvolutionValue, DepthEvolutionKmLineImport> { + + /***** FIELDS *****/ + + private static Logger log = Logger.getLogger(DepthEvolutionSeriesImport.class); + + private Integer start_year; + + private Integer reference_year; + + private String curr_sounding; + + private String old_sounding; + + private String curr_glw; + + private String old_glw; + + + /***** CONSTRUCTORS *****/ + + public DepthEvolutionSeriesImport(final String filename) { + super(filename); + } + + + /***** METHODS *****/ + + public void setStart_year(final Integer start_year) { + this.start_year = start_year; + } + + public void setReference_year(final Integer reference_year) { + this.reference_year = reference_year; + } + + public void setCurr_sounding(final String curr_sounding) { + this.curr_sounding = curr_sounding; + } + + public void setOld_sounding(final String old_sounding) { + this.old_sounding = old_sounding; + } + + public void setCurr_glw(final String curr_glw) { + this.curr_glw = curr_glw; + } + + public void setOld_glw(final String old_glw) { + this.old_glw = old_glw; + } + + @Override + public Logger getLog() { + return log; + } + + @Override + public List<DepthEvolution> querySeriesItem(final Session session, final River river) { + /* + * final Query query = session.createQuery("FROM DepthEvolution WHERE river=:river AND lower(filename)=:filename"); + * query.setParameter("river", river); + * query.setParameter("filename", this.filename.toLowerCase()); + */ + final SQLQuery query = session.createSQLQuery("SELECT * FROM depth_evolution WHERE (river_id=:river) AND (lower(filename)=:filename)"); + query.setParameter("river", river.getId()); + query.setParameter("filename", getFilename().toLowerCase()); + return query.list(); + } + + + @Override + public DepthEvolution createSeriesItem(final River river) { + return new DepthEvolution(river, this.filename, this.kmrange_info, this.comment, this.start_year, this.reference_year, this.curr_sounding, + this.old_sounding, this.curr_glw, this.old_glw); + } +} \ No newline at end of file