001package csheets.ext.database.core;
002
003import csheets.core.Cell;
004import csheets.core.Spreadsheet;
005import csheets.ext.database.controller.ControllerImport;
006import csheets.ext.database.ui.UITableSelect;
007
008/**
009 * The thread responsible for the import of table information from a database
010 * @author João Carreira
011 */
012public class ThreadImportTables implements Runnable
013{
014    private String url, user, pass, dbName;
015    private ControllerImport ctrlImp;
016    private Spreadsheet spreadSheet;
017    
018    /**
019     * construtor
020     * @param url path to the database
021     * @param user username
022     * @param pass password
023     * @param tableName table in the database
024     * @param dbName database name
025     * @param ctrlImp ControllerImport object
026     * @param Spreadsheet current spreadsheet
027     */
028    public ThreadImportTables(String url, String user, String pass, String dbName, ControllerImport ctrlImp, Spreadsheet spreadSheet)
029    {
030        this.url = url;
031        this.user = user;
032        this.pass = pass;
033        this.dbName = dbName;
034        this.ctrlImp = ctrlImp;
035        this.spreadSheet = spreadSheet;
036    }
037    
038    @Override
039    public void run() 
040    {
041        try
042        {
043            /* connects with database */
044            ctrlImp.connect(url, user, pass, dbName);
045            /* launches the select table window */
046            UITableSelect ts = new UITableSelect(spreadSheet, dbName, ctrlImp);
047        }
048        catch(Exception e)
049        {
050            e.printStackTrace();
051        }
052    }
053    
054    /**
055     * gets the controller import
056     * @return ControllerImport object
057     */
058    public ControllerImport getControllerImport()
059    {
060        return ctrlImp;
061    }
062}