From 3b3aba763822886eb857bd0dfa906b7bf665c892 Mon Sep 17 00:00:00 2001 From: apriestman Date: Thu, 17 Dec 2020 10:42:25 -0500 Subject: [PATCH] Handle case close events correctly --- .../casemodule/IngestJobInfoPanel.java | 21 ++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/casemodule/IngestJobInfoPanel.java b/Core/src/org/sleuthkit/autopsy/casemodule/IngestJobInfoPanel.java index 9faa17f51c..4dcdc5260f 100644 --- a/Core/src/org/sleuthkit/autopsy/casemodule/IngestJobInfoPanel.java +++ b/Core/src/org/sleuthkit/autopsy/casemodule/IngestJobInfoPanel.java @@ -89,8 +89,15 @@ public final class IngestJobInfoPanel extends javax.swing.JPanel { return; } - if (CURRENT_CASE == Case.Events.valueOf(evt.getPropertyName())) { - refresh(); + // Check whether we have a case open or case close event. + if ((CURRENT_CASE == Case.Events.valueOf(evt.getPropertyName()))) { + if (evt.getNewValue() != null) { + // Case open + refresh(); + } else { + // Case close + reset(); + } } }); } @@ -124,7 +131,7 @@ public final class IngestJobInfoPanel extends javax.swing.JPanel { */ private void refresh() { try { - if (Case.isCaseOpen()) { + if (Case.isCaseOpen()) { // Note - this will generally return true when handling a case close event SleuthkitCase skCase = Case.getCurrentCaseThrows().getSleuthkitCase(); this.ingestJobs = skCase.getIngestJobs(); setDataSource(selectedDataSource); @@ -138,6 +145,14 @@ public final class IngestJobInfoPanel extends javax.swing.JPanel { JOptionPane.showMessageDialog(this, Bundle.IngestJobInfoPanel_loadIngestJob_error_text(), Bundle.IngestJobInfoPanel_loadIngestJob_error_title(), JOptionPane.ERROR_MESSAGE); } } + + /** + * Reset the panel. + */ + private void reset() { + this.ingestJobs = new ArrayList<>(); + setDataSource(null); + } @Messages({"IngestJobInfoPanel.IngestJobTableModel.StartTime.header=Start Time", "IngestJobInfoPanel.IngestJobTableModel.EndTime.header=End Time",