feat: Copy paste of classes (RDFA-381)#93
Conversation
…-Paste-of-classes # Conflicts: # backend/src/main/java/org/rdfarchitect/services/update/classes/UpdateClassService.java
Signed-off-by: Philipp Kirchner <philipp.kirchner@soptim.de>
Signed-off-by: Jan-Hendrik Spahn <jan-hendrik.spahn@soptim.de>
…-Paste-of-classes # Conflicts: # backend/src/main/java/org/rdfarchitect/database/inmemory/InMemoryDatabaseAdapter.java # backend/src/main/java/org/rdfarchitect/services/select/QueryGraphService.java # backend/src/main/java/org/rdfarchitect/services/update/classes/UpdateClassService.java # backend/src/main/java/org/rdfarchitect/services/update/classes/associations/AssociationsService.java # backend/src/main/java/org/rdfarchitect/services/update/classes/attributes/AttributesService.java # backend/src/main/java/org/rdfarchitect/services/update/packages/UpdatePackageService.java # backend/src/test/java/org/rdfarchitect/services/update/UpdateClassServiceTest.java # frontend/src/lib/api/backend.js # frontend/src/routes/layout/menu-bar/Edit.svelte
rema-soptim
left a comment
There was a problem hiding this comment.
These are mostly changes for readability. Testing is yet to be done.
There was a problem hiding this comment.
-
The paste action pastes the class in a new package without the "package_" prefix, regardless if the original package has the prefix or not
-
When pasting a class with an association, that already exists, the association breaks. E.g. pasting IdentifiedObject and DiagramObject from the DL-profile to a new empty schema. For some reason this only happens, when pasting the IdentifiedObject first.
-
A similar bug happens, when pasting DiagramObject, then Diagram, then a DiagramObject again. This is probably the same bug, as described before, but i'm not 100% sure how and under what circumstances the paste with association works and when it doesn't
-
When a class does not exist in a graph, but is referenced as external and then is pasted, its pasted as a copy not as original, also its not possible to rename it to the original name, since its flagged as "must be unique".
-
When pasting a class with associations to a class that does not exists yet in the schema, there are faulty api calls for GET /datasets/.../graphs/.../classes/... on each reload of the class
-
the " - Copy" suffix adds spaces which are stored in the uri like this: "\u0020-\u0020Copy" This works, but i feel like spaces in class names should not be allowed or at least not encouraged?
-
"Copied class Diagram from DiagramLayout to no package as Diagram - Copy with attributes with associations" I think, when pasting to "no package" it should be "default package" instead to keep naming uniform. Also "Copy with attributes with associations" sounds strange, i think the last part should reflect the paste options, (without attributes, associations, bare), Also would it maybe make sense to add the dataset and graph name? this could result in a very long changelog message so im not sure about this.
-
ctrl-c, ctrl-v would be nice, but maybe this should be moved to the [RDFA-365] "Keyboard shortcuts" ticket, since i the behaviour of when to copy what, might not be trivial and would require some discussion.
-
There is no paste without enum entries, is this intentional? The option doesn't really make sense, since it should never
-
pasting into a different dataset/graph changes the selected package but not the dataset/graph. It should either be change all 3 or change none
-
When creating a class there is a package preselected called "nullnulldefault'
-
When nothing is selected "addClass" via the menu bar crashes the website
-
The order of paste and "addClass" is different in the packageNav context menu and the diagram context menu
-
there is no "constraints" option in the diagram class context menu
-
opening constraints via the packageNav class context menu, throws errors
-
Closing the class editor via the close buttons throws an error
-
Delete Class is not recorded in the changelog
-
some external classes are shown as external packages in the search results
Description
Added the option to copy classes and paste them as duplicate or as abstract
Test Checklist
General Behavior
Global MenuBar
Welcome Page
Editor - MenuBar
Editor - Navigation
Editor - Package View
Editor - Class Editor
Prefixes Page
Changelog Page
Compare Page