diff --git a/Core/src/org/sleuthkit/autopsy/centralrepository/optionspanel/EamDbSettingsDialog.java b/Core/src/org/sleuthkit/autopsy/centralrepository/optionspanel/EamDbSettingsDialog.java index 6ef345ac4f..54660c8205 100644 --- a/Core/src/org/sleuthkit/autopsy/centralrepository/optionspanel/EamDbSettingsDialog.java +++ b/Core/src/org/sleuthkit/autopsy/centralrepository/optionspanel/EamDbSettingsDialog.java @@ -51,6 +51,7 @@ public class EamDbSettingsDialog extends JDialog { private final SqliteEamDbSettings dbSettingsSqlite; private DatabaseTestResult testingStatus; private EamDbPlatformEnum selectedPlatform; + private boolean configurationChanged = false; /** * Creates new form EamDbSettingsDialog @@ -390,6 +391,14 @@ public class EamDbSettingsDialog extends JDialog { testingStatus = DatabaseTestResult.TESTEDOK; valid(); } + /** + * Returns if changes to the central repository configuration were successfully applied + * + * @return true if the database configuration was successfully changed false if it was not + */ + boolean wasConfigurationChanged() { + return configurationChanged; + } @Messages({"EamDbSettingsDialog.okButton.errorTitle.text=Restart Required.", "EamDbSettingsDialog.okButton.errorMsg.text=Please restart Autopsy to begin using the new database platform.", @@ -459,6 +468,7 @@ public class EamDbSettingsDialog extends JDialog { // in case we are still using the same instance. try { EamDb.getInstance().updateSettings(); + configurationChanged = true; } catch (EamDbException ex) { LOGGER.log(Level.SEVERE, Bundle.EamDbSettingsDialog_okButton_connectionErrorMsg_text(), ex); //NON-NLS setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR)); @@ -473,6 +483,7 @@ public class EamDbSettingsDialog extends JDialog { // in case we are still using the same instance. try { EamDb.getInstance().updateSettings(); + configurationChanged = true; } catch (EamDbException ex) { LOGGER.log(Level.SEVERE, Bundle.EamDbSettingsDialog_okButton_connectionErrorMsg_text(), ex); //NON-NLS setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR)); diff --git a/Core/src/org/sleuthkit/autopsy/centralrepository/optionspanel/GlobalSettingsPanel.java b/Core/src/org/sleuthkit/autopsy/centralrepository/optionspanel/GlobalSettingsPanel.java index 4f7b726e1d..bf5e5cc000 100644 --- a/Core/src/org/sleuthkit/autopsy/centralrepository/optionspanel/GlobalSettingsPanel.java +++ b/Core/src/org/sleuthkit/autopsy/centralrepository/optionspanel/GlobalSettingsPanel.java @@ -261,6 +261,9 @@ public final class GlobalSettingsPanel extends IngestModuleGlobalSettingsPanel i store(); EamDbSettingsDialog dialog = new EamDbSettingsDialog(); load(); // reload db settings content and update buttons + if (dialog.wasConfigurationChanged()) { + firePropertyChange(OptionsPanelController.PROP_CHANGED, null, null); + } }//GEN-LAST:event_bnDbConfigureActionPerformed private void cbUseCentralRepoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cbUseCentralRepoActionPerformed @@ -315,7 +318,7 @@ public final class GlobalSettingsPanel extends IngestModuleGlobalSettingsPanel i * @return true if it's okay, false otherwise. */ public boolean valid() { - return !(cbUseCentralRepo.isSelected() && lbDbPlatformValue.getText().equals(DISABLED.toString())); + return !cbUseCentralRepo.isSelected() || !lbDbPlatformValue.getText().equals(DISABLED.toString()); } @Override