Project: Birt
Bug 270077 NPE occurred when specify dataset which hasn't bindings in Chart builder
Reported: 2009-03-26 03:30:37 | Status: closed fixed

Description: NPE occurred when specify dataset which hasn't bindings in Chart builder Build number: 2.5.0.v20090326-0630 Steps to reproduce: 1, New a script dataset without any column 2, New a Chart and specify this dataset without any bindings as dataset Expected result: After step2, no NPE occurs Actual result: NPE occurred after step2 Error log: java.lang.NullPointerException at org.eclipse.birt.chart.reportitem.ui.ReportDataServiceProvider.setPredefinedExpressions(ReportDataServiceProvider.java:2009) at org.eclipse.birt.chart.reportitem.ui.StandardChartDataSheet.updatePredefinedQueries(StandardChartDataSheet.java:2461) at org.eclipse.birt.chart.reportitem.ui.StandardChartDataSheet.handleEvent(StandardChartDataSheet.java:1310) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1003) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1027) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1012) at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:770) at org.eclipse.swt.custom.CCombo.listEvent(CCombo.java:1046) at org.eclipse.swt.custom.CCombo$1.handleEvent(CCombo.java:115) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1003) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3880) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3473) at org.eclipse.jface.window.Window.runEventLoop(Window.java:825) at org.eclipse.jface.window.Window.open(Window.java:801) at org.eclipse.birt.core.ui.frameworks.taskwizard.WizardBase.open(WizardBase.java:87) at org.eclipse.birt.chart.ui.swt.wizard.ChartWizard.open(ChartWizard.java:200) at org.eclipse.birt.chart.reportitem.ui.ChartReportItemBuilderImpl.open(ChartReportItemBuilderImpl.java:244) at org.eclipse.birt.report.designer.internal.ui.processor.ExtenedElementProcessor.editElement(ExtenedElementProcessor.java:64) at org.eclipse.birt.report.designer.internal.ui.views.DefaultNodeProvider.performInsert(DefaultNodeProvider.java:703) at org.eclipse.birt.report.designer.internal.ui.views.DefaultNodeProvider.performRequest(DefaultNodeProvider.java:400) 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.birt.report.designer.ui.views.ElementAdapterInvocationHandler.invoke(ElementAdapterInvocationHandler.java:89) at $Proxy0.performRequest(Unknown Source) at org.eclipse.birt.report.designer.ui.actions.BaseInsertMenuAction.insertElement(BaseInsertMenuAction.java:193) at org.eclipse.birt.report.designer.ui.actions.BaseInsertMenuAction.run(BaseInsertMenuAction.java:268) 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:1003) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3880) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3473) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2393) at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2357) at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2209) at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:499) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:492) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149) at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:113) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:194) 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:368) 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:556) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:511) at org.eclipse.equinox.launcher.Main.run(Main.java:1284)

Files changed in fix:
chart/org.eclipse.birt.chart.reportitem.ui/src/org/eclipse/birt/chart/reportitem/ui/ReportDataServiceProvider.java chart/org.eclipse.birt.chart.reportitem.ui/src/org/eclipse/birt/chart/reportitem/ui/StandardChartDataSheet.java