feat(fls): write the topology of a .fls, loaded by Java as the original
topologyWriter.ts writes konfiguration.xml from Java's view of a project: the version line, the node items (label position, device with name, host label flags, interfaces or ports), the cable items and the documentation items. What a device's constructor makes is changed through getters, as XMLEncoder does, and more is added; fewer than it makes set the list anew. Cable ends name the port objects the getters return (the writer now names a getter's result, <void id="Port0" property="port"/>), and each cable carries the nodes the editor draws it between. Checked by Java against Java: every corpus file, read and written again, loads in Java FILIUS (the oracle's loading method, --sha256 ties its result to the written bytes) to the same devices, names, positions, interfaces, cables and documentation as the original; so does a synthetic topology with what the corpus never sets. The oracle and the reader now also report a cable's drawing ends (JCablePanel ziel1/ziel2): in the corpus the nodes it joins, for all 183 cables. Mutation probes rewrite the files and let Java load each mutant. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -85,6 +85,17 @@ 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.
|
||||
|
||||
## Was Java aus unseren Dateien lädt
|
||||
|
||||
`run.sh` lädt auch die Dateien unter `packages/fls/test/written/`, die
|
||||
`topologyWriter.test.ts` mit `UPDATE_WRITTEN=1` schreibt (nicht
|
||||
eingecheckt), mit derselben Lademethode wie den Korpus, und schreibt
|
||||
`packages/fls/test/written.java.json` samt SHA-256 jeder Datei
|
||||
(`--sha256`), damit der Test merkt, wenn der Befund nicht mehr zur Ausgabe
|
||||
passt. Je Kabel steht auch `panel`: die Geräte, zwischen denen die
|
||||
Oberfläche es zeichnet (`JCablePanel.ziel1/ziel2`) — im Korpus bei allen 183
|
||||
Kabeln die Geräte, die es verbindet.
|
||||
|
||||
## Was Java aus unserem XML macht
|
||||
|
||||
`BeansDump` liest jede `*.xml` unter `packages/fls/test/beans/` mit
|
||||
|
||||
Reference in New Issue
Block a user