Hide Forgot
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)
Paul, can you see this gets to Fuse folks? Thanks!
Sure - will take a look myself.
Btw note that this happens only when we open the route from switchyard editor.
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)
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.
Brian Fitzpatrick <bfitzpat> made a comment on jira SWITCHYARD-1775 Removes overridden method no longer required by Graphiti that was causing the issue.
Rob Cernich <rcernich> made a comment on jira SWITCHYARD-1775 pushed
Verified with JBDS-IS 7.0.0.CR2
Keith Babo <kbabo> updated the status of jira SWITCHYARD-1775 to Closed