Project: Birt
Bug 113496 Cascading parameter throw null pointer excpetion when try to preview
Reported: 2005-10-23 23:39:22 | Status: resolved fixed

Steps: 1. Create a data source to sameple db. 2. Create a data set from customers 3. Create a cascading parameter with contry,state and city. 4. Preview it. 5. Select Australia, ok 6. Select Austria, get exception as following: at org.eclipse.birt.data.engine.impl.ResultIterator. groupKeyValuesEqual(ResultIterator.java:811) at org.eclipse.birt.data.engine.impl.ResultIterator. findGroup(ResultIterator.java:781) at org.eclipse.birt.report.engine.api.impl.GetParameterDefinitionTask. getSelectionChoicesForCascadingGroup(GetParameterDefinitionTask.java:606) at org.eclipse.birt.report.designer.internal.ui.dialogs. InputParameterDialog.getSelectionChoice(InputParameterDialog.java:621) at org.eclipse.birt.report.designer.internal.ui.dialogs. InputParameterDialog.buildChoiceList(InputParameterDialog.java:533) at org.eclipse.birt.report.designer.internal.ui.dialogs. InputParameterDialog.refreshCascadingParameter(InputParameterDialog.java:523) at org.eclipse.birt.report.designer.internal.ui.dialogs. InputParameterDialog.access$1(InputParameterDialog.java:513) at org.eclipse.birt.report.designer.internal.ui.dialogs. InputParameterDialog$4.modifyText(InputParameterDialog.java:493) at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java: 187) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:844) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:868) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:849) at org.eclipse.swt.widgets.Combo.removeAll(Combo.java:1029) at org.eclipse.birt.report.designer.internal.ui.dialogs. InputParameterDialog.buildChoiceList(InputParameterDialog.java:531) at org.eclipse.birt.report.designer.internal.ui.dialogs. InputParameterDialog.refreshCascadingParameter(InputParameterDialog.java:523) at org.eclipse.birt.report.designer.internal.ui.dialogs. InputParameterDialog.access$1(InputParameterDialog.java:513) at org.eclipse.birt.report.designer.internal.ui.dialogs. InputParameterDialog$4.modifyText(InputParameterDialog.java:493) at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java: 187) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:844) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:868) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:849) at org.eclipse.swt.widgets.Combo.wmCommandChild(Combo.java:2011) at org.eclipse.swt.widgets.Control.WM_COMMAND(Control.java:3163) at org.eclipse.swt.widgets.Control.windowProc(Control.java:3040) at org.eclipse.swt.widgets.Display.windowProc(Display.java:3694) at org.eclipse.swt.internal.win32.OS.CallWindowProcW(Native Method) at org.eclipse.swt.internal.win32.OS.CallWindowProc(OS.java:1580) at org.eclipse.swt.widgets.Combo.callWindowProc(Combo.java:276) at org.eclipse.swt.widgets.Control.windowProc(Control.java:3122) at org.eclipse.swt.widgets.Combo.windowProc(Combo.java:1741) at org.eclipse.swt.widgets.Display.windowProc(Display.java:3694) at org.eclipse.swt.internal.win32.OS.DispatchMessageW(Native Method) at org.eclipse.swt.internal.win32.OS.DispatchMessage(OS.java:1656) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2701) at org.eclipse.jface.window.Window.runEventLoop(Window.java:809) at org.eclipse.jface.window.Window.open(Window.java:787) at org.eclipse.birt.report.designer.internal.ui.dialogs.BaseDialog. open(BaseDialog.java:145) at org.eclipse.birt.report.designer.internal.ui.editors.parts. AbstractMultiPageLayoutEditor.prePreview(AbstractMultiPageLayoutEditor.java: 1100) at org.eclipse.birt.report.designer.internal.ui.editors.parts. AbstractMultiPageLayoutEditor.pageChange(AbstractMultiPageLayoutEditor.java:948) at org.eclipse.birt.report.designer.ui.editors.ReportEditor. pageChange(ReportEditor.java:170) at org.eclipse.ui.part.MultiPageEditorPart$2. widgetSelected(MultiPageEditorPart.java:200) at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:89) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:844) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:868) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:853) at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:661) at org.eclipse.swt.custom.CTabFolder.setSelection(CTabFolder.java:3138) at org.eclipse.swt.custom.CTabFolder.onMouse(CTabFolder.java:1922) at org.eclipse.swt.custom.CTabFolder$1.handleEvent(CTabFolder.java:288) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:844) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3070) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2703) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1699) at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1663) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java: 367) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:143) at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:103) at org.eclipse.core.internal.runtime.PlatformActivator$1. run(PlatformActivator.java:226) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java: 376) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java: 163) 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.core.launcher.Main.invokeFramework(Main.java:334) at org.eclipse.core.launcher.Main.basicRun(Main.java:278) at org.eclipse.core.launcher.Main.run(Main.java:973) at org.eclipse.core.launcher.Main.main(Main.java:948)

Files changed in fix:
data/org.eclipse.birt.data/src/org/eclipse/birt/data/engine/impl/ResultIterator.java