Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [emf-dev] Handling Referential Integrity

Ed
 
Sorry I posted to the wrong place, and thanks for your reply.
 
The current handling of a references has a side effect, of which you may or may not be aware:
 
In the generated editor, it is possible to move a node of a model from one place to another using cut-and-paste (Ctrl-X followed by Ctrl-V). If you do this on a node that is referenced by other parts of the model, the references appear to be intact after the cut-and-paste. However, if you then save and reload the model, the references have gone.
 
I assume this is because the cut is handled as a delete, and the paste as the creation if a new node. So after the cut-and-paste, there are then two versions of the node with identical properties, one visible and one invisible. The references that appear to be intact after the cut-and-paste are actually to the invisible version. This version is removed when you save and reload.
 
This seems to me misleading as a user gets the impression that the cut-and-paste has preserved the references whereas, in fact, it has not.
 
Rgds
Ashley
 
Ashley McNeile
Metamaxim Ltd.
email: ashley.mcneile@xxxxxxxxxxxxx
web: www.metamaxim.com
----- Original Message -----
From: Ed Merks
Sent: Thursday, September 16, 2004 9:41 PM
Subject: Re: [emf-dev] Handling Referential Integrity


Ashely,

My standard answer to questions on the mailing list is to please ask the questions in the newsgroup instead.

Bugzilla https://bugs.eclipse.org/bugs/show_bug.cgi?id=61639 tracks this issue.  We do plan to fix it but just haven't had the time.

The way we plan to go about solving this is to use EcoreUtil.UsageCrossReferencer to find all uses of the deleted object and then to create commands to remove those uses too.


Ed Merks/Toronto/IBM@IBMCA
mailto: merks@xxxxxxxxxx
905-413-3265  (t/l 969)




"Ashley at Metamaxim" <ashley.mcneile@xxxxxxxxxxxxx>
Sent by: emf-dev-admin@xxxxxxxxxxx

09/16/2004 03:40 PM

Please respond to
emf-dev

To
<emf-dev@xxxxxxxxxxx>
cc
Subject
[emf-dev] Handling Referential Integrity





Hi
 
I am a new user of EMF, and am looking for information concerning handling referential integrity in EMF (specifically, in the editor that EMF generates for a model).
 
In April of this year, there was a posting to [news.eclipse.tools.emf] by Sugato Bagchi on this subject.
 
Ed Merks replied to Sugato with:
 
> The model knows nothing about delete; it's not a model concept.  In the editor,
> when you do delete, it just removes the object from its container making it
> unreachable.  It would be very nice for the framework to handle
> cleanup-all-references on delete automatically, wouldn't it?  Feel free to open
> a bugzilla feature request and we'll look into it (but it will take us quite
> some time probably).

 
In the application I am building with EMF, this lack of referential integrity is a problem. At present, if you delete an object in the generated editor, references to it remain intact. However if you then save and reload the model, the references disappear. I don't think that save and reload should cause this kind of change to the state of the model. What I need is for the references to be cleaned up at the time of the delete.
 
I have looked in the EMF bug/desired feature list, but this does not seem to registered as either a bug or a feature request. But maybe it is there, and I just did not look in the right place! What I need to know is:
 
1. Has this been registered as an issue, and are there any plans to fix it?
 
2. If not, where can I get an example of the code I would need to write to handle referential integrity myself?
 
With thanks
Ashley
 
Ashley McNeile
Metamaxim Ltd.
email:
ashley.mcneile@xxxxxxxxxxxxx
web:
www.metamaxim.com

Back to the top