Bug 177720 NPE exception occured while open or save report in sample report view. [00]
Build number:v2.2.0 20070316 Description: If user dosen't select the report node, NPE exception occured while open or save report in sample report view. Step to reporduce: 1. open the sample report view 2. select a file folder node and click save or open button Actual result: NPE exception occured. Error log: java.lang.ClassCastException: org.eclipse.birt.report.designer.ui.samplesview.sampleslocator.SampleReportsEntry at org.eclipse.birt.report.designer.ui.samplesview.action.ExportSampleReportAction.run(ExportSampleReportAction.java:43) at org.eclipse.jface.action.Action.runWithEvent(Action.java:498) at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:545) at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:490) at org.eclipse.jface.action.ActionContributionItem$6.handleEvent(ActionContributionItem.java:443) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:938) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3490) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3104) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2264) at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2228) at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2103) at org.eclipse.ui.internal.Workbench$4.run(Workbench.java:457) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:289) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:452) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149) at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:101) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:146) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:106) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:76) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:354) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:169) 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:476) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:416) at org.eclipse.equinox.launcher.Main.run(Main.java:1124)
UI/org.eclipse.birt.report.designer.ui.samplesview/src/org/eclipse/birt/report/designer/ui/samplesview/view/ReportExamples.java
private SampleReportCanvas previewCanvas;
	private TreeViewer samplesTree;
	private Text description;
	private Object selectedElement;
	private ISampleReportEntry sampleEntry;
	public ReportExamples( Composite parent )
	{
		mainComposite = parent;
		createControl( );
	}
	public Shell getShell( )
	{
		return this.mainComposite.getShell( );
	}
	private void createControl( )
	{
		mainComposite.setLayout( new FillLayout( ) );
		SashForm hSash = new SashForm( mainComposite, SWT.HORIZONTAL
				| SWT.SMOOTH );
		createSamplesGroup( hSash );
		createDisplayGroup( hSash );
	}
	private void createSamplesGroup( SashForm hSash )
	{
		Group samplesGroup = new Group( hSash, SWT.NONE );
		samplesGroup.setText( Messages.getString( "SampleReportsView.Text.Explorer" ) );
		samplesGroup.setLayout( new GridLayout( 1, false ) );
		createSamplesExplorer( samplesGroup );
	}
	private void createDisplayGroup( SashForm hSash )