Bug 559265 - MoDisco is not a good Eclipse citizen
Summary: MoDisco is not a good Eclipse citizen
Status: NEW
Alias: None
Product: MoDisco
Classification: Modeling
Component: Main (show other bugs)
Version: unspecified   Edit
Hardware: PC Windows 10
: P3 blocker (vote)
Target Milestone: ---   Edit
Assignee: Project Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on: 415835
Blocks:
  Show dependency tree
 
Reported: 2020-01-16 11:05 EST by Ed Willink CLA
Modified: 2020-01-17 09:26 EST (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ed Willink CLA 2020-01-16 11:05:00 EST
From Bug 559205

The problem is that *.facetset files are loaded into the FacetSetCatalog and on to the global EPackage.Registry. Very very naughty. Application A affects application B.

Bring a good Eclipse citizen requires that

If running App A followed by App A gives the 'same' results, then interjecting an execution of MoDisco between the App A runs must not upset the 'same'ness.

Since MoDisco corrupts the global EPackage.Registry between the App A runs, MoDisco is not a good Eclipse citizen.

----

Possible solution.

Just like the EPackage.Registry:

- the global FacetSetCatalog is populated by extension points

- the local FacetSetCatalog (perhaps a ResourceSet.eAdaper) is populated dynamically and delegates to the global.

If FacetSetCatalog entries must also appear in the EPackage.Registry then stadard EMF registrations are needed, albeit to fake EPackage registration classes (cd the OCL stdlib registration.)