Book a Demo

Author Topic: Updating package from third-party XMI  (Read 4353 times)

Igor Lobanov

  • EA Novice
  • *
  • Posts: 3
  • Karma: +0/-0
    • View Profile
Updating package from third-party XMI
« on: May 14, 2010, 07:05:19 pm »
Greetings,

I have a question with regard to partial model update from external source. We have a requirement that part of our model must be synchronized with third-party modeling system.

We import only classes from the XMI file, but all diagrams containing these classes are created in EA. The problem is that it seems impossible to update existing package from the XMI file, only add model elements from them. So in order to update package I have to delete its contents and import whole XMI file. Deleting package contents cleans out diagrams and I have basically to redraw all diagrams after import.

I tried to experiment with baselines, but EA compares objects based on GUIDs and classes with same names are considered different.

It there any way to update a package from third-party XMI file?

Frank Horn

  • EA User
  • **
  • Posts: 535
  • Karma: +1/-0
    • View Profile
Re: Updating package from third-party XMI
« Reply #1 on: May 14, 2010, 10:49:56 pm »
Couldn't you import the third party package, create a separate package on the same level, put the diagrams into the separate package, and for update only reimport the third party package? EA would keep your diagrams then, only it would delete from the diagrams all those elements and connectors which are no longer contained in the third party package.

Paolo F Cantoni

  • EA Guru
  • *****
  • Posts: 8626
  • Karma: +259/-129
  • Inconsistently correct systems DON'T EXIST!
    • View Profile
Re: Updating package from third-party XMI
« Reply #2 on: May 14, 2010, 11:25:59 pm »
Quote
Couldn't you import the third party package, create a separate package on the same level, put the diagrams into the separate package, and for update only reimport the third party package? EA would keep your diagrams then, only it would delete from the diagrams all those elements and connectors which are no longer contained in the third party package.
Hi Frank (and Igor)

I don't think Igor can...  Reading between the lines it would appear the third party package doesn't generate GUIDs that EA can understand...  So every import would generate new GUIDs.

I was thinking along the same lines as you until I thought about his point that he couldn't compare (with the baseline)  based on GUIDs.

Paolo
« Last Edit: May 14, 2010, 11:27:23 pm by PaoloFCantoni »
Inconsistently correct systems DON'T EXIST!
... Therefore, aim for consistency; in the expectation of achieving correctness....
-Semantica-
Helsinki Principle Rules!

Igor Lobanov

  • EA Novice
  • *
  • Posts: 3
  • Karma: +0/-0
    • View Profile
Re: Updating package from third-party XMI
« Reply #3 on: May 15, 2010, 12:06:37 am »
Frank and Paolo, thanks for your reply!

Quote
Couldn't you import the third party package, create a separate package on the same level, put the diagrams into the separate package, and for update only reimport the third party package? EA would keep your diagrams then, only it would delete from the diagrams all those elements and connectors which are no longer contained in the third party package.

Paolo is right, I can't. EA seems to unable to reimport packages from third-party XMIs. EA uses some undocumented XMI extensions to store its GUIDs for model elements and it is unclear how to properly add this information manually.

Quote
I don't think Igor can...  Reading between the lines it would appear the third party package doesn't generate GUIDs that EA can understand...  So every import would generate new GUIDs.

I was thinking along the same lines as you until I thought about his point that he couldn't compare (with the baseline)  based on GUIDs.

Yes, exactly.

Igor Lobanov

  • EA Novice
  • *
  • Posts: 3
  • Karma: +0/-0
    • View Profile
Re: Updating package from third-party XMI
« Reply #4 on: May 17, 2010, 11:30:53 am »
I am really looking forward a reply from Sparx team. Is is possible to either:
1) merge packages using element names only, not taking GUIDs into account?
2) somehow assign EA-specific GUIDs to model elements in third-party XMI?

Or maybe there is some other way to achieve similar results?

RoyC

  • EA Administrator
  • EA Practitioner
  • *****
  • Posts: 1297
  • Karma: +21/-4
  • Read The Help!
    • View Profile
Re: Updating package from third-party XMI
« Reply #5 on: May 17, 2010, 01:31:52 pm »
To guarantee a response from Sparx Systems, please send your queries as a request for support (email to [email protected]) or, if you believe that the problem is a bug or a missing feature, as a bug report or feature request (see the options in the Support column at the bottom of this page).
Best Regards, Roy

Geert Bellekens

  • EA Guru
  • *****
  • Posts: 13523
  • Karma: +574/-33
  • Make EA work for YOU!
    • View Profile
    • Enterprise Architect Consultant and Value Added Reseller
Re: Updating package from third-party XMI
« Reply #6 on: May 17, 2010, 03:46:47 pm »
Igor,

I'm pretty sure merging won't work since it is based on the guid's.
Elements with another guid are considered to be different elements.

I think your only option is to adapt the xmi's and add those ea_guid's yourself, which promises to be a major PITA.

Geert