package dqMonitor;

//import dataWarehousingTools.MetadataConfiguration;
import dataWarehousingTools.DatabaseLogin;
import java.sql.Connection;

public class DQMonitor 
{
    private static LogFile logFile;
    private static Connection metadataConnection;
    private static DQQueryList dqQueryList;
    private static DQMeasure dqMeasure;
    private static Configuration configuration;
	

    public static void main(String[] args) 
    {
//    	MetadataConfiguration metadataConfiguration;
        DatabaseLogin databaseLogin;
        String configurationFile;
        Timer timer;
        
        configurationFile = new String(args[0]);
        
        System.out.println("Configuration: " + configurationFile);
//        metadataConfiguration = new MetadataConfiguration(configurationFile);
        
        timer = new Timer();

        databaseLogin = new DatabaseLogin(configurationFile);        
        metadataConnection = databaseLogin.getConnection();

        configuration = new Configuration(databaseLogin.getConfigurationName(), metadataConnection);
        
        logFile = new LogFile(configuration, "DQMonitor_");
        logFile.logMessage("Configuration: " + configuration.getConfigurationName());
                
        try
        {
            dqQueryList = new DQQueryList(metadataConnection, logFile);
            
            dqQueryList.load(logFile);
            
            dqMeasure = new DQMeasure(dqQueryList, metadataConnection, logFile);
            
            dqMeasure.populate(configuration.getQueryFileLocation());
            
            databaseLogin.disconnect();
            
            timer.end();
        }
        finally
        {
            logFile.Close();
        }
    }
}
