# HG changeset patch # User Sascha L. Teichmann # Date 1345742027 0 # Node ID 976ead36192d6487236962fb3c7b1571e7275c7c # Parent 36edf9a71cbd90aed34590d9ca92b4e1abdf413a backend: Mention backend warnings in importer. flys-backend/trunk@5254 c6561f87-3c4e-4783-a992-168aeb5c3f6f diff -r 36edf9a71cbd -r 976ead36192d flys-backend/ChangeLog --- a/flys-backend/ChangeLog Thu Aug 23 16:20:45 2012 +0000 +++ b/flys-backend/ChangeLog Thu Aug 23 17:13:47 2012 +0000 @@ -1,3 +1,14 @@ +2012-08-23 Sascha L. Teichmann + + * doc/README.txt: Added warning messages. TODO: More warnings. + + * src/main/java/de/intevation/flys/importer/parsers/PRFParser.java, + src/main/java/de/intevation/flys/importer/parsers/StaFileParser.java, + src/main/java/de/intevation/flys/importer/parsers/PegelGltParser.java, + src/main/java/de/intevation/flys/importer/parsers/AtFileParser.java, + src/main/java/de/intevation/flys/importer/ImportRiver.java: + Made warnings identifiable. + 2012-08-23 Sascha L. Teichmann * doc/README.txt: Added error messages. diff -r 36edf9a71cbd -r 976ead36192d flys-backend/doc/README.txt --- a/flys-backend/doc/README.txt Thu Aug 23 16:20:45 2012 +0000 +++ b/flys-backend/doc/README.txt Thu Aug 23 17:13:47 2012 +0000 @@ -43,6 +43,15 @@ Der Import kann mit '-Dflys.backend.importer.skip.gauges=true' unterdrückt werden. + Wenn "-Dflys.backend.sta.parse.gauge.numbers=true' wird versucht, + die offiziellen Pegelnummern aus den Stammdaten zu extrahieren. + !!! Dies ist mit Vorsicht zu behandeln, denn die meisten STA-Dateien + !!! Enthalten invalide Pegelnummern. + + Die System-Property "flys.backend.main.value.types" kann einen + String mit gültigen Typen von Stamdaten enthalten. Vorbelegt + ist "QWTD". In der Praxis ist "QWD" eine sinnvolle Belegung. + - Basis-Wasserstände (gewaesser.wst-Dateien): Der Import kann mit '-Dflys.backend.importer.skip.wst=true' unterdrückt werden. @@ -90,8 +99,8 @@ TODO SLT: Datenbank-Credentials dokumentieren. -Fehler und Warnungen: ---------------------- +Fehler: +------- - 'error while parsing gew' Die GEW-Datei ist fehlerhaft oder konnte nicht geöffnet werden. @@ -141,12 +150,139 @@ - 'HYK: Error closing file.' Beim Schliessen einer HYK-Datei trat ein Fehler auf. - -TODO SLT: Warnungen aus separater Datei hier hin. +Warnungen: +---------- +- 'annotation type file 'XYZ' is not readable.' + Die Datein XYZ kann nicht gelesen werden. -Betrie : +- 'cannot parse annotation types file.' + Während der Verarbeitung der Annotationsdatei ist Fehler aufgetreten. + +- 'Cannot read directory.' + verzeichnis konnte nicht gelesen werden. + +- 'no official lines wst file found' + Keine Datei mit amtlichen Linien gefunden. + +- 'cannot read fixations wst file directory' + Das Verzeichnis mit den Fixierungen kann nicht gelesen werden. + +- 'cannot read extra longitudinal wst file directory' + Das Verzeichnis mit den zusätzlichen Längsschnitten kann nicht gelesen werden. + +- 'cannot read gauges from 'XYZ'' + Die Pegelgültigkeiten können nicht gelesen werden. + +- 'HYK file 'XYZ' seems to be a duplicate.' + Die HYK-Datei wurde unter anderem Namen aber gleichen Inhalts + bereits gefunden. + +- 'PRF file 'XYZ' seems to be a duplicate.' + Die PRF-Datei wurde unter anderem Namen aber gleichen Inhalts + bereits gefunden. + +- 'Skip invalid SedimentYield: time interval or unit null!' + Eine Sedimentablagerung ist ungültig und wurde ausgelassen. + +- 'skip flow velocity model: No discharge zone specified.' + Da kein Abflussbereich angegeben wurde, wurde das Fliessgeschwindigkeitsmodell ausgelassen. + +- 'skip invalid waterlevel - no unit set!' + Ein einheitenloser Wasserstand wurde ausgelassen. + +- 'Cannot parse time range.' + Das Zeitformat wurde nicht erkannt. + +- 'skip invalid data line #' + Ungültige Datenzeile wurde ausgelassen. + +- 'Error while parsing sq relation row #' + Eine Zeile in der S(Q)-Beziehung ist ungültig. + +- 'GLT: no gauge found in line #' + In der GLT-Datei wurde ein Pegel erwartet, aber nicht gefunden. + +- 'GLT: line # has not enough columns.' + Eine Zeile in der Pegelgültigkeitsdatei hat nicht genug spalten. + +- 'Error while parsing flow velocity values.' +- 'skip invalid data line: #' + Invalide Datenzeile in einer Datei mit einer Fliessgeschwindigkeitsmessung. + +- 'skip invalid waterlevel line: #' +- 'Error while parsing value: #' +- 'Error while parsing station: #' + Invalide Datenzeile in einer Datei mit Wasserstandsdifferenzen. + +- 'skip invalid MainValue part: #' +- 'skip invalid gauge part: #' +- 'Error while parsing Q value: ' +- 'skip invalid data line: #' +- 'Error while parsing flow velocity values.' + Invalide Datenzeile in einer Datei Fliessgeschwindigkeitsmodellen. + +- 'Error while parsing number from data row: #' + TODO INGO + +- 'Unknown meta line: #' +- 'Error while parsing numbers in: #' +- 'skip invalid data line: #' +- 'Error while parsing numbers in #' + Invalide Datenzeile in einer Datei mit Sedimentdichten. + +- 'STA file is empty' +- 'STA file has not enough lines' +- 'STA file is too short' + Stammdatendatei ist leer oder hat zu wenige Zeilen. + +- 'First line in STA file is too short.' + Die erste Zeile der Stammdaten ist zu kurz. + +- 'STA: second line is too short' + Die zweite Zeile ist zu kurz. + +- 'STA: parsing of the datum of the gauge failed' + +- 'STA: 'XYZ' is not a valid long number.' + Die Pegelnummer ist invalide. + +- 'STA: Not enough columns for aeo and datum. + AEO und Pegelnullpunkt können nicht ermittelt werden. + +- 'STA: cannot parse aeo or datum.' + AEO oder Pegelnullpunkt sind invalide. + +- 'STA: value not parseable in line #' + Wert ist nicht als Zahl zu interpretieren. + +- 'PRF: cannot open file ' + Die PRF kann nicht geöffnet werden. + +- PRF: file is empty +- PRF: First line does not look like a PRF data pattern. +- PRF: premature EOF. Expected integer in line 2 +- PRF: Expected in line 2 +- PRF: invalid integer in line 2 +- PRF: premature EOF. Expected pattern for km extraction +- PRF: line 4 does not look like a PRF km extraction pattern. +- PRF: premature EOF. Expected skip row count. +- PRF: line 5 is not an positive integer. +- PRF: cannot extract km in line # + Das PRF-Format ist komplex. Hier sollten weitere Information + zur genaueren Analyse herangezogen werden. + +- 'cannot access WST file ' + Die WST-Datei konnte nicht gefunden werden. + +- 'Found an invalid row in the AT file.' + Eine Zeile in einer AT-Datei ist nicht korrekt. + +- 'AT: invalid number ' + Eine Zahl wurde erwartet aber nicht gefunden. + +Betrieb: -------- Der Speicherverbrauch des Importers ist sehr hoch. Es ist empfehlenswert, diff -r 36edf9a71cbd -r 976ead36192d flys-backend/src/main/java/de/intevation/flys/importer/ImportRiver.java --- a/flys-backend/src/main/java/de/intevation/flys/importer/ImportRiver.java Thu Aug 23 16:20:45 2012 +0000 +++ b/flys-backend/src/main/java/de/intevation/flys/importer/ImportRiver.java Thu Aug 23 17:13:47 2012 +0000 @@ -322,7 +322,7 @@ File[] files = sediment.listFiles(); if (files == null) { - log.warn("Cannot parse directory '" + sediment + "'"); + log.warn("Cannot read directory '" + sediment + "'"); return; } @@ -352,7 +352,7 @@ File[] files = morphDir.listFiles(); if (files == null) { - log.warn("Cannot parse directory '" + morphDir + "'"); + log.warn("Cannot read directory '" + morphDir + "'"); return; } @@ -385,7 +385,7 @@ File[] measureFiles = measureDir.listFiles(); if (modelFiles == null) { - log.warn("Cannot parse directory '" + modelDir + "'"); + log.warn("Cannot read directory '" + modelDir + "'"); } else { FlowVelocityModelParser parser = new FlowVelocityModelParser(); @@ -399,7 +399,7 @@ } if (measureFiles == null) { - log.warn("Cannot parse directory '" + measureDir + "'"); + log.warn("Cannot read directory '" + measureDir + "'"); } else { FlowVelocityMeasurementParser parser = @@ -435,7 +435,7 @@ SedimentYieldParser parser = new SedimentYieldParser(); if (singles == null || singles.length == 0) { - log.warn("Cannot parse directory '" + singleDir + "'"); + log.warn("Cannot read directory '" + singleDir + "'"); } else { for (File file: singles) { @@ -451,7 +451,7 @@ } if (epochs == null || epochs.length == 0) { - log.warn("Cannot parse directory '" + epochDir + "'"); + log.warn("Cannot read directory '" + epochDir + "'"); } else { for (File file: epochs) { @@ -564,7 +564,7 @@ File[] files = dir.listFiles(); if (files == null) { - log.warn("Cannot parse directory '" + dir + "'"); + log.warn("Cannot read directory '" + dir + "'"); return; } @@ -584,7 +584,7 @@ File[] files = dir.listFiles(); if (files == null) { - log.warn("Cannot parse directory '" + dir + "'"); + log.warn("Cannot read directory '" + dir + "'"); return; } diff -r 36edf9a71cbd -r 976ead36192d flys-backend/src/main/java/de/intevation/flys/importer/parsers/AtFileParser.java --- a/flys-backend/src/main/java/de/intevation/flys/importer/parsers/AtFileParser.java Thu Aug 23 16:20:45 2012 +0000 +++ b/flys-backend/src/main/java/de/intevation/flys/importer/parsers/AtFileParser.java Thu Aug 23 17:13:47 2012 +0000 @@ -132,7 +132,7 @@ } } catch (NumberFormatException pe) { - logger.warn(pe.getMessage()); + logger.warn("AT: invalid number " + pe.getMessage()); } finally { if (br != null) { diff -r 36edf9a71cbd -r 976ead36192d flys-backend/src/main/java/de/intevation/flys/importer/parsers/PRFParser.java --- a/flys-backend/src/main/java/de/intevation/flys/importer/parsers/PRFParser.java Thu Aug 23 16:20:45 2012 +0000 +++ b/flys-backend/src/main/java/de/intevation/flys/importer/parsers/PRFParser.java Thu Aug 23 17:13:47 2012 +0000 @@ -234,7 +234,7 @@ public boolean parse(File file) { if (!(file.isFile() && file.canRead())) { - log.warn("cannot open file '" + file + "'"); + log.warn("PRF: cannot open file '" + file + "'"); return false; } @@ -267,14 +267,14 @@ String line = in.readLine(); if (line == null || (line = line.trim()).length() == 0) { - log.warn("file is empty."); + log.warn("PRF: file is empty."); return false; } Matcher m = DATA_PATTERN.matcher(line); if (!m.matches()) { - log.warn("First line does not look like a PRF data pattern."); + log.warn("PRF: First line does not look like a PRF data pattern."); return false; } @@ -282,25 +282,25 @@ if ((line = in.readLine()) == null || (line = line.trim()).length() == 0) { - log.warn("premature EOF. Expected integer in line 2"); + log.warn("PRF: premature EOF. Expected integer in line 2"); return false; } try { if (Integer.parseInt(line) != dataFormat.maxRepetitions) { - log.warn("Expected " + + log.warn("PRF: Expected " + dataFormat.maxRepetitions + " in line 2"); return false; } } catch (NumberFormatException nfe) { - log.warn("invalid integer in line 2", nfe); + log.warn("PRF: invalid integer in line 2", nfe); return false; } if ((line = in.readLine()) == null) { log.warn( - "premature EOF. Expected pattern for km extraction"); + "PRF: premature EOF. Expected pattern for km extraction"); return false; } @@ -308,7 +308,7 @@ if (!m.matches()) { log.warn( - "line 4 does not look like a PRF km extraction pattern."); + "PRF: line 4 does not look like a PRF km extraction pattern."); return false; } @@ -316,7 +316,7 @@ if ((line = in.readLine()) == null || (line = line.trim()).length() == 0) { - log.warn("premature EOF. Expected skip row count."); + log.warn("PRF: premature EOF. Expected skip row count."); return false; } @@ -328,7 +328,7 @@ } catch (NumberFormatException nfe) { log.warn( - "line 5 is not an positive integer."); + "PRF: line 5 is not an positive integer."); return false; } @@ -344,7 +344,7 @@ km = kmFormat.extractKm(line); } catch (NumberFormatException iae) { - log.warn("cannot extract km in line + " + in.getLineNumber()); + log.warn("PRF: cannot extract km in line " + in.getLineNumber()); return false; } diff -r 36edf9a71cbd -r 976ead36192d flys-backend/src/main/java/de/intevation/flys/importer/parsers/PegelGltParser.java --- a/flys-backend/src/main/java/de/intevation/flys/importer/parsers/PegelGltParser.java Thu Aug 23 16:20:45 2012 +0000 +++ b/flys-backend/src/main/java/de/intevation/flys/importer/parsers/PegelGltParser.java Thu Aug 23 17:13:47 2012 +0000 @@ -57,7 +57,7 @@ int kmPos = line.indexOf(KM); if (kmPos < 0) { - log.warn("no gauge found in line " + in.getLineNumber()); + log.warn("GLT: no gauge found in line " + in.getLineNumber()); continue; } @@ -68,8 +68,8 @@ String [] parts = line.split("\\s+"); if (parts.length < 4) { - log.warn("line " + in.getLineNumber() - + " has not enough columns"); + log.warn("GLT: line " + in.getLineNumber() + + " has not enough columns."); continue; } diff -r 36edf9a71cbd -r 976ead36192d flys-backend/src/main/java/de/intevation/flys/importer/parsers/StaFileParser.java --- a/flys-backend/src/main/java/de/intevation/flys/importer/parsers/StaFileParser.java Thu Aug 23 16:20:45 2012 +0000 +++ b/flys-backend/src/main/java/de/intevation/flys/importer/parsers/StaFileParser.java Thu Aug 23 17:13:47 2012 +0000 @@ -60,7 +60,7 @@ } if (line.length() < 37) { - log.warn("first line in STA file is too short."); + log.warn("First line in STA file is too short."); return false; } @@ -75,7 +75,7 @@ gaugeNumber = Long.parseLong(gaugeNumberString); } catch (NumberFormatException nfe) { - log.warn("'" + gaugeNumberString + + log.warn("STA: '" + gaugeNumberString + "' is not a valid long number."); } } @@ -91,14 +91,14 @@ String [] values = line.substring(38).trim().split("\\s+", 2); if (values.length < 2) { - log.warn("Not enough columns for aeo and datum"); + log.warn("STA: Not enough columns for aeo and datum."); } try { gauge.setAeo(new BigDecimal(values[0].replace(",", "."))); gauge.setDatum(new BigDecimal(values[1].replace(",", "."))); } catch (NumberFormatException nfe) { - log.warn("cannot parse aeo or datum"); + log.warn("STA: cannot parse aeo or datum."); return false; } @@ -110,7 +110,7 @@ } if (line.length() < 36) { - log.warn("second line is too short"); + log.warn("STA: second line is too short"); return false; } @@ -119,7 +119,7 @@ new BigDecimal(line.substring(29, 36).trim())); } catch (NumberFormatException nfe) { - log.warn("parsing of the datum of the gauge failed"); + log.warn("STA: parsing of the datum of the gauge failed"); return false; } @@ -148,7 +148,7 @@ value = new BigDecimal(m.group(2).replace(",", ".")); } catch (NumberFormatException nfe) { - log.warn("value not parseable in line " + log.warn("STA: value not parseable in line " + in.getLineNumber()); continue; }