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
String schemaName = null;
				String schemaSeparator = ".";
				if ( metaDataProvider.isSchemaSupported( ) )
				{
					
					int index = -1;
					if ( ( index = tableName.lastIndexOf( schemaSeparator ) ) != -1 )
					{
						schemaName = tableName.substring( 0, index );
						tableName = tableName.substring( index + 1 );
					}
				}
				if ( item.getData( ) instanceof DbObject )
				{
					DbObject obj = (DbObject) item.getData( );
					if ( obj.getType( ) == DbObject.TABLE_TYPE
							|| obj.getType( ) == DbObject.VIEW_TYPE )
					{
						ArrayList columnList = metaDataProvider.getColumns( catalogName,
								schemaName,
								tableName,
								null );
						TreeItem[] items = item.getItems( );
						if ( items != null )
						{
							for ( int i = 0; i < items.length; i++ )
							{
								items[i].dispose( );
							}
						}