Hello!

I have already started the following discussion in the Eclipse Community Forum 
(https://www.eclipse.org/forums/index.php/t/1026855/), but Michael Jastram 
suggested to continue it in the dev list, as not every dev may read the forum.

Here is what the discussion is about:


I have just upgraded to version 0.11 and observed, that the behavior of dealing 
with identifiers has changed. I used to manually set identifiers for 
SpecObjects, SpecTypes and other elements. Is this still possible?
In my observation, it results in some problems.

Consider the following code:

Code: [Select all] [Show/ hide]
SpecObjectType result = ReqIF10Factory.eINSTANCE.createSpecObjectType();
result.setIdentifier("myIdentifier");

// New identifier will be assigned automatically
documentRoot.getCoreContent().getSpecTypes().add(result);
String newRandomIdentifier = result.getIdentifier();

// It's ok, the Identifier can still be set later
result.setIdentifier("myIdentifier");


When adding an element, like a SpecObjectType to a parent, it results in 
automatically setting a new identifier now. After observing this, i thought i 
will just change my code to set the identifier after adding an element to a 
parent. 
It looked fine at first glance and the identifier attribute of the object was 
never changed later.
But when creating references from other elements to the object, for instance a 
reference from a SpecObject to the SpecObjectType above, it results in errors 
when persisting the model to a XMI file.

Inside the XMI file, in the example above the SpecObjectType will be persisted 
with the correct identifier="myIdentifier", but all the elements who have a 
reference to it, still use the identifier for the reference as it is 
automatically created. Setting the identifier does not affect this at all.
The same seems to apply to other element as well.

Code: [Select all] [Show/ hide]
...
<SPEC-OBJECT-TYPE IDENTIFIER="myIdentifier" ...>
...

<SPEC-OBJECT>
  <TYPE>
     <SPEC-OBJECT-TYPE-REF> "randomIdentifier" </SPEC-OBJECT-TYPE-REF>
  </TYPE>
</SPEC-OBJECT>



The question to this topic is: Is this behavior intended or is this a bug?
Is it not possible anymore to set my own identifiers by using the 
setIdentifier() operations?


Michael already responded, that the behavior is intended, as you take advantage 
of EMF keeping an index of all IDs. 

However, is it still possible to set identifiers somehow (and inform EMF about 
updating the index with the IDs) or do i have to deal with it, that I can not 
set the identifier myself?


Btw: Great job with the RMF and ProR :-)


Thank you very much in advance!

Arne




Attachment: signature.asc
Description: Message signed with OpenPGP using GPGMail

_______________________________________________
rmf-dev mailing list
rmf-dev@eclipse.org
To change your delivery options, retrieve your password, or unsubscribe from 
this list, visit
https://dev.eclipse.org/mailman/listinfo/rmf-dev

Reply via email to