feat: single transaction for each backend operation (RDFA-355)#119
feat: single transaction for each backend operation (RDFA-355)#119rema-soptim wants to merge 8 commits into
Conversation
4049065 to
68ca978
Compare
68ca978 to
6285b13
Compare
| this.usedRewindables = | ||
| List.of( | ||
| new NamedRewindable("rdf", rdfGraph), | ||
| new NamedRewindable("shacl", customSHACL)); |
There was a problem hiding this comment.
DiagramLayoutDelta not used in usedRewindables. So undo, redo, restoreToVersion never call diagramLayout.undo()/redo(). Leaving stale layout data for deleted classes, and after the class reappears still has its old layout entry.
There was a problem hiding this comment.
This is the current behaviour, since we have not discussed a proper "new" behaviour i suggest, we should keep this for now.
0385eec to
fb24ae1
Compare
| public void replaceOldest(ChangeLogEntry entry) { | ||
| checkWriteTransaction(); | ||
| pendingMutations.add( | ||
| () -> { | ||
| undoStack.removeLast(); | ||
| undoStack.addLast(entry); | ||
| redoStack.clear(); | ||
| }); | ||
| } |
There was a problem hiding this comment.
RDFGraphDelta caps the version history (default 256), but ChangeLog's undo/redo stacks are never trimmed.
The method for it (ChangeLog.replaceOldest(...)) is only called from tests, never in the code. So canUndo() keeps reporting true after the graph has already dropped the underlying deltas.
There was a problem hiding this comment.
Removed method, its intended, that the version history is not trimmed even though changes cannot be resorted anymore.
7bc16fa to
de45f86
Compare
… refactoring - introduced GraphContext and VersionControl interfaces - moved undo/redo/restore from DatabasePort into VersionControl (part of GraphContext) - improved changelog messages and fixed transaction bugs - replaced string UUIDs with actual UUID class - added DL initialization for fetch-from-database graphs - fixed bug where exporting was not possible - fixed bug where associations couldn't be restored in changelog Fix property shapes for DanglingReferences and IdentofiedObject to use correct path and targetSubjectsOf instead of sh:targetNode
045a351 to
18ed6d3
Compare
Description
Test Checklist
General Behavior
Global MenuBar
Welcome Page
Editor - MenuBar
Editor - Navigation
Editor - Package View
Editor - Class Editor
Prefixes Page
Changelog Page
Compare Page