Bug 1017006 - Editor for camel routes throws exceptions to eclipse .log if any component selected
Summary: Editor for camel routes throws exceptions to eclipse .log if any component se...
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: JBoss Fuse Service Works 6
Classification: JBoss
Component: Tooling
Version: 6.0.0 GA
Hardware: Unspecified
OS: Unspecified
unspecified
urgent
Target Milestone: ER6
: ---
Assignee: Brian Fitzpatrick
QA Contact: Len DiMaggio
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2013-10-09 06:54 UTC by Jiri Sedlacek
Modified: 2015-08-02 23:45 UTC (History)
5 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
If you import a camel route into JBoss Developer Studio and click on any component in the graphical route editor, exceptions are thrown. These are recorded in the eclipse.log file. This is due to an MultiPageEditor class listener being overridden.
Clone Of:
Environment:
Last Closed: 2014-02-06 15:27:15 UTC
Type: Bug


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Issue Tracker SWITCHYARD-1775 0 Critical Closed Editor for camel routes throws exceptions to eclipse .log if any component selected 2014-06-16 23:48:54 UTC

Description Jiri Sedlacek 2013-10-09 06:54:24 UTC
I imported camel-service quickstart from switchyard, found route.xml file in JBDS and opened it. Graphical editor shows the route in proper manner, but clicking on any component in the graph throws following exception to the eclipse .log file: 


