[PATCH 3 of 5] Tkh import with day instead of year
Wald Commits
scm-commit at wald.intevation.org
Wed Apr 18 07:45:06 CEST 2018
# HG changeset patch
# User mschaefer
# Date 1524030126 -7200
# Node ID dcbdff96d1a8f0db6364c8d4d962a4d7a06c3903
# Parent 6fd0f20b58aabb441a0f4384348d1a0825a70b62
Tkh import with day instead of year
diff -r 6fd0f20b58aa -r dcbdff96d1a8 backend/src/main/java/org/dive4elements/river/importer/sinfo/importitem/TkhSeriesImport.java
--- a/backend/src/main/java/org/dive4elements/river/importer/sinfo/importitem/TkhSeriesImport.java Wed Apr 18 07:38:47 2018 +0200
+++ b/backend/src/main/java/org/dive4elements/river/importer/sinfo/importitem/TkhSeriesImport.java Wed Apr 18 07:42:06 2018 +0200
@@ -10,6 +10,7 @@
package org.dive4elements.river.importer.sinfo.importitem;
+import java.util.Date;
import java.util.List;
import org.apache.log4j.Logger;
@@ -41,7 +42,7 @@
private String comment;
- private int year;
+ private Date day;
private String sounding_info;
@@ -81,12 +82,12 @@
this.comment = comment;
}
- public int getYear() {
- return this.year;
+ public Date getDay() {
+ return this.day;
}
- public void setYear(final int year) {
- this.year = year;
+ public void setDay(final Date day) {
+ this.day = day;
}
public String getSounding_info() {
@@ -140,6 +141,6 @@
}
private Tkh createSeriesItem(final River river) {
- return new Tkh(river, this.filename, this.kmrange_info, this.comment, this.year, this.sounding_info, this.evaluation_by);
+ return new Tkh(river, this.filename, this.kmrange_info, this.comment, this.day, this.sounding_info, this.evaluation_by);
}
}
\ No newline at end of file
diff -r 6fd0f20b58aa -r dcbdff96d1a8 backend/src/main/java/org/dive4elements/river/importer/sinfo/parsers/TkhParser.java
--- a/backend/src/main/java/org/dive4elements/river/importer/sinfo/parsers/TkhParser.java Wed Apr 18 07:38:47 2018 +0200
+++ b/backend/src/main/java/org/dive4elements/river/importer/sinfo/parsers/TkhParser.java Wed Apr 18 07:42:06 2018 +0200
@@ -15,7 +15,10 @@
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.LineNumberReader;
+import java.text.DateFormat;
+import java.text.SimpleDateFormat;
import java.util.ArrayList;
+import java.util.Date;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@@ -43,7 +46,7 @@
private static final Logger log = Logger.getLogger(TkhParser.class);
- private static final Pattern META_YEAR = Pattern.compile("^#\\sBezugsjahr:\\s*([12]\\d\\d\\d).*", Pattern.CASE_INSENSITIVE);
+ private static final Pattern META_DATUM = Pattern.compile("^#\\sDatum:\\s*([^;]*).*", Pattern.CASE_INSENSITIVE);
private static final Pattern META_EVALUATOR = Pattern.compile("^#\\sAuswerter:\\s*([^;]*).*", Pattern.CASE_INSENSITIVE);
@@ -53,6 +56,8 @@
private static final Pattern COLUMN_TITLE = Pattern.compile("Transportk((.)|(oe))rperh((.)|(oe))he\\s*\\((.+?)\\)\\s*\\[cm\\].*", Pattern.CASE_INSENSITIVE);
+ private static final DateFormat dateFormat = new SimpleDateFormat("dd.MM.yyyy");
+
private final TkhSeriesImport tkhGroup;
private final List<TkhColumnParser> colParsers;
@@ -136,7 +141,7 @@
@Override
protected boolean handleMetaOther() {
- if (handleMetaYear())
+ if (handleMetaDay())
return true;
else if (handleMetaType())
return true;
@@ -148,11 +153,21 @@
return false;
}
- private boolean handleMetaYear() {
- final Matcher m = META_YEAR.matcher(this.currentLine);
+ private boolean handleMetaDay() {
+ final Matcher m = META_DATUM.matcher(this.currentLine);
if (m.matches()) {
- this.metaPatternsMatched.add(META_YEAR);
- this.tkhGroup.setYear(Integer.parseInt(m.group(1)));
+ Date day = null;
+ try {
+ if (!m.group(1).isEmpty())
+ day = dateFormat.parse(m.group(1));
+ }
+ catch (final Exception e) {
+ logError("Invalid date in line " + this.in.getLineNumber());
+ }
+ this.metaPatternsMatched.add(META_DATUM);
+ this.tkhGroup.setDay(day);
+ if (day == null)
+ logWarning("No date specified");
return true;
}
return false;
diff -r 6fd0f20b58aa -r dcbdff96d1a8 backend/src/main/java/org/dive4elements/river/model/sinfo/Tkh.java
--- a/backend/src/main/java/org/dive4elements/river/model/sinfo/Tkh.java Wed Apr 18 07:38:47 2018 +0200
+++ b/backend/src/main/java/org/dive4elements/river/model/sinfo/Tkh.java Wed Apr 18 07:42:06 2018 +0200
@@ -12,6 +12,7 @@
import java.io.Serializable;
import java.util.ArrayList;
+import java.util.Date;
import java.util.List;
import javax.persistence.Column;
@@ -52,7 +53,7 @@
private String comment;
- private Integer year;
+ private Date day;
private String sounding_info;
@@ -67,13 +68,13 @@
}
- public Tkh(final River river, final String filename, final String kmrange_info, final String comment, final Integer year, final String sounding_info,
+ public Tkh(final River river, final String filename, final String kmrange_info, final String comment, final Date day, final String sounding_info,
final String evaluation_by) {
this.river = river;
this.filename = filename;
this.kmrange_info = kmrange_info;
this.comment = comment;
- this.year = year;
+ this.day = day;
this.setSounding_info(sounding_info);
this.setEvaluation_by(evaluation_by);
this.columns = new ArrayList<>();
@@ -130,13 +131,13 @@
this.comment = comment;
}
- @Column(name = "year")
- public Integer getYear() {
- return this.year;
+ @Column(name = "day")
+ public Date getDay() {
+ return this.day;
}
- public void setYear(final Integer year) {
- this.year = year;
+ public void setDay(final Date day) {
+ this.day = day;
}
@Column(name = "sounding_info")
More information about the Dive4Elements-commits
mailing list