Description
The order of nodes is not maintained when a diagram is encoded into JSON. This can lead to unpredictable results when re-loading the diagram, because some aspects of the rendering rely on node ordering (in particular to deal with overlapping nodes).
Steps to reproduce
(non-deterministic)
Create a new class diagram (for example)
Create three class nodes, then three note nodes.
Position the note nodes directly on top of the class nodes
Save the file and close the diagram.
Load the file: some note nodes may now be underneath the class nodes.
Configuration
JetUML Release: 3.5
Additional information
The reliance on the map data structure in the JsonEncoder causes this problem.
Description The order of nodes is not maintained when a diagram is encoded into JSON. This can lead to unpredictable results when re-loading the diagram, because some aspects of the rendering rely on node ordering (in particular to deal with overlapping nodes).
Steps to reproduce (non-deterministic)
Configuration
Additional information The reliance on the map data structure in the
JsonEncoder
causes this problem.