!ENTRY org.eclipse.e4.ui.workbench 4 2 2013-10-09 08:50:22.388
!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.e4.ui.workbench".
!STACK 0
java.lang.UnsupportedOperationException: Please use DataMapping.getBusinessObject(PictogramLink link)
	at org.eclipse.graphiti.internal.ExternalPictogramLink.getBusinessObjects(ExternalPictogramLink.java:51)
	at org.eclipse.graphiti.features.impl.UpdateNoBoFeature.updateNeeded(UpdateNoBoFeature.java:57)
	at org.eclipse.graphiti.ui.internal.action.UpdateAction.calculateEnabled(UpdateAction.java:79)
	at org.eclipse.gef.ui.actions.WorkbenchPartAction.refresh(WorkbenchPartAction.java:131)
	at org.eclipse.gef.ui.actions.SelectionAction.handleSelectionChanged(SelectionAction.java:89)
	at org.eclipse.gef.ui.actions.SelectionAction.setSelection(SelectionAction.java:101)
	at org.eclipse.gef.ui.actions.SelectionAction.update(SelectionAction.java:124)
	at org.eclipse.gef.ui.parts.GraphicalEditor.updateActions(GraphicalEditor.java:458)
	at org.switchyard.tools.ui.editor.impl.MultiPageEditor$DesignEditor.selectionChanged(MultiPageEditor.java:231)
	at org.eclipse.ui.internal.e4.compatibility.SelectionService.notifyListeners(SelectionService.java:154)
	at org.eclipse.ui.internal.e4.compatibility.SelectionService.access$3(SelectionService.java:151)
	at org.eclipse.ui.internal.e4.compatibility.SelectionService$1.selectionChanged(SelectionService.java:74)
	at org.eclipse.e4.ui.internal.workbench.SelectionAggregator$2.run(SelectionAggregator.java:119)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
	at org.eclipse.e4.ui.internal.workbench.SelectionAggregator.notifyListeners(SelectionAggregator.java:117)
	at org.eclipse.e4.ui.internal.workbench.SelectionAggregator.access$5(SelectionAggregator.java:114)
	at org.eclipse.e4.ui.internal.workbench.SelectionAggregator$7$1.run(SelectionAggregator.java:216)
	at org.eclipse.e4.core.contexts.RunAndTrack.runExternalCode(RunAndTrack.java:56)
	at org.eclipse.e4.ui.internal.workbench.SelectionAggregator$7.changed(SelectionAggregator.java:214)
	at org.eclipse.e4.core.internal.contexts.TrackableComputationExt.update(TrackableComputationExt.java:110)
	at org.eclipse.e4.core.internal.contexts.EclipseContext.processScheduled(EclipseContext.java:334)
	at org.eclipse.e4.core.internal.contexts.EclipseContext.set(EclipseContext.java:348)
	at org.eclipse.e4.ui.internal.workbench.SelectionServiceImpl.setSelection(SelectionServiceImpl.java:30)
	at org.eclipse.ui.internal.e4.compatibility.CompatibilityPart.selectionChanged(CompatibilityPart.java:437)
	at org.eclipse.ui.part.MultiPageSelectionProvider$1.run(MultiPageSelectionProvider.java:110)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
	at org.eclipse.ui.part.MultiPageSelectionProvider.fireEventChange(MultiPageSelectionProvider.java:108)
	at org.eclipse.ui.part.MultiPageSelectionProvider.fireSelectionChanged(MultiPageSelectionProvider.java:90)
	at org.eclipse.ui.part.MultiPageEditorSite.handleSelectionChanged(MultiPageEditorSite.java:501)
	at org.eclipse.ui.part.MultiPageEditorSite$5.selectionChanged(MultiPageEditorSite.java:412)
	at org.eclipse.gef.ui.parts.AbstractEditPartViewer.fireSelectionChanged(AbstractEditPartViewer.java:247)
	at org.eclipse.gef.ui.parts.AbstractEditPartViewer$1.run(AbstractEditPartViewer.java:131)
	at org.eclipse.gef.SelectionManager.fireSelectionChanged(SelectionManager.java:144)
	at org.eclipse.gef.SelectionManager.appendSelection(SelectionManager.java:83)
	at org.eclipse.gef.ui.parts.AbstractEditPartViewer.appendSelection(AbstractEditPartViewer.java:190)
	at org.eclipse.graphiti.ui.internal.editor.GraphitiScrollingGraphicalViewer.appendSelection(GraphitiScrollingGraphicalViewer.java:139)
	at org.eclipse.gef.ui.parts.AbstractEditPartViewer.select(AbstractEditPartViewer.java:599)
	at org.eclipse.graphiti.ui.internal.editor.GraphitiScrollingGraphicalViewer.select(GraphitiScrollingGraphicalViewer.java:46)
	at org.eclipse.gef.tools.SelectEditPartTracker.performSelection(SelectEditPartTracker.java:221)
	at org.eclipse.gef.tools.SelectEditPartTracker.performConditionalSelection(SelectEditPartTracker.java:167)
	at org.eclipse.gef.tools.SelectEditPartTracker.handleButtonDown(SelectEditPartTracker.java:92)
	at org.eclipse.gef.tools.AbstractTool.mouseDown(AbstractTool.java:1091)
	at org.eclipse.gef.tools.SelectionTool.mouseDown(SelectionTool.java:514)
	at org.eclipse.gef.EditDomain.mouseDown(EditDomain.java:245)
	at org.eclipse.gef.ui.parts.DomainEventDispatcher.dispatchMousePressed(DomainEventDispatcher.java:348)
	at org.eclipse.draw2d.LightweightSystem$EventHandler.mouseDown(LightweightSystem.java:523)
	at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:192)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1392)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3742)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3363)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1113)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:997)
	at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:138)
	at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:610)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:567)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:124)
	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:354)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:181)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:601)
	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:636)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:591)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1450)
	at org.eclipse.equinox.launcher.Main.main(Main.java:1426)

