package usda.weru.nrmv;

import org.openide.util.Exceptions;

/**
 *
 * @author Benjamin.Todd
 */
public class NrmvThread implements Runnable {

    Thread t;
    private final NrmvConverter nc;
    boolean shouldDoAverages;
    private final String newDir, runDir, outFile, nrmvFileLocation, name;
    private final ConvertAllToNrmv catn;

    /**
     *
     */
    public void initialize() {
        t = new Thread(this, "nrmv thread");
        t.start();
    }

    public NrmvThread(NrmvConverter n, boolean should, String nd, String rd, String out,
            String fileLoc, String na, ConvertAllToNrmv cat) {
        nc = n;
        shouldDoAverages = should;
        newDir = nd;
        runDir = rd;
        outFile = out;
        nrmvFileLocation = fileLoc;
        name = na;
        catn = cat;
    }

    @Override
    public void run() {
        nc.setSummaryOnOff(shouldDoAverages);
        nc.setRunName(newDir);
        nc.setFileToReadFrom(runDir, outFile);
        nc.setFileToWriteTo(nrmvFileLocation, name);
        try {
            nc.convert();
        } catch (Exception e) {
            catn.setProgressBarError("Error in " + name + " " + e.toString());
        }
        try {
            catn.increaseCounter();
        } catch (InterruptedException ex) {
            Exceptions.printStackTrace(ex);
        }
    }

}
