feat(fls): Java's view of the e-mail programs
The Java view now reads what FILIUS 2.14 keeps for its e-mail programs: the server's domain, switch and bean accounts with their mailboxes, and the accounts of /mailserver/konten.txt, which Java reads at every simulation start and which so win over the bean list; the client's three folders and address book, and its account from /konten.txt (no bean holds it). javaEmail.ts ports the bean setters and both file readers (stringZuListeBenutzerkonten, EmailKonto(String)); javaString.ts Java's trim, split and StringTokenizer; javaFileSystem.ts the file lookup, now shared with the DNS server, with the four non-ASCII units Java's equalsIgnoreCase also takes for an ASCII letter (measured over the BMP). Checked against Java on the corpus (the oracle dumps the e-mail state) and on 43 account files read by EmailServer.kontenLaden and EmailAnwendung.laden (EmailFileCases). Found: older files keep recipients as strings in the typed lists; a getter copy of the sender is filled and set back; one short server line makes Java throw for the whole file; a message with an empty text is lost on reading; a broken last client line empties the account. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -33,7 +33,7 @@ virtuellen Bildschirm statt „headless".
|
||||
eigenen Vorlagen, sie stehen nicht in der Datei) und die installierten
|
||||
Programme eines Rechners mit ihren Einstellungen (Klassen, die Filius
|
||||
nicht mitbringt — eigene Anwendungen im Archiv unter `projekt/anwendungen`
|
||||
— fehlen, weil das Werkzeug nur `konfiguration.xml` lädt); Kabel (Enden als Gerät/Schnittstelle),
|
||||
— fehlen, weil das Werkzeug nur `konfiguration.xml` lädt); E-Mail: Konten des Servers aus der Bean-Liste und aus `/mailserver/konten.txt` (`kontenLaden`), Ordner und Adressbuch des Clients und sein Konto aus `/konten.txt` (`laden`); Kabel (Enden als Gerät/Schnittstelle),
|
||||
Doku-Elemente.
|
||||
Systemsoftware, Dateisysteme und Anwendungen folgen schrittweise.
|
||||
|
||||
@@ -77,3 +77,16 @@ Zeilen nur LF; ein Name, den Javas Muster ablehnt (`1und1.de`, `müller.de`),
|
||||
wird leer, der Eintrag bleibt trotzdem; Typen außer A/MX/NS (auch `a`,
|
||||
`CNAME`, eine Kommentarzeile) gelten als gültig; eine TTL, die kein `int`
|
||||
ist, wird still 3600.
|
||||
|
||||
## E-Mail-Kontodateien
|
||||
|
||||
`EmailFileCases server|client` legt für jede Zeile von
|
||||
`packages/fls/test/email-server.cases.txt` bzw. `email-client.cases.txt`
|
||||
einen Rechner mit dieser Datei an (`/mailserver/konten.txt` bzw.
|
||||
`/konten.txt`) und schreibt, welche Konten `EmailServer.kontenLaden()` bzw.
|
||||
`EmailAnwendung.laden()` daraus machen. Gemessen: Eine einzige Serverzeile
|
||||
mit weniger als fünf Feldern lässt Java die ganze Datei verwerfen
|
||||
(`NoSuchElementException` — die Simulation startet nicht); leere Felder
|
||||
überspringt Java, statt sie zu zählen; eine Nachricht mit leerem Text geht
|
||||
verloren, weil `split` leere Felder am Ende abschneidet. Beim Client gewinnt
|
||||
die letzte Zeile, auch eine kaputte, die das Konto leert.
|
||||
|
||||
Reference in New Issue
Block a user