Bug 204065 NPE throws out when open the attached flat file dataset
Description: [Regression]NPE throws out when open the attached flat file dataset Build number: 2.2.1.v20070920-0630 Steps to reproduce: 1, New a flat file datasource from a connction profile 2, New a flat file dataset 3, Open XML Source, clear all the local properties of connection and only left the connection profile's property 4, Go back to layout and open the flat file dataset Expected result: No exception occurs Actual result: NPE occurs and can not close the dialog by click OK BUTTON Error log: java.lang.NullPointerException at java.util.Hashtable.put(Hashtable.java:396) at org.eclipse.datatools.connectivity.oda.flatfile.ui.wizards.FileSelectionWizardPage.getResultSetMetaData(FileSelectionWizardPage.java:1149) at org.eclipse.datatools.connectivity.oda.flatfile.ui.wizards.FileSelectionWizardPage.savePage(FileSelectionWizardPage.java:1646) at org.eclipse.datatools.connectivity.oda.flatfile.ui.wizards.FileSelectionWizardPage.collectDataSetDesign(FileSelectionWizardPage.java:270) at org.eclipse.datatools.connectivity.oda.design.internal.ui.DataSetWizardPageCore.finishDataSetDesign(DataSetWizardPageCore.java:368) at org.eclipse.datatools.connectivity.oda.design.internal.ui.DataSetWizardBase.collectDataSetDesignFromPage(DataSetWizardBase.java:333) at org.eclipse.datatools.connectivity.oda.design.internal.ui.DataSetWizardBase.finishDataSetDesign(DataSetWizardBase.java:356) at org.eclipse.datatools.connectivity.oda.design.internal.ui.DataSetWizardBase.getResponseSession(DataSetWizardBase.java:105) at org.eclipse.datatools.connectivity.oda.design.internal.designsession.DataSetDesignSessionBase.finishDataSetDesign(DataSetDesignSessionBase.java:332) at org.eclipse.datatools.connectivity.oda.design.internal.designsession.DataSetDesignSessionBase.finish(DataSetDesignSessionBase.java:167) at org.eclipse.datatools.connectivity.oda.design.ui.designsession.DataSetDesignSession.finish(DataSetDesignSession.java:153) at org.eclipse.birt.report.designer.data.ui.dataset.DataSetEditor.updateDataSetDesign(DataSetEditor.java:460) at org.eclipse.birt.report.designer.data.ui.dataset.OutputColumnsPage.performOk(OutputColumnsPage.java:243) at org.eclipse.birt.report.designer.data.ui.property.AbstractPropertyDialog.okPressed(AbstractPropertyDialog.java:730) at org.eclipse.birt.report.designer.data.ui.property.AbstractPropertyDialog.okPressed(AbstractPropertyDialog.java:715) at org.eclipse.birt.report.designer.data.ui.dataset.DataSetEditor.okPressed(DataSetEditor.java:592) at org.eclipse.birt.report.designer.data.ui.property.AbstractPropertyDialog.buttonPressed(AbstractPropertyDialog.java:597) at org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.java:616)
data/org.eclipse.birt.report.data.oda.jdbc.ui/src/org/eclipse/birt/report/data/oda/jdbc/ui/provider/JdbcMetaDataProvider.java
*     Actuate Corporation - Initial implementation.
 ************************************************************************************/
package org.eclipse.birt.report.data.oda.jdbc.ui.provider;
import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.logging.Level;
import java.util.logging.Logger;
import org.eclipse.birt.report.data.oda.jdbc.ui.JdbcPlugin;
import org.eclipse.birt.report.data.oda.jdbc.ui.util.Column;
import org.eclipse.birt.report.data.oda.jdbc.ui.util.Constants;
import org.eclipse.birt.report.data.oda.jdbc.ui.util.DriverLoader;
import org.eclipse.birt.report.data.oda.jdbc.ui.util.ExceptionHandler;
import org.eclipse.birt.report.data.oda.jdbc.ui.util.Procedure;
import org.eclipse.birt.report.data.oda.jdbc.ui.util.ProcedureParameter;
import org.eclipse.datatools.connectivity.oda.design.DataSourceDesign;
import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.ui.PlatformUI;
/**
 * Class to Manage Jdbc Data Sources, has implementation of utility functions
 * such as getting meta data from a Jdbc Data Source
 */
public class JdbcMetaDataProvider implements IMetaDataProvider
{
	
	private Connection jdbcConnection = null;
	private String userName = null;
	private String url = null;