Description of problem: Select something in the Manifest/resources table and while the column is editable, click Cancel on the Properties dialog. You get an NPE: Version-Release number of selected component (if applicable): 1.0.0 tooling How reproducible: Consistently Steps to Reproduce: 1. Open a SwitchYard configuration with a component that has a BPM implementation and open the properties in the Property dialog. 2. Select something in the Manifest/Resources table (first tab of control). 3. While column is editable, click Cancel on the Properties dialog. Actual results: NPE !ENTRY org.eclipse.jface 4 2 2013-08-02 10:30:20.723 !MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.jface". !STACK 0 java.lang.NullPointerException at org.switchyard.tools.ui.bpmn2.component.BPMResourceTable$ResourceColumnEditingSupport.setValue(BPMResourceTable.java:547) at org.eclipse.jface.viewers.EditingSupport.saveCellEditorValue(EditingSupport.java:113) at org.eclipse.jface.viewers.ColumnViewerEditor.saveEditorValue(ColumnViewerEditor.java:456) at org.eclipse.jface.viewers.ColumnViewerEditor.applyEditorValue(ColumnViewerEditor.java:312) at org.eclipse.jface.viewers.ColumnViewerEditor$2.applyEditorValue(ColumnViewerEditor.java:154) at org.eclipse.jface.viewers.CellEditor$1.run(CellEditor.java:335) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:49) at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:175) at org.eclipse.jface.viewers.CellEditor.fireApplyEditorValue(CellEditor.java:333) at org.eclipse.jface.viewers.CellEditor.focusLost(CellEditor.java:718) at org.eclipse.jface.viewers.TextCellEditor$5.focusLost(TextCellEditor.java:186) at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:143) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1057) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1081) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1062) at org.eclipse.swt.widgets.Control.sendFocusEvent(Control.java:2842) at org.eclipse.swt.widgets.Widget.wmKillFocus(Widget.java:1939) at org.eclipse.swt.widgets.Control.WM_KILLFOCUS(Control.java:4983) at org.eclipse.swt.widgets.Control.windowProc(Control.java:4645) at org.eclipse.swt.widgets.Text.windowProc(Text.java:2597) at org.eclipse.swt.widgets.Display.windowProc(Display.java:4990) at org.eclipse.swt.internal.win32.OS.CallWindowProcW(Native Method) at org.eclipse.swt.internal.win32.OS.CallWindowProc(OS.java:2443) at org.eclipse.swt.widgets.Button.callWindowProc(Button.java:343) at org.eclipse.swt.widgets.Widget.wmLButtonDown(Widget.java:2011) at org.eclipse.swt.widgets.Control.WM_LBUTTONDOWN(Control.java:4991) at org.eclipse.swt.widgets.Button.WM_LBUTTONDOWN(Button.java:1240) at org.eclipse.swt.widgets.Control.windowProc(Control.java:4647) at org.eclipse.swt.widgets.Display.windowProc(Display.java:4990) at org.eclipse.swt.internal.win32.OS.DispatchMessageW(Native Method) at org.eclipse.swt.internal.win32.OS.DispatchMessage(OS.java:2549) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3757) at org.eclipse.jface.window.Window.runEventLoop(Window.java:826) at org.eclipse.jface.window.Window.open(Window.java:802) at org.switchyard.tools.ui.editor.diagram.PropertiesDialogFeature.execute(PropertiesDialogFeature.java:118) at org.eclipse.graphiti.features.custom.AbstractCustomFeature.execute(AbstractCustomFeature.java:83) at org.eclipse.graphiti.internal.command.GenericFeatureCommandWithContext.execute(GenericFeatureCommandWithContext.java:64) at org.eclipse.graphiti.ui.internal.command.GefCommandWrapper.execute(GefCommandWrapper.java:51) at org.eclipse.graphiti.ui.internal.editor.EmfOnGefCommand.execute(EmfOnGefCommand.java:54) at org.eclipse.graphiti.internal.command.GFPreparableCommand2.doExecute(GFPreparableCommand2.java:37) at org.eclipse.emf.transaction.RecordingCommand.execute(RecordingCommand.java:135) at org.eclipse.emf.workspace.EMFCommandOperation.doExecute(EMFCommandOperation.java:119) at org.eclipse.emf.workspace.AbstractEMFOperation.execute(AbstractEMFOperation.java:150) at org.eclipse.core.commands.operations.DefaultOperationHistory.execute(DefaultOperationHistory.java:513) at org.eclipse.emf.workspace.impl.WorkspaceCommandStackImpl.doExecute(WorkspaceCommandStackImpl.java:208) at org.eclipse.emf.transaction.impl.AbstractTransactionalCommandStack.execute(AbstractTransactionalCommandStack.java:165) at org.eclipse.graphiti.ui.internal.editor.GFWorkspaceCommandStackImpl.execute(GFWorkspaceCommandStackImpl.java:84) at org.eclipse.graphiti.ui.internal.editor.GFCommandStack.execute(GFCommandStack.java:138) at org.eclipse.graphiti.ui.editor.DiagramBehavior.executeFeature(DiagramBehavior.java:1084) at org.eclipse.graphiti.tb.AbstractContextEntry.execute(AbstractContextEntry.java:71) at org.eclipse.graphiti.ui.internal.contextbuttons.ContextButton.actionPerformed(ContextButton.java:643) at org.eclipse.draw2d.Clickable.fireActionPerformed(Clickable.java:206) at org.eclipse.draw2d.Clickable$1.actionPerformed(Clickable.java:175) at org.eclipse.draw2d.ButtonModel.fireActionPerformed(ButtonModel.java:140) at org.eclipse.draw2d.ButtonModel$DefaultFiringBehavior.released(ButtonModel.java:506) at org.eclipse.draw2d.ButtonModel.fireReleased(ButtonModel.java:179) at org.eclipse.draw2d.ButtonModel.setPressed(ButtonModel.java:466) at org.eclipse.draw2d.ClickableEventHandler.mouseReleased(ClickableEventHandler.java:92) at org.eclipse.draw2d.Figure.handleMouseReleased(Figure.java:944) at org.eclipse.graphiti.ui.internal.contextbuttons.ContextButton.handleMouseReleased(ContextButton.java:548) at org.eclipse.draw2d.SWTEventDispatcher.dispatchMouseReleased(SWTEventDispatcher.java:267) at org.eclipse.gef.ui.parts.DomainEventDispatcher.dispatchMouseReleased(DomainEventDispatcher.java:374) at org.eclipse.draw2d.LightweightSystem$EventHandler.mouseUp(LightweightSystem.java:548) at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:220) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1057) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4170) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3759) 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(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: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) Expected results: No NPE. Successfully canceling the operation. Additional info:
The same issue also affects the Rules implementation UI intermittently, so I will make the change there as well.
Brian Fitzpatrick <bfitzpat> made a comment on jira SWITCHYARD-1635 This PR updates the way we fetch the transaction domain to avoid the intermittent NPE issue with BPM and the same issue on the Rules impl UI side as well.
Rob Cernich <rcernich> made a comment on jira SWITCHYARD-1635 pushed
Verified locally.
Verified in ER2
Keith Babo <kbabo> updated the status of jira SWITCHYARD-1635 to Closed