Community
Participate
Working Groups
This problem causes all kinds of annoying exceptions, e.g: !MESSAGE org.eclipse.stp.sca.csa.addressing.impl.AddressingFactoryImpl cannot be cast to org.eclipse.stp.sca.addressing.AddressingFactory !STACK 0 java.lang.ClassCastException: org.eclipse.stp.sca.csa.addressing.impl.AddressingFactoryImpl cannot be cast to org.eclipse.stp.sca.addressing.AddressingFactory at org.eclipse.stp.sca.addressing.impl.AddressingFactoryImpl.init(AddressingFactoryImpl.java:52) at org.eclipse.stp.sca.addressing.AddressingFactory.<clinit>(AddressingFactory.java:29) at org.eclipse.stp.sca.addressing.impl.AddressingPackageImpl.<init>(AddressingPackageImpl.java:157) at org.eclipse.stp.sca.addressing.impl.AddressingPackageImpl.init(AddressingPackageImpl.java:191) at org.eclipse.stp.sca.addressing.AddressingPackage.<clinit>(AddressingPackage.java:63) at sawsdl.impl.SawsdlPackageImpl.init(SawsdlPackageImpl.java:127) at sawsdl.SawsdlPackage.<clinit>(SawsdlPackage.java:71) at sun.misc.Unsafe.ensureClassInitialized(Native Method) at sun.reflect.UnsafeFieldAccessorFactory.newFieldAccessor(UnsafeFieldAccessorFactory.java:25) at sun.reflect.ReflectionFactory.newFieldAccessor(ReflectionFactory.java:122) at java.lang.reflect.Field.acquireFieldAccessor(Field.java:918) at java.lang.reflect.Field.getFieldAccessor(Field.java:899) at java.lang.reflect.Field.get(Field.java:358) at org.eclipse.emf.ecore.plugin.RegistryReader$EPackageDescriptor.getEPackage(RegistryReader.java:274) at org.eclipse.m2m.internal.qvt.oml.emf.util.mmregistry.EmfMetamodelDesc.getModel(EmfMetamodelDesc.java:61) at org.eclipse.m2m.internal.qvt.oml.common.ui.views.MetamodelBrowser.doCreateInput(MetamodelBrowser.java:502) at org.eclipse.m2m.internal.qvt.oml.common.ui.views.MetamodelBrowser$5.run(MetamodelBrowser.java:473) at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70) at org.eclipse.m2m.internal.qvt.oml.common.ui.views.MetamodelBrowser.createInput(MetamodelBrowser.java:471) at org.eclipse.m2m.internal.qvt.oml.common.ui.views.MetamodelBrowser.<init>(MetamodelBrowser.java:168) at org.eclipse.m2m.internal.qvt.oml.common.ui.views.MetamodelBrowser.<init>(MetamodelBrowser.java:145) at org.eclipse.m2m.internal.qvt.oml.common.ui.views.MetamodelBrowserView$3.<init>(MetamodelBrowserView.java:111) at org.eclipse.m2m.internal.qvt.oml.common.ui.views.MetamodelBrowserView.createPartControl(MetamodelBrowserView.java:111) at org.eclipse.ui.internal.ViewReference.createPartHelper(ViewReference.java:375) at org.eclipse.ui.internal.ViewReference.createPart(ViewReference.java:229) at org.eclipse.ui.internal.WorkbenchPartReference.getPart(WorkbenchPartReference.java:595) at org.eclipse.ui.internal.PartPane.setVisible(PartPane.java:313) at org.eclipse.ui.internal.ViewPane.setVisible(ViewPane.java:529) at org.eclipse.ui.internal.presentations.PresentablePart.setVisible(PresentablePart.java:180) at org.eclipse.ui.internal.presentations.util.PresentablePartFolder.select(PresentablePartFolder.java:270) at org.eclipse.ui.internal.presentations.util.LeftToRightTabOrder.select(LeftToRightTabOrder.java:65) at org.eclipse.ui.internal.presentations.util.TabbedStackPresentation.selectPart(TabbedStackPresentation.java:473) at org.eclipse.ui.internal.PartStack.refreshPresentationSelection(PartStack.java:1254) at org.eclipse.ui.internal.PartStack.setSelection(PartStack.java:1207) at org.eclipse.ui.internal.PartStack.presentationSelectionChanged(PartStack.java:841) at org.eclipse.ui.internal.PartStack.access$1(PartStack.java:827) at org.eclipse.ui.internal.PartStack$1.selectPart(PartStack.java:137) at org.eclipse.ui.internal.presentations.util.TabbedStackPresentation$1.handleEvent(TabbedStackPresentation.java:133) at org.eclipse.ui.internal.presentations.util.AbstractTabFolder.fireEvent(AbstractTabFolder.java:269) at org.eclipse.ui.internal.presentations.util.AbstractTabFolder.fireEvent(AbstractTabFolder.java:278) at org.eclipse.ui.internal.presentations.defaultpresentation.DefaultTabFolder.access$1(DefaultTabFolder.java:1) at org.eclipse.ui.internal.presentations.defaultpresentation.DefaultTabFolder$2.handleEvent(DefaultTabFolder.java:88) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) at org.eclipse.swt.widgets.Display.sendEvent(Display.java:3776) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1367) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1390) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1375) at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1187) at org.eclipse.swt.custom.CTabFolder.setSelection(CTabFolder.java:2743) at org.eclipse.swt.custom.CTabFolder.onMouse(CTabFolder.java:1429) at org.eclipse.swt.custom.CTabFolder$1.handleEvent(CTabFolder.java:257) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) at org.eclipse.swt.widgets.Display.sendEvent(Display.java:3776) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1367) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1390) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1375) at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1187) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3622) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3277) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2629) at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2593) at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2427) at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:670) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:663) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149) at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:115) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:369) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:619) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:574) at org.eclipse.equinox.launcher.Main.run(Main.java:1407) at org.eclipse.equinox.launcher.Main.main(Main.java:1383) It seems that the folks using Apache Tuscany have ran into similar registration conflicts: http://people.apache.org/~lresende/tuscany/stp_tools.log !ENTRY org.eclipse.emf.ecore 2 0 2010-03-15 21:21:53.589 !MESSAGE Both 'org.eclipse.emf.ecore' and 'org.eclipse.stp.sca.csa' register a package for 'http://www.w3.org/XML/1998/namespace' !ENTRY org.eclipse.emf.ecore 2 0 2010-03-15 21:21:53.609 !MESSAGE Both 'org.eclipse.stp.sca' and 'org.eclipse.stp.sca.csa' register a package for 'http://www.w3.org/2005/08/addressing' !ENTRY org.eclipse.emf.ecore 2 0 2010-03-15 21:21:53.641 !MESSAGE Both 'org.eclipse.stp.sca' and 'org.eclipse.stp.sca.csa' register an extension parser for 'composite' !ENTRY org.eclipse.emf.ecore 2 0 2010-03-15 21:21:53.642 !MESSAGE Both 'org.eclipse.stp.sca' and 'org.eclipse.stp.sca.csa' register an extension parser for 'instance' !ENTRY org.eclipse.emf.ecore 2 0 2010-03-15 21:21:53.642 !MESSAGE Both 'org.eclipse.stp.sca' and 'org.eclipse.stp.sca.csa' register an extension parser for 'addressing' !ENTRY org.eclipse.emf.ecore 2 0 2010-03-15 21:21:53.642 !MESSAGE Both 'org.eclipse.stp.sca.csa.diagram' and 'org.eclipse.stp.sca.diagram' register an extension parser for 'composite_diagram' We need a mechanism to specify for a given Eclipse extension point whether there are conflicts amongst all of the plugins included in a build with respect to the other plugins they depend on. If someone can regenerate /org.eclipse.stp.sca.csa/model/csa.genmodel from scratch, then it fixing the conflict with org.eclipse.emf.ecore could be avoided by importing emf.ecore into the development workspace before creating the genmodel. This should provide emf.ecore's version of Namespace as an alternative to defining this package in stp.sca.csa.
Created attachment 173384 [details] Proposed patch for org.eclipse.stp.sca.csa/edit/editor plugins I recreated csa.genmodel from csa.ecore using the org.eclipse.emf.ecore XMLNamespace.genmodel. Unfortunately, org.eclipse.emf.ecore.edit lacks a provider factory for XMLNamespace whereas the original stp.sca.csa.edit plugin did. If this is a problem, then a bug should be issued for org.eclipse.emf.ecore.edit to add one.
(In reply to comment #1) Thanks Nicolas. I'll have a look.