Jprogressbar e Swing worker

Ola bom dia, estou a dias tentando fazer funcionar as minhas barras de progressão de forma indeterminada, porem sem sucesso, eu tenho o seguinte cenário:
Uma tela para atualização de dados, ao clicar em iniciar ele devera se conectar com o meu servidor e atualizar uma serie e de informações, processo que demora em media de 15 minutos, e gostaria que tivesse uma barra de progressão para avisar o usuário que o sistema não travou, porem não esta funcionando, ao clicar em iniciar ele faz todo o processo do banco de dados porem não faz as barras se moverem. Desde já agradeço a ajuda, segue abaixo o meu código:



/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.com.tecweb.app;

import br.com.tecweb.model.Sistema;
import br.com.tecweb.tools.AtualizaCadastroLerD3;
import br.com.tecweb.tools.ManipulaDatas;
import br.com.tecweb.tools.Mensagens;
import java.util.Calendar;
import java.util.GregorianCalendar;
import javax.swing.JProgressBar;
import javax.swing.SwingUtilities;
import javax.swing.SwingWorker;

/**
 *
 * @author Beto
 */
public class AtualizacaoPadrao extends javax.swing.JDialog {

    private Sistema sistema;

    /**
     * Creates new form AtualizacaoPadrao
     */
    public AtualizacaoPadrao(java.awt.Frame parent, boolean modal) {
        super(parent, modal);
        initComponents();
    }

    public AtualizacaoPadrao(java.awt.Frame parent, boolean modal, Sistema sistema) {
        this(parent, modal);
        this.sistema = sistema;
        if (this.sistema.getDataUltimaAtualizacaoGeral() == null) {
            /*
             * Bug Pivotal 59164932
             */
            //this.sistema.setDataUltimaAtualizacaoGeral(ManipulaDatas.DataHoje());
            this.sistema.setDataUltimaAtualizacaoGeral(new GregorianCalendar(2013, Calendar.SEPTEMBER, 20).getTime());
        }
    }

