Bug 187162 [Regression]NPE throws out when open a dataset which reference datasource has no driver[07]
Description: NPE throws out when open a dataset which reference datasource has no driver[07] Build number: 2.2.0.v20070516-0630 Steps to reproduce: 1, open a dataset makesure the datasource has no driver 2, Close all the warning dialog and the dataset dialog 3, Check the error log Expected result: No NPE throws out Actual result: NPE throws out Error log: java.lang.NullPointerException at org.eclipse.birt.report.data.oda.jdbc.ui.editors.SQLDataSetEditorPage.refreshPage(SQLDataSetEditorPage.java:1376) at org.eclipse.birt.report.data.oda.jdbc.ui.editors.SQLDataSetEditorPage.initializeControl(SQLDataSetEditorPage.java:272) at org.eclipse.birt.report.data.oda.jdbc.ui.editors.SQLDataSetEditorPage.createPageCustomControl(SQLDataSetEditorPage.java:191) at org.eclipse.datatools.connectivity.oda.design.ui.wizards.DataSetWizardPage.createControl(DataSetWizardPage.java:123) at org.eclipse.datatools.connectivity.oda.design.internal.ui.DataSetEditorPageCore.createContents(DataSetEditorPageCore.java:73) at org.eclipse.jface.preference.PreferencePage.createControl(PreferencePage.java:233) at org.eclipse.birt.report.designer.data.ui.dataset.PropertyPageWrapper.createPageControl(PropertyPageWrapper.java:45) at org.eclipse.birt.report.designer.data.ui.property.PropertyNode.createPageControl(PropertyNode.java:238) at org.eclipse.birt.report.designer.data.ui.property.AbstractPropertyDialog.showPage(AbstractPropertyDialog.java:442) at org.eclipse.birt.report.designer.data.ui.property.AbstractPropertyDialog.showSelectionPage(AbstractPropertyDialog.java:346) at org.eclipse.birt.report.designer.data.ui.dataset.DataSetEditor.showSelectionPage(DataSetEditor.java:720) at org.eclipse.birt.report.designer.data.ui.property.AbstractPropertyDialog$2.run(AbstractPropertyDialog.java:304)
data/org.eclipse.birt.report.data.oda.jdbc.ui/src/org/eclipse/birt/report/data/oda/jdbc/ui/editors/SQLDataSetEditorPage.java
public void setDatabaseObjectTreeExpansion( boolean expand )
	{
		this.expandDbObjectsTree = expand;
	}
	/**
	 * remove the tree item's direct child treeItem, cause since 3.1,
	 * TreeItem.removeAll is supported.But in 3.0,this method is not supported.
	 * 
	 * @param treeItem
	 */
	private void removeTreeItem( TreeItem treeItem )
	{
		if ( treeItem.isDisposed( ) )
			return;
		TreeItem[] items = treeItem.getItems( );
		for ( int i = 0; i < items.length; i++ )
		{
			if ( items[i] != null && !items[i].isDisposed( ) )
			{
				items[i].dispose( );
			}
		}
	}
}
class DbType
{
	public static final int TABLE_TYPE = 0;
	public static final String TABLE_STRING = "TABLE";
	public static final int VIEW_TYPE = 1;
	public static final String VIEW_STRING = "VIEW";