package dataQualityWebSite;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;


public class DatabaseLogin 
{
	private Connection connection;
	private boolean stateConnected = false;
//	private String databaseDriver;
	private String connectionString;
	private String userName;
	private String password;
	private String host;
	private String port;
	private String database;
	private String configurationName;
	private MetadataConfiguration metadataConfiguration;
	
	public DatabaseLogin(String metadataConfigurationFile) 
	{
        metadataConfiguration = new MetadataConfiguration(metadataConfigurationFile);
        
//        databaseDriver    = new String(metadataConfiguration.getJdbcDriver());
        connectionString  = new String(metadataConfiguration.getConnectionString());
        userName          = new String(metadataConfiguration.getUser());
        password          = new String(metadataConfiguration.getPassword());
        host              = new String(metadataConfiguration.getHost());
        port              = new String(metadataConfiguration.getPort());
        database          = new String(metadataConfiguration.getDatabase());
        configurationName = new String(metadataConfiguration.getConfigurationName());

   		try	
		{
			connection = DriverManager.getConnection
			(
				connectionString + host + ":" + port + "/" + database,
				userName,
				password
			);
		}
		catch (SQLException sqle)
		{
			sqle.printStackTrace();
		}
		
		stateConnected = true;
	}
	
	public Connection getConnection()
	{
		return connection;
	}

	public boolean getStateConnected()
	{
		return stateConnected;
	}
	
	public void disconnect()
	{
		try 
		{
			connection.close();
		} 
		catch (SQLException e) 
		{
			e.printStackTrace();
		}
	}

	public String getConfigurationName() 
	{
		return configurationName;
	}

}