Bug 1017006 - Editor for camel routes throws exceptions to eclipse .log if any component selected
Editor for camel routes throws exceptions to eclipse .log if any component se...
Status: CLOSED CURRENTRELEASE
Product: JBoss Fuse Service Works 6
Classification: JBoss
Component: Tooling (Show other bugs)
6.0.0 GA
Unspecified Unspecified
unspecified Severity urgent
: ER6
: ---
Assigned To: Brian Fitzpatrick
Len DiMaggio
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2013-10-09 02:54 EDT by Jiri Sedlacek
Modified: 2015-08-02 19:45 EDT (History)
5 users (show)

See Also:
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.
Story Points: ---
Clone Of:
Environment:
Last Closed: 2014-02-06 10:27:15 EST
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)


External Trackers
Tracker ID Priority Status Summary Last Updated
JBoss Issue Tracker SWITCHYARD-1775 Critical Closed Editor for camel routes throws exceptions to eclipse .log if any component selected 2014-06-16 19:48:54 EDT

  None (edit)
Description Jiri Sedlacek 2013-10-09 02:54:24 EDT
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 09:57:34 EDT
Paul, can you see this gets to Fuse folks?  Thanks!
Comment 2 Paul Leacu 2013-10-09 10:10:19 EDT
Sure - will take a look myself.
Comment 3 Andrej Podhradsky 2013-10-11 04:30:27 EDT
Btw note that this happens only when we open the route from switchyard editor.
Comment 4 Paul Leacu 2013-10-11 10:54:56 EDT
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 15:43:24 EDT
Brian Fitzpatrick <bfitzpat@redhat.com> 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 15:46:53 EDT
Brian Fitzpatrick <bfitzpat@redhat.com> 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-24 22:18:37 EDT
Rob Cernich <rcernich@redhat.com> made a comment on jira SWITCHYARD-1775

pushed
Comment 8 Andrej Podhradsky 2014-01-22 03:55:36 EST
Verified with JBDS-IS 7.0.0.CR2
Comment 9 JBoss JIRA Server 2014-06-16 19:48:54 EDT
Keith Babo <kbabo@redhat.com> 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.