[PATCH] Importer and doc: Warn instead of die if AT- or STA-file is missing for a gauge
Wald Commits
scm-commit at wald.intevation.org
Fri Oct 25 16:57:19 CEST 2013
# HG changeset patch
# User Tom Gottfried <tom at intevation.de>
# Date 1382713035 -7200
# Node ID 82b8bfb472600c493697dadb1fa5314502629360
# Parent 0917a5cd384b254cf4a4423c70f0b031b95ae436
Importer and doc: Warn instead of die if AT- or STA-file is missing for a gauge.
diff -r 0917a5cd384b -r 82b8bfb47260 backend/doc/documentation/de/importer-hydr-morph.tex
--- a/backend/doc/documentation/de/importer-hydr-morph.tex Fri Oct 25 14:32:11 2013 +0200
+++ b/backend/doc/documentation/de/importer-hydr-morph.tex Fri Oct 25 16:57:15 2013 +0200
@@ -65,10 +65,10 @@
kann diese Option erst genutzt werden, wenn sich das Gewässer bereits
in der Datenbank befindet.
-\subsubsection{Pegel-Stammdaten (*.glt, *.at und *.sta-Dateien)}
+\subsubsection{Pegel-Stammdaten (PEGEL.GLT, *.at und *.sta-Dateien)}
Der Import von Pegel- und Stammdaten kann mit \textbf{'-Dflys.backend.importer.skip.gauges=true'}
-unterdrückt werden. Die *.glt-Datei, die neben der Basis-*.wst-Datei liegt, wird zuerst
-ausgelesen. Es werden nur Stammdaten von Pegeln geladen, die in der .glt-Datei
+unterdrückt werden. Die PEGEL.GLT-Datei, die neben der Basis-*.wst-Datei liegt, wird zuerst
+ausgelesen. Es werden nur Stammdaten von Pegeln geladen, die in der PEGEL.GLT-Datei
vermerkt sind.
Die System-Property \textbf{flys.backend.main.value.types} kann einen String
@@ -525,6 +525,10 @@
\textbf{cannot read gauges from 'XYZ'}
\\Die Pegelgültigkeiten können nicht gelesen werden.
+\textbf{'XYZ' does not exist. Gauge ignored.}
+\\Ein in PEGEL.GLT gegebener Pegel wird ignoriert,
+weil die gegebene *.sta- oder *.at-Datei nicht vorhanden ist.
+
\textbf{HYK file 'XYZ' seems to be a duplicate.}
\\Die HYK-Datei wurde unter anderem Namen aber gleichen Inhalts bereits
gefunden.
diff -r 0917a5cd384b -r 82b8bfb47260 backend/src/main/java/org/dive4elements/river/importer/parsers/AtFileParser.java
--- a/backend/src/main/java/org/dive4elements/river/importer/parsers/AtFileParser.java Fri Oct 25 14:32:11 2013 +0200
+++ b/backend/src/main/java/org/dive4elements/river/importer/parsers/AtFileParser.java Fri Oct 25 16:57:15 2013 +0200
@@ -8,6 +8,7 @@
package org.dive4elements.river.importer.parsers;
+import java.io.FileNotFoundException;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
@@ -142,6 +143,9 @@
catch (NumberFormatException pe) {
logger.warn("AT: invalid number " + pe.getMessage());
}
+ catch (FileNotFoundException fnfe) {
+ logger.error(fnfe.getMessage());
+ }
finally {
if (br != null) {
br.close();
diff -r 0917a5cd384b -r 82b8bfb47260 backend/src/main/java/org/dive4elements/river/importer/parsers/PegelGltParser.java
--- a/backend/src/main/java/org/dive4elements/river/importer/parsers/PegelGltParser.java Fri Oct 25 14:32:11 2013 +0200
+++ b/backend/src/main/java/org/dive4elements/river/importer/parsers/PegelGltParser.java Fri Oct 25 16:57:15 2013 +0200
@@ -97,7 +97,17 @@
log.debug("\tat: " + atFile);
}
- gauges.add(new ImportGauge(range, staFile, atFile));
+ if (staFile.exists() && atFile.exists()) {
+ gauges.add(new ImportGauge(range, staFile, atFile));
+ }
+ else {
+ if (!staFile.exists()) {
+ log.warn(staFile + " does not exist. Gauge ignored.");
+ }
+ if (!atFile.exists()) {
+ log.warn(atFile + " does not exist. Gauge ignored.");
+ }
+ }
}
}
finally {
diff -r 0917a5cd384b -r 82b8bfb47260 backend/src/main/java/org/dive4elements/river/importer/parsers/StaFileParser.java
--- a/backend/src/main/java/org/dive4elements/river/importer/parsers/StaFileParser.java Fri Oct 25 14:32:11 2013 +0200
+++ b/backend/src/main/java/org/dive4elements/river/importer/parsers/StaFileParser.java Fri Oct 25 16:57:15 2013 +0200
@@ -10,6 +10,7 @@
import java.io.File;
import java.io.IOException;
+import java.io.FileNotFoundException;
import java.io.LineNumberReader;
import java.io.FileInputStream;
import java.io.InputStreamReader;
@@ -51,12 +52,13 @@
File file = gauge.getStaFile();
log.info("parsing STA file: " + file);
- LineNumberReader in =
- new LineNumberReader(
- new InputStreamReader(
- new FileInputStream(file), ENCODING));
+ LineNumberReader in = null;
try {
+ in = new LineNumberReader(
+ new InputStreamReader(
+ new FileInputStream(file), ENCODING));
+
String line = in.readLine();
if (line == null) {
@@ -186,8 +188,14 @@
gauge.setNamedMainValues(namedMainValues);
gauge.setMainValues(mainValues);
}
+ catch (FileNotFoundException fnfe) {
+ log.error(fnfe.getMessage());
+ return false;
+ }
finally {
- in.close();
+ if (in != null) {
+ in.close();
+ }
}
log.info("finished parsing STA file: " + file);
return true;
More information about the Dive4elements-commits
mailing list