Bugs when trying to save when closing AF3 from DSE perspective
Steps to reproduce:
- Import a project into the DSE perspective
- Activate the visualizations screen
- Close AF3
Effect
- A dialog ask to confirm the (non-existent) “Visualizations” “resource”(see attached image) that actually corresponds to the closed viewpart
- When working longer with the DSE perspective, many additional fake resources (that are actually UI parts of the DSE perspective) are shown in the confirmation dialog
- In case at least one of the "resources is saved, below exception can be observed:
!ENTRY org.eclipse.e4.ui.workbench 4 0 2019-09-27 16:57:11.860
!MESSAGE Failed to persist contents of part (org.fortiss.af3.exploration.ui.perspective.visualization.VisualizationViewBackend) via DI
!STACK 0
java.lang.NullPointerException
at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:235)
at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:129)
at org.eclipse.e4.ui.internal.workbench.PartServiceSaveHandler.save(PartServiceSaveHandler.java:60)
at org.eclipse.ui.internal.WorkbenchWindow$4.save(WorkbenchWindow.java:598)
at org.eclipse.e4.ui.internal.workbench.PartServiceSaveHandler.saveParts(PartServiceSaveHandler.java:87)
at org.eclipse.ui.internal.WorkbenchWindow$4.saveParts(WorkbenchWindow.java:745)
at org.eclipse.ui.internal.Workbench.saveAllParts(Workbench.java:1380)
at org.eclipse.ui.internal.Workbench.busyClose(Workbench.java:1073)
at org.eclipse.ui.internal.Workbench.lambda$4(Workbench.java:1446)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:72)
at org.eclipse.ui.internal.Workbench.close(Workbench.java:1446)
at org.eclipse.ui.internal.Workbench.close(Workbench.java:1422)
at org.eclipse.ui.internal.WorkbenchWindow.busyClose(WorkbenchWindow.java:1733)
at org.eclipse.ui.internal.WorkbenchWindow.lambda$3(WorkbenchWindow.java:1762)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:72)
at org.eclipse.ui.internal.WorkbenchWindow.close(WorkbenchWindow.java:1762)
at org.eclipse.ui.internal.WorkbenchWindow.close(WorkbenchWindow.java:1771)
at org.eclipse.ui.internal.WorkbenchWindow$3.close(WorkbenchWindow.java:529)
at org.eclipse.e4.ui.workbench.renderers.swt.WBWRenderer.lambda$4(WBWRenderer.java:577)
at org.eclipse.swt.events.ShellListener$2.shellClosed(ShellListener.java:102)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:102)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4131)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1056)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1080)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1065)
at org.eclipse.swt.widgets.Decorations.closeWidget(Decorations.java:284)
at org.eclipse.swt.widgets.Decorations.WM_CLOSE(Decorations.java:1573)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:4761)
at org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:348)
at org.eclipse.swt.widgets.Decorations.windowProc(Decorations.java:1501)
at org.eclipse.swt.widgets.Shell.windowProc(Shell.java:2138)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4770)
at org.eclipse.swt.internal.win32.OS.DefWindowProc(Native Method)
at org.eclipse.swt.widgets.Shell.callWindowProc(Shell.java:508)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:4856)
at org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:348)
at org.eclipse.swt.widgets.Decorations.windowProc(Decorations.java:1501)
at org.eclipse.swt.widgets.Shell.windowProc(Shell.java:2138)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4770)
at org.eclipse.swt.internal.win32.OS.DefWindowProc(Native Method)
at org.eclipse.swt.widgets.Shell.callWindowProc(Shell.java:508)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:4856)
at org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:348)
at org.eclipse.swt.widgets.Decorations.windowProc(Decorations.java:1501)
at org.eclipse.swt.widgets.Shell.windowProc(Shell.java:2138)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4770)
at org.eclipse.swt.internal.win32.OS.DispatchMessage(Native Method)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3545)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1173)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1062)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:155)
at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:635)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:559)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
at org.fortiss.af3.rcapplication.AF3Application.start(AF3Application.java:49)
at org.eclipse.equinox.internal.apEclipseAppHandle.run(EclipseAppHandle.java:203)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:137)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:107)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:400)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:255)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:660)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:597)
at org.eclipse.equinox.launcher.Main.run(Main.java:1468)
at org.eclipse.equinox.launcher.Main.main(Main.java:1441)
(from redmine: issue id 3824, created on 2019-09-16, closed on 2019-09-30)