feat(fls): system software settings as Java loads them
readSystemSoftware adds to each node what the topology needs from its system software: a switch's SSID and learning time, a host's wireless SSID, a router's RIP switch, the manual routes and the firewall of a router or home router. All 23 corpus files match Java. - A router's firewall is one object its constructor hangs in two places; the corpus writes it under the web server's "konfig" plug-in. The places are merged. - The decoder keeps entries a constructor made in a map, reached by get(key) (installed applications), like the elements of a list. - The Java oracle loads every file twice and writes values that differ as null: what FILIUS rolls (MACs, a switch's SSID) without text search. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -1,8 +1,8 @@
|
||||
// The network drawn in a .fls file — devices, cables, documentation items —
|
||||
// read from the decoded JavaBeans graph (javabeans.ts) the way Java FILIUS
|
||||
// loads it (SzenarioVerwaltung.netzwerkLaden). Only the topology: system
|
||||
// software, file systems and applications are later layers, which start
|
||||
// from `FlsNode.source`.
|
||||
// loads it (SzenarioVerwaltung.netzwerkLaden), with the system software
|
||||
// settings the topology needs (systemSoftware.ts). File systems and
|
||||
// applications are later layers, which start from `FlsNode.source`.
|
||||
//
|
||||
// The result is Java's view, indexed like Java's lists, and is checked
|
||||
// against Java itself (corpus.java.json). The editor model (node kinds, UUIDs,
|
||||
@@ -19,6 +19,7 @@
|
||||
|
||||
import { isJavaObject, isUnresolved, listItems, simpleClassName, type JavaObject, type JavaValue } from './javabeans.js';
|
||||
import { javaIpCheck } from './javaIp.js';
|
||||
import { readSystemSoftware, type FlsSystemSoftware } from './systemSoftware.js';
|
||||
|
||||
export type FlsNodeClass = 'Rechner' | 'Notebook' | 'Switch' | 'Vermittlungsrechner' | 'Gateway' | 'Modem';
|
||||
|
||||
@@ -44,6 +45,8 @@ export interface FlsNode {
|
||||
interfaces: FlsInterface[];
|
||||
/** Interfaces, or the ports of a Switch or Modem. */
|
||||
portCount: number;
|
||||
/** SSIDs, routes, RIP, firewall (systemSoftware.ts). */
|
||||
system: FlsSystemSoftware;
|
||||
/** The node's JavaBean (`filius.hardware.knoten.*`), for the software layers. */
|
||||
source: JavaObject;
|
||||
}
|
||||
@@ -191,6 +194,9 @@ class Reader {
|
||||
useMacAsName: info.host && this.booleanProperty(device, 'useMACAsName', `node ${itemIndex + 1}`),
|
||||
interfaces: [],
|
||||
portCount: 0,
|
||||
system: readSystemSoftware(device, simpleName, (message) =>
|
||||
this.warnings.push(`node ${itemIndex + 1}: ${message}`),
|
||||
),
|
||||
source: device,
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user