Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 368034

Summary: NullPointerException after editing description of SpecRelation
Product: [Modeling] MDT.RMF Reporter: Lukas Ladenberger <lukas.ladenberger>
Component: ProRAssignee: Lukas L. <lukas.ladenberger>
Status: CLOSED FIXED QA Contact:
Severity: major    
Priority: P3    
Version: unspecified   
Target Milestone: m12.01   
Hardware: PC   
OS: Windows 7   
Whiteboard:
Attachments:
Description Flags
ReqIf File none

Description Lukas Ladenberger CLA 2012-01-06 09:35:27 EST
Created attachment 209132 [details]
ReqIf File

1. Open attachet reqif file with ProR
2. Open the specification
3. Click on the Req2
4. Click on the Toggle SpecRelations button in order to show the relations
5. Edit the description of Link1

The following exception is thrown:

!ENTRY org.eclipse.emf.common 2 0 2012-01-06 15:33:27.055
!MESSAGE An exception was ignored during command execution
!STACK 0
org.eclipse.emf.common.util.WrappedException: An exception was ignored during command execution
	at org.eclipse.emf.common.command.BasicCommandStack.handleError(BasicCommandStack.java:287)
	at org.eclipse.emf.common.command.BasicCommandStack.execute(BasicCommandStack.java:118)
	at org.eclipse.rmf.pror.reqif10.util.ProrUtil.setTheValue(ProrUtil.java:197)
	at org.eclipse.rmf.pror.reqif10.editor.agilegrid.ProrStringCellEditor.doGetValue(ProrStringCellEditor.java:46)
	at org.agilemore.agilegrid.CellEditor.getValue(CellEditor.java:491)
	at org.agilemore.agilegrid.AbstractCellEditorProvider.saveCellEditorValue(AbstractCellEditorProvider.java:128)
	at org.agilemore.agilegrid.AgileGridEditor.saveEditorValue(AgileGridEditor.java:437)
	at org.agilemore.agilegrid.AgileGridEditor.applyEditorValue(AgileGridEditor.java:324)
	at org.agilemore.agilegrid.AgileGridEditor$1.applyEditorValue(AgileGridEditor.java:166)
	at org.agilemore.agilegrid.CellEditor.fireApplyEditorValue(CellEditor.java:346)
	at org.agilemore.agilegrid.CellEditor.onKeyPressed(CellEditor.java:986)
	at org.agilemore.agilegrid.editors.TextCellEditor.onKeyPressed(TextCellEditor.java:478)
	at org.agilemore.agilegrid.CellEditor$1.keyPressed(CellEditor.java:220)
	at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:167)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1077)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1062)
	at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1104)
	at org.eclipse.swt.widgets.Text.sendKeyEvent(Text.java:1455)
	at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1100)
	at org.eclipse.swt.widgets.Widget.wmChar(Widget.java:1509)
	at org.eclipse.swt.widgets.Control.WM_CHAR(Control.java:4640)
	at org.eclipse.swt.widgets.Text.WM_CHAR(Text.java:2259)
	at org.eclipse.swt.widgets.Control.windowProc(Control.java:4528)
	at org.eclipse.swt.widgets.Text.windowProc(Text.java:2254)
	at org.eclipse.swt.widgets.Display.windowProc(Display.java:4972)
	at org.eclipse.swt.internal.win32.OS.DispatchMessageW(Native Method)
	at org.eclipse.swt.internal.win32.OS.DispatchMessage(OS.java:2531)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3752)
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2696)
	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2660)
	at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2494)
	at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:674)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:667)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:123)
	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:344)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
	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:622)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1410)
	at org.eclipse.equinox.launcher.Main.main(Main.java:1386)
Caused by: org.eclipse.swt.SWTException: Widget is disposed
	at org.eclipse.swt.SWT.error(SWT.java:4282)
	at org.eclipse.swt.SWT.error(SWT.java:4197)
	at org.eclipse.swt.SWT.error(SWT.java:4168)
	at org.eclipse.swt.widgets.Widget.error(Widget.java:468)
	at org.eclipse.swt.widgets.Widget.checkWidget(Widget.java:340)
	at org.agilemore.agilegrid.AgileGrid.getStyle(AgileGrid.java:3339)
	at org.agilemore.agilegrid.AgileGrid.redrawCells(AgileGrid.java:776)
	at org.agilemore.agilegrid.AgileGrid$1.propertyChange(AgileGrid.java:368)
	at java.beans.PropertyChangeSupport.firePropertyChange(Unknown Source)
	at java.beans.PropertyChangeSupport.firePropertyChange(Unknown Source)
	at org.agilemore.agilegrid.AbstractContentProvider.firePropertyChange(AbstractContentProvider.java:372)
	at org.eclipse.rmf.pror.reqif10.editor.agilegrid.ProrAgileGridContentProvider.recurseUpdateElement(ProrAgileGridContentProvider.java:266)
	at org.eclipse.rmf.pror.reqif10.editor.agilegrid.ProrAgileGridContentProvider.updateElement(ProrAgileGridContentProvider.java:236)
	at org.eclipse.rmf.pror.reqif10.editor.agilegrid.ProrAgileGridViewer$5.notifyChanged(ProrAgileGridViewer.java:367)
	at org.eclipse.emf.common.notify.impl.BasicNotifierImpl.eNotify(BasicNotifierImpl.java:380)
	at org.eclipse.rmf.pror.reqif10.provider.AttributeValueItemProvider.notifyChanged(AttributeValueItemProvider.java:139)
	at org.eclipse.rmf.pror.reqif10.provider.AttributeValueSimpleItemProvider.notifyChanged(AttributeValueSimpleItemProvider.java:98)
	at org.eclipse.rmf.pror.reqif10.provider.AttributeValueStringItemProvider.notifyChanged(AttributeValueStringItemProvider.java:159)
	at org.eclipse.emf.common.notify.impl.BasicNotifierImpl.eNotify(BasicNotifierImpl.java:380)
	at org.eclipse.rmf.reqif10.impl.AttributeValueStringImpl.setTheValue(AttributeValueStringImpl.java:111)
	at org.eclipse.rmf.reqif10.impl.AttributeValueStringImpl.eSet(AttributeValueStringImpl.java:265)
	at org.eclipse.emf.ecore.impl.BasicEObjectImpl.eSet(BasicEObjectImpl.java:1081)
	at org.eclipse.emf.edit.command.SetCommand.doExecute(SetCommand.java:728)
	at org.eclipse.emf.edit.command.AbstractOverrideableCommand.execute(AbstractOverrideableCommand.java:131)
	at org.eclipse.emf.common.command.CommandWrapper.execute(CommandWrapper.java:180)
	at org.eclipse.emf.common.command.BasicCommandStack.execute(BasicCommandStack.java:84)
	... 49 more
Comment 1 Michael Jastram CLA 2012-01-06 10:39:23 EST
The problem is that the section contains one element "null", which is the result of affectedElement being null.  This in turn is the result of ProrCellEditorProvider.getAffectedElement(), which tries to retrieve the affected SpecHierarchy.  But in this case, it is a SpecRelation.
Comment 2 Lukas Ladenberger CLA 2012-01-06 10:54:25 EST
fixed