Mercurial > dive4elements > river
view backend/src/main/java/org/dive4elements/river/importer/uinfo/importitem/VegetationSeriesImport.java @ 9661:9b8ba3b83a15
Importer (s/u-info) vegetation zones: new database column in vegetation_type table for german type name,
localized vegetation type names by querying the database instead of translating by resource property,
detecting and cancelling the import of a second vegetation zone file for a river,
detecting, logging, cancelling in case of wrong column titles,
detecting, logging and ignoring lines with missing (color) values,
comparing vegetation zone name and class with the database and logging+ignoring in case of inconsistencies,
starting the most elevated zone with 0 instead of -1 overflow days
author | mschaefer |
---|---|
date | Mon, 23 Mar 2020 16:38:12 +0100 |
parents | 4c5eeaff554c |
children |
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.uinfo.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.uinfo.Vegetation; import org.dive4elements.river.model.uinfo.VegetationZone; import org.hibernate.Query; import org.hibernate.Session; /** * Imported vegetation data series of a river * * @author Matthias Schäfer * */ public class VegetationSeriesImport extends AbstractSeriesImport<Vegetation, VegetationZone, VegetationZoneImport> { /***** FIELDS *****/ private static Logger log = Logger.getLogger(VegetationSeriesImport.class); private String name; /***** CONSTRUCTORS *****/ public VegetationSeriesImport(final String filename) { super(filename); } /***** METHODS *****/ public void setName(final String name) { this.name = name; } @Override public Logger getLog() { return log; } @Override public List<Vegetation> querySeriesItem(final Session session, final River river, final boolean doQueryParent) { final Query query = session.createQuery("FROM Vegetation WHERE river=:river"); query.setParameter("river", river); return query.list(); } @Override public Vegetation createSeriesItem(final River river) { return new Vegetation(river, this.filename, this.name, this.notes); } }