# HG changeset patch # User Tom Gottfried # 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;