void action() {
JFileChooser dirChooser = new JFileChooser();
dirChooser.setFileFilter(new RestoreDirectoryFileFilter());
dirChooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
dirChooser.setCurrentDirectory(new File(database.getPath()));
int returnVal = dirChooser.showDialog(parent, "Perform Restore");
if (returnVal == JFileChooser.APPROVE_OPTION) {
File backupDir = dirChooser.getSelectedFile();
boolean success = true;
try {
database.restore(backupDir);
} catch (FileNotFoundException exp) {
success = false;
String message =
"Error: Restore Did Not Occur [" + exp.getMessage() + "]";
JOptionPane.showMessageDialog(parent, message,
"Restore Error",
JOptionPane.ERROR_MESSAGE);
} catch (IOException exp) {
success = false;
String message =
"Error: Restore Did Not Occur [" + exp.getMessage() + "]";
JOptionPane.showMessageDialog(parent, message,
"Restore Error",
JOptionPane.ERROR_MESSAGE);
}
if (success) {
String message = "Restore successful from " + backupDir;
JOptionPane.showMessageDialog(parent, message,
"Restore Success",
JOptionPane.INFORMATION_MESSAGE);
}
}
}
|