| Summary: | [Hibernate] TeneoHibernateMappingProvider#getMapping() does not remove EcorePackage/EResourcePackage | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Product: | [Modeling] EMF | Reporter: | Karsten Thoms <karsten.thoms> | ||||||
| Component: | cdo.core | Assignee: | Martin Taal <mtaal> | ||||||
| Status: | CLOSED FIXED | QA Contact: | Eike Stepper <stepper> | ||||||
| Severity: | normal | ||||||||
| Priority: | P3 | CC: | mtaal | ||||||
| Version: | 3.0 | Flags: | mtaal:
review?
(stepper) |
||||||
| Target Milestone: | --- | ||||||||
| Hardware: | Macintosh | ||||||||
| OS: | Mac OS X | ||||||||
| Whiteboard: | |||||||||
| Attachments: |
|
||||||||
Created attachment 183066 [details]
Patch for this issue
Created attachment 183067 [details]
Patch v2
Using CDOModelUtil.isSystemPackage now...
Committed to R3_0_maintenance Moving all open problem reports to 4.0 Undoing accidental version change. Closing. |
In method TeneoHibernateMappingProvider#getMapping() the packages EcorePackage and EResourcePackage are intended to be be removed: ---------------------------------------------------------------------------------- // translate the list of EPackages to an array final List<EPackage> epacks = getHibernateStore().getPackageHandler().getEPackages(); // remove the ecore and resource package epacks.remove(EcorePackage.eINSTANCE); epacks.remove(EresourcePackage.eINSTANCE); ---------------------------------------------------------------------------------- This does not work (or at least in the scenario I had) this way, since the HibernateStore's package handler retrieves another instance then the singleton instance the plugins provide. Instead of trying to remove the packages by instance from the packs list they have to be removed by their nsURI. The instances in epacks that match EcorePackage.eNS_URI and EResourcePackage.eNS_URI must be searched and removed.