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

Bug 360146

Summary: remove org.eclipse.mylyn.emf.* bundles (was: improve robustness of EmfStructureBridge.getObjectForHandle)
Product: z_Archived Reporter: David Green <greensopinion>
Component: MylynAssignee: Benjamin Muskalla <b.muskalla>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: P3 CC: b.muskalla, steffen.pingel
Version: unspecified   
Target Milestone: 3.7   
Hardware: PC   
OS: Windows 7   
Whiteboard:
Bug Depends on:    
Bug Blocks: 343191    
Attachments:
Description Flags
a patch that fixes the structure context bridge none

Description David Green CLA 2011-10-06 14:19:19 EDT
Two exceptions are commonly caused by the @EmfStructureBridge@ when propagating interest to parents:

java.lang.NullPointerException
	at org.eclipse.mylyn.internal.emf.ui.EmfStructureBridge.getObjectForHandle(EmfStructureBridge.java:56)
	at org.eclipse.mylyn.internal.context.core.InteractionContextManager.propegateInterestToParents(InteractionContextManager.java:1307)
	at org.eclipse.mylyn.internal.context.core.InteractionContextManager.propegateInterestToParents(InteractionContextManager.java:1366)
	at org.eclipse.mylyn.internal.context.core.InteractionContextManager.propegateInterestToParents(InteractionContextManager.java:1366)
	at org.eclipse.mylyn.internal.context.core.InteractionContextManager.propegateInterestToParents(InteractionContextManager.java:1366)
	at org.eclipse.mylyn.internal.context.core.InteractionContextManager.propegateInterestToParents(InteractionContextManager.java:1366)
	at org.eclipse.mylyn.internal.context.core.InteractionContextManager.propegateInterestToParents(InteractionContextManager.java:1366)
	at org.eclipse.mylyn.internal.context.core.InteractionContextManager.propegateInterestToParents(InteractionContextManager.java:1366)
	at org.eclipse.mylyn.internal.context.core.InteractionContextManager.internalProcessInteractionEvent(InteractionContextManager.java:727)
	at org.eclipse.mylyn.internal.context.core.InteractionContextManager.internalProcessInteractionEvent(InteractionContextManager.java:697)
	at org.eclipse.mylyn.internal.context.core.InteractionContextManager.processInteractionEvent(InteractionContextManager.java:1174)
	at org.eclipse.mylyn.internal.context.core.InteractionContextManager.processInteractionEvent(InteractionContextManager.java:1167)
	at org.eclipse.mylyn.internal.context.core.InteractionContextManager.processInteractionEvent(InteractionContextManager.java:1163)
	at org.eclipse.mylyn.monitor.ui.AbstractUserInteractionMonitor.handleElementSelection(AbstractUserInteractionMonitor.java:157)
	at org.eclipse.mylyn.monitor.ui.AbstractUserInteractionMonitor.handleElementSelection(AbstractUserInteractionMonitor.java:84)
	at org.eclipse.mylyn.internal.wikitext.tasks.ui.WikiTextUserInteractionMonitor.handleWorkbenchPartSelection(WikiTextUserInteractionMonitor.java:35)
	at org.eclipse.mylyn.monitor.ui.AbstractUserInteractionMonitor.selectionChanged(AbstractUserInteractionMonitor.java:72)
	at org.eclipse.ui.internal.AbstractSelectionService.firePostSelection(AbstractSelectionService.java:179)
	at org.eclipse.ui.internal.AbstractSelectionService$2.selectionChanged(AbstractSelectionService.java:71)
	at org.eclipse.jface.text.TextViewer.firePostSelectionChanged(TextViewer.java:2749)
	at org.eclipse.jface.text.TextViewer.firePostSelectionChanged(TextViewer.java:2697)
	at org.eclipse.jface.text.TextViewer$5.run(TextViewer.java:2676)
	at org.eclipse.swt.widgets.Display.runTimer(Display.java:4266)
	at org.eclipse.swt.widgets.Display.messageProc(Display.java:3353)
	at org.eclipse.swt.internal.win32.OS.DispatchMessageW(Native Method)
	at org.eclipse.swt.internal.win32.OS.DispatchMessage(OS.java:2530)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3752)
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2696)
	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2660)
	at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2494)
	at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:674)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:667)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:123)
	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:344)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1410)
	at org.eclipse.equinox.launcher.Main.main(Main.java:1386)



