eclipse-cs icon indicating copy to clipboard operation
eclipse-cs copied to clipboard

Magic Numbers rule UI cannot be opened (NPE)

Open MathiasAugstein opened this issue 4 years ago • 1 comments

I cannot add Coding_Problems/MagicNumber rule to our configuration. Using the "Add... ->" Button has no effect, I get the error:

java.lang.NullPointerException
	at net.sf.eclipsecs.ui.config.widgets.ConfigPropertyWidgetFactory.createWidget(ConfigPropertyWidgetFactory.java:57)
	at net.sf.eclipsecs.ui.config.RuleConfigurationEditDialog.createConfigPropertyEntries(RuleConfigurationEditDialog.java:518)
	at net.sf.eclipsecs.ui.config.RuleConfigurationEditDialog.createGeneralSection(RuleConfigurationEditDialog.java:173)
	at net.sf.eclipsecs.ui.config.RuleConfigurationEditDialog.createDialogArea(RuleConfigurationEditDialog.java:127)
	at org.eclipse.jface.dialogs.TitleAreaDialog.createContents(TitleAreaDialog.java:162)
	at org.eclipse.jface.window.Window.create(Window.java:431)
	at org.eclipse.jface.dialogs.Dialog.create(Dialog.java:1094)
	at net.sf.eclipsecs.ui.config.RuleConfigurationEditDialog.create(RuleConfigurationEditDialog.java:529)
	at org.eclipse.jface.window.Window.open(Window.java:788)
	at net.sf.eclipsecs.ui.config.CheckConfigurationConfigureDialog$PageController.newModule(CheckConfigurationConfigureDialog.java:708)
	at net.sf.eclipsecs.ui.config.CheckConfigurationConfigureDialog$PageController.widgetSelected(CheckConfigurationConfigureDialog.java:514)
	at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:252)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89)
	at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4237)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1060)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4054)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3626)
	at org.eclipse.jface.window.Window.runEventLoop(Window.java:823)
	at org.eclipse.jface.window.Window.open(Window.java:799)
	at net.sf.eclipsecs.ui.config.CheckConfigurationWorkingSetEditor.configureCheckConfig(CheckConfigurationWorkingSetEditor.java:518)
	at net.sf.eclipsecs.ui.config.CheckConfigurationWorkingSetEditor.access$6(CheckConfigurationWorkingSetEditor.java:505)
	at net.sf.eclipsecs.ui.config.CheckConfigurationWorkingSetEditor$PageController.widgetSelected(CheckConfigurationWorkingSetEditor.java:400)
	at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:252)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89)
	at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4237)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1060)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4054)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3626)
	at org.eclipse.jface.window.Window.runEventLoop(Window.java:823)
	at org.eclipse.jface.window.Window.open(Window.java:799)
	at org.eclipse.ui.internal.OpenPreferencesAction.run(OpenPreferencesAction.java:66)
	at org.eclipse.jface.action.Action.runWithEvent(Action.java:474)
	at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:580)
	at org.eclipse.jface.action.ActionContributionItem.lambda$4(ActionContributionItem.java:414)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89)
	at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4237)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1060)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4054)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3626)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1150)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1041)
	at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:155)
	at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:644)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:551)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:156)
	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:136)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:401)
	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:659)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:596)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1467)

Double clicking on the entry opens a dialog that a Null Pointer Exception occured with this error:

java.lang.NullPointerException
	at net.sf.eclipsecs.ui.config.widgets.ConfigPropertyWidgetFactory.createWidget(ConfigPropertyWidgetFactory.java:57)
	at net.sf.eclipsecs.ui.config.RuleConfigurationEditDialog.createConfigPropertyEntries(RuleConfigurationEditDialog.java:518)
	at net.sf.eclipsecs.ui.config.RuleConfigurationEditDialog.createGeneralSection(RuleConfigurationEditDialog.java:173)
	at net.sf.eclipsecs.ui.config.RuleConfigurationEditDialog.createDialogArea(RuleConfigurationEditDialog.java:127)
	at org.eclipse.jface.dialogs.TitleAreaDialog.createContents(TitleAreaDialog.java:162)
	at org.eclipse.jface.window.Window.create(Window.java:431)
	at org.eclipse.jface.dialogs.Dialog.create(Dialog.java:1094)
	at net.sf.eclipsecs.ui.config.RuleConfigurationEditDialog.create(RuleConfigurationEditDialog.java:529)
	at org.eclipse.jface.window.Window.open(Window.java:788)
	at net.sf.eclipsecs.ui.config.CheckConfigurationConfigureDialog$PageController.newModule(CheckConfigurationConfigureDialog.java:708)
	at net.sf.eclipsecs.ui.config.CheckConfigurationConfigureDialog$PageController.doubleClick(CheckConfigurationConfigureDialog.java:500)
	at org.eclipse.jface.viewers.StructuredViewer$1.run(StructuredViewer.java:780)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)
	at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:174)
	at org.eclipse.jface.viewers.StructuredViewer.fireDoubleClick(StructuredViewer.java:777)
	at org.eclipse.jface.viewers.AbstractTreeViewer.handleDoubleSelect(AbstractTreeViewer.java:1529)
	at org.eclipse.jface.viewers.StructuredViewer$4.widgetDefaultSelected(StructuredViewer.java:1211)
	at org.eclipse.jface.util.OpenStrategy.fireDefaultSelectionEvent(OpenStrategy.java:251)
	at org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java:308)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89)
	... [same as above from here on]

Currently the MagicNumber rule can neither be added nor changed, only removed.

Using CheckStyle Plugin 8.44.0 on Eclipse 2021-09 (4.21.0)

MathiasAugstein avatar Sep 21 '21 10:09 MathiasAugstein

Report of issues that may be relevant.

Double-clicking a module will result in a NullPointerException to display the Checkstyle diagnostic rule configuration dialog.

The target is as follows ・Rule category      ・Rule name Javadoc Comments    AtclauseOrder Coding Problems     IllegalType Coding Problems     MagicNumber Coding Problems     MultipleStringLiterals

Eclipse2021-03 (4.19) CheckStyle 8.44 plugin

cw-eclipse avatar Oct 12 '21 01:10 cw-eclipse