|Setting Identifier of Elements [message #1650256]
||Wed, 04 March 2015 18:51
| Arne Noyer
Registered: March 2015
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:
SpecObjectType result = ReqIF10Factory.eINSTANCE.createSpecObjectType();
// New identifier will be assigned automatically
String newRandomIdentifier = result.getIdentifier();
// It's ok, the Identifier can still be set later
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.
<SPEC-OBJECT-TYPE IDENTIFIER="myIdentifier" ...>
<SPEC-OBJECT-TYPE-REF> "randomIdentifier" </SPEC-OBJECT-TYPE-REF>
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?
Thank you very much for your help in advance!
Powered by FUDForum
. Page generated in 0.02135 seconds