Community
Participate
Working Groups
Created attachment 172152 [details] Set of minimal plugin projects with minimal models that has this problem I try to use extensible provider factory and child creator extenders, so a foreign model's classes can be intantiated as children of base model. However, my use of multiple inheritance, seems to confuse the mechanism. Using the debugger, it seems the doSwitch method in the base model's Switch, does not find a superclass since it's not in the main supertype chain. I have created (and attached) a set of minimal plugin projects with minimal models that has this problem. If you create a new file with a Container at the root and with a Composite inside, you'll see that you can create a Problem instance inside the Cointainer, but not inside Composite. Both Container and Composite inherit from AbstractContainer, which has the feature into which the Problem instances is supposed to be added.
The example seems not very minimal. I also get a compile error in WazaabiItemProviderAdapterFactory where WazaabiPackage is imported twice. Two packages with the same name makes the example all the more confusing. :-( It looks like there really needs to be a generated helper for the SWT Wasaabi package because inheritance alone isn't going to do the tree. I'll look more closely at the templates and the GenModel code to see if this is relatively easy to fix...
A fix is committed to master: http://git.eclipse.org/c/emf/org.eclipse.emf.git/commit/?id=032ebfeb72ed4a7f8c5744cac974b970fd4f79bc Note that the Wazzabi SWT model didn't declare it needed an extensible provider factory.
The changes are available in Kepler.