package org.wildstang.wildrank.desktop.modes;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import javax.swing.JButton;
import javax.swing.JProgressBar;
import org.wildstang.wildrank.desktop.GlobalAppHandler;
import org.wildstang.wildrank.desktop.PitReader;
import org.wildstang.wildrank.desktop.utils.FileUtilities;
import org.wildstang.wildrank.desktop.utils.Logger;
public class PitCSVGenerator extends Mode implements ActionListener {
JButton retrieve;
JProgressBar progress;
PitReader pitReader;
@Override
public void initializePanel() {
retrieve = new JButton("Retrieve Pit!");
retrieve.addActionListener(this);
progress = new JProgressBar();
c.gridx = 0;
c.gridy = 0;
panel.add(retrieve, c);
c.gridy = 1;
panel.add(progress, c);
update.setMode("Pit CVS Gen");
}
@Override
public void actionPerformed(ActionEvent event) {
if (event.getSource() == retrieve) {
GlobalAppHandler.getInstance().disableBackButton();
File pitTextsDirectory = new File(FileUtilities.getNonsyncedDirectory() + File.separator + "pittexts");
pitTextsDirectory.mkdir();
try {
pitReader = new PitReader(pitTextsDirectory);
} catch (IOException e) {
e.printStackTrace();
}
File folder = new File(FileUtilities.getSyncedDirectory() + File.separator + "pit" + File.separator);
Logger.getInstance().log("Folder path: " + folder.getAbsolutePath());
ArrayList<File> pitFiles = new ArrayList<File>();
FileUtilities.listFilesInDirectory(folder, pitFiles);
progress.setMaximum(pitFiles.size());
int i = 0;
for (File pitFile : pitFiles) {
try {
update.updateData("Reading Pit Data", i, pitFiles.size());
pitReader.readAerialAssist(pitFile);
progress.setValue(i);
} catch (IOException e) {
e.printStackTrace();
}
i++;
}
GlobalAppHandler.getInstance().enableBackButton();
setMode(new MainMenu());
}
}
}