Transactional Modelling Workbench [message #1792188] |
Thu, 12 July 2018 08:33  |
Eclipse User |
|
|
|
Hi,
I am relatively new to Sirius and EMF in general and I think I am a bit confused here.
I followed the tutorials to build my own modelling workbench and everything seems to work fine so far.
Now I would like to move on to the advanced stuff and one of my requirements is to build a transactional modelling workbench.
What I have: A workbench that can be used to create diagrams from the tools I have designed.
What I'm trying to do: Add transactional capabilities to my workbench, so when I make changes to a node in one of my diagrams, the tool should check if there are any transactional dependencies and make the changes (a sample scenario: delete one node from a related diagram that was created in the same Sirius project, if a certain node has been deleted from the current diagram).
Is this possible in Sirius? If yes, it would be great to have some pointers in this direction.
The problem is I don't understand where I should start with writing a transaction in Sirius, or if it is even to be done there?
Lastly, thank you for the Sirius framework... it has been really great so far :) !
|
|
|
Re: Transactional Modelling Workbench [message #1792339 is a reply to message #1792188] |
Mon, 16 July 2018 05:08  |
Eclipse User |
|
|
|
Hello, thanks for your enthusiasm!
The way I would do that in the sample you provide is to edit the "Semantic candidate expression" of your node mapping.
Any node that does not match the expression will be removed automatically.
So in your semantic expression you should creates a Java service if it is too difficult to write it in AQL. This service will return only semantic elements that have their dependencies filled.
So any time you remove a semantic element that breaks some dependencies elswhere, nodes will be removed auto in addition to original one.
Don't hesitate if this does not cover some of your needs.
Regards,
[Updated on: Mon, 16 July 2018 05:12] by Moderator
|
|
|
Powered by
FUDForum. Page generated in 0.04166 seconds