java.lang.IllegalArgumentException: Path must include project and resource name: /=com.tasktop.sync.help.ui
	at org.eclipse.core.runtime.Assert.isLegal(Assert.java:63)
	at org.eclipse.core.internal.resources.Workspace.newResource(Workspace.java:2169)
	at org.eclipse.core.internal.resources.Container.getFile(Container.java:208)
	at org.eclipse.mylyn.internal.emf.ui.EmfStructureBridge.getObjectForHandle(EmfStructureBridge.java:57)
	at org.eclipse.mylyn.internal.context.core.InteractionContextManager.propegateInterestToParents(InteractionContextManager.java:1307)
	at org.eclipse.mylyn.internal.context.core.InteractionContextManager.propegateInterestToParents(InteractionContextManager.java:1366)
	at org.eclipse.mylyn.internal.context.core.InteractionContextManager.propegateInterestToParents(InteractionContextManager.java:1366)
	at org.eclipse.mylyn.internal.context.core.InteractionContextManager.propegateInterestToParents(InteractionContextManager.java:1366)
	at org.eclipse.mylyn.internal.context.core.InteractionContextManager.propegateInterestToParents(InteractionContextManager.java:1366)
	at org.eclipse.mylyn.internal.context.core.InteractionContextManager.propegateInterestToParents(InteractionContextManager.java:1366)
	at org.eclipse.mylyn.internal.context.core.InteractionContextManager.internalProcessInteractionEvent(InteractionContextManager.java:727)
	at org.eclipse.mylyn.internal.context.core.InteractionContextManager.internalProcessInteractionEvent(InteractionContextManager.java:697)
	at org.eclipse.mylyn.internal.context.core.InteractionContextManager.processInteractionEvent(InteractionContextManager.java:1174)
	at org.eclipse.mylyn.internal.context.core.InteractionContextManager.processInteractionEvent(InteractionContextManager.java:1167)
	at org.eclipse.mylyn.internal.context.core.InteractionContextManager.processInteractionEvent(InteractionContextManager.java:1163)
	at org.eclipse.mylyn.monitor.ui.AbstractUserInteractionMonitor.handleElementSelection(AbstractUserInteractionMonitor.java:157)
	at org.eclipse.mylyn.monitor.ui.AbstractUserInteractionMonitor.handleElementSelection(AbstractUserInteractionMonitor.java:84)
	at org.eclipse.mylyn.internal.wikitext.tasks.ui.WikiTextUserInteractionMonitor.handleWorkbenchPartSelection(WikiTextUserInteractionMonitor.java:35)
	at org.eclipse.mylyn.monitor.ui.AbstractUserInteractionMonitor.selectionChanged(AbstractUserInteractionMonitor.java:72)
	at org.eclipse.ui.internal.AbstractSelectionService.firePostSelection(AbstractSelectionService.java:179)
	at org.eclipse.ui.internal.AbstractSelectionService$2.selectionChanged(AbstractSelectionService.java:71)
	at org.eclipse.jface.text.TextViewer.firePostSelectionChanged(TextViewer.java:2749)
	at org.eclipse.jface.text.TextViewer.firePostSelectionChanged(TextViewer.java:2697)
	at org.eclipse.jface.text.TextViewer$5.run(TextViewer.java:2676)
	at org.eclipse.swt.widgets.Display.runTimer(Display.java:4266)
	at org.eclipse.swt.widgets.Display.messageProc(Display.java:3353)
	at org.eclipse.swt.internal.win32.OS.DispatchMessageW(Native Method)
	at org.eclipse.swt.internal.win32.OS.DispatchMessage(OS.java:2530)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3752)
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2696)
	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2660)
	at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2494)
	at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:674)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:667)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:123)
	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:344)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1410)
	at org.eclipse.equinox.launcher.Main.main(Main.java:1386)
Comment 1 David Green CLA 2011-10-06 14:21:44 EDT
Created attachment 204702 [details]
a patch that fixes the structure context bridge

Attached a fix.  Please ignore changes to the .classpath file in the patch (not sure why that was included)
Comment 2 Steffen Pingel CLA 2011-10-06 15:01:24 EDT
Is that the EMF bridge in the Mylyn Incubator? These bundles are superseded by the Mylyn Context Modeling project. I will remove them.
Comment 3 Steffen Pingel CLA 2011-10-06 15:33:52 EDT
Assigning to Benjamin who contributed these bundles initially under bug 343191.