Bug 993392 - BPM Implementation properties - resource table throws NPE when editing and cancel out of Property dialog
Summary: BPM Implementation properties - resource table throws NPE when editing and ca...
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: JBoss Fuse Service Works 6
Classification: JBoss
Component: SwitchYard Editor
Version: 6.0.0 GA
Hardware: Unspecified
OS: Unspecified
unspecified
high
Target Milestone: ER2
: ---
Assignee: Brian Fitzpatrick
QA Contact: Jiri Pechanec
URL:
Whiteboard:
Depends On:
Blocks: 993401
TreeView+ depends on / blocked
 
Reported: 2013-08-05 20:33 UTC by Brian Fitzpatrick
Modified: 2014-06-16 23:51 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed:
Type: Bug
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Issue Tracker SWITCHYARD-1635 0 Major Closed BPM Implementation - resource table throws NPE when editing and cancel out of Property dialog 2014-06-16 23:51:03 UTC

Description Brian Fitzpatrick 2013-08-05 20:33:42 UTC
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:

Comment 2 Brian Fitzpatrick 2013-08-13 14:49:43 UTC
The same issue also affects the Rules implementation UI intermittently, so I will make the change there as well.

Comment 3 JBoss JIRA Server 2013-08-13 14:55:50 UTC
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.

Comment 4 JBoss JIRA Server 2013-08-15 14:44:09 UTC
Rob Cernich <rcernich> made a comment on jira SWITCHYARD-1635

pushed

Comment 5 Brian Fitzpatrick 2013-08-15 18:03:06 UTC
Verified locally.

Comment 6 Jiri Pechanec 2013-09-17 12:24:21 UTC
Verified in ER2

Comment 10 JBoss JIRA Server 2014-06-16 23:51:05 UTC
Keith Babo <kbabo> updated the status of jira SWITCHYARD-1635 to Closed


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