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:
@@ -296,6 +296,47 @@
|
||||
],
|
||||
"errors": []
|
||||
},
|
||||
"references.xml": {
|
||||
"values": [
|
||||
{
|
||||
"id": 0,
|
||||
"class": "java.util.LinkedList",
|
||||
"items": [
|
||||
{
|
||||
"id": 1,
|
||||
"class": "filius.hardware.NetzwerkInterface",
|
||||
"properties": {
|
||||
"dns": {
|
||||
"string": ""
|
||||
},
|
||||
"gateway": {
|
||||
"string": ""
|
||||
},
|
||||
"ip": {
|
||||
"string": "10.0.0.1"
|
||||
},
|
||||
"mac": {
|
||||
"string": "8E:A8:7E:96:38:62"
|
||||
},
|
||||
"port": {
|
||||
"id": 2,
|
||||
"class": "filius.hardware.Port",
|
||||
"properties": {}
|
||||
},
|
||||
"subnetzMaske": {
|
||||
"string": "255.255.255.0"
|
||||
},
|
||||
"wireless": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"ref": 2
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"errors": []
|
||||
},
|
||||
"shared.xml": {
|
||||
"values": [
|
||||
{
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<java version="17" class="java.beans.XMLDecoder">
|
||||
<object class="java.util.LinkedList">
|
||||
<void method="add">
|
||||
<object class="filius.hardware.NetzwerkInterface">
|
||||
<void property="ip">
|
||||
<string>10.0.0.1</string>
|
||||
</void>
|
||||
<void id="Port0" property="port"/>
|
||||
</object>
|
||||
</void>
|
||||
<void method="add">
|
||||
<object idref="Port0"/>
|
||||
</void>
|
||||
</object>
|
||||
</java>
|
||||
Reference in New Issue
Block a user