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