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
stack.addCommandStackListener( getCommandStackListener( ) );
		}
	}
	/**
	 * returns command stack listener.
	 */
	public ActivityStackListener getCommandStackListener( )
	{
		return commandStackListener;
	}
	/*
	 * (non-Javadoc)
	 * 
	 * @see org.eclipse.ui.forms.editor.IFormPage#initialize(org.eclipse.ui.forms.editor.FormEditor)
	 */
	public void initialize( FormEditor editor )
	{
		this.editor = editor;
	}
	public FormEditor getEditor( )
	{
		return editor;
	}
	public void init( IEditorSite site, IEditorInput input )
			throws PartInitException
	{
		super.init( site, input );
		initialize( (FormEditor)((MultiPageEditorSite)site).getMultiPageEditor() );
		
	}