mirror of
https://github.com/overcuriousity/autopsy-flatpak.git
synced 2025-07-12 16:06:15 +00:00
Merge pull request #5770 from gdicristofaro/6184-InconsistentCR
6184 inconsistent cr
This commit is contained in:
commit
b622e1cfe8
@ -84,3 +84,6 @@ ManageCasesDialog.closeButton.text=Close
|
||||
ManageCasesDialog.notesLabel.text=Notes:
|
||||
ManageCasesDialog.dataSourcesLabel.text=Data Sources:
|
||||
ManageCasesDialog.caseInfoLabel.text=Case Info:
|
||||
GlobalSettingsPanel.bnTestConfigure.text=Test
|
||||
GlobalSettingsPanel.testStatusLabel.toolTipText=
|
||||
GlobalSettingsPanel.testStatusLabel.text=
|
||||
|
@ -12,15 +12,15 @@ EamDbSettingsDialog.fcDatabasePath.title=Select location for central_repository.
|
||||
EamDbSettingsDialog.lbDatabaseType.text=Database Type :
|
||||
EamDbSettingsDialog.lbSingleUserSqLite.text=SQLite should only be used by one examiner at a time.
|
||||
EamDbSettingsDialog.okButton.connectionErrorMsg.text=Failed to connect to central repository database.
|
||||
EamDbSettingsDialog.okButton.corruptDatabaseExists.message=Database exists but is not the right format. Manually delete it or choose a different path (if applicable).
|
||||
EamDbSettingsDialog.okButton.corruptDatabaseExists.title=Error Loading Database
|
||||
EamDbSettingsDialog.okButton.createDbDialog.message=Database does not exist, would you like to create it?
|
||||
EamDbSettingsDialog.okButton.createDbDialog.title=Database Does Not Exist
|
||||
EamDbSettingsDialog.okButton.createDbError.title=Unable to Create Database
|
||||
EamDbSettingsDialog.okButton.createPostgresDbError.message=Unable to create Postgres Database, please ensure address, port, and login credentials are correct for Postgres server and try again.
|
||||
EamDbSettingsDialog.okButton.createSQLiteDbError.message=Unable to create SQLite Database, please ensure location exists and you have write permissions and try again.
|
||||
EamDbSettingsDialog.okButton.databaseConnectionFailed.message=Unable to connect to database. Please check your settings and try again.
|
||||
EamDbSettingsDialog.okButton.databaseConnectionFailed.title=Database Connection Failed
|
||||
EamDbSettingsDialog.okButton.corruptDatabaseExists.message=Central Repository Database exists but is not the right format. Manually delete it or choose a different path (if applicable).
|
||||
EamDbSettingsDialog.okButton.corruptDatabaseExists.title=Error Loading Central Repository Database
|
||||
EamDbSettingsDialog.okButton.createDbDialog.message=Central Repository Database does not exist, would you like to create it?
|
||||
EamDbSettingsDialog.okButton.createDbDialog.title=Central Repository Database Does Not Exist
|
||||
EamDbSettingsDialog.okButton.createDbError.title=Unable to Create Central Repository Database
|
||||
EamDbSettingsDialog.okButton.createPostgresDbError.message=Unable to create Postgres Central Repository Database, please ensure address, port, and login credentials are correct for Postgres server and try again.
|
||||
EamDbSettingsDialog.okButton.createSQLiteDbError.message=Unable to create SQLite Central Repository Database, please ensure location exists and you have write permissions and try again.
|
||||
EamDbSettingsDialog.okButton.databaseConnectionFailed.message=Unable to connect to Central Repository Database. Please check your settings and try again.
|
||||
EamDbSettingsDialog.okButton.databaseConnectionFailed.title=Central Repository Database Connection Failed
|
||||
EamDbSettingsDialog.okButton.errorMsg.text=Please restart Autopsy to begin using the new database platform.
|
||||
EamDbSettingsDialog.okButton.errorTitle.text=Restart Required.
|
||||
EamDbSettingsDialog.textPrompt.dbName=Database Name
|
||||
@ -33,12 +33,16 @@ EamDbSettingsDialog.validation.finished=Click OK to save your database settings
|
||||
EamDbSettingsDialog.validation.incompleteFields=Fill in all values for the selected database.
|
||||
EamOptionsController.moduleErr=Error processing value changes.
|
||||
EamOptionsController.moduleErr.msg=Value change processing failed.
|
||||
GlobalSettingsPanel.askForCentralRepoDbChoice.customPostgrestChoice.text=Configure PostgreSQL
|
||||
GlobalSettingsPanel.askForCentralRepoDbChoice.disableChoice.text=Disable Central Repository
|
||||
GlobalSettingsPanel.askForCentralRepoDbChoice.sqliteChoice.text=Use SQLite
|
||||
GlobalSettingsPanel.onMultiUserChange.disabledMu.description=The Central Repository will be reconfigured to use a local SQLite database.
|
||||
GlobalSettingsPanel.onMultiUserChange.disabledMu.description2=Press Configure PostgreSQL to change to a PostgreSQL database.
|
||||
GlobalSettingsPanel.onMultiUserChange.disabledMu.title=Central Repository Change Necessary
|
||||
GlobalSettingsPanel.onMultiUserChange.enable.description=Do you want to update the Central Repository to use this PostgreSQL database?
|
||||
GlobalSettingsPanel.onMultiUserChange.enable.description2=The Central Repository stores hash values and accounts from past cases.
|
||||
GlobalSettingsPanel.onMultiUserChange.enable.title=Use with Central Repository?
|
||||
GlobalSettingsPanel.testCurrentConfiguration.dbDoesNotExist.message=Database does not exist.
|
||||
GlobalSettingsPanel.validationErrMsg.ingestRunning=You cannot change settings while ingest is running.
|
||||
GlobalSettingsPanel.validationerrMsg.mustConfigure=Configure the database to enable this module.
|
||||
ManageCasesDialog.title.text=Manage Cases
|
||||
@ -147,3 +151,6 @@ ManageCasesDialog.closeButton.text=Close
|
||||
ManageCasesDialog.notesLabel.text=Notes:
|
||||
ManageCasesDialog.dataSourcesLabel.text=Data Sources:
|
||||
ManageCasesDialog.caseInfoLabel.text=Case Info:
|
||||
GlobalSettingsPanel.bnTestConfigure.text=Test
|
||||
GlobalSettingsPanel.testStatusLabel.toolTipText=
|
||||
GlobalSettingsPanel.testStatusLabel.text=
|
||||
|
@ -143,3 +143,5 @@ ManageCasesDialog.closeButton.text=\u9589\u3058\u308b
|
||||
ManageCasesDialog.notesLabel.text=\u5099\u8003:
|
||||
ManageCasesDialog.dataSourcesLabel.text=\u30c7\u30fc\u30bf\u30bd\u30fc\u30b9:
|
||||
ManageCasesDialog.caseInfoLabel.text=\u30b1\u30fc\u30b9\u60c5\u5831:
|
||||
GlobalSettingsPanel.bnTestConfigure.text=\u69cb\u6210
|
||||
GlobalSettingsPanel.testStatusLabel.text=\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u5b9f\u884c\u4e2d\u306f\u30bb\u30f3\u30c8\u30e9\u30eb\u30fb\u30ec\u30dd\u30b8\u30c8\u30ea\u30fc\u8a2d\u5b9a\u3092\u5909\u66f4\u3067\u304d\u307e\u305b\u3093!
|
||||
|
@ -87,7 +87,6 @@ public class EamDbSettingsDialog extends JDialog {
|
||||
private final Collection<JTextField> textBoxes;
|
||||
private final TextBoxChangedListener textBoxChangedListener;
|
||||
private final CentralRepoDbManager manager = new CentralRepoDbManager();
|
||||
private final boolean isMultiUserSelectable = CentralRepoDbManager.isPostgresMultiuserAllowed();
|
||||
private final DbChoiceRenderer DB_CHOICE_RENDERER = new DbChoiceRenderer();
|
||||
|
||||
public EamDbSettingsDialog() {
|
||||
@ -95,7 +94,7 @@ public class EamDbSettingsDialog extends JDialog {
|
||||
}
|
||||
|
||||
private boolean isDbChoiceSelectable(CentralRepoDbChoice item) {
|
||||
return (item != CentralRepoDbChoice.POSTGRESQL_MULTIUSER || isMultiUserSelectable);
|
||||
return (item != CentralRepoDbChoice.POSTGRESQL_MULTIUSER || manager.isPostgresMultiuserAllowed());
|
||||
}
|
||||
|
||||
|
||||
@ -159,15 +158,15 @@ public class EamDbSettingsDialog extends JDialog {
|
||||
* @param dialog If non-null value, validates settings and updates 'okay' button enabled state.
|
||||
* @return Whether or not the ultimate status after prompts is okay to continue.
|
||||
*/
|
||||
@NbBundle.Messages({"EamDbSettingsDialog.okButton.corruptDatabaseExists.title=Error Loading Database",
|
||||
"EamDbSettingsDialog.okButton.corruptDatabaseExists.message=Database exists but is not the right format. Manually delete it or choose a different path (if applicable).",
|
||||
"EamDbSettingsDialog.okButton.createDbDialog.title=Database Does Not Exist",
|
||||
"EamDbSettingsDialog.okButton.createDbDialog.message=Database does not exist, would you like to create it?",
|
||||
"EamDbSettingsDialog.okButton.databaseConnectionFailed.title=Database Connection Failed",
|
||||
"EamDbSettingsDialog.okButton.databaseConnectionFailed.message=Unable to connect to database. Please check your settings and try again.",
|
||||
"EamDbSettingsDialog.okButton.createSQLiteDbError.message=Unable to create SQLite Database, please ensure location exists and you have write permissions and try again.",
|
||||
"EamDbSettingsDialog.okButton.createPostgresDbError.message=Unable to create Postgres Database, please ensure address, port, and login credentials are correct for Postgres server and try again.",
|
||||
"EamDbSettingsDialog.okButton.createDbError.title=Unable to Create Database"})
|
||||
@NbBundle.Messages({"EamDbSettingsDialog.okButton.corruptDatabaseExists.title=Error Loading Central Repository Database",
|
||||
"EamDbSettingsDialog.okButton.corruptDatabaseExists.message=Central Repository Database exists but is not the right format. Manually delete it or choose a different path (if applicable).",
|
||||
"EamDbSettingsDialog.okButton.createDbDialog.title=Central Repository Database Does Not Exist",
|
||||
"EamDbSettingsDialog.okButton.createDbDialog.message=Central Repository Database does not exist, would you like to create it?",
|
||||
"EamDbSettingsDialog.okButton.databaseConnectionFailed.title=Central Repository Database Connection Failed",
|
||||
"EamDbSettingsDialog.okButton.databaseConnectionFailed.message=Unable to connect to Central Repository Database. Please check your settings and try again.",
|
||||
"EamDbSettingsDialog.okButton.createSQLiteDbError.message=Unable to create SQLite Central Repository Database, please ensure location exists and you have write permissions and try again.",
|
||||
"EamDbSettingsDialog.okButton.createPostgresDbError.message=Unable to create Postgres Central Repository Database, please ensure address, port, and login credentials are correct for Postgres server and try again.",
|
||||
"EamDbSettingsDialog.okButton.createDbError.title=Unable to Create Central Repository Database"})
|
||||
private static boolean promptTestStatusWarnings(CentralRepoDbManager manager, EamDbSettingsDialog dialog) {
|
||||
if (manager.getStatus() == DatabaseTestResult.CONNECTION_FAILED) {
|
||||
JOptionPane.showMessageDialog(WindowManager.getDefault().getMainWindow(),
|
||||
@ -181,31 +180,43 @@ public class EamDbSettingsDialog extends JDialog {
|
||||
Bundle.EamDbSettingsDialog_okButton_corruptDatabaseExists_title(),
|
||||
JOptionPane.WARNING_MESSAGE);
|
||||
} else if (manager.getStatus() == DatabaseTestResult.DB_DOES_NOT_EXIST) {
|
||||
//database doesn't exist. do you want to create?
|
||||
if (JOptionPane.YES_OPTION == JOptionPane.showConfirmDialog(WindowManager.getDefault().getMainWindow(),
|
||||
Bundle.EamDbSettingsDialog_okButton_createDbDialog_message(),
|
||||
Bundle.EamDbSettingsDialog_okButton_createDbDialog_title(),
|
||||
JOptionPane.YES_NO_OPTION)) {
|
||||
onUserPromptCreateDb(manager, dialog);
|
||||
}
|
||||
promptCreateDatabase(manager, dialog);
|
||||
}
|
||||
|
||||
return (manager.getStatus() == DatabaseTestResult.TESTED_OK);
|
||||
}
|
||||
|
||||
/**
|
||||
* When a new database needs to be created on user selecting cr, this code will be ran when user selects create cr.
|
||||
* @param manager The manager handling the database creation.
|
||||
* @param dialog The dialog that prompted database creation.
|
||||
|
||||
/**
|
||||
* This method prompts the user whether or not they would like to create a database in the instance that
|
||||
* it doesn't exist.
|
||||
* @param manager The manager to use when setting up the database.
|
||||
* @param dialog If non-null value, validates settings and updates 'okay'
|
||||
* button enabled state.
|
||||
*
|
||||
* @return Whether or not the ultimate status after prompts is okay.
|
||||
*/
|
||||
private static void onUserPromptCreateDb(CentralRepoDbManager manager, EamDbSettingsDialog dialog) {
|
||||
try {
|
||||
manager.createDb();
|
||||
} catch (CentralRepoException e) {
|
||||
onPromptStatusError(manager);
|
||||
public static boolean promptCreateDatabase(CentralRepoDbManager manager, EamDbSettingsDialog dialog) {
|
||||
//database doesn't exist. do you want to create?
|
||||
if (JOptionPane.YES_OPTION == JOptionPane.showConfirmDialog(WindowManager.getDefault().getMainWindow(),
|
||||
Bundle.EamDbSettingsDialog_okButton_createDbDialog_message(),
|
||||
Bundle.EamDbSettingsDialog_okButton_createDbDialog_title(),
|
||||
JOptionPane.YES_NO_OPTION)) {
|
||||
try {
|
||||
manager.createDb();
|
||||
|
||||
} catch (CentralRepoException e) {
|
||||
onPromptStatusError(manager);
|
||||
return false;
|
||||
}
|
||||
|
||||
if (dialog != null) {
|
||||
dialog.valid();
|
||||
}
|
||||
return true;
|
||||
}
|
||||
if (dialog != null)
|
||||
dialog.valid();
|
||||
|
||||
return manager.testStatus() == DatabaseTestResult.TESTED_OK;
|
||||
}
|
||||
|
||||
|
||||
@ -519,8 +530,8 @@ public class EamDbSettingsDialog extends JDialog {
|
||||
"EamDbSettingsDialog.okButton.errorMsg.text=Please restart Autopsy to begin using the new database platform.",
|
||||
"EamDbSettingsDialog.okButton.connectionErrorMsg.text=Failed to connect to central repository database."})
|
||||
private void bnOkActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_bnOkActionPerformed
|
||||
testStatusAndCreate(this, manager, this);
|
||||
dispose();
|
||||
if (testStatusAndCreate(this, manager, this))
|
||||
dispose();
|
||||
}//GEN-LAST:event_bnOkActionPerformed
|
||||
|
||||
|
||||
@ -574,6 +585,7 @@ public class EamDbSettingsDialog extends JDialog {
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* This method returns if changes to the central repository configuration were
|
||||
* successfully applied.
|
||||
@ -802,7 +814,6 @@ public class EamDbSettingsDialog extends JDialog {
|
||||
|
||||
@Override
|
||||
public void changedUpdate(DocumentEvent e) {
|
||||
firePropertyChange(OptionsPanelController.PROP_CHANGED, null, null);
|
||||
manager.clearStatus();
|
||||
updateFullDbPath();
|
||||
valid();
|
||||
@ -810,7 +821,6 @@ public class EamDbSettingsDialog extends JDialog {
|
||||
|
||||
@Override
|
||||
public void insertUpdate(DocumentEvent e) {
|
||||
firePropertyChange(OptionsPanelController.PROP_CHANGED, null, null);
|
||||
manager.clearStatus();
|
||||
updateFullDbPath();
|
||||
valid();
|
||||
@ -818,7 +828,6 @@ public class EamDbSettingsDialog extends JDialog {
|
||||
|
||||
@Override
|
||||
public void removeUpdate(DocumentEvent e) {
|
||||
firePropertyChange(OptionsPanelController.PROP_CHANGED, null, null);
|
||||
manager.clearStatus();
|
||||
updateFullDbPath();
|
||||
valid();
|
||||
|
@ -61,13 +61,13 @@
|
||||
<Group type="102" attributes="0">
|
||||
<Group type="103" groupAlignment="0" attributes="0">
|
||||
<Component id="pnDatabaseConfiguration" alignment="0" max="32767" attributes="0"/>
|
||||
<Component id="pnCorrelationProperties" alignment="0" pref="1010" max="32767" attributes="0"/>
|
||||
<Component id="pnCorrelationProperties" alignment="0" pref="1016" max="32767" attributes="0"/>
|
||||
<Component id="organizationPanel" alignment="1" max="32767" attributes="0"/>
|
||||
<Component id="casesPanel" alignment="0" max="32767" attributes="0"/>
|
||||
<Group type="102" attributes="0">
|
||||
<Component id="cbUseCentralRepo" min="-2" pref="162" max="-2" attributes="0"/>
|
||||
<EmptySpace type="unrelated" max="-2" attributes="0"/>
|
||||
<Component id="ingestRunningWarningLabel" pref="844" max="32767" attributes="0"/>
|
||||
<Component id="ingestRunningWarningLabel" max="32767" attributes="0"/>
|
||||
</Group>
|
||||
<Group type="102" alignment="0" attributes="0">
|
||||
<EmptySpace max="-2" attributes="0"/>
|
||||
@ -137,10 +137,6 @@
|
||||
<Group type="102" attributes="0">
|
||||
<EmptySpace min="-2" max="-2" attributes="0"/>
|
||||
<Group type="103" groupAlignment="0" attributes="0">
|
||||
<Group type="102" attributes="0">
|
||||
<Component id="bnDbConfigure" min="-2" max="-2" attributes="0"/>
|
||||
<EmptySpace max="32767" attributes="0"/>
|
||||
</Group>
|
||||
<Group type="102" attributes="0">
|
||||
<Group type="103" groupAlignment="0" max="-2" attributes="0">
|
||||
<Component id="lbDbPlatformTypeLabel" max="32767" attributes="0"/>
|
||||
@ -149,11 +145,22 @@
|
||||
</Group>
|
||||
<EmptySpace type="unrelated" min="-2" max="-2" attributes="0"/>
|
||||
<Group type="103" groupAlignment="1" attributes="0">
|
||||
<Component id="lbDbNameValue" alignment="0" pref="936" max="32767" attributes="0"/>
|
||||
<Component id="lbDbNameValue" alignment="0" max="32767" attributes="0"/>
|
||||
<Component id="lbDbPlatformValue" max="32767" attributes="0"/>
|
||||
<Component id="lbDbLocationValue" alignment="0" max="32767" attributes="0"/>
|
||||
<Group type="102" alignment="0" attributes="0">
|
||||
<Component id="lbDbLocationValue" pref="255" max="32767" attributes="0"/>
|
||||
<EmptySpace min="-2" pref="681" max="-2" attributes="0"/>
|
||||
</Group>
|
||||
</Group>
|
||||
</Group>
|
||||
<Group type="102" attributes="0">
|
||||
<Component id="bnDbConfigure" min="-2" max="-2" attributes="0"/>
|
||||
<EmptySpace type="separate" max="-2" attributes="0"/>
|
||||
<Component id="bnTestConfigure" min="-2" max="-2" attributes="0"/>
|
||||
<EmptySpace max="-2" attributes="0"/>
|
||||
<Component id="testStatusLabel" min="-2" pref="675" max="-2" attributes="0"/>
|
||||
<EmptySpace max="32767" attributes="0"/>
|
||||
</Group>
|
||||
</Group>
|
||||
</Group>
|
||||
</Group>
|
||||
@ -177,7 +184,13 @@
|
||||
<Component id="lbDbLocationValue" min="-2" pref="14" max="-2" attributes="0"/>
|
||||
</Group>
|
||||
<EmptySpace max="32767" attributes="0"/>
|
||||
<Component id="bnDbConfigure" min="-2" max="-2" attributes="0"/>
|
||||
<Group type="103" groupAlignment="0" attributes="0">
|
||||
<Component id="testStatusLabel" alignment="0" max="32767" attributes="0"/>
|
||||
<Group type="103" groupAlignment="3" attributes="0">
|
||||
<Component id="bnDbConfigure" alignment="3" min="-2" max="-2" attributes="0"/>
|
||||
<Component id="bnTestConfigure" alignment="3" min="-2" max="-2" attributes="0"/>
|
||||
</Group>
|
||||
</Group>
|
||||
<EmptySpace min="-2" pref="8" max="-2" attributes="0"/>
|
||||
</Group>
|
||||
</Group>
|
||||
@ -221,6 +234,40 @@
|
||||
</Component>
|
||||
<Component class="javax.swing.JLabel" name="lbDbLocationValue">
|
||||
</Component>
|
||||
<Component class="javax.swing.JButton" name="bnTestConfigure">
|
||||
<Properties>
|
||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||
<ResourceString bundle="org/sleuthkit/autopsy/centralrepository/optionspanel/Bundle.properties" key="GlobalSettingsPanel.bnTestConfigure.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||
</Property>
|
||||
</Properties>
|
||||
<Events>
|
||||
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="bnTestConfigureActionPerformed"/>
|
||||
</Events>
|
||||
</Component>
|
||||
<Component class="javax.swing.JLabel" name="testStatusLabel">
|
||||
<Properties>
|
||||
<Property name="font" type="java.awt.Font" editor="org.netbeans.modules.form.editors2.FontEditor">
|
||||
<FontInfo relative="true">
|
||||
<Font bold="false" component="testStatusLabel" property="font" relativeSize="false" size="11"/>
|
||||
</FontInfo>
|
||||
</Property>
|
||||
<Property name="foreground" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
|
||||
<Color blue="0" green="0" red="ff" type="rgb"/>
|
||||
</Property>
|
||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||
<ResourceString bundle="org/sleuthkit/autopsy/centralrepository/optionspanel/Bundle.properties" key="GlobalSettingsPanel.testStatusLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||
</Property>
|
||||
<Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||
<ResourceString bundle="org/sleuthkit/autopsy/centralrepository/optionspanel/Bundle.properties" key="GlobalSettingsPanel.testStatusLabel.toolTipText" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||
</Property>
|
||||
<Property name="maximumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
|
||||
<Dimension value="[387, 16]"/>
|
||||
</Property>
|
||||
<Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
|
||||
<Dimension value="[387, 16]"/>
|
||||
</Property>
|
||||
</Properties>
|
||||
</Component>
|
||||
</SubComponents>
|
||||
</Container>
|
||||
<Container class="javax.swing.JPanel" name="pnCorrelationProperties">
|
||||
@ -256,7 +303,7 @@
|
||||
<DimensionLayout dim="1">
|
||||
<Group type="103" groupAlignment="0" attributes="0">
|
||||
<Group type="102" alignment="1" attributes="0">
|
||||
<Component id="correlationPropertiesScrollPane" pref="28" max="32767" attributes="0"/>
|
||||
<Component id="correlationPropertiesScrollPane" pref="24" max="32767" attributes="0"/>
|
||||
<EmptySpace max="-2" attributes="0"/>
|
||||
<Component id="bnManageTypes" min="-2" max="-2" attributes="0"/>
|
||||
<EmptySpace min="-2" pref="8" max="-2" attributes="0"/>
|
||||
|
@ -18,7 +18,6 @@
|
||||
*/
|
||||
package org.sleuthkit.autopsy.centralrepository.optionspanel;
|
||||
|
||||
import java.awt.Cursor;
|
||||
import java.awt.EventQueue;
|
||||
import org.sleuthkit.autopsy.coreutils.Logger;
|
||||
import java.beans.PropertyChangeEvent;
|
||||
@ -43,7 +42,13 @@ import org.sleuthkit.autopsy.centralrepository.datamodel.CentralRepoDbUtil;
|
||||
import org.sleuthkit.autopsy.centralrepository.datamodel.PostgresCentralRepoSettings;
|
||||
import org.sleuthkit.autopsy.centralrepository.datamodel.SqliteCentralRepoSettings;
|
||||
import java.awt.Component;
|
||||
import java.beans.PropertyChangeSupport;
|
||||
import java.util.logging.Level;
|
||||
import javax.swing.ImageIcon;
|
||||
import org.openide.util.ImageUtilities;
|
||||
import org.sleuthkit.autopsy.centralrepository.datamodel.DatabaseTestResult;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Main settings panel for the Central Repository
|
||||
@ -54,18 +59,27 @@ public final class GlobalSettingsPanel extends IngestModuleGlobalSettingsPanel i
|
||||
private static final long serialVersionUID = 1L;
|
||||
private static final Logger logger = Logger.getLogger(GlobalSettingsPanel.class.getName());
|
||||
private static final Set<IngestManager.IngestJobEvent> INGEST_JOB_EVENTS_OF_INTEREST = EnumSet.of(IngestManager.IngestJobEvent.STARTED, IngestManager.IngestJobEvent.CANCELLED, IngestManager.IngestJobEvent.COMPLETED);
|
||||
|
||||
// this allows property change events to be fired at a static level but listened to by instances
|
||||
private static final PropertyChangeSupport propertyChangeSupport = new PropertyChangeSupport(GlobalSettingsPanel.class);
|
||||
|
||||
// tracks the last known instance property change listener so that only one GlobalSettingsPanel is listening for events
|
||||
private static PropertyChangeListener lastRegistered = null;
|
||||
|
||||
private final IngestJobEventPropertyChangeListener ingestJobEventListener;
|
||||
|
||||
private final ImageIcon goodIcon = new ImageIcon(ImageUtilities.loadImage("org/sleuthkit/autopsy/images/good.png", false));
|
||||
private final ImageIcon badIcon = new ImageIcon(ImageUtilities.loadImage("org/sleuthkit/autopsy/images/bad.png", false));
|
||||
|
||||
|
||||
/**
|
||||
* Creates new form EamOptionsPanel
|
||||
*/
|
||||
public GlobalSettingsPanel() {
|
||||
ingestJobEventListener = new IngestJobEventPropertyChangeListener();
|
||||
|
||||
// listen for change events in currently saved choice
|
||||
CentralRepoDbManager.addPropertyChangeListener((PropertyChangeEvent evt) -> ingestStateUpdated(Case.isCaseOpen()));
|
||||
initComponents();
|
||||
customizeComponents();
|
||||
setupSettingsChangeListeners();
|
||||
addIngestJobEventsListener();
|
||||
Case.addEventTypeSubscriber(EnumSet.of(Case.Events.CURRENT_CASE), (PropertyChangeEvent evt) -> {
|
||||
//disable when case is open, enable when case is closed
|
||||
@ -73,6 +87,29 @@ public final class GlobalSettingsPanel extends IngestModuleGlobalSettingsPanel i
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Sets up this instance's listener for the GlobalSettingsPanel's changes.
|
||||
*/
|
||||
private void setupSettingsChangeListeners() {
|
||||
// listen for change events in currently saved choice
|
||||
if (lastRegistered != null) {
|
||||
CentralRepoDbManager.removePropertyChangeListener(lastRegistered);
|
||||
GlobalSettingsPanel.propertyChangeSupport.removePropertyChangeListener(lastRegistered);
|
||||
}
|
||||
|
||||
lastRegistered = this::onSettingsChange;
|
||||
CentralRepoDbManager.addPropertyChangeListener(lastRegistered);
|
||||
GlobalSettingsPanel.propertyChangeSupport.addPropertyChangeListener(lastRegistered);
|
||||
}
|
||||
|
||||
|
||||
private void onSettingsChange(PropertyChangeEvent evt) {
|
||||
ingestStateUpdated(Case.isCaseOpen());
|
||||
clearStatus();
|
||||
}
|
||||
|
||||
|
||||
private void customizeComponents() {
|
||||
setName(NbBundle.getMessage(GlobalSettingsPanel.class, "GlobalSettingsPanel.pnCorrelationProperties.border.title"));
|
||||
}
|
||||
@ -121,24 +158,23 @@ public final class GlobalSettingsPanel extends IngestModuleGlobalSettingsPanel i
|
||||
public static void onMultiUserChange(Component parent, boolean muPreviouslySelected, boolean muCurrentlySelected) {
|
||||
boolean crEnabled = CentralRepoDbUtil.allowUseOfCentralRepository();
|
||||
boolean crMultiUser = CentralRepoDbManager.getSavedDbChoice() == CentralRepoDbChoice.POSTGRESQL_MULTIUSER;
|
||||
boolean crDisabledDueToFailure = CentralRepoDbManager.isDisabledDueToFailure();
|
||||
|
||||
if (!muPreviouslySelected && muCurrentlySelected) {
|
||||
SwingUtilities.invokeLater(() -> {
|
||||
if (JOptionPane.YES_OPTION == JOptionPane.showConfirmDialog(parent,
|
||||
"<html><body>"
|
||||
+ "<div style='width: 400px;'>"
|
||||
+ "<p>" + NbBundle.getMessage(GlobalSettingsPanel.class, "GlobalSettingsPanel.onMultiUserChange.enable.description") + "</p>"
|
||||
+ "<p style='margin-top: 10px'>" + NbBundle.getMessage(GlobalSettingsPanel.class, "GlobalSettingsPanel.onMultiUserChange.enable.description2") + "</p>"
|
||||
+ "<p>" + Bundle.GlobalSettingsPanel_onMultiUserChange_enable_description() + "</p>"
|
||||
+ "<p style='margin-top: 10px'>" + Bundle.GlobalSettingsPanel_onMultiUserChange_enable_description2() + "</p>"
|
||||
+ "</div>"
|
||||
+ "</body></html>",
|
||||
NbBundle.getMessage(GlobalSettingsPanel.class, "GlobalSettingsPanel.onMultiUserChange.enable.title"),
|
||||
Bundle.GlobalSettingsPanel_onMultiUserChange_enable_title(),
|
||||
JOptionPane.YES_NO_OPTION)) {
|
||||
|
||||
// setup database for CR
|
||||
CentralRepoDbUtil.setUseCentralRepo(true);
|
||||
CentralRepoDbManager.saveDbChoice(CentralRepoDbChoice.POSTGRESQL_MULTIUSER);
|
||||
handleDbChange(parent);
|
||||
checkStatusAndCreateDb(parent);
|
||||
}
|
||||
});
|
||||
} // moving from selected to not selected && 'PostgreSQL using multi-user settings' is selected
|
||||
@ -148,13 +184,24 @@ public final class GlobalSettingsPanel extends IngestModuleGlobalSettingsPanel i
|
||||
});
|
||||
} // changing multi-user settings connection && 'PostgreSQL using multi-user settings' is selected &&
|
||||
// central repo either enabled or was disabled due to error
|
||||
else if (muPreviouslySelected && muCurrentlySelected && crMultiUser && (crEnabled || crDisabledDueToFailure)) {
|
||||
// test databse for CR change
|
||||
CentralRepoDbUtil.setUseCentralRepo(true);
|
||||
handleDbChange(parent);
|
||||
else if (muPreviouslySelected && muCurrentlySelected && crEnabled && crMultiUser) {
|
||||
GlobalSettingsPanel.propertyChangeSupport.firePropertyChange("multiuserSettingsChanged", null, null);
|
||||
checkStatusAndCreateDb(parent);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Checks the status of current connectivity for CR and reports any issues. Will also prompt user to create
|
||||
* database if cr database is absent.
|
||||
* @param parent the parent component to which the dialogs will be associated.
|
||||
*/
|
||||
private static void checkStatusAndCreateDb(Component parent) {
|
||||
SwingUtilities.invokeLater(() -> {
|
||||
EamDbSettingsDialog.testStatusAndCreate(parent, new CentralRepoDbManager());
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* This method is called when a user must select a new database other than
|
||||
* using database from multi user settings.
|
||||
@ -165,28 +212,27 @@ public final class GlobalSettingsPanel extends IngestModuleGlobalSettingsPanel i
|
||||
@NbBundle.Messages({
|
||||
"GlobalSettingsPanel.onMultiUserChange.disabledMu.title=Central Repository Change Necessary",
|
||||
"GlobalSettingsPanel.onMultiUserChange.disabledMu.description=The Central Repository will be reconfigured to use a local SQLite database.",
|
||||
"GlobalSettingsPanel.onMultiUserChange.disabledMu.description2=Press Configure PostgreSQL to change to a PostgreSQL database."
|
||||
"GlobalSettingsPanel.onMultiUserChange.disabledMu.description2=Press Configure PostgreSQL to change to a PostgreSQL database.",
|
||||
"GlobalSettingsPanel.askForCentralRepoDbChoice.sqliteChoice.text=Use SQLite",
|
||||
"GlobalSettingsPanel.askForCentralRepoDbChoice.customPostgrestChoice.text=Configure PostgreSQL",
|
||||
"GlobalSettingsPanel.askForCentralRepoDbChoice.disableChoice.text=Disable Central Repository"
|
||||
})
|
||||
private static void askForCentralRepoDbChoice(Component parent) {
|
||||
// disable central repository until user makes choice
|
||||
CentralRepoDbUtil.setUseCentralRepo(false);
|
||||
CentralRepoDbManager.saveDbChoice(CentralRepoDbChoice.DISABLED, false);
|
||||
|
||||
Object[] options = {
|
||||
"Use SQLite",
|
||||
"Configure PostgreSQL",
|
||||
"Disable Central Repository"
|
||||
Bundle.GlobalSettingsPanel_askForCentralRepoDbChoice_sqliteChoice_text(),
|
||||
Bundle.GlobalSettingsPanel_askForCentralRepoDbChoice_customPostgrestChoice_text(),
|
||||
Bundle.GlobalSettingsPanel_askForCentralRepoDbChoice_disableChoice_text()
|
||||
};
|
||||
|
||||
int result = JOptionPane.showOptionDialog(
|
||||
parent,
|
||||
"<html><body>"
|
||||
+ "<div style='width: 400px;'>"
|
||||
+ "<p>" + NbBundle.getMessage(GlobalSettingsPanel.class, "GlobalSettingsPanel.onMultiUserChange.disabledMu.description") + "</p>"
|
||||
+ "<p style='margin-top: 10px'>" + NbBundle.getMessage(GlobalSettingsPanel.class, "GlobalSettingsPanel.onMultiUserChange.disabledMu.description2") + "</p>"
|
||||
+ "<p>" + Bundle.GlobalSettingsPanel_onMultiUserChange_disabledMu_description() + "</p>"
|
||||
+ "<p style='margin-top: 10px'>" + Bundle.GlobalSettingsPanel_onMultiUserChange_disabledMu_description2() + "</p>"
|
||||
+ "</div>"
|
||||
+ "</body></html>",
|
||||
NbBundle.getMessage(GlobalSettingsPanel.class, "GlobalSettingsPanel.onMultiUserChange.disabledMu.title"),
|
||||
Bundle.GlobalSettingsPanel_onMultiUserChange_disabledMu_title(),
|
||||
JOptionPane.YES_NO_CANCEL_OPTION,
|
||||
JOptionPane.PLAIN_MESSAGE,
|
||||
null,
|
||||
@ -201,12 +247,54 @@ public final class GlobalSettingsPanel extends IngestModuleGlobalSettingsPanel i
|
||||
}
|
||||
}
|
||||
|
||||
private static void handleDbChange(Component parent) {
|
||||
SwingUtilities.invokeLater(() -> {
|
||||
if (!EamDbSettingsDialog.testStatusAndCreate(parent, new CentralRepoDbManager())) {
|
||||
CentralRepoDbManager.disableDueToFailure();
|
||||
}
|
||||
});
|
||||
@NbBundle.Messages({
|
||||
"GlobalSettingsPanel.testCurrentConfiguration.dbDoesNotExist.message=Database does not exist.",
|
||||
})
|
||||
private boolean testCurrentConfiguration() {
|
||||
if (CentralRepoDbManager.getSavedDbChoice() == null ||
|
||||
CentralRepoDbManager.getSavedDbChoice() == CentralRepoDbChoice.DISABLED ||
|
||||
!CentralRepoDbUtil.allowUseOfCentralRepository())
|
||||
return false;
|
||||
|
||||
CentralRepoDbManager manager = new CentralRepoDbManager();
|
||||
DatabaseTestResult testResult = manager.testStatus();
|
||||
|
||||
// if database doesn't exist, prompt user to create database
|
||||
if (testResult == DatabaseTestResult.DB_DOES_NOT_EXIST) {
|
||||
boolean success = EamDbSettingsDialog.promptCreateDatabase(manager, null);
|
||||
if (success)
|
||||
testResult = DatabaseTestResult.TESTED_OK;
|
||||
}
|
||||
|
||||
// display to the user the status
|
||||
switch (testResult) {
|
||||
case TESTED_OK: return showStatusOkay();
|
||||
case DB_DOES_NOT_EXIST: return showStatusFail(Bundle.GlobalSettingsPanel_testCurrentConfiguration_dbDoesNotExist_message());
|
||||
case SCHEMA_INVALID: return showStatusFail(Bundle.EamDbSettingsDialog_okButton_corruptDatabaseExists_message());
|
||||
case CONNECTION_FAILED:
|
||||
default:
|
||||
return showStatusFail(Bundle.EamDbSettingsDialog_okButton_databaseConnectionFailed_message());
|
||||
}
|
||||
}
|
||||
|
||||
private boolean showStatusOkay() {
|
||||
return setStatus(goodIcon, " ");
|
||||
}
|
||||
|
||||
private boolean showStatusFail(String message) {
|
||||
return setStatus(badIcon, message);
|
||||
}
|
||||
|
||||
private void clearStatus() {
|
||||
setStatus(null, " ");
|
||||
}
|
||||
|
||||
private boolean setStatus(ImageIcon icon, String text) {
|
||||
synchronized (testStatusLabel) {
|
||||
testStatusLabel.setIcon(icon);
|
||||
testStatusLabel.setText(text);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@ -230,6 +318,8 @@ public final class GlobalSettingsPanel extends IngestModuleGlobalSettingsPanel i
|
||||
lbDbPlatformValue = new javax.swing.JLabel();
|
||||
lbDbNameValue = new javax.swing.JLabel();
|
||||
lbDbLocationValue = new javax.swing.JLabel();
|
||||
bnTestConfigure = new javax.swing.JButton();
|
||||
testStatusLabel = new javax.swing.JLabel();
|
||||
pnCorrelationProperties = new javax.swing.JPanel();
|
||||
bnManageTypes = new javax.swing.JButton();
|
||||
correlationPropertiesScrollPane = new javax.swing.JScrollPane();
|
||||
@ -278,6 +368,20 @@ public final class GlobalSettingsPanel extends IngestModuleGlobalSettingsPanel i
|
||||
}
|
||||
});
|
||||
|
||||
org.openide.awt.Mnemonics.setLocalizedText(bnTestConfigure, org.openide.util.NbBundle.getMessage(GlobalSettingsPanel.class, "GlobalSettingsPanel.bnTestConfigure.text")); // NOI18N
|
||||
bnTestConfigure.addActionListener(new java.awt.event.ActionListener() {
|
||||
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||
bnTestConfigureActionPerformed(evt);
|
||||
}
|
||||
});
|
||||
|
||||
testStatusLabel.setFont(testStatusLabel.getFont().deriveFont(testStatusLabel.getFont().getStyle() & ~java.awt.Font.BOLD, 11));
|
||||
testStatusLabel.setForeground(new java.awt.Color(255, 0, 0));
|
||||
org.openide.awt.Mnemonics.setLocalizedText(testStatusLabel, org.openide.util.NbBundle.getMessage(GlobalSettingsPanel.class, "GlobalSettingsPanel.testStatusLabel.text")); // NOI18N
|
||||
testStatusLabel.setToolTipText(org.openide.util.NbBundle.getMessage(GlobalSettingsPanel.class, "GlobalSettingsPanel.testStatusLabel.toolTipText")); // NOI18N
|
||||
testStatusLabel.setMaximumSize(new java.awt.Dimension(387, 16));
|
||||
testStatusLabel.setPreferredSize(new java.awt.Dimension(387, 16));
|
||||
|
||||
javax.swing.GroupLayout pnDatabaseConfigurationLayout = new javax.swing.GroupLayout(pnDatabaseConfiguration);
|
||||
pnDatabaseConfiguration.setLayout(pnDatabaseConfigurationLayout);
|
||||
pnDatabaseConfigurationLayout.setHorizontalGroup(
|
||||
@ -285,9 +389,6 @@ public final class GlobalSettingsPanel extends IngestModuleGlobalSettingsPanel i
|
||||
.addGroup(pnDatabaseConfigurationLayout.createSequentialGroup()
|
||||
.addContainerGap()
|
||||
.addGroup(pnDatabaseConfigurationLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addGroup(pnDatabaseConfigurationLayout.createSequentialGroup()
|
||||
.addComponent(bnDbConfigure)
|
||||
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
|
||||
.addGroup(pnDatabaseConfigurationLayout.createSequentialGroup()
|
||||
.addGroup(pnDatabaseConfigurationLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
|
||||
.addComponent(lbDbPlatformTypeLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
||||
@ -295,9 +396,18 @@ public final class GlobalSettingsPanel extends IngestModuleGlobalSettingsPanel i
|
||||
.addComponent(lbDbLocationLabel))
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
|
||||
.addGroup(pnDatabaseConfigurationLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
|
||||
.addComponent(lbDbNameValue, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 936, Short.MAX_VALUE)
|
||||
.addComponent(lbDbNameValue, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
||||
.addComponent(lbDbPlatformValue, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
||||
.addComponent(lbDbLocationValue, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))))
|
||||
.addGroup(javax.swing.GroupLayout.Alignment.LEADING, pnDatabaseConfigurationLayout.createSequentialGroup()
|
||||
.addComponent(lbDbLocationValue, javax.swing.GroupLayout.DEFAULT_SIZE, 255, Short.MAX_VALUE)
|
||||
.addGap(681, 681, 681))))
|
||||
.addGroup(pnDatabaseConfigurationLayout.createSequentialGroup()
|
||||
.addComponent(bnDbConfigure)
|
||||
.addGap(18, 18, 18)
|
||||
.addComponent(bnTestConfigure)
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addComponent(testStatusLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 675, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))))
|
||||
);
|
||||
pnDatabaseConfigurationLayout.setVerticalGroup(
|
||||
pnDatabaseConfigurationLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
@ -315,7 +425,11 @@ public final class GlobalSettingsPanel extends IngestModuleGlobalSettingsPanel i
|
||||
.addComponent(lbDbLocationLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
||||
.addComponent(lbDbLocationValue, javax.swing.GroupLayout.PREFERRED_SIZE, 14, javax.swing.GroupLayout.PREFERRED_SIZE))
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
||||
.addComponent(bnDbConfigure)
|
||||
.addGroup(pnDatabaseConfigurationLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addComponent(testStatusLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
||||
.addGroup(pnDatabaseConfigurationLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
|
||||
.addComponent(bnDbConfigure)
|
||||
.addComponent(bnTestConfigure)))
|
||||
.addGap(8, 8, 8))
|
||||
);
|
||||
|
||||
@ -359,7 +473,7 @@ public final class GlobalSettingsPanel extends IngestModuleGlobalSettingsPanel i
|
||||
pnCorrelationPropertiesLayout.setVerticalGroup(
|
||||
pnCorrelationPropertiesLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, pnCorrelationPropertiesLayout.createSequentialGroup()
|
||||
.addComponent(correlationPropertiesScrollPane, javax.swing.GroupLayout.DEFAULT_SIZE, 28, Short.MAX_VALUE)
|
||||
.addComponent(correlationPropertiesScrollPane, javax.swing.GroupLayout.DEFAULT_SIZE, 24, Short.MAX_VALUE)
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addComponent(bnManageTypes)
|
||||
.addGap(8, 8, 8))
|
||||
@ -472,13 +586,13 @@ public final class GlobalSettingsPanel extends IngestModuleGlobalSettingsPanel i
|
||||
.addGroup(jPanel1Layout.createSequentialGroup()
|
||||
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addComponent(pnDatabaseConfiguration, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
||||
.addComponent(pnCorrelationProperties, javax.swing.GroupLayout.DEFAULT_SIZE, 1010, Short.MAX_VALUE)
|
||||
.addComponent(pnCorrelationProperties, javax.swing.GroupLayout.DEFAULT_SIZE, 1016, Short.MAX_VALUE)
|
||||
.addComponent(organizationPanel, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
||||
.addComponent(casesPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
||||
.addGroup(jPanel1Layout.createSequentialGroup()
|
||||
.addComponent(cbUseCentralRepo, javax.swing.GroupLayout.PREFERRED_SIZE, 162, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
|
||||
.addComponent(ingestRunningWarningLabel, javax.swing.GroupLayout.DEFAULT_SIZE, 844, Short.MAX_VALUE))
|
||||
.addComponent(ingestRunningWarningLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
|
||||
.addGroup(jPanel1Layout.createSequentialGroup()
|
||||
.addContainerGap()
|
||||
.addComponent(tbOops, javax.swing.GroupLayout.PREFERRED_SIZE, 974, javax.swing.GroupLayout.PREFERRED_SIZE)))
|
||||
@ -532,7 +646,6 @@ public final class GlobalSettingsPanel extends IngestModuleGlobalSettingsPanel i
|
||||
boolean changed = invokeCrChoice(this, null);
|
||||
if (changed) {
|
||||
load(); // reload db settings content and update buttons
|
||||
firePropertyChange(OptionsPanelController.PROP_CHANGED, null, null);
|
||||
}
|
||||
}//GEN-LAST:event_bnDbConfigureActionPerformed
|
||||
|
||||
@ -549,20 +662,14 @@ public final class GlobalSettingsPanel extends IngestModuleGlobalSettingsPanel i
|
||||
private void cbUseCentralRepoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cbUseCentralRepoActionPerformed
|
||||
//if saved setting is disabled checkbox should be disabled already
|
||||
store();
|
||||
|
||||
// if moving to using CR, multi-user mode is disabled and selection is multiuser settings, set to disabled
|
||||
if (cbUseCentralRepo.isSelected()
|
||||
&& !CentralRepoDbManager.isPostgresMultiuserAllowed()
|
||||
&& CentralRepoDbManager.getSavedDbChoice() == CentralRepoDbChoice.POSTGRESQL_MULTIUSER) {
|
||||
|
||||
CentralRepoDbManager.saveDbChoice(CentralRepoDbChoice.DISABLED);
|
||||
}
|
||||
|
||||
load();
|
||||
this.ingestStateUpdated(Case.isCaseOpen());
|
||||
firePropertyChange(OptionsPanelController.PROP_CHANGED, null, null);
|
||||
}//GEN-LAST:event_cbUseCentralRepoActionPerformed
|
||||
|
||||
private void bnTestConfigureActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_bnTestConfigureActionPerformed
|
||||
testCurrentConfiguration();
|
||||
}//GEN-LAST:event_bnTestConfigureActionPerformed
|
||||
|
||||
@Override
|
||||
@Messages({"GlobalSettingsPanel.validationerrMsg.mustConfigure=Configure the database to enable this module."})
|
||||
public void load() {
|
||||
@ -692,6 +799,8 @@ public final class GlobalSettingsPanel extends IngestModuleGlobalSettingsPanel i
|
||||
enableDatabaseConfigureButton(cbUseCentralRepo.isSelected() && !caseIsOpen);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Enable the Configure button
|
||||
*
|
||||
@ -702,8 +811,10 @@ public final class GlobalSettingsPanel extends IngestModuleGlobalSettingsPanel i
|
||||
private void enableDatabaseConfigureButton(Boolean enable) {
|
||||
boolean ingestRunning = IngestManager.getInstance().isIngestRunning();
|
||||
ingestRunningWarningLabel.setVisible(ingestRunning);
|
||||
|
||||
pnDatabaseConfiguration.setEnabled(enable && !ingestRunning);
|
||||
bnDbConfigure.setEnabled(enable && !ingestRunning);
|
||||
bnTestConfigure.setEnabled(enable && !ingestRunning);
|
||||
lbDbLocationLabel.setEnabled(enable && !ingestRunning);
|
||||
lbDbLocationValue.setEnabled(enable && !ingestRunning);
|
||||
lbDbNameLabel.setEnabled(enable && !ingestRunning);
|
||||
@ -738,6 +849,7 @@ public final class GlobalSettingsPanel extends IngestModuleGlobalSettingsPanel i
|
||||
// Variables declaration - do not modify//GEN-BEGIN:variables
|
||||
private javax.swing.JButton bnDbConfigure;
|
||||
private javax.swing.JButton bnManageTypes;
|
||||
private javax.swing.JButton bnTestConfigure;
|
||||
private javax.swing.JPanel casesPanel;
|
||||
private javax.swing.JScrollPane casesScrollPane;
|
||||
private javax.swing.JTextArea casesTextArea;
|
||||
@ -762,5 +874,6 @@ public final class GlobalSettingsPanel extends IngestModuleGlobalSettingsPanel i
|
||||
private javax.swing.JPanel pnDatabaseConfiguration;
|
||||
private javax.swing.JButton showCasesButton;
|
||||
private javax.swing.JTextField tbOops;
|
||||
private javax.swing.JLabel testStatusLabel;
|
||||
// End of variables declaration//GEN-END:variables
|
||||
}
|
||||
|
@ -77,9 +77,9 @@ DataResultViewerThumbnail.switchPage.done.errMsg=Error making thumbnails: {0}
|
||||
AboutWindowPanel.actVerboseLogging.text=Activate verbose logging
|
||||
OptionsCategory_Name_Multi_User_Settings=Multi-User
|
||||
OptionsCategory_Keywords_Multi_User_Options=Multi-User Settings
|
||||
MultiUserSettingsPanel.lbSolrSettings.text=Solr Settings
|
||||
MultiUserSettingsPanel.lbSolrSettings.text=Solr Server Settings
|
||||
MultiUserSettingsPanel.cbEnableMultiUser.text=Enable multi-user cases
|
||||
MultiUserSettingsPanel.lbDatabaseSettings.text=Database Settings
|
||||
MultiUserSettingsPanel.lbDatabaseSettings.text=Database Server Settings
|
||||
MultiUserSettingsPanel.validationErrMsg.incomplete=Fill in all values
|
||||
MultiUserSettingsPanel.nonWindowsOs.msg=Multi-user cases are only available on Windows platforms
|
||||
MultiUserSettingsPanel.validationErrMsg.invalidDatabasePort=Invalid database port number
|
||||
@ -107,7 +107,7 @@ MultiUserSettingsPanel.tbSolrHostname.toolTipText=Hostname or IP Address
|
||||
MultiUserSettingsPanel.tbSolrPort.toolTipText=Port Number
|
||||
MultiUserSettingsPanel.lbTestMessageService.text=
|
||||
MultiUserSettingsPanel.bnTestMessageService.text=Test
|
||||
MultiUserSettingsPanel.lbMessageServiceSettings.text=ActiveMQ Message Service Settings
|
||||
MultiUserSettingsPanel.lbMessageServiceSettings.text=ActiveMQ Message Server Settings
|
||||
MultiUserSettingsPanel.tbMsgPort.toolTipText=Port Number
|
||||
MultiUserSettingsPanel.tbMsgPort.text=
|
||||
MultiUserSettingsPanel.tbMsgUsername.toolTipText=User Name (optional)
|
||||
|
Loading…
x
Reference in New Issue
Block a user