Files
mdg-filius/packages/fls/test/beans/beans.java.json
T
julian.kiedaischandClaude Opus 5.5 facad5843e feat(fls): write the system software of a .fls, loaded by Java as the original
topologyWriter.ts now sets the system software each device's constructor
makes, through its setters: a switch's SSID and learning time, a host's
SSID, RIP, manual routes, DHCP client and server with static assignments,
static NAT, the modem, and a router's or home router's firewall. The
firewall is reached as XMLEncoder reaches it, through the web server's
`konfig` plug-in: the constructor hangs the same object there and among
the applications, where its key differs (Firewall on a router, NatGateway
on a home router). A switch's SSID the file lacked stays unwritten, so Java
rolls one as it did. Files and applications are later layers.

javaBeansWriter.ts: a call can carry statements on its result (a map's
value changed through get(key)), checked by Java's XMLDecoder in a new
case; a short() helper for Java's short values.

Checked by Java against Java: every corpus file, read and written again,
loads with the same system software (without files and applications) as
the original. The synthetic topology adds what the corpus lacks: a router
firewall switched on with rules of every protocol (one with a null
address), every flag away from its default, a modem with its own port and
target, and a PC's SSID, routes and DHCP server. 16 mutation probes, each
rewritten and loaded by Java, were all caught.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 08:18:52 +00:00

481 lines
9.4 KiB
JSON

{
"arrays.xml": {
"values": [
{
"id": 0,
"class": "[Ljava.lang.String;",
"items": [
{
"string": "a"
},
null,
{
"string": "c"
}
]
},
{
"id": 1,
"class": "[I",
"items": [
{
"int": 0
},
{
"int": 5
}
]
}
],
"errors": []
},
"awt.xml": {
"values": [
{
"rectangle": [
1,
2,
3,
4
]
},
{
"color": [
10,
20,
30,
40
]
}
],
"errors": []
},
"beans.xml": {
"values": [
{
"id": 0,
"class": "filius.software.system.Datei",
"properties": {
"dateiInhalt": {
"string": "a.de. A 3600 1.2.3.4\\u000A"
},
"dateiTyp": {
"string": "text"
},
"name": {
"string": "hosts"
}
}
},
{
"id": 1,
"class": "filius.software.email.EmailKonto",
"properties": {
"benutzername": {
"string": "bob"
},
"emailAdresse": null,
"nachname": {
"string": ""
},
"nachrichten": {
"id": 2,
"class": "java.util.LinkedList",
"items": [
{
"id": 3,
"class": "filius.software.email.Email",
"properties": {
"absender": {
"id": 4,
"class": "filius.software.email.AddressEntry",
"properties": {
"mailAddress": {
"string": "a@x"
},
"name": {
"string": "Alice"
}
}
},
"bcc": {
"id": 5,
"class": "java.util.ArrayList",
"items": []
},
"betreff": {
"string": "Hi"
},
"cc": {
"id": 6,
"class": "java.util.ArrayList",
"items": []
},
"dateReceived": {
"string": ""
},
"delete": false,
"empfaenger": {
"id": 7,
"class": "java.util.ArrayList",
"items": [
{
"id": 8,
"class": "filius.software.email.AddressEntry",
"properties": {
"mailAddress": {
"string": "b@y"
},
"name": null
}
}
]
},
"neu": false,
"text": {
"string": ""
},
"versendet": false
}
}
]
},
"passwort": null,
"pop3port": null,
"pop3server": null,
"smtpport": null,
"smtpserver": null,
"vorname": {
"string": ""
}
}
},
{
"id": 9,
"class": "filius.software.email.Kontakt",
"properties": {
"email": null,
"hausnr": {
"int": 12
},
"name": {
"string": "Lang"
},
"plz": {
"int": 0
},
"strasse": null,
"telefon": null,
"vorname": null,
"wohnort": null
}
}
],
"errors": []
},
"collections.xml": {
"values": [
{
"id": 0,
"class": "java.util.Vector",
"items": [
{
"int": 1
},
{
"id": 1,
"class": "java.util.ArrayList",
"items": [
{
"string": "nested"
}
]
}
]
},
{
"id": 2,
"class": "java.util.HashMap",
"entries": [
[
{
"string": "key"
},
{
"int": 8
}
]
]
}
],
"errors": []
},
"constants.xml": {
"values": [
{
"int": 0
}
],
"errors": []
},
"indexed.xml": {
"values": [
{
"id": 0,
"class": "java.util.LinkedList",
"items": [
{
"id": 1,
"class": "filius.software.system.Datei",
"properties": {
"dateiInhalt": null,
"dateiTyp": null,
"name": {
"string": "renamed"
}
}
},
{
"string": "replaced"
}
]
}
],
"errors": []
},
"numbers.xml": {
"values": [
{
"int": -1
},
{
"int": 2147483647
},
{
"long": "-9007199254740991"
},
{
"long": "9223372036854775807"
},
{
"double": "0.1"
},
{
"double": "-0.0"
},
{
"double": "1.0E300"
},
{
"double": "NaN"
},
{
"double": "-Infinity"
},
{
"float": "1.5"
},
{
"short": -3
},
{
"byte": 127
},
{
"char": 120
},
{
"char": 1
},
true,
false,
null,
{
"class": "java.lang.String"
}
],
"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": "EE:8A:4E:46:17:34"
},
"port": {
"id": 2,
"class": "filius.hardware.Port",
"properties": {}
},
"subnetzMaske": {
"string": "255.255.255.0"
},
"wireless": false
}
},
{
"ref": 2
}
]
}
],
"errors": []
},
"results.xml": {
"values": [
{
"id": 0,
"class": "java.util.HashMap",
"entries": [
[
{
"string": "key"
},
{
"id": 1,
"class": "java.util.ArrayList",
"items": [
{
"string": "first"
},
{
"string": "second"
}
]
}
]
]
}
],
"errors": []
},
"shared.xml": {
"values": [
{
"id": 0,
"class": "java.util.LinkedList",
"items": [
{
"id": 1,
"class": "java.util.ArrayList",
"items": [
{
"string": "shared"
}
]
},
{
"id": 2,
"class": "java.util.ArrayList",
"items": [
{
"string": "other"
}
]
},
{
"ref": 1
},
{
"ref": 2
}
]
},
{
"id": 3,
"class": "filius.software.system.Datei",
"properties": {
"dateiInhalt": {
"string": "a.de. A 3600 1.2.3.4\\u000A"
},
"dateiTyp": {
"string": "text"
},
"name": {
"string": "hosts"
}
}
},
{
"ref": 3
}
],
"errors": []
},
"strings.xml": {
"values": [
{
"id": 0,
"class": "java.util.LinkedList",
"items": [
{
"string": "plain"
},
{
"string": ""
},
{
"string": " spaced "
},
{
"string": "<&>\"'"
},
{
"string": "]]>"
},
{
"string": "tab\\u0009here"
},
{
"string": "line\\u000Abreak"
},
{
"string": "cr\\u000Dhere"
},
{
"string": "crlf\\u000D\\u000Ahere"
},
{
"string": "\\u0000\\u0001\\u001F\\u007F"
},
{
"string": "\\u0085\\u2028\\u2029"
},
{
"string": "\\uFEFFbom"
},
{
"string": "Gr\\u00FC\\u00DFe \\uD83D\\uDE00"
},
{
"string": "lone \\uD800 high"
},
{
"string": "lone \\uDC00 low"
},
{
"string": "\\uFFFE\\uFFFF"
}
]
}
],
"errors": []
}
}