Mercurial > dive4elements > river
annotate 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 |
rev | line source |
---|---|
9014 | 1 /* Copyright (C) 2017 by Bundesanstalt für Gewässerkunde |
2 * Software engineering by | |
3 * Björnsen Beratende Ingenieure GmbH | |
4 * Dr. Schumacher Ingenieurbüro für Wasser und Umwelt | |
5 * | |
6 * This file is Free Software under the GNU AGPL (>=v3) | |
7 * and comes with ABSOLUTELY NO WARRANTY! Check out the | |
8 * documentation coming with Dive4Elements River for details. | |
9 */ | |
10 | |
11 package org.dive4elements.river.importer.uinfo.importitem; | |
12 | |
13 import java.util.List; | |
14 | |
15 import org.apache.log4j.Logger; | |
16 import org.dive4elements.river.importer.common.AbstractSeriesImport; | |
17 import org.dive4elements.river.model.River; | |
18 import org.dive4elements.river.model.uinfo.Vegetation; | |
19 import org.dive4elements.river.model.uinfo.VegetationZone; | |
20 import org.hibernate.Query; | |
21 import org.hibernate.Session; | |
22 | |
23 /** | |
24 * Imported vegetation data series of a river | |
25 * | |
26 * @author Matthias Schäfer | |
27 * | |
28 */ | |
29 public class VegetationSeriesImport extends AbstractSeriesImport<Vegetation, VegetationZone, VegetationZoneImport> { | |
30 | |
31 /***** FIELDS *****/ | |
32 | |
33 private static Logger log = Logger.getLogger(VegetationSeriesImport.class); | |
34 | |
35 private String name; | |
36 | |
37 | |
38 /***** CONSTRUCTORS *****/ | |
39 | |
40 public VegetationSeriesImport(final String filename) { | |
41 super(filename); | |
42 } | |
43 | |
44 | |
45 /***** METHODS *****/ | |
46 | |
47 public void setName(final String name) { | |
48 this.name = name; | |
49 } | |
50 | |
51 @Override | |
52 public Logger getLog() { | |
53 return log; | |
54 } | |
55 | |
56 @Override | |
9661
9b8ba3b83a15
Importer (s/u-info) vegetation zones: new database column in vegetation_type table for german type name,
mschaefer
parents:
9038
diff
changeset
|
57 public List<Vegetation> querySeriesItem(final Session session, final River river, final boolean doQueryParent) { |
9b8ba3b83a15
Importer (s/u-info) vegetation zones: new database column in vegetation_type table for german type name,
mschaefer
parents:
9038
diff
changeset
|
58 final Query query = session.createQuery("FROM Vegetation WHERE river=:river"); |
9014 | 59 query.setParameter("river", river); |
60 return query.list(); | |
61 } | |
62 | |
63 | |
64 @Override | |
65 public Vegetation createSeriesItem(final River river) { | |
9038
4c5eeaff554c
Database column "comment" renamed to "notes" (restrictions in Oracle)
mschaefer
parents:
9014
diff
changeset
|
66 return new Vegetation(river, this.filename, this.name, this.notes); |
9014 | 67 } |
68 } |