Mercurial > dive4elements > river
diff backend/src/main/java/org/dive4elements/river/importer/uinfo/parsers/VegetationParser.java @ 9401:361de818f76e
Added color fields to the vegetation zone database table and importer, max days field changed from exclusive to inclusive
author | mschaefer |
---|---|
date | Tue, 14 Aug 2018 14:02:26 +0200 |
parents | df6f1b5806f6 |
children | 6146358c4842 |
line wrap: on
line diff
--- a/backend/src/main/java/org/dive4elements/river/importer/uinfo/parsers/VegetationParser.java Tue Aug 14 11:06:00 2018 +0200 +++ b/backend/src/main/java/org/dive4elements/river/importer/uinfo/parsers/VegetationParser.java Tue Aug 14 14:02:26 2018 +0200 @@ -45,7 +45,10 @@ private enum ColTitlePattern { OVERFLOW_LIMIT("((.)|(Ue))berflutungsdauer-bis\\s*\\[(.*)\\].*"), // - CLASSNO("Vegetationsklasse.*"); + CLASSNO("Vegetationsklasse.*"), // + COLOR_R("Rot"), // + COLOR_G("Gr((.)|(ue))n"), // + COLOR_B("Blau"); private final Pattern pattern; @@ -153,13 +156,13 @@ return true; } this.previousClassNo = 0; - this.previousDaysLimit = 0; + this.previousDaysLimit = -1; return true; } @Override protected VegetationZoneImport createKmLineImport(final Double km, final String[] values) { - int daysLimit = 365; + int daysLimit = 366; int classNo = 0; try { if (!values[this.cols.get(ColTitlePattern.OVERFLOW_LIMIT)].trim().isEmpty()) @@ -180,8 +183,11 @@ // return null; // } this.previousClassNo = classNo; - final Integer minDays = Integer.valueOf(this.previousDaysLimit); - this.previousDaysLimit = daysLimit + 1; - return new VegetationZoneImport(classNo, minDays, Integer.valueOf(this.previousDaysLimit)); + final int minDays = this.previousDaysLimit + 1; + this.previousDaysLimit = daysLimit; + final int red = (this.cols.get(ColTitlePattern.COLOR_R) >= 0) ? Integer.parseInt(values[this.cols.get(ColTitlePattern.COLOR_R)]) : 0; + final int green = (this.cols.get(ColTitlePattern.COLOR_G) >= 0) ? Integer.parseInt(values[this.cols.get(ColTitlePattern.COLOR_G)]) : 0; + final int blue = (this.cols.get(ColTitlePattern.COLOR_B) >= 0) ? Integer.parseInt(values[this.cols.get(ColTitlePattern.COLOR_B)]) : 0; + return new VegetationZoneImport(classNo, minDays, daysLimit, red, green, blue); } }