| Summary: | [M2x IDE Integration] Null Pointer Exception in org.eclipse.sphinx.xtendxpand.ui.groups.ProtectedRegionGroup#dispose() and org.eclipse.sphinx.xtendxpand.ui.groups.ProtectedRegionGroup#store() methods | ||
|---|---|---|---|
| Product: | [Automotive] Sphinx | Reporter: | Idrissa Dieng <idydieng> |
| Component: | Core | Assignee: | Stephan Eberle <stephaneberle9> |
| Status: | CLOSED FIXED | QA Contact: | |
| Severity: | normal | ||
| Priority: | P3 | CC: | ali.akar82, stephaneberle9 |
| Version: | 0.7.0 | ||
| Target Milestone: | 0.7.0 | ||
| Hardware: | All | ||
| OS: | All | ||
| Whiteboard: | |||
|
Description
Idrissa Dieng
org.eclipse.core.runtime.AssertionFailedException: null argument: at org.eclipse.core.runtime.Assert.isNotNull(Assert.java:85) at org.eclipse.core.runtime.Assert.isNotNull(Assert.java:73) at org.eclipse.sphinx.platform.preferences.AbstractProjectWorkspacePreference.get(AbstractProjectWorkspacePreference.java:142) at org.eclipse.sphinx.xtendxpand.ui.groups.ProtectedRegionGroup.doCreateContent(ProtectedRegionGroup.java:33) at org.eclipse.sphinx.platform.ui.groups.AbstractGroup.createContent(AbstractGroup.java:82) at org.eclipse.sphinx.platform.ui.groups.AbstractGroup.createContent(AbstractGroup.java:68) at org.eclipse.sphinx.xtendxpand.ui.preferences.AbstractOutletsPreferencePage.addProtectedRegionGroup(AbstractOutletsPreferencePage.java:80) at org.eclipse.sphinx.xtendxpand.ui.preferences.AbstractOutletsPreferencePage.addFields(AbstractOutletsPreferencePage.java:67) at org.eclipse.sphinx.platform.ui.preferences.AbstractPreferenceAndPropertyPage.createFieldEditors(AbstractPreferenceAndPropertyPage.java:121) at org.eclipse.jface.preference.FieldEditorPreferencePage.createContents(FieldEditorPreferencePage.java:227) at org.eclipse.jface.preference.PreferencePage.createControl(PreferencePage.java:232) at org.eclipse.jface.preference.PreferenceDialog.createPageControl(PreferenceDialog.java:1501) at org.eclipse.jface.preference.PreferenceDialog$14.run(PreferenceDialog.java:1258) 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.preference.PreferenceDialog.showPage(PreferenceDialog.java:1252) at org.eclipse.ui.internal.dialogs.FilteredPreferenceDialog.showPage(FilteredPreferenceDialog.java:674) at org.eclipse.jface.preference.PreferenceDialog$10.run(PreferenceDialog.java:708) at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70) at org.eclipse.jface.preference.PreferenceDialog$9.selectionChanged(PreferenceDialog.java:704) at org.eclipse.jface.viewers.StructuredViewer$3.run(StructuredViewer.java:867) 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.StructuredViewer.firePostSelectionChanged(StructuredViewer.java:865) at org.eclipse.jface.viewers.StructuredViewer.handlePostSelect(StructuredViewer.java:1205) at org.eclipse.jface.viewers.StructuredViewer$5.widgetSelected(StructuredViewer.java:1230) at org.eclipse.jface.util.OpenStrategy.firePostSelectionEvent(OpenStrategy.java:251) at org.eclipse.jface.util.OpenStrategy.access$5(OpenStrategy.java:245) at org.eclipse.jface.util.OpenStrategy$3.run(OpenStrategy.java:419) at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35) at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:134) at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4041) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3660) at org.eclipse.jface.window.Window.runEventLoop(Window.java:825) at org.eclipse.jface.window.Window.open(Window.java:801) at org.eclipse.ui.internal.dialogs.WorkbenchPreferenceDialog.open(WorkbenchPreferenceDialog.java:211) at org.eclipse.ui.internal.OpenPreferencesAction.run(OpenPreferencesAction.java:65) at org.eclipse.jface.action.Action.runWithEvent(Action.java:498) at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:584) at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:501) at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:411) 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.Display.runDeferredEvents(Display.java:4066) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3657) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2640) at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2604) at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2438) at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:671) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:664) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149) at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:115) 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:369) 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:620) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:575) at org.eclipse.equinox.launcher.Main.run(Main.java:1408) at org.eclipse.equinox.launcher.Main.main(Main.java:1384) This problem is mainly caused by 2 reasons: * ProtectedRegionGroup and OutletsGroup/OutletProvider are working well at project level but do not fully support the workspace level use case * org.eclipse.sphinx.platform.preferences.AbstractProjectWorkspacePreference#get(IProject) assumes that the project argument must always be a non-null value. This makes the method inapplicable for querying the workspace-level preference value although the intuitive understanding of this method suggests the opposite = Resolution proposal = * Add missing code to ProtectedRegionGroup and OutletsGroup/OutletProvider for fully supporting the workspace level use case * Enhance implementation of org.eclipse.sphinx.platform.preferences.AbstractProjectWorkspacePreference#get(IProject) so as to enable this method to be used for querying the workspace-level preference value when the project argument is null Fixed as proposed in comment #2. Mass-closing Resolved tickets |