# HG changeset patch # User Sascha L. Teichmann # Date 1345823251 0 # Node ID 0d27d02b12088b477e7d6b8726939faacd41dfc1 # Parent 3ea5e835ecce87b18b3f10a402ced5da3d0d594b backend: Completed the error messages of the importer. flys-backend/trunk@5266 c6561f87-3c4e-4783-a992-168aeb5c3f6f diff -r 3ea5e835ecce -r 0d27d02b1208 flys-backend/ChangeLog --- a/flys-backend/ChangeLog Fri Aug 24 14:13:19 2012 +0000 +++ b/flys-backend/ChangeLog Fri Aug 24 15:47:31 2012 +0000 @@ -1,3 +1,20 @@ +2012-08-24 Sascha L. Teichmann + + * doc/README.txt: Completed the error messages (Puh!) + + * src/main/java/de/intevation/flys/importer/ImportBedHeightSingle.java, + src/main/java/de/intevation/flys/importer/ImportWaterlevelDifference.java, + src/main/java/de/intevation/flys/importer/ImportBedHeightEpoch.java, + src/main/java/de/intevation/flys/importer/parsers/BedHeightParser.java, + src/main/java/de/intevation/flys/importer/parsers/BedHeightSingleParser.java, + src/main/java/de/intevation/flys/importer/parsers/AnnotationsParser.java, + src/main/java/de/intevation/flys/importer/parsers/MorphologicalWidthParser.java, + src/main/java/de/intevation/flys/importer/parsers/SedimentYieldParser.java, + src/main/java/de/intevation/flys/importer/parsers/AnnotationClassifier.java, + src/main/java/de/intevation/flys/importer/parsers/WstParser.java, + src/main/java/de/intevation/flys/importer/ImportSQRelation.java: + Made error messages identifiable. + 2012-08-24 Ingo Weinzierl * doc/shapeimporter, diff -r 3ea5e835ecce -r 0d27d02b1208 flys-backend/doc/README.txt --- a/flys-backend/doc/README.txt Fri Aug 24 14:13:19 2012 +0000 +++ b/flys-backend/doc/README.txt Fri Aug 24 15:47:31 2012 +0000 @@ -49,7 +49,7 @@ !!! Enthalten invalide Pegelnummern. Die System-Property "flys.backend.main.value.types" kann einen - String mit gültigen Typen von Stamdaten enthalten. Vorbelegt + String mit gültigen Typen von Stammdaten enthalten. Vorbelegt ist "QWTD". In der Praxis ist "QWD" eine sinnvolle Belegung. - Basis-Wasserstände (gewaesser.wst-Dateien): @@ -98,6 +98,20 @@ TODO SLT: Datenbank-Credentials dokumentieren. +Betrieb: +-------- + + Der Speicherverbrauch des Importers ist sehr hoch. Es ist empfehlenswert, + der JVM mindestens 8GiB Hauptspeicher zuzuordnen: '-Xmx8192m' + Besonders speicherintensiv ist der Import der HYKs und der PRFs. + Hier ist es unter Umständen empfehlenswert, diese in zwei oder drei + Schritten zu importieren. Zuerst die sonstigen hydrologischen Daten + (hierbei mit flys.backend.importer.skip.hyks=true und flys.backend.importer.skip.prfs + den Import der HYKs und PRFs verhindern). Dann die HYKs (mit flys.backend.importer.skip.* + der anderen Daten) und im finalen Schritt dann die PRFs. + +Anhang Fehler und Warnungen: +============================ Fehler: ------- @@ -282,14 +296,126 @@ - 'AT: invalid number ' Eine Zahl wurde erwartet aber nicht gefunden. -Betrieb: --------- +- 'Try to add Q range without waterlevel!' + Q-Bereich ohne Wasserstand gefunden. - Der Speicherverbrauch des Importers ist sehr hoch. Es ist empfehlenswert, - der JVM mindestens 8GiB Hauptspeicher zuzuordnen: '-Xmx8192m' - Besonders speicherintensiv ist der Import der HYKs und der PRFs. - Hier ist es unter Umständen empfehlenswert, diese in zwei oder drei - Schritten zu importieren. Zuerst die sonstigen hydrologischen Daten - (hierbei mit flys.backend.importer.skip.hyks=true und flys.backend.importer.skip.prfs - den Import der HYKs und PRFs verhindern). Dann die HYKs (mit flys.backend.importer.skip.* - der anderen Daten) und im finalen Schritt dann die PRFs. +- 'Error while parsing Q range: #' + Invalider Q-Bereich + +- 'skip invalid waterlevel line: #' + Ungültige Wasserstandslinie + +- 'Error while parsing number values: #' + Ungültige Zahlenwerte. + +- 'ANN: not enough columns in line #' + Nicht genug Zeichenspalten in KM-Datei + +- 'ANN: invalid number in line #' + Ungültige Zahl. + +- 'ANN: cannot parse 'Unterkante' in line #' + Die Unterkante in einer KM-Datei konnte nicht gelesen werden. + +- 'ANN: cannot parse 'Unterkante' or 'Oberkante' in line #' + Unter- oder Oberkannte liegen in einem falschen Format vor. + +- 'ANN: duplicated annotation 'XYZ' in line #' + Ein Duplikat eines Streckenfavoriten wurde gefunden. + +- 'ANN: 'XYZ' is not a directory.' + Unterverzeichnis konnte nicht geöffnet werden. + +- 'ANN: cannot list directory 'XYZ'' + Unterverzeichnis konnte nicht durchsucht werden. + +- 'BHP: Meta line did not match any known type: #' + Unbekannter Typ. + +- 'BHP: Error while parsing timeinterval!' + Ungültiges Zeitinterval. + +- 'BHP: Error while parsing year!' + Ungültige Jahresangabe. + +- 'BHP: Error while parsing sounding width!' + Unbekannte Peilungsbreite. + +- 'BHP: Error while parsing range!' + Bereichsangabe fehlerhaft. + +- 'MWP: Unknown meta line: #' + Meta-Informationen ungültig. + +- 'MWP: skip invalid data line: #' + Ungültige Datenzeile wurde übersprungen. + +- 'MWP: Error while parsing numbers in #' + Falsche Zahlenformat. + +- 'ANNCLASS: rule has no name' + Klassifizierungsregel für Streckenfavoriten hat keinen Namen. + +- 'ANNCLASS: pattern has no 'pattern' attribute.' + Klassifizierungsmuster für Streckenfavoriten hat kein Muster. + +- 'ANNCLASS: pattern has unknown type 'XYZ'' + Klassifizierungsmuster für Streckenfavoriten konnte keinem Typ zugeordnet werden. + +- 'ANNCLASS: pattern 'XYZ' is invalid.' + Klassifizierungsmuster für Streckenfavoriten ist ungültig. + +- 'BSP: Error while parsing data row.' + Ungültige Datenzeile. + +- 'SYP: Unknown meta line: #' + Ungültige Metadatenzeile. + +- 'SYP: skip invalid data line #' + Ungültige Datenzeile wurde übersprungen. + +- 'SYP: Error while parsing numbers in #' + Ungültige Zahlenformatierung. + +- 'SYP: Unknown time interval string ' + Falsches Datumformat. + +- 'SYP: Error while parsing years ' + Falsches Jahreszahlformat. + +- 'SYP: Error while parsing ranges of ' + Bereichsangaben fehlerhaft. + +- 'SYP: Unknown grain fraction ' + Unbekannte Kornfraktion. + +- 'WST: invalid number.' + Ungültige Zahl. + +- 'WST: km () found more than once. -> ignored.' + Ein Kilometer ist doppelt in einer WST-Datei enthalten. + +- 'HYK: zone coordinates swapped in line #' + Fliesszonenkordinaten wurden in umgekehrter Reihenfolge angeben. + +- 'BHS: Skip invalid file 'XYZ'' + Die Inhalte der Datei sind ungültig. + +- 'ISQ: Unable to store sq relation value.' + S(Q) Beziehung konnte nicht gespeichert werden. + +- 'ISQ: Cannot determine sq relation without time interval.' + Einer S(Q)-Beziehung ist keine zeitliche Gültigkeit zugeordnet. + +- 'IWD: skip invalid waterlevel difference - no unit set!' + Wasserstandsdifferenz hat keine Einheit. + +- 'BHE: Skip file - invalid current elevation model.' + Höhenmodell ungültig. + +- 'BHE: Skip file - invalid time range.' + Zeitbereich ungültig. + +- 'BHE: Skip file - invalid km range.' + Kilometerbereich ungültig. + diff -r 3ea5e835ecce -r 0d27d02b1208 flys-backend/src/main/java/de/intevation/flys/importer/ImportBedHeightEpoch.java --- a/flys-backend/src/main/java/de/intevation/flys/importer/ImportBedHeightEpoch.java Fri Aug 24 14:13:19 2012 +0000 +++ b/flys-backend/src/main/java/de/intevation/flys/importer/ImportBedHeightEpoch.java Fri Aug 24 15:47:31 2012 +0000 @@ -132,7 +132,7 @@ : null; if (theCurModel == null) { - log.warn("Skip file - invalid current elevation model."); + log.warn("BHE: Skip file - invalid current elevation model."); return null; } @@ -141,14 +141,14 @@ : null; if (theTime == null) { - log.warn("Skip file - invalid time range."); + log.warn("BHE: Skip file - invalid time range."); return null; } Range theRange = range != null ? range.getPeer(river) : null; if (theRange == null) { - log.warn("Skip file - invalid km range."); + log.warn("BHE: Skip file - invalid km range."); return null; } diff -r 3ea5e835ecce -r 0d27d02b1208 flys-backend/src/main/java/de/intevation/flys/importer/ImportBedHeightSingle.java --- a/flys-backend/src/main/java/de/intevation/flys/importer/ImportBedHeightSingle.java Fri Aug 24 14:13:19 2012 +0000 +++ b/flys-backend/src/main/java/de/intevation/flys/importer/ImportBedHeightSingle.java Fri Aug 24 15:47:31 2012 +0000 @@ -139,7 +139,7 @@ Range theRange = range != null ? range.getPeer(river) : null; if (theType == null || theCurModel == null || theRange == null) { - log.warn("Skip invalid file '" + description + "'"); + log.warn("BHS: Skip invalid file '" + description + "'"); return null; } diff -r 3ea5e835ecce -r 0d27d02b1208 flys-backend/src/main/java/de/intevation/flys/importer/ImportSQRelation.java --- a/flys-backend/src/main/java/de/intevation/flys/importer/ImportSQRelation.java Fri Aug 24 14:13:19 2012 +0000 +++ b/flys-backend/src/main/java/de/intevation/flys/importer/ImportSQRelation.java Fri Aug 24 15:47:31 2012 +0000 @@ -51,10 +51,10 @@ count++; } catch (SQLException sqle) { - log.warn("Unable to store sq relation value.", sqle); + log.warn("ISQ: Unable to store sq relation value.", sqle); } catch (ConstraintViolationException cve) { - log.warn("Unable to store sq relation value.", cve); + log.warn("ISQ: Unable to store sq relation value.", cve); } } @@ -69,7 +69,7 @@ TimeInterval timeInter = timeInterval.getPeer(); if (timeInter == null) { - log.warn("Cannot determine sq relation without time interval"); + log.warn("ISQ: Cannot determine sq relation without time interval"); return null; } diff -r 3ea5e835ecce -r 0d27d02b1208 flys-backend/src/main/java/de/intevation/flys/importer/ImportWaterlevelDifference.java --- a/flys-backend/src/main/java/de/intevation/flys/importer/ImportWaterlevelDifference.java Fri Aug 24 14:13:19 2012 +0000 +++ b/flys-backend/src/main/java/de/intevation/flys/importer/ImportWaterlevelDifference.java Fri Aug 24 15:47:31 2012 +0000 @@ -68,7 +68,7 @@ public WaterlevelDifference getPeer(River river) { Unit u = unit != null ? unit.getPeer() : null; if (u == null) { - log.warn("skip invalid waterlevel difference - no unit set!"); + log.warn("IWD: skip invalid waterlevel difference - no unit set!"); return null; } diff -r 3ea5e835ecce -r 0d27d02b1208 flys-backend/src/main/java/de/intevation/flys/importer/parsers/AnnotationClassifier.java --- a/flys-backend/src/main/java/de/intevation/flys/importer/parsers/AnnotationClassifier.java Fri Aug 24 14:13:19 2012 +0000 +++ b/flys-backend/src/main/java/de/intevation/flys/importer/parsers/AnnotationClassifier.java Fri Aug 24 15:47:31 2012 +0000 @@ -92,7 +92,7 @@ Element typeElement = (Element)typeList.item(i); String name = typeElement.getAttribute("name"); if (name.length() == 0) { - log.warn("rule has no name"); + log.warn("ANNCLASS: rule has no name"); continue; } @@ -155,19 +155,19 @@ String type = element.getAttribute("type"); if (pattern.length() == 0) { - log.warn("pattern has no 'pattern' attribute."); + log.warn("ANNCLASS: pattern has no 'pattern' attribute."); return null; } if (type.length() == 0) { - log.warn("pattern has no 'type' attribute."); + log.warn("ANNCLASS: pattern has no 'type' attribute."); return null; } ImportAnnotationType annType = types.get(type); if (annType == null) { - log.warn("pattern has unknown type '" + type + "'"); + log.warn("ANNCLASS: pattern has unknown type '" + type + "'"); return null; } @@ -178,7 +178,7 @@ Pattern.CASE_INSENSITIVE|Pattern.UNICODE_CASE); } catch (IllegalArgumentException iae) { - log.warn("pattern '" + pattern + "' is invalid.", iae); + log.warn("ANNCLASS: pattern '" + pattern + "' is invalid.", iae); return null; } diff -r 3ea5e835ecce -r 0d27d02b1208 flys-backend/src/main/java/de/intevation/flys/importer/parsers/AnnotationsParser.java --- a/flys-backend/src/main/java/de/intevation/flys/importer/parsers/AnnotationsParser.java Fri Aug 24 14:13:19 2012 +0000 +++ b/flys-backend/src/main/java/de/intevation/flys/importer/parsers/AnnotationsParser.java Fri Aug 24 15:47:31 2012 +0000 @@ -81,7 +81,7 @@ String [] parts = line.split("\\s*;\\s*"); if (parts.length < 3) { - log.warn("not enough columns in line " + log.warn("ANN: not enough columns in line " + in.getLineNumber()); continue; } @@ -110,7 +110,7 @@ } } catch (NumberFormatException nfe) { - log.warn("invalid number in line " + in.getLineNumber()); + log.warn("ANN: invalid number in line " + in.getLineNumber()); continue; } @@ -123,7 +123,7 @@ new BigDecimal(parts[3].trim().replace(',', '.'))); } catch (NumberFormatException nfe) { - log.warn("cannot parse 'Unterkante' in line " + + log.warn("ANN: cannot parse 'Unterkante' in line " + in.getLineNumber()); } } @@ -141,7 +141,7 @@ } catch (NumberFormatException nfe) { log.warn( - "cannot parse 'Unterkante' or 'Oberkante' in line " + "ANN: cannot parse 'Unterkante' or 'Oberkante' in line " + in.getLineNumber()); } } @@ -156,7 +156,7 @@ attribute, position, range, edge, type); if (!annotations.add(annotation)) { - log.warn("duplicated annotation '" + parts[0] + + log.warn("ANN: duplicated annotation '" + parts[0] + "' in line " + in.getLineNumber()); } } @@ -173,12 +173,12 @@ for (String toScan: TO_SCAN) { File directory = FileTools.repair(new File(root, toScan)); if (!directory.isDirectory()) { - log.warn("'" + directory + "' is not a directory."); + log.warn("ANN: '" + directory + "' is not a directory."); continue; } File [] files = directory.listFiles(); if (files == null) { - log.warn("cannot list directory '" + directory + "'"); + log.warn("ANN: cannot list directory '" + directory + "'"); continue; } diff -r 3ea5e835ecce -r 0d27d02b1208 flys-backend/src/main/java/de/intevation/flys/importer/parsers/BedHeightParser.java --- a/flys-backend/src/main/java/de/intevation/flys/importer/parsers/BedHeightParser.java Fri Aug 24 14:13:19 2012 +0000 +++ b/flys-backend/src/main/java/de/intevation/flys/importer/parsers/BedHeightParser.java Fri Aug 24 15:47:31 2012 +0000 @@ -192,7 +192,7 @@ return; } else { - log.warn("Meta line did not match any known type: " + line); + log.warn("BHP: Meta line did not match any known type: " + line); } } @@ -208,7 +208,7 @@ return true; } catch (NumberFormatException e) { - log.warn("Error while parsing year!", e); + log.warn("BHP: Error while parsing year!", e); } } @@ -235,7 +235,7 @@ obj.setTimeInterval(new ImportTimeInterval(fromYear, toYear)); } catch (NumberFormatException e) { - log.warn("Error while parsing timeinterval!", e); + log.warn("BHP: Error while parsing timeinterval!", e); } return true; @@ -256,7 +256,7 @@ return true; } catch (NumberFormatException e) { - log.warn("Error while parsing sounding width!", e); + log.warn("BHP: Error while parsing sounding width!", e); } } @@ -314,7 +314,7 @@ return true; } catch (ParseException e) { - log.warn("Error while parsing range!", e); + log.warn("BHP: Error while parsing range!", e); } } diff -r 3ea5e835ecce -r 0d27d02b1208 flys-backend/src/main/java/de/intevation/flys/importer/parsers/BedHeightSingleParser.java --- a/flys-backend/src/main/java/de/intevation/flys/importer/parsers/BedHeightSingleParser.java Fri Aug 24 14:13:19 2012 +0000 +++ b/flys-backend/src/main/java/de/intevation/flys/importer/parsers/BedHeightSingleParser.java Fri Aug 24 15:47:31 2012 +0000 @@ -34,7 +34,7 @@ String[] values = line.split(SEPERATOR_CHAR); if (values == null || values.length < 6) { - //log.warn("Error while parsing data line: '" + line + "'"); + //log.warn("BSP: Error while parsing data line: '" + line + "'"); return; } @@ -52,7 +52,7 @@ obj.addValue(value); } catch (ParseException e) { - log.warn("Error while parsing data row.", e); + log.warn("BSP: Error while parsing data row.", e); } } } diff -r 3ea5e835ecce -r 0d27d02b1208 flys-backend/src/main/java/de/intevation/flys/importer/parsers/MorphologicalWidthParser.java --- a/flys-backend/src/main/java/de/intevation/flys/importer/parsers/MorphologicalWidthParser.java Fri Aug 24 14:13:19 2012 +0000 +++ b/flys-backend/src/main/java/de/intevation/flys/importer/parsers/MorphologicalWidthParser.java Fri Aug 24 15:47:31 2012 +0000 @@ -70,7 +70,7 @@ return; } else { - log.warn("Unknown meta line: '" + line + "'"); + log.warn("MWP: Unknown meta line: '" + line + "'"); } } @@ -94,7 +94,7 @@ String[] vals = line.split(SEPERATOR_CHAR); if (vals == null || vals.length < 2) { - log.warn("skip invalid data line: '" + line + "'"); + log.warn("MWP: skip invalid data line: '" + line + "'"); return; } @@ -111,7 +111,7 @@ )); } catch (ParseException pe) { - log.warn("Error while parsing numbers in '" + line + "'"); + log.warn("MWP: Error while parsing numbers in '" + line + "'"); } } diff -r 3ea5e835ecce -r 0d27d02b1208 flys-backend/src/main/java/de/intevation/flys/importer/parsers/SedimentYieldParser.java --- a/flys-backend/src/main/java/de/intevation/flys/importer/parsers/SedimentYieldParser.java Fri Aug 24 14:13:19 2012 +0000 +++ b/flys-backend/src/main/java/de/intevation/flys/importer/parsers/SedimentYieldParser.java Fri Aug 24 15:47:31 2012 +0000 @@ -144,7 +144,7 @@ return; } else { - log.warn("Unknown meta line: '" + line + "'"); + log.warn("SYP: Unknown meta line: '" + line + "'"); } } @@ -204,7 +204,7 @@ String[] vals = line.split(SEPERATOR_CHAR); if (vals == null || vals.length < columnNames.length-1) { - log.warn("skip invalid data line: '" + line + "'"); + log.warn("SYP: skip invalid data line: '" + line + "'"); return; } @@ -222,7 +222,7 @@ } } catch (ParseException pe) { - log.warn("Error while parsing numbers in '" + line + "':", pe); + log.warn("SYP: Error while parsing numbers in '" + line + "':", pe); } } @@ -260,10 +260,10 @@ return new ImportTimeInterval(getDateFromYear(year)); } - log.warn("Unknown time interval string: '" + column + "'"); + log.warn("SYP: Unknown time interval string: '" + column + "'"); } catch (ParseException pe) { - log.warn("Error while parsing years: " + column, pe); + log.warn("SYP: Error while parsing years: " + column, pe); } return null; @@ -292,7 +292,7 @@ ); } catch (ParseException pe) { - log.warn("Error while parsing ranges of: '" + gfStr + "'"); + log.warn("SYP: Error while parsing ranges of: '" + gfStr + "'"); } } @@ -316,7 +316,7 @@ ); } catch (ParseException pe) { - log.warn("Error while parsing ranges of: '" + gfStr + "'"); + log.warn("SYP: Error while parsing ranges of: '" + gfStr + "'"); } } @@ -347,11 +347,11 @@ } } catch (ParseException pe) { - log.warn("Error while parsing ranges of: '" + gfStr + "'"); + log.warn("SYP: Error while parsing ranges of: '" + gfStr + "'"); } } - log.warn("Unknow grain fraction: '" + gfStr + "'"); + log.warn("SYP: Unknow grain fraction: '" + gfStr + "'"); return null; } @@ -377,7 +377,7 @@ return GrainFraction.SUSPENDED_SEDIMENT; } else { - log.warn("Unknown grain fraction type: '" + filename + "'"); + log.warn("SYP: Unknown grain fraction '" + filename + "'"); return "unknown"; } } diff -r 3ea5e835ecce -r 0d27d02b1208 flys-backend/src/main/java/de/intevation/flys/importer/parsers/WstParser.java --- a/flys-backend/src/main/java/de/intevation/flys/importer/parsers/WstParser.java Fri Aug 24 14:13:19 2012 +0000 +++ b/flys-backend/src/main/java/de/intevation/flys/importer/parsers/WstParser.java Fri Aug 24 15:47:31 2012 +0000 @@ -132,7 +132,7 @@ lsBezeichner = new String[columnCount]; } catch (NumberFormatException nfe) { - log.warn(nfe); + log.warn("WST: invalid number.", nfe); continue; } first = false; @@ -267,7 +267,7 @@ if (!kms.add(kaem)) { log.warn( - "km " + kaem + + "WST: km " + kaem + " (line " + in.getLineNumber() + ") found more than once. -> ignored"); continue;