NPE in DSE Perspective
1. Current Status.
An NPE occurs if no exploration targets have been modeled yet for a given project.
2. Reason.
The treeviewer for the History & Exploration Targets is accessed before it is created (it’s created when the first element is added).
3. How to reproduce.
- Create a project with all requred input for the DSE (if needed at all).
- Open the DSE perspective.
- Click the “Home” button.
4. Stack trace
!ENTRY org.eclipse.ui 4 0 2017-01-12 15:33:03.638
!MESSAGE Unhandled event loop exception
!STACK 0
java.lang.NullPointerException
at
org.fortiss.af3.efficientdeployment.ui.perspective.navigator.DSENavigator.propertyChanged(DSENavigator.java:216)
at
org.fortiss.af3.efficientdeployment.ui.perspective.DSEPerspectiveManager.firePropertyChanged(DSEPerspectiveManager.java:132)
at
org.fortiss.af3.efficientdeployment.ui.perspective.DSEPerspectiveManager.processStepChanged(DSEPerspectiveManager.java:327)
at
org.fortiss.af3.efficientdeployment.ui.perspective.process.ProcessManager.showView(ProcessManager.java:152)
at
org.fortiss.af3.efficientdeployment.ui.perspective.process.ProcessManager.gotoHome(ProcessManager.java:88)
at
org.fortiss.af3.efficientdeployment.ui.perspective.navigator.DSEProcessNavigator$HomeSelectionAdapter.widgetSelected(DSEProcessNavigator.java:141)
at
org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:248)
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:140)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:611)
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.fortiss.af3.rcapplication.AF3Application.start(AF3Application.java:48)
at
org.eclipse.equinox.internal.apEclipseAppHandle.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:62)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
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)
(from redmine: issue id 2791, created on 2017-01-12, closed on 2017-01-30)