!ENTRY org.eclipse.e4.ui.workbench 4 0 2013-10-09 08:50:22.390
!MESSAGE 
!STACK 0
java.lang.UnsupportedOperationException: Please use DataMapping.getBusinessObject(PictogramLink link)
	at org.eclipse.graphiti.internal.ExternalPictogramLink.getBusinessObjects(ExternalPictogramLink.java:51)
	at org.eclipse.graphiti.features.impl.UpdateNoBoFeature.updateNeeded(UpdateNoBoFeature.java:57)
	at org.eclipse.graphiti.ui.internal.action.UpdateAction.calculateEnabled(UpdateAction.java:79)
	at org.eclipse.gef.ui.actions.WorkbenchPartAction.refresh(WorkbenchPartAction.java:131)
	at org.eclipse.gef.ui.actions.SelectionAction.handleSelectionChanged(SelectionAction.java:89)
	at org.eclipse.gef.ui.actions.SelectionAction.setSelection(SelectionAction.java:101)
	at org.eclipse.gef.ui.actions.SelectionAction.update(SelectionAction.java:124)
	at org.eclipse.gef.ui.parts.GraphicalEditor.updateActions(GraphicalEditor.java:458)
	at org.switchyard.tools.ui.editor.impl.MultiPageEditor$DesignEditor.selectionChanged(MultiPageEditor.java:231)
	at org.eclipse.ui.internal.e4.compatibility.SelectionService.notifyListeners(SelectionService.java:154)
	at org.eclipse.ui.internal.e4.compatibility.SelectionService.access$3(SelectionService.java:151)
	at org.eclipse.ui.internal.e4.compatibility.SelectionService$1.selectionChanged(SelectionService.java:74)
	at org.eclipse.e4.ui.internal.workbench.SelectionAggregator$2.run(SelectionAggregator.java:119)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
	at org.eclipse.e4.ui.internal.workbench.SelectionAggregator.notifyListeners(SelectionAggregator.java:117)
	at org.eclipse.e4.ui.internal.workbench.SelectionAggregator.access$5(SelectionAggregator.java:114)
	at org.eclipse.e4.ui.internal.workbench.SelectionAggregator$7$1.run(SelectionAggregator.java:216)
	at org.eclipse.e4.core.contexts.RunAndTrack.runExternalCode(RunAndTrack.java:56)
	at org.eclipse.e4.ui.internal.workbench.SelectionAggregator$7.changed(SelectionAggregator.java:214)
	at org.eclipse.e4.core.internal.contexts.TrackableComputationExt.update(TrackableComputationExt.java:110)
	at org.eclipse.e4.core.internal.contexts.EclipseContext.processScheduled(EclipseContext.java:334)
	at org.eclipse.e4.core.internal.contexts.EclipseContext.set(EclipseContext.java:348)
	at org.eclipse.e4.ui.internal.workbench.SelectionServiceImpl.setSelection(SelectionServiceImpl.java:30)
	at org.eclipse.ui.internal.e4.compatibility.CompatibilityPart.selectionChanged(CompatibilityPart.java:437)
	at org.eclipse.ui.part.MultiPageSelectionProvider$1.run(MultiPageSelectionProvider.java:110)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
	at org.eclipse.ui.part.MultiPageSelectionProvider.fireEventChange(MultiPageSelectionProvider.java:108)
	at org.eclipse.ui.part.MultiPageSelectionProvider.fireSelectionChanged(MultiPageSelectionProvider.java:90)
	at org.eclipse.ui.part.MultiPageEditorSite.handleSelectionChanged(MultiPageEditorSite.java:501)
	at org.eclipse.ui.part.MultiPageEditorSite$5.selectionChanged(MultiPageEditorSite.java:412)
	at org.eclipse.gef.ui.parts.AbstractEditPartViewer.fireSelectionChanged(AbstractEditPartViewer.java:247)
	at org.eclipse.gef.ui.parts.AbstractEditPartViewer$1.run(AbstractEditPartViewer.java:131)
	at org.eclipse.gef.SelectionManager.fireSelectionChanged(SelectionManager.java:144)
	at org.eclipse.gef.SelectionManager.appendSelection(SelectionManager.java:83)
	at org.eclipse.gef.ui.parts.AbstractEditPartViewer.appendSelection(AbstractEditPartViewer.java:190)
	at org.eclipse.graphiti.ui.internal.editor.GraphitiScrollingGraphicalViewer.appendSelection(GraphitiScrollingGraphicalViewer.java:139)
	at org.eclipse.gef.ui.parts.AbstractEditPartViewer.select(AbstractEditPartViewer.java:599)
	at org.eclipse.graphiti.ui.internal.editor.GraphitiScrollingGraphicalViewer.select(GraphitiScrollingGraphicalViewer.java:46)
	at org.eclipse.gef.tools.SelectEditPartTracker.performSelection(SelectEditPartTracker.java:221)
	at org.eclipse.gef.tools.SelectEditPartTracker.performConditionalSelection(SelectEditPartTracker.java:167)
	at org.eclipse.gef.tools.SelectEditPartTracker.handleButtonDown(SelectEditPartTracker.java:92)
	at org.eclipse.gef.tools.AbstractTool.mouseDown(AbstractTool.java:1091)
	at org.eclipse.gef.tools.SelectionTool.mouseDown(SelectionTool.java:514)
	at org.eclipse.gef.EditDomain.mouseDown(EditDomain.java:245)
	at org.eclipse.gef.ui.parts.DomainEventDispatcher.dispatchMousePressed(DomainEventDispatcher.java:348)
	at org.eclipse.draw2d.LightweightSystem$EventHandler.mouseDown(LightweightSystem.java:523)
	at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:192)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1392)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3742)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3363)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1113)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:997)
	at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:138)
	at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:610)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:567)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:124)
	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:354)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:181)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:601)
	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:636)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:591)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1450)
	at org.eclipse.equinox.launcher.Main.main(Main.java:1426)

