Added a warning dialog before deleting results

This commit is contained in:
Eugene Livis 2022-01-21 16:37:00 -05:00
parent 103d23ae7f
commit f6095f8044
2 changed files with 30 additions and 7 deletions

View File

@ -31,3 +31,8 @@ DeleteAnalysisResultsAction.progress.allResults=Deleting Analysis Results type {
# {1} - configuration
DeleteAnalysisResultsAction.progress.allResultsWithConfiguration=Deleting Analysis Results type {0} and configuration {1}
DeleteAnalysisResultsAction.title=Deleting Analysis Results
# {0} - result type
DeleteAnalysisResultsAction.warning.allResults=Are you sure you want to delete all Analysis Results of type {0}?
# {0} - result type
# {1} - configuration
DeleteAnalysisResultsAction.warning.allResultsWithConfiguration=Are you sure you want to delete all Analysis Results of type {0} and configuration {1}?

View File

@ -22,8 +22,10 @@ package org.sleuthkit.autopsy.mainui.nodes.actions;
import java.awt.event.ActionEvent;
import java.util.logging.Level;
import javax.swing.AbstractAction;
import javax.swing.JOptionPane;
import javax.swing.SwingWorker;
import org.openide.util.NbBundle.Messages;
import org.openide.windows.WindowManager;
import org.sleuthkit.autopsy.casemodule.Case;
import org.sleuthkit.autopsy.coreutils.Logger;
import org.sleuthkit.autopsy.progress.AppFrameProgressBar;
@ -41,7 +43,11 @@ public class DeleteAnalysisResultSetAction extends AbstractAction {
"# {0} - result type",
"DeleteAnalysisResultsAction.progress.allResults=Deleting Analysis Results type {0}",
"# {0} - result type", "# {1} - configuration",
"DeleteAnalysisResultsAction.progress.allResultsWithConfiguration=Deleting Analysis Results type {0} and configuration {1}"
"DeleteAnalysisResultsAction.progress.allResultsWithConfiguration=Deleting Analysis Results type {0} and configuration {1}",
"# {0} - result type",
"DeleteAnalysisResultsAction.warning.allResults=Are you sure you want to delete all Analysis Results of type {0}?",
"# {0} - result type", "# {1} - configuration",
"DeleteAnalysisResultsAction.warning.allResultsWithConfiguration=Are you sure you want to delete all Analysis Results of type {0} and configuration {1}?"
})
private static final Logger logger = Logger.getLogger(DeleteAnalysisResultSetAction.class.getName());
@ -66,15 +72,27 @@ public class DeleteAnalysisResultSetAction extends AbstractAction {
AppFrameProgressBar progress = new AppFrameProgressBar(Bundle.DeleteAnalysisResultsAction_title());
try {
String message;
String progressMessage;
String warningMessage;
if (configuration == null || configuration.isEmpty()) {
message = Bundle.DeleteAnalysisResultsAction_progress_allResults(type.getDisplayName());
progressMessage = Bundle.DeleteAnalysisResultsAction_progress_allResults(type.getDisplayName());
warningMessage = Bundle.DeleteAnalysisResultsAction_warning_allResults(type.getDisplayName());
} else {
message = Bundle.DeleteAnalysisResultsAction_progress_allResultsWithConfiguration(type.getDisplayName(), configuration);
progressMessage = Bundle.DeleteAnalysisResultsAction_progress_allResultsWithConfiguration(type.getDisplayName(), configuration);
warningMessage = Bundle.DeleteAnalysisResultsAction_warning_allResultsWithConfiguration(type.getDisplayName(), configuration);
}
progress.start(message);
progress.switchToIndeterminate(message);
int response = JOptionPane.showConfirmDialog(
WindowManager.getDefault().getMainWindow(),
warningMessage,
Bundle.DeleteAnalysisResultsAction_title(),
JOptionPane.YES_NO_OPTION);
if (response != JOptionPane.YES_OPTION) {
return null;
}
progress.start(progressMessage);
progress.switchToIndeterminate(progressMessage);
if (!isCancelled()) {
try {
logger.log(Level.INFO, "Deleting Analysis Results type = {0}, data source ID = {1}, configuration = {2}", new Object[]{type, dsID, configuration});