From 3cbd8960aa580f3e79931467f1471064d1344dd3 Mon Sep 17 00:00:00 2001 From: "U-BASIS\\dsmyda" Date: Mon, 15 Jul 2019 15:19:47 -0400 Subject: [PATCH 1/3] Delayed JFileChooser configuration until the action is invoked on the EDT --- .../autopsy/casemodule/CaseOpenAction.java | 21 ++++++++++++------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/casemodule/CaseOpenAction.java b/Core/src/org/sleuthkit/autopsy/casemodule/CaseOpenAction.java index 1b553c91ed..6268404b35 100644 --- a/Core/src/org/sleuthkit/autopsy/casemodule/CaseOpenAction.java +++ b/Core/src/org/sleuthkit/autopsy/casemodule/CaseOpenAction.java @@ -63,7 +63,7 @@ public final class CaseOpenAction extends CallableSystemAction implements Action private static final String PROP_BASECASE = "LBL_BaseCase_PATH"; //NON-NLS private static final Logger LOGGER = Logger.getLogger(CaseOpenAction.class.getName()); private static JDialog multiUserCaseWindow; - private final JFileChooser fileChooser = new JFileChooser(); + private volatile JFileChooser fileChooser; private final FileFilter caseMetadataFileFilter; /** @@ -74,13 +74,6 @@ public final class CaseOpenAction extends CallableSystemAction implements Action */ public CaseOpenAction() { caseMetadataFileFilter = new FileNameExtensionFilter(NbBundle.getMessage(CaseOpenAction.class, "CaseOpenAction.autFilter.title", Version.getName(), CaseMetadata.getFileExtension()), CaseMetadata.getFileExtension().substring(1)); - fileChooser.setDragEnabled(false); - fileChooser.setFileSelectionMode(JFileChooser.FILES_ONLY); - fileChooser.setMultiSelectionEnabled(false); - fileChooser.setFileFilter(caseMetadataFileFilter); - if (null != ModuleSettings.getConfigSetting(ModuleSettings.MAIN_SETTINGS, PROP_BASECASE)) { - fileChooser.setCurrentDirectory(new File(ModuleSettings.getConfigSetting("Case", PROP_BASECASE))); //NON-NLS - } } /** @@ -89,6 +82,18 @@ public final class CaseOpenAction extends CallableSystemAction implements Action * to open the case described by the file. */ void openCaseSelectionWindow() { + if(fileChooser == null) { + //Configure fileChooser, details JIRA-4930 + fileChooser = new JFileChooser(); + fileChooser.setDragEnabled(false); + fileChooser.setFileSelectionMode(JFileChooser.FILES_ONLY); + fileChooser.setMultiSelectionEnabled(false); + fileChooser.setFileFilter(caseMetadataFileFilter); + if (null != ModuleSettings.getConfigSetting(ModuleSettings.MAIN_SETTINGS, PROP_BASECASE)) { + fileChooser.setCurrentDirectory(new File(ModuleSettings.getConfigSetting("Case", PROP_BASECASE))); //NON-NLS + } + } + String optionsDlgTitle = NbBundle.getMessage(Case.class, "CloseCaseWhileIngesting.Warning.title"); String optionsDlgMessage = NbBundle.getMessage(Case.class, "CloseCaseWhileIngesting.Warning"); if (IngestRunningCheck.checkAndConfirmProceed(optionsDlgTitle, optionsDlgMessage)) { From 5be1a10c69c7c140c8e4105c1eda71ca27b53872 Mon Sep 17 00:00:00 2001 From: "U-BASIS\\dsmyda" Date: Mon, 15 Jul 2019 16:23:46 -0400 Subject: [PATCH 2/3] PR comments " --- .../autopsy/casemodule/CaseOpenAction.java | 30 +++++++------------ 1 file changed, 11 insertions(+), 19 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/casemodule/CaseOpenAction.java b/Core/src/org/sleuthkit/autopsy/casemodule/CaseOpenAction.java index 6268404b35..aa2a065dbd 100644 --- a/Core/src/org/sleuthkit/autopsy/casemodule/CaseOpenAction.java +++ b/Core/src/org/sleuthkit/autopsy/casemodule/CaseOpenAction.java @@ -27,6 +27,7 @@ import java.util.logging.Level; import javax.swing.JDialog; import javax.swing.JFileChooser; import javax.swing.JOptionPane; +import javax.swing.SwingUtilities; import javax.swing.SwingWorker; import javax.swing.filechooser.FileFilter; import javax.swing.filechooser.FileNameExtensionFilter; @@ -62,8 +63,6 @@ public final class CaseOpenAction extends CallableSystemAction implements Action private static final String DISPLAY_NAME = Bundle.CTL_CaseOpenAction(); private static final String PROP_BASECASE = "LBL_BaseCase_PATH"; //NON-NLS private static final Logger LOGGER = Logger.getLogger(CaseOpenAction.class.getName()); - private static JDialog multiUserCaseWindow; - private volatile JFileChooser fileChooser; private final FileFilter caseMetadataFileFilter; /** @@ -81,17 +80,14 @@ public final class CaseOpenAction extends CallableSystemAction implements Action * metadata file (.aut file). Upon confirming the selection, it will attempt * to open the case described by the file. */ - void openCaseSelectionWindow() { - if(fileChooser == null) { - //Configure fileChooser, details JIRA-4930 - fileChooser = new JFileChooser(); - fileChooser.setDragEnabled(false); - fileChooser.setFileSelectionMode(JFileChooser.FILES_ONLY); - fileChooser.setMultiSelectionEnabled(false); - fileChooser.setFileFilter(caseMetadataFileFilter); - if (null != ModuleSettings.getConfigSetting(ModuleSettings.MAIN_SETTINGS, PROP_BASECASE)) { - fileChooser.setCurrentDirectory(new File(ModuleSettings.getConfigSetting("Case", PROP_BASECASE))); //NON-NLS - } + void openCaseSelectionWindow() { + JFileChooser fileChooser = new JFileChooser(); + fileChooser.setDragEnabled(false); + fileChooser.setFileSelectionMode(JFileChooser.FILES_ONLY); + fileChooser.setMultiSelectionEnabled(false); + fileChooser.setFileFilter(caseMetadataFileFilter); + if (null != ModuleSettings.getConfigSetting(ModuleSettings.MAIN_SETTINGS, PROP_BASECASE)) { + fileChooser.setCurrentDirectory(new File(ModuleSettings.getConfigSetting("Case", PROP_BASECASE))); //NON-NLS } String optionsDlgTitle = NbBundle.getMessage(Case.class, "CloseCaseWhileIngesting.Warning.title"); @@ -111,9 +107,7 @@ public final class CaseOpenAction extends CallableSystemAction implements Action /* * Close the Open Multi-User Case window, if it is open. */ - if (multiUserCaseWindow != null) { - multiUserCaseWindow.setVisible(false); - } + OpenMultiUserCaseDialog.getInstance().setVisible(false); /* * Try to open the case associated with the case metadata file @@ -165,9 +159,7 @@ public final class CaseOpenAction extends CallableSystemAction implements Action if (UserPreferences.getIsMultiUserModeEnabled()) { WindowManager.getDefault().getMainWindow().setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR)); - if (multiUserCaseWindow == null) { - multiUserCaseWindow = OpenMultiUserCaseDialog.getInstance(); - } + OpenMultiUserCaseDialog multiUserCaseWindow = OpenMultiUserCaseDialog.getInstance(); multiUserCaseWindow.setLocationRelativeTo(WindowManager.getDefault().getMainWindow()); multiUserCaseWindow.setVisible(true); From 0528e6233debebc5a8eec9595a8289247e69bcf5 Mon Sep 17 00:00:00 2001 From: "U-BASIS\\dsmyda" Date: Mon, 15 Jul 2019 16:24:27 -0400 Subject: [PATCH 3/3] Removed unused imports --- Core/src/org/sleuthkit/autopsy/casemodule/CaseOpenAction.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/casemodule/CaseOpenAction.java b/Core/src/org/sleuthkit/autopsy/casemodule/CaseOpenAction.java index aa2a065dbd..cc07148ba0 100644 --- a/Core/src/org/sleuthkit/autopsy/casemodule/CaseOpenAction.java +++ b/Core/src/org/sleuthkit/autopsy/casemodule/CaseOpenAction.java @@ -24,10 +24,8 @@ import java.awt.event.ActionListener; import java.io.File; import java.util.concurrent.ExecutionException; import java.util.logging.Level; -import javax.swing.JDialog; import javax.swing.JFileChooser; import javax.swing.JOptionPane; -import javax.swing.SwingUtilities; import javax.swing.SwingWorker; import javax.swing.filechooser.FileFilter; import javax.swing.filechooser.FileNameExtensionFilter;