-
Notifications
You must be signed in to change notification settings - Fork 46
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
decode of many references in external resources failed #111
Comments
Hi @AnNeub, Thanks for the issue, I'll look for this asap to see from where the issue could come. I guess there is a special way of serializing hrefs for many non-containment references where the references type is abstract (or has subclasses) and the referenced object is in a external model. I'll try to reproduce this situation on a minimal metamodel/model and see how emf serialize everything. |
Just a quick update, I tried to create the same behavior with the default Java-EMF tools, but I cannot have a many reference with external references that encode the name of the package with the name of the pointed EClass name in between |
I dont know if capella use any customized serialization option. Is an open source tool but i haven't dived into the source code so far. The problem came up that capella put the type in front of it. Do you know a definiton how the serializiation of EReferences must look like? I tried something like |
The thing that puzzles me is more the
or
The serialization with the type of the object before is not something I knew. I will try to add your fix asap with some tests. If you have time to do it before I do, I would be pleased to integrate the fix :) |
I dont know if the regex above really covers all cases. I tried this pattern I check some other model files which based on ecore and they look like as you described. But on the other hand .ecore files itself always uses the # to mark a reference. I think as long this solution does not covers both, cases it makes no sense to fix it. |
I had the following issue with multiple references like:
"org.polarsys.capella.core.data.information:ExchangeItem fragments/software.capellafragment#92caadb3-fb4f-347c-ae2d-0f30ac43e9cc #1d237afa-50c3-4536-b27e-900958301d1e"
The problem occur in the function _decode_ereferences where this string is only splitted at the whitespaces and therefore the part
org.polarsys.capella.core.data.information:ExchangeItem
is tried to resolve which is no valid reference.I try to solve this with a regex but I am not sure if this capture all possibilities. I don't find a detail definition how the serialization could look like.
The text was updated successfully, but these errors were encountered: