Package org.open2jam.gui

Source Code of org.open2jam.gui.ChartModelLoader

package org.open2jam.gui;

import java.io.File;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.logging.Level;
import javax.swing.SwingWorker;
import org.open2jam.Config;
import org.open2jam.parsers.ChartList;
import org.open2jam.parsers.ChartParser;
import org.open2jam.util.Logger;

/**
*
* @author fox
*/
public class ChartModelLoader extends SwingWorker<ChartListTableModel,ChartList>
{

    private final ChartListTableModel table_model;
    private final File dir;

    public ChartModelLoader(ChartListTableModel table_model, File dir){
        this.table_model = table_model;
        this.dir = dir;
    }

    @Override
    protected ChartListTableModel doInBackground() {
        try{
        table_model.clear();
        ArrayList<File> files = new ArrayList<File>(Arrays.asList(dir.listFiles()));
        double perc = files.size() / 100d;
        for(int i=0;i<files.size();i++)
        {
            ChartList cl = ChartParser.parseFile(files.get(i));
            if(cl != null)publish(cl);
            else if(files.get(i).isDirectory()){
                List<File> nl = Arrays.asList(files.get(i).listFiles());
                files.addAll(nl);
                perc = files.size() / 100d;
            }
            setProgress((int)(i/perc));
        }
        setProgress(100);
        return table_model;
        }catch(Exception e){
            Logger.global.log(Level.SEVERE, "Exception in chart loader ! {0} {1}", new Object[]{e.toString(), e.getMessage()});
            System.exit(1);
            return null;
        }
    }

    @Override
    protected void done() {
        Config.setCache(dir, table_model.getRawList());
    }

    @Override
     protected void process(List<ChartList> chunks) {
        table_model.addRows(chunks);
     }
}
TOP

Related Classes of org.open2jam.gui.ChartModelLoader

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.