From 92a883e43d4e8e4539b74417afb717f22a3f704e Mon Sep 17 00:00:00 2001 From: Oliver Spohngellert Date: Thu, 3 Mar 2016 10:40:33 -0500 Subject: [PATCH 1/3] Made file path save for hash db --- .../modules/hashdatabase/HashDbCreateDatabaseDialog.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Core/src/org/sleuthkit/autopsy/modules/hashdatabase/HashDbCreateDatabaseDialog.java b/Core/src/org/sleuthkit/autopsy/modules/hashdatabase/HashDbCreateDatabaseDialog.java index 7ceea59224..e5846f6796 100644 --- a/Core/src/org/sleuthkit/autopsy/modules/hashdatabase/HashDbCreateDatabaseDialog.java +++ b/Core/src/org/sleuthkit/autopsy/modules/hashdatabase/HashDbCreateDatabaseDialog.java @@ -30,6 +30,7 @@ import javax.swing.JFileChooser; import javax.swing.JOptionPane; import javax.swing.JFrame; import org.apache.commons.io.FilenameUtils; +import org.sleuthkit.autopsy.coreutils.ModuleSettings; import org.sleuthkit.datamodel.TskCoreException; import org.sleuthkit.autopsy.modules.hashdatabase.HashDbManager.HashDb; import org.sleuthkit.autopsy.modules.hashdatabase.HashDbManager.HashDb.KnownFilesType; @@ -46,6 +47,7 @@ final class HashDbCreateDatabaseDialog extends javax.swing.JDialog { .getMessage(HashDbCreateDatabaseDialog.class, "HashDbCreateDatabaseDialog.defaultFileName"); private JFileChooser fileChooser = null; private HashDb newHashDb = null; + private final static String LAST_FILE_PATH_KEY = "HashDbCreate_Basecase_Path"; /** * Displays a dialog that allows a user to create a new hash database and @@ -273,7 +275,9 @@ final class HashDbCreateDatabaseDialog extends javax.swing.JDialog { private void saveAsButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_saveAsButtonActionPerformed try { + String lastBaseDirectory = ModuleSettings.getConfigSetting(ModuleSettings.MAIN_SETTINGS, LAST_FILE_PATH_KEY); StringBuilder path = new StringBuilder(); + path.append(lastBaseDirectory); if (!hashSetNameTextField.getText().isEmpty()) { path.append(hashSetNameTextField.getText()); } else { @@ -284,6 +288,7 @@ final class HashDbCreateDatabaseDialog extends javax.swing.JDialog { if (fileChooser.showSaveDialog(this) == JFileChooser.APPROVE_OPTION) { File databaseFile = fileChooser.getSelectedFile(); databasePathTextField.setText(databaseFile.getCanonicalPath()); + ModuleSettings.setConfigSetting(ModuleSettings.MAIN_SETTINGS, LAST_FILE_PATH_KEY, databaseFile.getAbsolutePath()); } } catch (IOException ex) { Logger.getLogger(HashDbCreateDatabaseDialog.class.getName()).log(Level.WARNING, "Couldn't get selected file path.", ex); //NON-NLS From 68c4767192fd9c16b092fe433b8c416055298c63 Mon Sep 17 00:00:00 2001 From: Oliver Spohngellert Date: Tue, 15 Mar 2016 11:13:59 -0400 Subject: [PATCH 2/3] Added remembering file path to import database. --- .../modules/hashdatabase/HashDbCreateDatabaseDialog.java | 2 +- .../modules/hashdatabase/HashDbImportDatabaseDialog.java | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/Core/src/org/sleuthkit/autopsy/modules/hashdatabase/HashDbCreateDatabaseDialog.java b/Core/src/org/sleuthkit/autopsy/modules/hashdatabase/HashDbCreateDatabaseDialog.java index e5846f6796..5fe2ffeea0 100644 --- a/Core/src/org/sleuthkit/autopsy/modules/hashdatabase/HashDbCreateDatabaseDialog.java +++ b/Core/src/org/sleuthkit/autopsy/modules/hashdatabase/HashDbCreateDatabaseDialog.java @@ -47,7 +47,7 @@ final class HashDbCreateDatabaseDialog extends javax.swing.JDialog { .getMessage(HashDbCreateDatabaseDialog.class, "HashDbCreateDatabaseDialog.defaultFileName"); private JFileChooser fileChooser = null; private HashDb newHashDb = null; - private final static String LAST_FILE_PATH_KEY = "HashDbCreate_Basecase_Path"; + private final static String LAST_FILE_PATH_KEY = "HashDbCreate_Path"; /** * Displays a dialog that allows a user to create a new hash database and diff --git a/Core/src/org/sleuthkit/autopsy/modules/hashdatabase/HashDbImportDatabaseDialog.java b/Core/src/org/sleuthkit/autopsy/modules/hashdatabase/HashDbImportDatabaseDialog.java index 24b389e398..36adc6d51b 100644 --- a/Core/src/org/sleuthkit/autopsy/modules/hashdatabase/HashDbImportDatabaseDialog.java +++ b/Core/src/org/sleuthkit/autopsy/modules/hashdatabase/HashDbImportDatabaseDialog.java @@ -32,6 +32,7 @@ import javax.swing.filechooser.FileNameExtensionFilter; import javax.swing.JFrame; import org.sleuthkit.datamodel.TskCoreException; import org.apache.commons.io.FilenameUtils; +import org.sleuthkit.autopsy.coreutils.ModuleSettings; import org.sleuthkit.autopsy.modules.hashdatabase.HashDbManager.HashDb.KnownFilesType; import org.sleuthkit.autopsy.modules.hashdatabase.HashDbManager.HashDb; import org.sleuthkit.autopsy.modules.hashdatabase.HashDbManager.HashDbManagerException; @@ -46,6 +47,7 @@ final class HashDbImportDatabaseDialog extends javax.swing.JDialog { private JFileChooser fileChooser = new JFileChooser(); private String selectedFilePath = ""; private HashDb selectedHashDb = null; + private final static String LAST_FILE_PATH_KEY = "HashDbImport_Path"; /** * Displays a dialog that allows a user to select an existing hash database @@ -249,6 +251,9 @@ final class HashDbImportDatabaseDialog extends javax.swing.JDialog { }// //GEN-END:initComponents private void openButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_openButtonActionPerformed + if (ModuleSettings.settingExists(ModuleSettings.MAIN_SETTINGS, LAST_FILE_PATH_KEY)) { + fileChooser.setCurrentDirectory(new File(ModuleSettings.getConfigSetting(ModuleSettings.MAIN_SETTINGS, LAST_FILE_PATH_KEY))); + } if (fileChooser.showOpenDialog(this) == JFileChooser.APPROVE_OPTION) { File databaseFile = fileChooser.getSelectedFile(); try { @@ -259,6 +264,7 @@ final class HashDbImportDatabaseDialog extends javax.swing.JDialog { knownRadioButton.setSelected(true); knownRadioButtonActionPerformed(null); } + ModuleSettings.setConfigSetting(ModuleSettings.MAIN_SETTINGS, LAST_FILE_PATH_KEY, databaseFile.getAbsolutePath()); } catch (IOException ex) { Logger.getLogger(HashDbImportDatabaseDialog.class.getName()).log(Level.SEVERE, "Failed to get path of selected database", ex); //NON-NLS JOptionPane.showMessageDialog(this, From 1e5e13e87fc0f2fc652e90bb054b8c24807048ba Mon Sep 17 00:00:00 2001 From: Oliver Spohngellert Date: Thu, 17 Mar 2016 14:45:08 -0400 Subject: [PATCH 3/3] Updated file path save behavior --- .../hashdatabase/HashDbCreateDatabaseDialog.java | 11 +++++++---- .../hashdatabase/HashDbImportDatabaseDialog.java | 2 +- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/modules/hashdatabase/HashDbCreateDatabaseDialog.java b/Core/src/org/sleuthkit/autopsy/modules/hashdatabase/HashDbCreateDatabaseDialog.java index 5fe2ffeea0..b544e41120 100644 --- a/Core/src/org/sleuthkit/autopsy/modules/hashdatabase/HashDbCreateDatabaseDialog.java +++ b/Core/src/org/sleuthkit/autopsy/modules/hashdatabase/HashDbCreateDatabaseDialog.java @@ -275,20 +275,23 @@ final class HashDbCreateDatabaseDialog extends javax.swing.JDialog { private void saveAsButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_saveAsButtonActionPerformed try { - String lastBaseDirectory = ModuleSettings.getConfigSetting(ModuleSettings.MAIN_SETTINGS, LAST_FILE_PATH_KEY); + String lastBaseDirectory = ""; + if (ModuleSettings.settingExists(ModuleSettings.MAIN_SETTINGS, LAST_FILE_PATH_KEY)) { + lastBaseDirectory = ModuleSettings.getConfigSetting(ModuleSettings.MAIN_SETTINGS, LAST_FILE_PATH_KEY); + } StringBuilder path = new StringBuilder(); path.append(lastBaseDirectory); if (!hashSetNameTextField.getText().isEmpty()) { - path.append(hashSetNameTextField.getText()); + path.append(File.separator).append(hashSetNameTextField.getText()); } else { - path.append(DEFAULT_FILE_NAME); + path.append(File.separator).append(DEFAULT_FILE_NAME); } path.append(".").append(HashDbManager.getHashDatabaseFileExtension()); fileChooser.setSelectedFile(new File(path.toString())); if (fileChooser.showSaveDialog(this) == JFileChooser.APPROVE_OPTION) { File databaseFile = fileChooser.getSelectedFile(); databasePathTextField.setText(databaseFile.getCanonicalPath()); - ModuleSettings.setConfigSetting(ModuleSettings.MAIN_SETTINGS, LAST_FILE_PATH_KEY, databaseFile.getAbsolutePath()); + ModuleSettings.setConfigSetting(ModuleSettings.MAIN_SETTINGS, LAST_FILE_PATH_KEY, databaseFile.getParent()); } } catch (IOException ex) { Logger.getLogger(HashDbCreateDatabaseDialog.class.getName()).log(Level.WARNING, "Couldn't get selected file path.", ex); //NON-NLS diff --git a/Core/src/org/sleuthkit/autopsy/modules/hashdatabase/HashDbImportDatabaseDialog.java b/Core/src/org/sleuthkit/autopsy/modules/hashdatabase/HashDbImportDatabaseDialog.java index 36adc6d51b..43205b7f6b 100644 --- a/Core/src/org/sleuthkit/autopsy/modules/hashdatabase/HashDbImportDatabaseDialog.java +++ b/Core/src/org/sleuthkit/autopsy/modules/hashdatabase/HashDbImportDatabaseDialog.java @@ -264,7 +264,7 @@ final class HashDbImportDatabaseDialog extends javax.swing.JDialog { knownRadioButton.setSelected(true); knownRadioButtonActionPerformed(null); } - ModuleSettings.setConfigSetting(ModuleSettings.MAIN_SETTINGS, LAST_FILE_PATH_KEY, databaseFile.getAbsolutePath()); + ModuleSettings.setConfigSetting(ModuleSettings.MAIN_SETTINGS, LAST_FILE_PATH_KEY, databaseFile.getParent()); } catch (IOException ex) { Logger.getLogger(HashDbImportDatabaseDialog.class.getName()).log(Level.SEVERE, "Failed to get path of selected database", ex); //NON-NLS JOptionPane.showMessageDialog(this,