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

Bug 467649

Summary: NPE on SessionEditorInput.getAdapter()
Product: [Modeling] Sirius Reporter: Esteban DUGUEPEROUX <esteban.dugueperoux>
Component: CoreAssignee: Esteban DUGUEPEROUX <esteban.dugueperoux>
Status: CLOSED FIXED QA Contact: Maxime Porhel <maxime.porhel>
Severity: normal    
Priority: P3 CC: maxime.porhel, pierre-charles.david
Version: unspecifiedKeywords: triaged
Target Milestone: 3.0.0   
Hardware: PC   
OS: Linux   
See Also: https://git.eclipse.org/r/48237
https://git.eclipse.org/c/sirius/org.eclipse.sirius.git/commit/?id=742132888cbb677b877a61d73fc442cbd5cf0106
Whiteboard:

Description Esteban DUGUEPEROUX CLA 2015-05-20 03:12:40 EDT
In our Sirius tests API based tests suite, we have the following NPE, due to a missing check on session open state :

java.lang.NullPointerException
	at org.eclipse.sirius.ui.business.api.session.SessionEditorInput.getAdapter(SessionEditorInput.java:271)
	at org.eclipse.ui.ide.ResourceUtil.getFile(ResourceUtil.java:58)
	at org.eclipse.ui.internal.ide.actions.BuildUtilities.findSelectedProjects(BuildUtilities.java:97)
	at org.eclipse.ui.actions.BuildAction.isEnabled(BuildAction.java:239)
	at org.eclipse.ui.actions.RetargetAction.setActionHandler(RetargetAction.java:273)
	at org.eclipse.ui.internal.ide.actions.RetargetActionWithDefault.setActionHandler(RetargetActionWithDefault.java:47)
	at org.eclipse.ui.actions.RetargetAction.partActivated(RetargetAction.java:155)
	at org.eclipse.ui.internal.PartListenerList$1.run(PartListenerList.java:72)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
	at org.eclipse.core.runtime.Platform.run(Platform.java:857)
	at org.eclipse.ui.internal.PartListenerList.fireEvent(PartListenerList.java:57)
	at org.eclipse.ui.internal.PartListenerList.firePartActivated(PartListenerList.java:70)
	at org.eclipse.ui.internal.PartService.firePartActivated(PartService.java:187)
	at org.eclipse.ui.internal.PartService.setActivePart(PartService.java:306)
	at org.eclipse.ui.internal.WWinPartService.updateActivePart(WWinPartService.java:134)
	at org.eclipse.ui.internal.WWinPartService.access$0(WWinPartService.java:125)
	at org.eclipse.ui.internal.WWinPartService$WWinListener.partDeactivated(WWinPartService.java:50)
	at org.eclipse.ui.internal.PartListenerList2$4.run(PartListenerList2.java:115)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
	at org.eclipse.core.runtime.Platform.run(Platform.java:857)
	at org.eclipse.ui.internal.PartListenerList2.fireEvent(PartListenerList2.java:55)
	at org.eclipse.ui.internal.PartListenerList2.firePartDeactivated(PartListenerList2.java:113)
	at org.eclipse.ui.internal.PartService.firePartDeactivated(PartService.java:242)
	at org.eclipse.ui.internal.PartService.setActivePart(PartService.java:300)
	at org.eclipse.ui.internal.WorkbenchPagePartList.fireActivePartChanged(WorkbenchPagePartList.java:57)
	at org.eclipse.ui.internal.PartList.setActivePart(PartList.java:136)
	at org.eclipse.ui.internal.WorkbenchPage.setActivePart(WorkbenchPage.java:3649)
	at org.eclipse.ui.internal.WorkbenchPage.internalActivate(WorkbenchPage.java:700)
	at org.eclipse.ui.internal.WorkbenchPage.activate(WorkbenchPage.java:672)
	at org.eclipse.ui.internal.WorkbenchPage.makeActive(WorkbenchPage.java:1337)
	at org.eclipse.ui.internal.WorkbenchPage.updateActivePart(WorkbenchPage.java:1317)
	at org.eclipse.ui.internal.WorkbenchPage.handleDeferredEvents(WorkbenchPage.java:1509)
	at org.eclipse.ui.internal.WorkbenchPage.deferUpdates(WorkbenchPage.java:1498)
	at org.eclipse.ui.internal.WorkbenchPage.closeEditors(WorkbenchPage.java:1472)
	at org.eclipse.ui.internal.WorkbenchPage.closeEditor(WorkbenchPage.java:1536)
	at org.eclipse.sirius.table.ui.business.internal.dialect.TableDialectUIServices$2.run(TableDialectUIServices.java:204)
	at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:135)
	at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3537)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3189)
	at org.eclipse.sirius.tests.support.api.TestsUtil.synchronizationWithUIThread(TestsUtil.java:65)
Comment 1 Eclipse Genie CLA 2015-05-20 03:14:22 EDT
New Gerrit change created: https://git.eclipse.org/r/48237
Comment 3 Maxime Porhel CLA 2015-05-21 03:13:47 EDT
Corrected by commit 742132888cbb677b877a61d73fc442cbd5cf0106
Comment 4 Maxime Porhel CLA 2015-05-22 05:38:43 EDT
Validated on Sirius 3.0.0 RC1
Comment 5 Pierre-Charles David CLA 2015-06-24 11:16:15 EDT
Available in Sirius 3.0.0. See https://wiki.eclipse.org/Sirius/3.0.0.