Package jmri.jmrix.openlcb.swing.eventtable
The event name to/from event ID information is taken from the Event Name table, which
is maintained across the JMRI LCC code. If you e.g. add a name to an event in
a configuration window, it will be updated and automatically be persisted by
the event table, separately from this package. That information is stored
in an eventnames/eventNames.xml file within the current profile directory
by the OlcbEventNameStore class.
The Event Table in this package displays the association between event IDs and their producer and consumer nodes. This information is obtained when the tables "update from network" button is pressed, and automatically updated from traffic on the LCC network.
The event table also displays "also known as" information from multiple sources:
- The well-known eventID names from the LCC standards documentation
- Event ID uses identified in open configuration dialogs
- Event ID uses from configuration dialogs seen in previous runs.
This information is persisted in an eventnames/eventTable.xml file within the
current profile directory by the EventTableDataModel class.
Since the information only changes once the Event Table tool
is open, it is only stored at shutdown if the Event Table has been opened.
The persistence is meant to make the Event Table usable off-line from the main LCC network. This raises several issues that require special handling:
- A user might have different hardware, hence different node IDs, for the
same effective node at two different locations. I.e. they've loaded a node
backup from their club into a different board at home.
To handle this, the table is repopulated using node names if available instead of node IDs, if the node names are available. Priority is given to node name to node ID associations on the current LCC network over those retrieved from the persisted file.
- The prior item means that networks containing multiple nodes with the same name are likely to provide confusing results.
- Since:
- JMRI 5.3.4
- See Also:
-
ClassesClassDescriptionSwing action to create and register a EventTablePane objectDataModel for the table in the EventTablePanePane for displaying a table of relationships of nodes, producers and consumers.Nested class to create one of these using old-style defaultsInternal class to watch OpenLCB traffic