Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 403254

Summary: Hierarchy of org.eclipse.e4.ui.model.application.ui.menu.ItemType and org.eclipse.e4.ui.model.application.ui.SideValue are suspicious
Product: [Eclipse Project] Platform Reporter: Michael Rennie <Michael_Rennie>
Component: UIAssignee: Michael Rennie <Michael_Rennie>
Status: CLOSED WONTFIX QA Contact:
Severity: normal    
Priority: P3 CC: emoffatt, pwebster
Version: 4.3   
Target Milestone: 4.3 M7   
Hardware: All   
OS: All   
Whiteboard:
Bug Depends on:    
Bug Blocks: 403190    

Description Michael Rennie CLA 2013-03-13 15:03:40 EDT
While going over the API I found these two types the leak interal interfaces into API. Should we simply have them directly implement org.eclipse.emf.common.util.Enumerator or look at removing the EMF parent interface altogether?
Comment 1 Eric Moffatt CLA 2013-03-14 13:48:55 EDT
Mike, nice pickup. I'll check both here and with the EMF folks to see if there's a defined 'correct' answer...
Comment 2 Eric Moffatt CLA 2013-03-14 14:02:33 EDT
John A posed the question of whether or not this meant that a client would 'require' the EMF bundle in order to access the SideVale. If true this would be a real issue...I'll check once the API changes come out.
Comment 3 Michael Rennie CLA 2013-04-22 10:49:48 EDT
I wrote a test bundle the uses ItemType and SideItem and I did not have to add a dependency on org.eclipse.emf.ecore.

It also works if you directly implement org.eclipse.emf.common.util.Enumerator (to get rid of the API tools warning).
Comment 4 Eric Moffatt CLA 2013-04-22 15:51:23 EDT
Michael, since we don't require any emf bundles should we mark this as CLOSED ?
Comment 5 Michael Rennie CLA 2013-04-22 16:56:30 EDT
(In reply to comment #4)
> Michael, since we don't require any emf bundles should we mark this as
> CLOSED ?

Sure, unless you want to remove the internal type and have ItemType and SideItem directly implement the EMF interface (which would also remove the API tools warning)
Comment 6 Michael Rennie CLA 2013-04-23 15:18:34 EDT
We decided to keep the hierarchy the way it is because the code is generated that way and you can't technically cast to the internal type anyway. I added a filter for each of the warnings.
Comment 7 Eric Moffatt CLA 2013-05-24 15:36:24 EDT
Closing this to get it out of the pool of defects to verify...