19 package org.sleuthkit.autopsy.centralrepository.optionspanel;
 
   21 import java.awt.Cursor;
 
   22 import java.awt.EventQueue;
 
   24 import java.beans.PropertyChangeEvent;
 
   25 import java.beans.PropertyChangeListener;
 
   26 import java.util.EnumSet;
 
   27 import javax.swing.JOptionPane;
 
   28 import javax.swing.SwingUtilities;
 
   29 import org.netbeans.spi.options.OptionsPanelController;
 
   30 import org.openide.util.NbBundle;
 
   31 import org.openide.util.NbBundle.Messages;
 
   47 @SuppressWarnings(
"PMD.SingularField") 
 
   50     private static final long serialVersionUID = 1L;
 
   62         customizeComponents();
 
   63         addIngestJobEventsListener();
 
   66             ingestStateUpdated(evt.getNewValue() != null);
 
   71         setName(NbBundle.getMessage(
GlobalSettingsPanel.class, 
"GlobalSettingsPanel.pnCorrelationProperties.border.title"));
 
   79     @Messages({
"GlobalSettingsPanel.updateFailed.title=Central repository upgrade failed"})
 
   85         setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
 
   89             setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
 
   91             setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
 
   92             JOptionPane.showMessageDialog(
this,
 
   94                     NbBundle.getMessage(this.getClass(),
 
   95                             "GlobalSettingsPanel.updateFailed.title"),
 
   96                     JOptionPane.WARNING_MESSAGE);
 
   98             setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
 
  107     @SuppressWarnings(
"unchecked")
 
  109     private 
