view backend/src/main/java/org/dive4elements/river/importer/sinfo/importitem/DepthEvolutionSeriesImport.java @ 9032:1f63e9d3b0ec

New columns for bed_height, tkh and depth_evolution, a few syntactic corrections for Oracle
author mschaefer
date Fri, 27 Apr 2018 17:35:12 +0200
parents 50416a0df385
children 4c5eeaff554c
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.River;
import org.dive4elements.river.model.sinfo.DepthEvolution;
import org.dive4elements.river.model.sinfo.DepthEvolution.Group;
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 Group group;

    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 setGroup(final Group group) {
        this.group = group;
    }

    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, this.group);
    }
}

http://dive4elements.wald.intevation.org