Bug 191880 Close the invalid library will lead the ClassCastException occurs and that error will lead some operation throw exceptions
Description: Close the invalid library will lead the ClassCastException occurs and that error will lead some operation such as insert a Create a datasource throw exceptions Build number: 2.2.0.v20070608-0630 Steps to reproduce: 1, Open the attache library file 2, Close that file 3, New a Data source in another report design file Expected result: After step2, the library is closed without exceptions After step3, the parameter can be created successfully without exceptions Actual result: After step2, ClassCastException occurs After step3, NPE throws out Error log: java.lang.ClassCastException: org.eclipse.gef.commands.CommandStack at org.eclipse.birt.report.designer.ui.editors.LibraryLayoutEditorFormPage.dispose(LibraryLayoutEditorFormPage.java:249) at org.eclipse.birt.report.designer.ui.editors.MultiPageReportEditor.dispose(MultiPageReportEditor.java:1010) at org.eclipse.birt.report.designer.ui.editors.IDEMultiPageReportEditor.dispose(IDEMultiPageReportEditor.java:432) at org.eclipse.birt.report.designer.ui.editors.ReportEditorProxy.dispose(ReportEditorProxy.java:133) NPE: java.lang.NullPointerException at org.eclipse.birt.report.designer.ui.editor.pages.xml.ReportXMLSourceEditorFormPage.reloadEditorInput(ReportXMLSourceEditorFormPage.java:514) at org.eclipse.birt.report.designer.ui.editor.pages.xml.ReportXMLSourceEditorFormPage.access$1(ReportXMLSourceEditorFormPage.java:509) at org.eclipse.birt.report.designer.ui.editor.pages.xml.ReportXMLSourceEditorFormPage$1.stackChanged(ReportXMLSourceEditorFormPage.java:408)
UI/org.eclipse.birt.report.designer.ui.lib/src/org/eclipse/birt/report/designer/ui/editors/LibraryLayoutEditorFormPage.java
}
		super.dispose( );
	}
	public void markPageStale( int type )
	{
		staleType = type;
	}
	public int getStaleType( )
	{
		return staleType;
	}
	public Object getAdapter( Class adapter )
	{
		if ( adapter == DataViewPage.class )
		{
			DataViewTreeViewerPage page = new DataViewTreeViewerPage( getModel( ) );
			return page;
		}
		if ( adapter == AttributeViewPage.class )
		{
			AttributeViewPage page = new AttributeViewPage( );
			return page;
		}
		return super.getAdapter( adapter );
	}
	
	public void setInput(IEditorInput input)
	{
		super.setInput(input);
	}