void initComponents() {
 
  111         jScrollPane1 = 
new javax.swing.JScrollPane();
 
  112         jPanel1 = 
new javax.swing.JPanel();
 
  113         lbCentralRepository = 
new javax.swing.JLabel();
 
  114         cbUseCentralRepo = 
new javax.swing.JCheckBox();
 
  115         pnDatabaseConfiguration = 
new javax.swing.JPanel();
 
  116         lbDbPlatformTypeLabel = 
new javax.swing.JLabel();
 
  117         lbDbNameLabel = 
new javax.swing.JLabel();
 
  118         lbDbLocationLabel = 
new javax.swing.JLabel();
 
  119         bnDbConfigure = 
new javax.swing.JButton();
 
  120         lbDbPlatformValue = 
new javax.swing.JLabel();
 
  121         lbDbNameValue = 
new javax.swing.JLabel();
 
  122         lbDbLocationValue = 
new javax.swing.JLabel();
 
  123         pnCorrelationProperties = 
new javax.swing.JPanel();
 
  124         bnManageTypes = 
new javax.swing.JButton();
 
  125         correlationPropertiesScrollPane = 
new javax.swing.JScrollPane();
 
  126         correlationPropertiesTextArea = 
new javax.swing.JTextArea();
 
  127         organizationPanel = 
new javax.swing.JPanel();
 
  128         manageOrganizationButton = 
new javax.swing.JButton();
 
  129         organizationScrollPane = 
new javax.swing.JScrollPane();
 
  130         organizationTextArea = 
new javax.swing.JTextArea();
 
  131         casesPanel = 
new javax.swing.JPanel();
 
  132         showCasesButton = 
new javax.swing.JButton();
 
  133         casesScrollPane = 
new javax.swing.JScrollPane();
 
  134         casesTextArea = 
new javax.swing.JTextArea();
 
  135         tbOops = 
new javax.swing.JTextField();
 
  136         ingestRunningWarningLabel = 
new javax.swing.JLabel();
 
  139         setPreferredSize(
new java.awt.Dimension(1022, 488));
 
  141         jScrollPane1.setBorder(null);
 
  142         jScrollPane1.setPreferredSize(
new java.awt.Dimension(1022, 407));
 
  144         jPanel1.setMinimumSize(
new java.awt.Dimension(0, 0));
 
  145         jPanel1.setPreferredSize(
new java.awt.Dimension(1020, 407));
 
  147         org.openide.awt.Mnemonics.setLocalizedText(lbCentralRepository, 
org.openide.util.NbBundle.getMessage(
GlobalSettingsPanel.class, 
"GlobalSettingsPanel.lbCentralRepository.text")); 
 
  149         org.openide.awt.Mnemonics.setLocalizedText(cbUseCentralRepo, 
org.openide.util.NbBundle.getMessage(
GlobalSettingsPanel.class, 
"GlobalSettingsPanel.cbUseCentralRepo.text")); 
 
  150         cbUseCentralRepo.addActionListener(
new java.awt.event.ActionListener() {
 
  151             public void actionPerformed(java.awt.event.ActionEvent evt) {
 
  152                 cbUseCentralRepoActionPerformed(evt);
 
  156         pnDatabaseConfiguration.setBorder(javax.swing.BorderFactory.createTitledBorder(null, 
org.openide.util.NbBundle.getMessage(
GlobalSettingsPanel.class, 
"GlobalSettingsPanel.pnDatabaseConfiguration.title"), javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, 
new java.awt.Font(
"Tahoma", 0, 12))); 
 
  158         org.openide.awt.Mnemonics.setLocalizedText(lbDbPlatformTypeLabel, 
org.openide.util.NbBundle.getMessage(
GlobalSettingsPanel.class, 
"GlobalSettingsPanel.lbDbPlatformTypeLabel.text")); 
 
  160         org.openide.awt.Mnemonics.setLocalizedText(lbDbNameLabel, 
org.openide.util.NbBundle.getMessage(
GlobalSettingsPanel.class, 
"GlobalSettingsPanel.lbDbNameLabel.text")); 
 
  162         org.openide.awt.Mnemonics.setLocalizedText(lbDbLocationLabel, 
org.openide.util.NbBundle.getMessage(
GlobalSettingsPanel.class, 
"GlobalSettingsPanel.lbDbLocationLabel.text")); 
 
  164         org.openide.awt.Mnemonics.setLocalizedText(bnDbConfigure, 
org.openide.util.NbBundle.getMessage(
GlobalSettingsPanel.class, 
"GlobalSettingsPanel.bnDbConfigure.text")); 
 
  165         bnDbConfigure.addActionListener(
new java.awt.event.ActionListener() {
 
  166             public void actionPerformed(java.awt.event.ActionEvent evt) {
 
  167                 bnDbConfigureActionPerformed(evt);
 
  171         javax.swing.GroupLayout pnDatabaseConfigurationLayout = 
new javax.swing.GroupLayout(pnDatabaseConfiguration);
 
  172         pnDatabaseConfiguration.setLayout(pnDatabaseConfigurationLayout);
 
  173         pnDatabaseConfigurationLayout.setHorizontalGroup(
 
  174             pnDatabaseConfigurationLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
 
  175             .addGroup(pnDatabaseConfigurationLayout.createSequentialGroup()
 
  177                 .addGroup(pnDatabaseConfigurationLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
 
  178                     .addGroup(pnDatabaseConfigurationLayout.createSequentialGroup()
 
  179                         .addComponent(bnDbConfigure)
 
  180                         .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
 
  181                     .addGroup(pnDatabaseConfigurationLayout.createSequentialGroup()
 
  182                         .addGroup(pnDatabaseConfigurationLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, 
false)
 
  183                             .addComponent(lbDbPlatformTypeLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
 
  184                             .addComponent(lbDbNameLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
 
  185                             .addComponent(lbDbLocationLabel))
 
  186                         .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
 
  187                         .addGroup(pnDatabaseConfigurationLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
 
  188                             .addComponent(lbDbNameValue, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 936, Short.MAX_VALUE)
 
  189                             .addComponent(lbDbPlatformValue, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
 
  190                             .addComponent(lbDbLocationValue, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))))
 
  192         pnDatabaseConfigurationLayout.setVerticalGroup(
 
  193             pnDatabaseConfigurationLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
 
  194             .addGroup(pnDatabaseConfigurationLayout.createSequentialGroup()
 
  196                 .addGroup(pnDatabaseConfigurationLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, 
false)
 
  197                     .addComponent(lbDbPlatformTypeLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
 
  198                     .addComponent(lbDbPlatformValue, javax.swing.GroupLayout.PREFERRED_SIZE, 14, javax.swing.GroupLayout.PREFERRED_SIZE))
 
  199                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
 
  200                 .addGroup(pnDatabaseConfigurationLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, 
false)
 
  201                     .addComponent(lbDbNameLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
 
  202                     .addComponent(lbDbNameValue, javax.swing.GroupLayout.PREFERRED_SIZE, 14, javax.swing.GroupLayout.PREFERRED_SIZE))
 
  203                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
 
  204                 .addGroup(pnDatabaseConfigurationLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, 
false)
 
  205                     .addComponent(lbDbLocationLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
 
  206                     .addComponent(lbDbLocationValue, javax.swing.GroupLayout.PREFERRED_SIZE, 14, javax.swing.GroupLayout.PREFERRED_SIZE))
 
  207                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
 
  208                 .addComponent(bnDbConfigure)
 
  212         pnCorrelationProperties.setBorder(javax.swing.BorderFactory.createTitledBorder(null, 
org.openide.util.NbBundle.getMessage(
GlobalSettingsPanel.class, 
"GlobalSettingsPanel.pnCorrelationProperties.border.title"), javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, 
new java.awt.Font(
"Tahoma", 0, 12))); 
 
  213         pnCorrelationProperties.setPreferredSize(
new java.awt.Dimension(674, 93));
 
  215         org.openide.awt.Mnemonics.setLocalizedText(bnManageTypes, 
org.openide.util.NbBundle.getMessage(
GlobalSettingsPanel.class, 
"GlobalSettingsPanel.bnManageProperties.text")); 
 
  216         bnManageTypes.addActionListener(
new java.awt.event.ActionListener() {
 
  217             public void actionPerformed(java.awt.event.ActionEvent evt) {
 
  218                 bnManageTypesActionPerformed(evt);
 
  222         correlationPropertiesScrollPane.setBorder(null);
 
  224         correlationPropertiesTextArea.setEditable(
false);
 
  225         correlationPropertiesTextArea.setBackground(
new java.awt.Color(240, 240, 240));
 
  226         correlationPropertiesTextArea.setColumns(20);
 
  227         correlationPropertiesTextArea.setFont(
new java.awt.Font(
"Tahoma", 0, 11)); 
 
  228         correlationPropertiesTextArea.setLineWrap(
true);
 
  229         correlationPropertiesTextArea.setRows(1);
 
  230         correlationPropertiesTextArea.setText(
org.openide.util.NbBundle.getMessage(
GlobalSettingsPanel.class, 
"GlobalSettingsPanel.correlationPropertiesTextArea.text")); 
 
  231         correlationPropertiesTextArea.setToolTipText(
"");
 
  232         correlationPropertiesTextArea.setWrapStyleWord(
true);
 
  233         correlationPropertiesTextArea.setBorder(null);
 
  234         correlationPropertiesTextArea.setOpaque(
false);
 
  235         correlationPropertiesScrollPane.setViewportView(correlationPropertiesTextArea);
 
  237         javax.swing.GroupLayout pnCorrelationPropertiesLayout = 
new javax.swing.GroupLayout(pnCorrelationProperties);
 
  238         pnCorrelationProperties.setLayout(pnCorrelationPropertiesLayout);
 
  239         pnCorrelationPropertiesLayout.setHorizontalGroup(
 
  240             pnCorrelationPropertiesLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
 
  241             .addGroup(pnCorrelationPropertiesLayout.createSequentialGroup()
 
  243                 .addGroup(pnCorrelationPropertiesLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
 
  244                     .addGroup(pnCorrelationPropertiesLayout.createSequentialGroup()
 
  245                         .addComponent(bnManageTypes)
 
  246                         .addGap(0, 0, Short.MAX_VALUE))
 
  247                     .addComponent(correlationPropertiesScrollPane))
 
  250         pnCorrelationPropertiesLayout.setVerticalGroup(
 
  251             pnCorrelationPropertiesLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
 
  252             .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, pnCorrelationPropertiesLayout.createSequentialGroup()
 
  253                 .addComponent(correlationPropertiesScrollPane, javax.swing.GroupLayout.DEFAULT_SIZE, 32, Short.MAX_VALUE)
 
  254                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
 
  255                 .addComponent(bnManageTypes)
 
  259         organizationPanel.setBorder(javax.swing.BorderFactory.createTitledBorder(null, 
org.openide.util.NbBundle.getMessage(
GlobalSettingsPanel.class, 
"GlobalSettingsPanel.organizationPanel.border.title"), javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, 
new java.awt.Font(
"Tahoma", 0, 12))); 
 
  261         org.openide.awt.Mnemonics.setLocalizedText(manageOrganizationButton, 
org.openide.util.NbBundle.getMessage(
GlobalSettingsPanel.class, 
"GlobalSettingsPanel.manageOrganizationButton.text")); 
 
  262         manageOrganizationButton.addActionListener(
new java.awt.event.ActionListener() {
 
  263             public void actionPerformed(java.awt.event.ActionEvent evt) {
 
  264                 manageOrganizationButtonActionPerformed(evt);
 
  268         organizationScrollPane.setBorder(null);
 
  270         organizationTextArea.setEditable(
false);
 
  271         organizationTextArea.setBackground(
new java.awt.Color(240, 240, 240));
 
  272         organizationTextArea.setColumns(20);
 
  273         organizationTextArea.setFont(
new java.awt.Font(
"Tahoma", 0, 11)); 
 
  274         organizationTextArea.setLineWrap(
true);
 
  275         organizationTextArea.setRows(2);
 
  276         organizationTextArea.setText(
org.openide.util.NbBundle.getMessage(
GlobalSettingsPanel.class, 
"GlobalSettingsPanel.organizationTextArea.text")); 
 
  277         organizationTextArea.setWrapStyleWord(
true);
 
  278         organizationTextArea.setBorder(null);
 
  279         organizationTextArea.setOpaque(
false);
 
  280         organizationScrollPane.setViewportView(organizationTextArea);
 
  282         javax.swing.GroupLayout organizationPanelLayout = 
new javax.swing.GroupLayout(organizationPanel);
 
  283         organizationPanel.setLayout(organizationPanelLayout);
 
  284         organizationPanelLayout.setHorizontalGroup(
 
  285             organizationPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
 
  286             .addGroup(organizationPanelLayout.createSequentialGroup()
 
  288                 .addGroup(organizationPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
 
  289                     .addComponent(organizationScrollPane)
 
  290                     .addGroup(organizationPanelLayout.createSequentialGroup()
 
  291                         .addComponent(manageOrganizationButton)
 
  292                         .addGap(0, 0, Short.MAX_VALUE)))
 
  295         organizationPanelLayout.setVerticalGroup(
 
  296             organizationPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
 
  297             .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, organizationPanelLayout.createSequentialGroup()
 
  299                 .addComponent(organizationScrollPane, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
 
  300                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
 
  301                 .addComponent(manageOrganizationButton)
 
  305         casesPanel.setBorder(javax.swing.BorderFactory.createTitledBorder(null, 
org.openide.util.NbBundle.getMessage(
GlobalSettingsPanel.class, 
"GlobalSettingsPanel.casesPanel.border.title"), javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, 
new java.awt.Font(
"Tahoma", 0, 12))); 
 
  306         casesPanel.setName(
"Case Details"); 
 
  308         org.openide.awt.Mnemonics.setLocalizedText(showCasesButton, 
org.openide.util.NbBundle.getMessage(
GlobalSettingsPanel.class, 
"GlobalSettingsPanel.showCasesButton.text")); 
 
  309         showCasesButton.addActionListener(
new java.awt.event.ActionListener() {
 
  310             public void actionPerformed(java.awt.event.ActionEvent evt) {
 
  311                 showCasesButtonActionPerformed(evt);
 
  315         casesScrollPane.setBorder(null);
 
  317         casesTextArea.setEditable(
false);
 
  318         casesTextArea.setBackground(
new java.awt.Color(240, 240, 240));
 
  319         casesTextArea.setColumns(20);
 
  320         casesTextArea.setFont(
new java.awt.Font(
"Tahoma", 0, 11)); 
 
  321         casesTextArea.setLineWrap(
true);
 
  322         casesTextArea.setRows(2);
 
  323         casesTextArea.setText(
org.openide.util.NbBundle.getMessage(
GlobalSettingsPanel.class, 
"GlobalSettingsPanel.casesTextArea.text")); 
 
  324         casesTextArea.setWrapStyleWord(
true);
 
  325         casesTextArea.setBorder(null);
 
  326         casesTextArea.setOpaque(
false);
 
  327         casesScrollPane.setViewportView(casesTextArea);
 
  329         javax.swing.GroupLayout casesPanelLayout = 
new javax.swing.GroupLayout(casesPanel);
 
  330         casesPanel.setLayout(casesPanelLayout);
 
  331         casesPanelLayout.setHorizontalGroup(
 
  332             casesPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
 
  333             .addGroup(casesPanelLayout.createSequentialGroup()
 
  335                 .addGroup(casesPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
 
  336                     .addComponent(casesScrollPane)
 
  337                     .addGroup(casesPanelLayout.createSequentialGroup()
 
  338                         .addComponent(showCasesButton)
 
  339                         .addGap(0, 0, Short.MAX_VALUE)))
 
  342         casesPanelLayout.setVerticalGroup(
 
  343             casesPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
 
  344             .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, casesPanelLayout.createSequentialGroup()
 
  346                 .addComponent(casesScrollPane, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
 
  347                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
 
  348                 .addComponent(showCasesButton)
 
  352         tbOops.setEditable(
false);
 
  353         tbOops.setFont(tbOops.getFont().deriveFont(tbOops.getFont().getStyle() | java.awt.Font.BOLD, 12));
 
  354         tbOops.setText(
org.openide.util.NbBundle.getMessage(
GlobalSettingsPanel.class, 
"GlobalSettingsPanel.tbOops.text")); 
 
  355         tbOops.setBorder(null);
 
  357         ingestRunningWarningLabel.setFont(ingestRunningWarningLabel.getFont().deriveFont(ingestRunningWarningLabel.getFont().getStyle() & ~java.awt.Font.BOLD, 11));
 
  358         ingestRunningWarningLabel.setIcon(
new javax.swing.ImageIcon(getClass().getResource(
"/org/sleuthkit/autopsy/modules/filetypeid/warning16.png"))); 
 
  359         org.openide.awt.Mnemonics.setLocalizedText(ingestRunningWarningLabel, 
org.openide.util.NbBundle.getMessage(
GlobalSettingsPanel.class, 
"GlobalSettingsPanel.ingestRunningWarningLabel.text")); 
 
  361         javax.swing.GroupLayout jPanel1Layout = 
new javax.swing.GroupLayout(jPanel1);
 
  362         jPanel1.setLayout(jPanel1Layout);
 
  363         jPanel1Layout.setHorizontalGroup(
 
  364             jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
 
  365             .addComponent(lbCentralRepository, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
 
  366             .addGroup(jPanel1Layout.createSequentialGroup()
 
  367                 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
 
  368                     .addComponent(pnDatabaseConfiguration, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
 
  369                     .addComponent(pnCorrelationProperties, javax.swing.GroupLayout.DEFAULT_SIZE, 1012, Short.MAX_VALUE)
 
  370                     .addComponent(organizationPanel, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
 
  371                     .addComponent(casesPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
 
  372                     .addGroup(jPanel1Layout.createSequentialGroup()
 
  373                         .addComponent(cbUseCentralRepo, javax.swing.GroupLayout.PREFERRED_SIZE, 162, javax.swing.GroupLayout.PREFERRED_SIZE)
 
  374                         .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
 
  375                         .addComponent(ingestRunningWarningLabel, javax.swing.GroupLayout.DEFAULT_SIZE, 844, Short.MAX_VALUE))
 
  376                     .addGroup(jPanel1Layout.createSequentialGroup()
 
  378                         .addComponent(tbOops, javax.swing.GroupLayout.PREFERRED_SIZE, 974, javax.swing.GroupLayout.PREFERRED_SIZE)))
 
  381         jPanel1Layout.setVerticalGroup(
 
  382             jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
 
  383             .addGroup(jPanel1Layout.createSequentialGroup()
 
  384                 .addComponent(lbCentralRepository)
 
  385                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
 
  386                 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
 
  387                     .addComponent(cbUseCentralRepo)
 
  388                     .addComponent(ingestRunningWarningLabel))
 
  389                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
 
  390                 .addComponent(pnDatabaseConfiguration, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
 
  392                 .addComponent(pnCorrelationProperties, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
 
  394                 .addComponent(organizationPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
 
  396                 .addComponent(casesPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
 
  398                 .addComponent(tbOops, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
 
  402         casesPanel.getAccessibleContext().setAccessibleName(
org.openide.util.NbBundle.getMessage(
GlobalSettingsPanel.class, 
"GlobalSettingsPanel.Case Details.AccessibleContext.accessibleName")); 
 
  404         jScrollPane1.setViewportView(jPanel1);
 
  406         javax.swing.GroupLayout layout = 
new javax.swing.GroupLayout(
this);
 
  407         this.setLayout(layout);
 
  408         layout.setHorizontalGroup(
 
  409             layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
 
  410             .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
 
  412         layout.setVerticalGroup(
 
  413             layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
 
  414             .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 512, Short.MAX_VALUE)
 
  420         ManageCorrelationPropertiesDialog manageCorrelationDialog = 
new ManageCorrelationPropertiesDialog();
 
  421         firePropertyChange(OptionsPanelController.PROP_VALID, null, null);
 
  427         if (dialog.wasConfigurationChanged()) {
 
  430             firePropertyChange(OptionsPanelController.PROP_CHANGED, null, null);
 
  441         ManageCasesDialog.displayManageCasesDialog();
 
  450         firePropertyChange(OptionsPanelController.PROP_CHANGED, null, null);
 
  454     @Messages({
"GlobalSettingsPanel.validationerrMsg.mustConfigure=Configure the database to enable this module."})
 
  457         enableButtonSubComponents(
false);
 
  460         switch (selectedPlatform) {
 
  464                 lbDbNameValue.setText(dbSettingsPg.
getDbName());
 
  465                 lbDbLocationValue.setText(dbSettingsPg.
getHost());
 
  466                 enableButtonSubComponents(cbUseCentralRepo.isSelected());
 
  471                 lbDbNameValue.setText(dbSettingsSqlite.
getDbName());
 
  473                 enableButtonSubComponents(cbUseCentralRepo.isSelected());
 
  477                 lbDbNameValue.setText(
"");
 
  478                 lbDbLocationValue.setText(
"");
 
  479                 tbOops.setText(Bundle.GlobalSettingsPanel_validationerrMsg_mustConfigure());
 
  496         return !cbUseCentralRepo.isSelected() || !lbDbPlatformValue.getText().equals(DISABLED.toString());
 
  505     @SuppressWarnings(
"FinalizeDeclaration")
 
  506     protected 
void finalize() throws Throwable {
 
  526             if (isLocalIngestJobEvent(event)) {
 
  527                 EventQueue.invokeLater(
new Runnable() {
 
  548             if (((AutopsyEvent) event).getSourceType() == AutopsyEvent.SourceType.LOCAL) {
 
  549                 String eventType = 
event.getPropertyName();
 
  558     @Messages({
"GlobalSettingsPanel.validationErrMsg.ingestRunning=You cannot change settings while ingest is running."})
 
  560         if (!SwingUtilities.isEventDispatchThread()) {
 
  561             SwingUtilities.invokeLater(() -> {
 
  562                 ingestStateUpdated(caseIsOpen);
 
  568         cbUseCentralRepo.setEnabled(!caseIsOpen);
 
  570             tbOops.setText(Bundle.GlobalSettingsPanel_validationErrMsg_ingestRunning());
 
  571             tbOops.setVisible(
true);
 
  572             enableButtonSubComponents(cbUseCentralRepo.isSelected());
 
  575             enableDatabaseConfigureButton(cbUseCentralRepo.isSelected() && !caseIsOpen);
 
  589         ingestRunningWarningLabel.setVisible(ingestRunning);
 
  590         pnDatabaseConfiguration.setEnabled(enable && !ingestRunning);
 
  591         bnDbConfigure.setEnabled(enable && !ingestRunning);
 
  592         lbDbLocationLabel.setEnabled(enable && !ingestRunning);
 
  593         lbDbLocationValue.setEnabled(enable && !ingestRunning);
 
  594         lbDbNameLabel.setEnabled(enable && !ingestRunning);
 
  595         lbDbNameValue.setEnabled(enable && !ingestRunning);
 
  596         lbDbPlatformTypeLabel.setEnabled(enable && !ingestRunning);
 
  597         lbDbPlatformValue.setEnabled(enable && !ingestRunning);
 
  598         tbOops.setEnabled(enable && !ingestRunning);
 
  611         pnCorrelationProperties.setEnabled(enable && !ingestRunning);
 
  612         bnManageTypes.setEnabled(enable && !ingestRunning);
 
  613         correlationPropertiesTextArea.setEnabled(enable && !ingestRunning);
 
  614         organizationPanel.setEnabled(enable && !ingestRunning);
 
  615         organizationTextArea.setEnabled(enable && !ingestRunning);
 
  616         manageOrganizationButton.setEnabled(enable && !ingestRunning);
 
  617         showCasesButton.setEnabled(enable && !ingestRunning);
 
  618         casesPanel.setEnabled(enable && !ingestRunning);
 
  619         casesTextArea.setEnabled(enable && !ingestRunning);
 
final IngestJobEventPropertyChangeListener ingestJobEventListener
javax.swing.JLabel lbDbLocationValue
javax.swing.JButton bnManageTypes
static void upgradeDatabase()
static synchronized IngestManager getInstance()
void showCasesButtonActionPerformed(java.awt.event.ActionEvent evt)
javax.swing.JScrollPane organizationScrollPane
void bnManageTypesActionPerformed(java.awt.event.ActionEvent evt)
javax.swing.JLabel ingestRunningWarningLabel
boolean isIngestRunning()
boolean isLocalIngestJobEvent(PropertyChangeEvent event)
void customizeComponents()
void cbUseCentralRepoActionPerformed(java.awt.event.ActionEvent evt)
javax.swing.JPanel pnDatabaseConfiguration
javax.swing.JPanel organizationPanel
void removeIngestJobEventListener(final PropertyChangeListener listener)
javax.swing.JTextArea correlationPropertiesTextArea
javax.swing.JCheckBox cbUseCentralRepo
void enableDatabaseConfigureButton(Boolean enable)
javax.swing.JTextField tbOops
javax.swing.JTextArea casesTextArea
javax.swing.JButton bnDbConfigure
javax.swing.JScrollPane correlationPropertiesScrollPane
void addIngestJobEventListener(final PropertyChangeListener listener)
javax.swing.JTextArea organizationTextArea
boolean enableButtonSubComponents(Boolean enable)
javax.swing.JPanel jPanel1
javax.swing.JLabel lbDbPlatformTypeLabel
javax.swing.JButton manageOrganizationButton
javax.swing.JScrollPane jScrollPane1
javax.swing.JButton showCasesButton
static void setUseCentralRepo(boolean centralRepoCheckBoxIsSelected)
javax.swing.JLabel lbDbNameValue
javax.swing.JLabel lbCentralRepository
void ingestStateUpdated(boolean caseIsOpen)
javax.swing.JPanel casesPanel
void propertyChange(PropertyChangeEvent event)
synchronized static Logger getLogger(String name)
static void addEventTypeSubscriber(Set< Events > eventTypes, PropertyChangeListener subscriber)
javax.swing.JLabel lbDbPlatformValue
javax.swing.JLabel lbDbLocationLabel
void addIngestJobEventsListener()
void manageOrganizationButtonActionPerformed(java.awt.event.ActionEvent evt)
void bnDbConfigureActionPerformed(java.awt.event.ActionEvent evt)
javax.swing.JLabel lbDbNameLabel
static boolean isCaseOpen()
javax.swing.JScrollPane casesScrollPane
static boolean allowUseOfCentralRepository()
javax.swing.JPanel pnCorrelationProperties