package profileEngine;

import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.ResultSet;
import java.sql.SQLException;

public class DatabaseList 
{
	public DatabaseList(Connection dataConnection, String databaseProduct, DatabaseSchemaTableList databaseSchemaTableList)
	{
		DatabaseMetaData databaseMetaData = null;
		ResultSet catalogs = null;
		String databaseName = null;
		String encoding = null;
		TableElement tableElement;
		
		try 
		{
			databaseMetaData = dataConnection.getMetaData();
		} 
		catch (SQLException e) 
		{
			e.printStackTrace();
		}	
		
		try 
		{
			catalogs = databaseMetaData.getCatalogs();
		} 
		catch (SQLException e1) 
		{
			e1.printStackTrace();
		}
		try 
		{
			while (catalogs.next())
			{
				databaseName = new String(catalogs.getString(1));
				new DatabaseEncoding(dataConnection, databaseProduct, databaseName);
				encoding = new String(DatabaseEncoding.getEncoding());
				tableElement = new TableElement();
				tableElement.setDatabaseName(databaseName);
				tableElement.setDatabaseEncoding(encoding);
				databaseSchemaTableList.add(tableElement);
			}
		} 
		catch (SQLException e1) 
		{
			e1.printStackTrace();
		}
	}
}