    /**
     * This method is called from within the constructor to initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is always
     * regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
    private void initComponents() {

        jPanel1 = new javax.swing.JPanel();
        jLabel1 = new javax.swing.JLabel();
        jLabel2 = new javax.swing.JLabel();
        jLabel3 = new javax.swing.JLabel();
        jLabel4 = new javax.swing.JLabel();
        jProgressBarCliente = new javax.swing.JProgressBar();
        jProgressBarProdutos = new javax.swing.JProgressBar();
        jProgressBarSimilares = new javax.swing.JProgressBar();
        jTextFieldCliente = new javax.swing.JTextField();
        jTextFieldProduto = new javax.swing.JTextField();
        jTextFieldValores = new javax.swing.JTextField();
        jTextFieldSimilares = new javax.swing.JTextField();
        jProgressBarGeral = new javax.swing.JProgressBar();
        jLabel5 = new javax.swing.JLabel();
        jButtonIinicar = new javax.swing.JButton();
        jButtonCancelar = new javax.swing.JButton();

        setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
        java.util.ResourceBundle bundle = java.util.ResourceBundle.getBundle("br/com/millano/app/Bundle_en_US"); // NOI18N
        setTitle(bundle.getString("AtualizacaoPadrao.title")); // NOI18N

        jPanel1.setBorder(javax.swing.BorderFactory.createEtchedBorder());
        jPanel1.setEnabled(false);

        jLabel1.setText(bundle.getString("AtualizacaoPadrao.jLabel1.text")); // NOI18N

        jLabel2.setText(bundle.getString("AtualizacaoPadrao.jLabel2.text")); // NOI18N

        jLabel3.setText(bundle.getString("AtualizacaoPadrao.jLabel3.text")); // NOI18N

        jLabel4.setText(bundle.getString("AtualizacaoPadrao.jLabel4.text")); // NOI18N

        jTextFieldCliente.setEditable(false);
        jTextFieldCliente.setText(bundle.getString("AtualizacaoPadrao.jTextField3.text"));

        jTextFieldProduto.setEditable(false);
        jTextFieldProduto.setText(bundle.getString("AtualizacaoPadraoNew.jTextField3.text")); // NOI18N

        jTextFieldValores.setEditable(false);
        jTextFieldValores.setText(bundle.getString("AtualizacaoPadrao.jTextFieldValores.text")); // NOI18N

        jTextFieldSimilares.setEditable(false);
        jTextFieldSimilares.setText(bundle.getString("AtualizacaoPadraoNew.jTextField3.text")); // NOI18N

        jLabel5.setText(bundle.getString("AtualizacaoPadrao.jLabel5.text")); // NOI18N

        javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
        jPanel1.setLayout(jPanel1Layout);
        jPanel1Layout.setHorizontalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(jLabel2, javax.swing.GroupLayout.DEFAULT_SIZE, 70, Short.MAX_VALUE)
                            .addComponent(jLabel3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                            .addComponent(jLabel4, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                            .addComponent(jLabel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                        .addGap(37, 37, 37))
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addComponent(jLabel5)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jProgressBarCliente, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 172, Short.MAX_VALUE)
                    .addComponent(jProgressBarProdutos, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(jProgressBarValores, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(jProgressBarSimilares, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(jProgressBarGeral, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                .addGap(46, 46, 46)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                        .addComponent(jTextFieldProduto)
                        .addComponent(jTextFieldValores)
                        .addComponent(jTextFieldSimilares, javax.swing.GroupLayout.PREFERRED_SIZE, 33, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addComponent(jTextFieldCliente, javax.swing.GroupLayout.PREFERRED_SIZE, 55, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addContainerGap())
        );
        jPanel1Layout.setVerticalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addComponent(jTextFieldCliente, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addComponent(jLabel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                        .addGap(3, 3, 3))
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addComponent(jProgressBarCliente, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)))
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jLabel2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(jProgressBarProdutos, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addComponent(jTextFieldProduto, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(0, 0, Short.MAX_VALUE)))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jLabel3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(jProgressBarValores, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addComponent(jTextFieldValores, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(0, 0, Short.MAX_VALUE)))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jLabel4, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(jProgressBarSimilares, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addGap(0, 0, Short.MAX_VALUE)
                        .addComponent(jTextFieldSimilares, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addGap(38, 38, 38)
                        .addComponent(jLabel5))
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addGap(29, 29, 29)
                        .addComponent(jProgressBarGeral, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE)))
                .addGap(50, 50, 50))
        );

        jButtonIinicar.setText(bundle.getString("AtualizacaoPadrao.jButtonIinicar.text")); // NOI18N
        jButtonIinicar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButtonIinicarActionPerformed(evt);
            }
        });

        jButtonCancelar.setText(bundle.getString("AtualizacaoPadrao.jButtonCancelar.text")); // NOI18N

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
            .addGroup(layout.createSequentialGroup()
                .addGap(82, 82, 82)
                .addComponent(jButtonIinicar)
                .addGap(52, 52, 52)
                .addComponent(jButtonCancelar)
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(21, 21, 21)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jButtonIinicar)
                    .addComponent(jButtonCancelar))
                .addGap(0, 41, Short.MAX_VALUE))
        );

        pack();
    }// </editor-fold>                        

    private void jButtonIinicarActionPerformed(java.awt.event.ActionEvent evt) {                                               
        class MyWorker extends SwingWorker<String, Object> {

            @Override
            protected String doInBackground() throws Exception {
                Thread.sleep(10000);
                jProgressBarGeral.setVisible(true);
                jProgressBarGeral.setIndeterminate(true);
                return "Done";
            }

            @Override
            protected void done() {
                jProgressBarGeral.setIndeterminate(false);
                jProgressBarGeral.setVisible(false);
            }
        }
        class MyWorker2 extends SwingWorker<Boolean, Object> {

            @Override
            protected Boolean doInBackground() throws Exception {
                HabilitaCampos(false);
                AtualizaDados();
                HabilitaCampos(true);
                Mensagens.MsgOps("Dados Atualizados Com Sucesso");
                return true;
            }
        }
        MyWorker work = new MyWorker();
        MyWorker2 work2 = new MyWorker2();
        work.execute();
        work2.execute();
        //HabilitaCampos(false);
        //AtualizaDados();
        //HabilitaCampos(true);
        //Mensagens.MsgOps("Dados Atualizados Com Sucesso");
        
        work.done();

    }                                              

    /**
     * @param args the command line arguments
     */
    public static void main(String args[]) {

        /* Create and display the dialog */
        SwingUtilities.invokeLater(new Runnable() {
            //java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                AtualizacaoPadrao dialog = new AtualizacaoPadrao(new javax.swing.JFrame(), true);
                dialog.addWindowListener(new java.awt.event.WindowAdapter() {
                    @Override
                    public void windowClosing(java.awt.event.WindowEvent e) {
                        System.exit(0);
                    }
                });
                dialog.setVisible(true);
            }
        });
    }
    // Variables declaration - do not modify                     
    private javax.swing.JButton jButtonCancelar;
    private javax.swing.JButton jButtonIinicar;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JLabel jLabel3;
    private javax.swing.JLabel jLabel4;
    private javax.swing.JLabel jLabel5;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JProgressBar jProgressBarCliente;
    private javax.swing.JProgressBar jProgressBarGeral;
    private javax.swing.JProgressBar jProgressBarProdutos;
    private javax.swing.JProgressBar jProgressBarSimilares;
    private final javax.swing.JProgressBar jProgressBarValores = new javax.swing.JProgressBar();
    private javax.swing.JTextField jTextFieldCliente;
    private javax.swing.JTextField jTextFieldProduto;
    private javax.swing.JTextField jTextFieldSimilares;
    private javax.swing.JTextField jTextFieldValores;
    // End of variables declaration                   

    private void AtualizaDados() {
        AtualizaCadastroLerD3 lerD3 = new AtualizaCadastroLerD3(sistema);
        boolean val = AtualizaValores(lerD3);
        if (val) {
            jTextFieldValores.setText("OK");
        } else {
            jTextFieldValores.setText("Falha");
        }
        boolean cli = AtualizaClientes(lerD3);
        if (cli) {
            jTextFieldCliente.setText("OK");
        } else {
            jTextFieldCliente.setText("Falha");
        }
        //boolean prod = AtualizaProdutos(lerD3);
/*
         boolean sim = AtualizaSimilares(lerD3);
         if (sim) {
         jTextFieldSimilares.setText("OK");
         } else {
         jTextFieldSimilares.setText("Falha");
         }
         repaint();
         revalidate();
         */
        this.sistema.setDataUltimaAtualizacaoGeral(ManipulaDatas.DataHoje());

        getSistema().setDataUltimaAtualizacaoGeral(ManipulaDatas.DataHoje());

    }

    private void HabilitaCampos(boolean status) {
        jButtonCancelar.setEnabled(status);
        jButtonIinicar.setEnabled(status);
    }

    private boolean AtualizaClientes(AtualizaCadastroLerD3 lerD3) {
        boolean ok = true;
        /*
         * Busca os ultimos clientes pela data cadastro ou pela ultima data compra
         */
        jTextFieldValores.setText("Procesando");
        trocaBarra(jProgressBarCliente, true);

        ok = lerD3.SelecionaClientesAtualizar(ManipulaDatas.DataFormatada(getSistema().getDataUltimaAtualizacaoGeral(), "D2/"));
        trocaBarra(jProgressBarCliente, false);
        return ok;
    }

    private boolean AtualizaProdutos(AtualizaCadastroLerD3 lerD3) {
        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
    }

    private boolean AtualizaValores(final AtualizaCadastroLerD3 lerD3) {
        boolean ok = true;
        /*
         * Busca os ultimos clientes pela data cadastro ou pela ultima data compra
         */
        jTextFieldValores.setText("Procesando");
        trocaBarra(jProgressBarCliente, true);
        lerD3.SelecionaListaProdutosValores(ManipulaDatas.DataFormatada(getSistema().getDataUltimaAtualizacaoGeral(), "D2/"));
        trocaBarra(jProgressBarCliente, false);
        return ok;
    }

    private boolean AtualizaSimilares(AtualizaCadastroLerD3 lerD3) {
        boolean ok = true;
        /*
         * Busca os ultimos clientes pela data cadastro ou pela ultima data compra
         */
        trocaBarra(jProgressBarCliente, true);
        ok = lerD3.AtualizaListaSimilaresGeral();
        trocaBarra(jProgressBarCliente, false);
        return ok;
    }

    /**
     * @param sistema the sistema to set
     */
    public void setSistema(Sistema sistema) {
        this.sistema = sistema;
    }

    private void trocaBarra(final JProgressBar bar, boolean status) {
        final boolean statusBar = status;

        SwingUtilities.invokeLater(new Runnable() {
            @Override
            public void run() {
                bar.setIndeterminate(statusBar);
            }
        });

        //bar.setIndeterminate(status);
        //revalidate();
        //repaint();
    }

    /**
     * @return the sistema
     */
    public Sistema getSistema() {
        return sistema;
    }
}