Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 318828 - Both 'org.eclipse.emf.ecore' and 'org.eclipse.stp.sca.csa' register a package for 'http://www.w3.org/XML/1998/namespace' !
Summary: Both 'org.eclipse.emf.ecore' and 'org.eclipse.stp.sca.csa' register a package...
Status: ASSIGNED
Alias: None
Product: z_Archived
Classification: Eclipse Foundation
Component: STP (show other bugs)
Version: unspecified   Edit
Hardware: All All
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: Stephane Drapeau CLA
QA Contact: Oisin Hurley CLA
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-07-04 18:55 EDT by Nicolas Rouquette CLA
Modified: 2012-09-21 14:40 EDT (History)
1 user (show)

See Also:


Attachments
Proposed patch for org.eclipse.stp.sca.csa/edit/editor plugins (349.71 KB, patch)
2010-07-04 20:24 EDT, Nicolas Rouquette CLA
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Nicolas Rouquette CLA 2010-07-04 18:55:23 EDT
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.
Comment 1 Nicolas Rouquette CLA 2010-07-04 20:24:04 EDT
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.
Comment 2 Stephane Drapeau CLA 2010-07-05 04:00:45 EDT
(In reply to comment #1)

Thanks Nicolas. I'll have a look.