Comment 1 Rob Cernich 2013-10-09 13:57:34 UTC
Paul, can you see this gets to Fuse folks?  Thanks!

Comment 2 Paul Leacu 2013-10-09 14:10:19 UTC
Sure - will take a look myself.

Comment 3 Andrej Podhradsky 2013-10-11 08:30:27 UTC
Btw note that this happens only when we open the route from switchyard editor.

Comment 4 Paul Leacu 2013-10-11 14:54:56 UTC
This doesn't appear to involve Fuse (other than selecting an object in the fuse camel route editor can also trigger the issue).  See:

https://github.com/jboss-switchyard/tools/blob/master/eclipse/plugins/org.switchyard.tools.ui.editor/src/org/switchyard/tools/ui/editor/impl/MultiPageEditor.java#L226-233

There's code in the selectionChanged listener to try to handle a MultiPageEditor from a GraphicalEditor but it seems to confuse graphiti.

Sending over to Fitz for a look.

ref:

java.lang.UnsupportedOperationException: Please use DataMapping.getBusinessObject(PictogramLink link)
	at org.eclipse.graphiti.internal.ExternalPictogramLink.getBusinessObjects(ExternalPictogramLink.java:51)
	at org.eclipse.graphiti.features.impl.UpdateNoBoFeature.updateNeeded(UpdateNoBoFeature.java:57)
	at org.eclipse.graphiti.ui.internal.action.UpdateAction.calculateEnabled(UpdateAction.java:79)
	at org.eclipse.gef.ui.actions.WorkbenchPartAction.refresh(WorkbenchPartAction.java:131)
	at org.eclipse.gef.ui.actions.SelectionAction.handleSelectionChanged(SelectionAction.java:89)
	at org.eclipse.gef.ui.actions.SelectionAction.setSelection(SelectionAction.java:101)
	at org.eclipse.gef.ui.actions.SelectionAction.update(SelectionAction.java:124)
	at org.eclipse.gef.ui.parts.GraphicalEditor.updateActions(GraphicalEditor.java:458)
	at org.switchyard.tools.ui.editor.impl.MultiPageEditor$DesignEditor.selectionChanged(MultiPageEditor.java:231)

Comment 5 JBoss JIRA Server 2013-10-17 19:43:24 UTC
Brian Fitzpatrick <bfitzpat> made a comment on jira SWITCHYARD-1775

This turned out to be an issue with a selection changed listener in the MultiPageEditor class. After talking about it with Rob, we discovered that the overridden listener wasn't needed any more (http://git.eclipse.org/c/gmp/org.eclipse.gmp.graphiti.git/tree/plugins/org.eclipse.graphiti.ui/src/org/eclipse/graphiti/ui/editor/DiagramEditor.java#n631). And in fact, without it, everything works fine now. So this must have been an issue in older versions of Graphiti that has been resolved.

Comment 6 JBoss JIRA Server 2013-10-17 19:46:53 UTC
Brian Fitzpatrick <bfitzpat> made a comment on jira SWITCHYARD-1775

Removes overridden method no longer required by Graphiti that was causing the issue.

Comment 7 JBoss JIRA Server 2013-10-25 02:18:37 UTC
Rob Cernich <rcernich> made a comment on jira SWITCHYARD-1775

pushed

Comment 8 Andrej Podhradsky 2014-01-22 08:55:36 UTC
Verified with JBDS-IS 7.0.0.CR2

Comment 9 JBoss JIRA Server 2014-06-16 23:48:54 UTC
Keith Babo <kbabo> updated the status of jira SWITCHYARD-1775 to Closed


Note You need to log in before you can comment on or make changes to this bug.