// Einträge auf Gültigkeit prüfen public void validateValues(DatenFelder d) { if (d.get(LFDNR).trim().equals("")) return; // überspringen, da leere Keys ohnehin nicht hinzugefügt werden d.set(LFDNR, EfaUtil.getLfdNr(d.get(LFDNR))); TMJ tmj = EfaUtil.correctDate(d.get(DATUM), 1, 1, 1970); d.set(DATUM, tmj.tag + "." + tmj.monat + "." + tmj.jahr); d.set(BOOTSKM, EfaUtil.zehntelInt2String(EfaUtil.zehntelString2Int(d.get(BOOTSKM)))); d.set(MANNSCHKM, EfaUtil.zehntelInt2String(EfaUtil.zehntelString2Int(d.get(MANNSCHKM)))); }
// Dateiformat überprüfen, ggf. konvertieren public boolean checkFileFormat() { String s; try { s = freadLine(); if (s == null || !s.trim().startsWith(kennung)) { // KONVERTIEREN: 135 -> 190 if (s != null && s.trim().startsWith(KENNUNG135)) { // @efa1 if (Daten.backup != null) Daten.backup.create(dat,Efa1Backup.CONV,"135"); iniList(this.dat, 36, 1, true); // Rahmenbedingungen von v1.9.0 schaffen if (!readEinstellungen()) return false; try { while ((s = freadLine()) != null) { s = s.trim(); if (s.equals("") || s.startsWith("#")) continue; // Kommentare ignorieren DatenFelder d = constructFields(s); String fa = d.get(FAHRTART); if (fa.length() == 0) { fa = EfaTypes.TYPE_SESSION_NORMAL; } else { fa = Daten.efaTypes.getTypeForValue(EfaTypes.CATEGORY_SESSION, d.get(FAHRTART)); if (fa != null && fa.equals(EfaTypes.TYPE_SESSION_TOUR)) { // Bugfix: Als Fahrtart war "Mehrtagesfahrt" eingetragen; dies ist in efa2 // ein vorbelegter Begriff. Wenn wir das jetzt zu "TOUR" ändern, geht der // Name der Mehrtagesfahrt verloren, und damit die Metadaten. // Statt dessen müssen wir ein "TOUR:Mehrtagesfahrt" daraus machen! fa = EfaTypes.TYPE_SESSION_TOUR + ":" + d.get(FAHRTART); } if (fa == null && Daten.efaTypes.isConfigured( EfaTypes.CATEGORY_SESSION, EfaTypes.TYPE_SESSION_TOUR)) { if (d.get(FAHRTART).startsWith("Mehrtagesfahrt: konfigurieren!!")) { fa = CONFIGURE_MTOUR + d.get(FAHRTART).substring("Mehrtagesfahrt: konfigurieren!!".length()); } else { fa = EfaTypes.TYPE_SESSION_TOUR + ":" + d.get(FAHRTART); } } } if (fa == null) { fa = EfaTypes.TYPE_SESSION_NORMAL; /* // @efa1 Logger.log(Logger.ERROR, Logger.MSG_CSVFILE_ERRORCONVERTING, getFileName() + ": " + International.getMessage("Fehler beim Konvertieren von Eintrag '{key}'!",constructKey(d)) + " " + International.getMessage("Unbekannte Eigenschaft '{original_property}' korrigiert zu '{new_property}'.", d.get(FAHRTART), Daten.efaTypes.getValue(EfaTypes.CATEGORY_SESSION, fa))); */ } d.set(FAHRTART, fa); add(d); } } catch (IOException e) { errReadingFile(dat, e.getMessage()); return false; } kennung = KENNUNG190; if (closeFile()) { infSuccessfullyConverted(dat, kennung); s = kennung; } else errConvertingFile(dat, kennung); } // FERTIG MIT KONVERTIEREN if (s == null || !s.trim().startsWith(KENNUNG190)) { errInvalidFormat(dat, EfaUtil.trimto(s, 20)); fclose(false); return true; } } } catch (IOException e) { errReadingFile(dat, e.getMessage()); return false; } return true; }