001package csheets.ext.database.core;
002
003import java.util.Observer;
004
005import csheets.core.Cell;
006import csheets.ext.database.controller.ControllerSync;
007
008/**
009 * Creates a new thread for the sync function
010 * 
011 * @author Andre
012 * 
013 */
014public class ThreadSync implements Runnable {
015        /** cells to be sync */
016        private final Cell[][] cells;
017        /** database details */
018        private final String url, user, pass, tableName, dbName;
019        /** observer object */
020        private final Observer observer;
021
022        /**
023         * Creates a new thread for sync function
024         * 
025         * @param cells
026         *            cells to be sync
027         * @param url
028         *            database url
029         * @param user
030         *            username
031         * @param pass
032         *            username's password
033         * @param table
034         *            table name
035         * @param dbName
036         *            database name
037         * @param observer
038         *            the observer object
039         */
040        public ThreadSync(Cell[][] cells, String url, String user, String pass,
041                        String table, String dbName, Observer observer) {
042                this.cells = cells;
043                this.url = url;
044                this.user = user;
045                this.pass = pass;
046                this.tableName = table;
047                this.dbName = dbName;
048                this.observer = observer;
049        }
050
051        @Override
052        public void run() {
053                ControllerSync sync = new ControllerSync();
054                sync.connect(url, user, pass, dbName);
055                sync.startSync(user, pass, cells, tableName, url, observer);
056        }
057
058}