Autopsy  4.4.1
Graphical digital forensics platform for The Sleuth Kit and other tools.
GlobalSettingsPanel.java
Go to the documentation of this file.
1 /*
2  * Central Repository
3  *
4  * Copyright 2015-2017 Basis Technology Corp.
5  * Contact: carrier <at> sleuthkit <dot> org
6  *
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  *
11  * http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  */
19 package org.sleuthkit.autopsy.centralrepository.optionspanel;
20 
22 import java.beans.PropertyChangeEvent;
23 import java.beans.PropertyChangeListener;
24 import javax.swing.SwingUtilities;
25 import org.netbeans.spi.options.OptionsPanelController;
26 import org.openide.util.NbBundle.Messages;
36 
40 public final class GlobalSettingsPanel extends IngestModuleGlobalSettingsPanel implements OptionsPanel {
41 
42  private static final long serialVersionUID = 1L;
43  private static final Logger LOGGER = Logger.getLogger(GlobalSettingsPanel.class.getName());
44 
46 
51  ingestJobEventListener = new IngestJobEventPropertyChangeListener();
52 
56  }
57 
58  @Messages({"GlobalSettingsPanel.title=Central Repository Settings",
59  "GlobalSettingsPanel.cbUseCentralRepo.text=Use a central repository",
60  "GlobalSettingsPanel.pnTagManagement.border.title=Tags",
61  "GlobalSettingsPanel.pnCorrelationProperties.border.title=Correlation Properties",
62  "GlobalSettingsPanel.lbCentralRepository.text=A central repository allows you to correlate files and results between cases.",
63  "GlobalSettingsPanel.manageTagsTextArea.text=Configure which tag names are associated with notable items. "
64  + "When these tags are used, the file or result will be recorded in the central repository. "
65  + "If that file or result is seen again in future cases, it will be flagged.",
66  "GlobalSettingsPanel.correlationPropertiesTextArea.text=Choose which file and result properties to store in the central repository for later correlation."})
67  private void customizeComponents() {
68  setName(Bundle.GlobalSettingsPanel_title());
69 
70  // The hash set functions of central repo are not being included in the current release.
71  bnImportDatabase.setVisible(false);
72  }
73 
74  private void addIngestJobEventsListener() {
75  IngestManager.getInstance().addIngestJobEventListener(ingestJobEventListener);
77  }
78 
84  @SuppressWarnings("unchecked")
85  // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
86  private void initComponents() {
87 
88  pnDatabaseConfiguration = new javax.swing.JPanel();
89  lbDbPlatformTypeLabel = new javax.swing.JLabel();
90  lbDbNameLabel = new javax.swing.JLabel();
91  lbDbLocationLabel = new javax.swing.JLabel();
92  bnDbConfigure = new javax.swing.JButton();
93  lbDbPlatformValue = new javax.swing.JLabel();
94  lbDbNameValue = new javax.swing.JLabel();
95  lbDbLocationValue = new javax.swing.JLabel();
96  cbUseCentralRepo = new javax.swing.JCheckBox();
97  bnImportDatabase = new javax.swing.JButton();
98  pnTagManagement = new javax.swing.JPanel();
99  bnManageTags = new javax.swing.JButton();
100  manageTagsScrollPane = new javax.swing.JScrollPane();
101  manageTagsTextArea = new javax.swing.JTextArea();
102  tbOops = new javax.swing.JTextField();
103  pnCorrelationProperties = new javax.swing.JPanel();
104  bnManageTypes = new javax.swing.JButton();
105  correlationPropertiesScrollPane = new javax.swing.JScrollPane();
106  correlationPropertiesTextArea = new javax.swing.JTextArea();
107  lbCentralRepository = new javax.swing.JLabel();
108 
109  setName(""); // NOI18N
110 
111  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))); // NOI18N
112 
113  org.openide.awt.Mnemonics.setLocalizedText(lbDbPlatformTypeLabel, org.openide.util.NbBundle.getMessage(GlobalSettingsPanel.class, "GlobalSettingsPanel.lbDbPlatformTypeLabel.text")); // NOI18N
114 
115  org.openide.awt.Mnemonics.setLocalizedText(lbDbNameLabel, org.openide.util.NbBundle.getMessage(GlobalSettingsPanel.class, "GlobalSettingsPanel.lbDbNameLabel.text")); // NOI18N
116 
117  org.openide.awt.Mnemonics.setLocalizedText(lbDbLocationLabel, org.openide.util.NbBundle.getMessage(GlobalSettingsPanel.class, "GlobalSettingsPanel.lbDbLocationLabel.text")); // NOI18N
118 
119  org.openide.awt.Mnemonics.setLocalizedText(bnDbConfigure, org.openide.util.NbBundle.getMessage(GlobalSettingsPanel.class, "GlobalSettingsPanel.bnDbConfigure.text")); // NOI18N
120  bnDbConfigure.addActionListener(new java.awt.event.ActionListener() {
121  public void actionPerformed(java.awt.event.ActionEvent evt) {
123  }
124  });
125 
126  javax.swing.GroupLayout pnDatabaseConfigurationLayout = new javax.swing.GroupLayout(pnDatabaseConfiguration);
127  pnDatabaseConfiguration.setLayout(pnDatabaseConfigurationLayout);
128  pnDatabaseConfigurationLayout.setHorizontalGroup(
129  pnDatabaseConfigurationLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
130  .addGroup(pnDatabaseConfigurationLayout.createSequentialGroup()
131  .addContainerGap()
132  .addGroup(pnDatabaseConfigurationLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
133  .addGroup(pnDatabaseConfigurationLayout.createSequentialGroup()
134  .addComponent(bnDbConfigure)
135  .addContainerGap())
136  .addGroup(pnDatabaseConfigurationLayout.createSequentialGroup()
137  .addGroup(pnDatabaseConfigurationLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
138  .addComponent(lbDbPlatformTypeLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
139  .addComponent(lbDbNameLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
140  .addComponent(lbDbLocationLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 57, javax.swing.GroupLayout.PREFERRED_SIZE))
141  .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
142  .addGroup(pnDatabaseConfigurationLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
143  .addComponent(lbDbNameValue, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
144  .addComponent(lbDbPlatformValue, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
145  .addComponent(lbDbLocationValue, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))))
146  );
147  pnDatabaseConfigurationLayout.setVerticalGroup(
148  pnDatabaseConfigurationLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
149  .addGroup(pnDatabaseConfigurationLayout.createSequentialGroup()
150  .addGap(7, 7, 7)
151  .addGroup(pnDatabaseConfigurationLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
152  .addComponent(lbDbPlatformTypeLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
153  .addComponent(lbDbPlatformValue, javax.swing.GroupLayout.PREFERRED_SIZE, 14, javax.swing.GroupLayout.PREFERRED_SIZE))
154  .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
155  .addGroup(pnDatabaseConfigurationLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
156  .addComponent(lbDbNameLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
157  .addComponent(lbDbNameValue, javax.swing.GroupLayout.PREFERRED_SIZE, 14, javax.swing.GroupLayout.PREFERRED_SIZE))
158  .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
159  .addGroup(pnDatabaseConfigurationLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
160  .addComponent(lbDbLocationLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
161  .addComponent(lbDbLocationValue, javax.swing.GroupLayout.PREFERRED_SIZE, 14, javax.swing.GroupLayout.PREFERRED_SIZE))
162  .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
163  .addComponent(bnDbConfigure)
164  .addGap(8, 8, 8))
165  );
166 
167  org.openide.awt.Mnemonics.setLocalizedText(cbUseCentralRepo, org.openide.util.NbBundle.getMessage(GlobalSettingsPanel.class, "GlobalSettingsPanel.cbUseCentralRepo.text")); // NOI18N
168  cbUseCentralRepo.addActionListener(new java.awt.event.ActionListener() {
169  public void actionPerformed(java.awt.event.ActionEvent evt) {
171  }
172  });
173 
174  bnImportDatabase.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/centralrepository/images/import16.png"))); // NOI18N
175  org.openide.awt.Mnemonics.setLocalizedText(bnImportDatabase, org.openide.util.NbBundle.getMessage(GlobalSettingsPanel.class, "GlobalSettingsPanel.bnImportDatabase.label")); // NOI18N
176  bnImportDatabase.setActionCommand(org.openide.util.NbBundle.getMessage(GlobalSettingsPanel.class, "GlobalSettingsPanel.bnImportDatabase.actionCommand")); // NOI18N
177  bnImportDatabase.addActionListener(new java.awt.event.ActionListener() {
178  public void actionPerformed(java.awt.event.ActionEvent evt) {
180  }
181  });
182 
183  pnTagManagement.setBorder(javax.swing.BorderFactory.createTitledBorder(null, org.openide.util.NbBundle.getMessage(GlobalSettingsPanel.class, "GlobalSettingsPanel.pnTagManagement.border.title"), javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Tahoma", 0, 12))); // NOI18N
184  pnTagManagement.setPreferredSize(new java.awt.Dimension(674, 97));
185 
186  org.openide.awt.Mnemonics.setLocalizedText(bnManageTags, org.openide.util.NbBundle.getMessage(GlobalSettingsPanel.class, "GlobalSettingsPanel.bnManageTags.text")); // NOI18N
187  bnManageTags.setToolTipText(org.openide.util.NbBundle.getMessage(GlobalSettingsPanel.class, "GlobalSettingsPanel.bnManageTags.toolTipText")); // NOI18N
188  bnManageTags.setActionCommand(org.openide.util.NbBundle.getMessage(GlobalSettingsPanel.class, "GlobalSettingsPanel.bnManageTags.actionCommand")); // NOI18N
189  bnManageTags.addActionListener(new java.awt.event.ActionListener() {
190  public void actionPerformed(java.awt.event.ActionEvent evt) {
192  }
193  });
194 
195  manageTagsScrollPane.setBorder(null);
196 
197  manageTagsTextArea.setEditable(false);
198  manageTagsTextArea.setBackground(new java.awt.Color(240, 240, 240));
199  manageTagsTextArea.setColumns(20);
200  manageTagsTextArea.setFont(new java.awt.Font("Tahoma", 0, 11)); // NOI18N
201  manageTagsTextArea.setLineWrap(true);
202  manageTagsTextArea.setRows(2);
203  manageTagsTextArea.setText(org.openide.util.NbBundle.getMessage(GlobalSettingsPanel.class, "GlobalSettingsPanel.manageTagsTextArea.text")); // NOI18N
204  manageTagsTextArea.setToolTipText("");
205  manageTagsTextArea.setWrapStyleWord(true);
206  manageTagsTextArea.setBorder(null);
207  manageTagsScrollPane.setViewportView(manageTagsTextArea);
208 
209  javax.swing.GroupLayout pnTagManagementLayout = new javax.swing.GroupLayout(pnTagManagement);
210  pnTagManagement.setLayout(pnTagManagementLayout);
211  pnTagManagementLayout.setHorizontalGroup(
212  pnTagManagementLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
213  .addGroup(pnTagManagementLayout.createSequentialGroup()
214  .addContainerGap()
215  .addGroup(pnTagManagementLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
216  .addGroup(pnTagManagementLayout.createSequentialGroup()
217  .addComponent(bnManageTags)
218  .addGap(0, 555, Short.MAX_VALUE))
219  .addGroup(pnTagManagementLayout.createSequentialGroup()
220  .addComponent(manageTagsScrollPane)
221  .addContainerGap())))
222  );
223  pnTagManagementLayout.setVerticalGroup(
224  pnTagManagementLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
225  .addGroup(pnTagManagementLayout.createSequentialGroup()
226  .addGap(7, 7, 7)
227  .addComponent(manageTagsScrollPane, javax.swing.GroupLayout.PREFERRED_SIZE, 31, javax.swing.GroupLayout.PREFERRED_SIZE)
228  .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
229  .addComponent(bnManageTags, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE)
230  .addGap(8, 8, 8))
231  );
232 
233  tbOops.setEditable(false);
234  tbOops.setFont(tbOops.getFont().deriveFont(tbOops.getFont().getStyle() | java.awt.Font.BOLD, 12));
235  tbOops.setText(org.openide.util.NbBundle.getMessage(GlobalSettingsPanel.class, "GlobalSettingsPanel.tbOops.text")); // NOI18N
236  tbOops.setBorder(null);
237  tbOops.addActionListener(new java.awt.event.ActionListener() {
238  public void actionPerformed(java.awt.event.ActionEvent evt) {
240  }
241  });
242 
243  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))); // NOI18N
244  pnCorrelationProperties.setPreferredSize(new java.awt.Dimension(674, 93));
245 
246  org.openide.awt.Mnemonics.setLocalizedText(bnManageTypes, org.openide.util.NbBundle.getMessage(GlobalSettingsPanel.class, "GlobalSettingsPanel.bnManageProperties.text")); // NOI18N
247  bnManageTypes.addActionListener(new java.awt.event.ActionListener() {
248  public void actionPerformed(java.awt.event.ActionEvent evt) {
250  }
251  });
252 
253  correlationPropertiesScrollPane.setBorder(null);
254 
255  correlationPropertiesTextArea.setEditable(false);
256  correlationPropertiesTextArea.setBackground(new java.awt.Color(240, 240, 240));
257  correlationPropertiesTextArea.setColumns(20);
258  correlationPropertiesTextArea.setFont(new java.awt.Font("Tahoma", 0, 11)); // NOI18N
259  correlationPropertiesTextArea.setLineWrap(true);
261  correlationPropertiesTextArea.setText(org.openide.util.NbBundle.getMessage(GlobalSettingsPanel.class, "GlobalSettingsPanel.correlationPropertiesTextArea.text")); // NOI18N
262  correlationPropertiesTextArea.setToolTipText("");
263  correlationPropertiesTextArea.setWrapStyleWord(true);
264  correlationPropertiesTextArea.setBorder(null);
266 
267  javax.swing.GroupLayout pnCorrelationPropertiesLayout = new javax.swing.GroupLayout(pnCorrelationProperties);
268  pnCorrelationProperties.setLayout(pnCorrelationPropertiesLayout);
269  pnCorrelationPropertiesLayout.setHorizontalGroup(
270  pnCorrelationPropertiesLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
271  .addGroup(pnCorrelationPropertiesLayout.createSequentialGroup()
272  .addContainerGap()
273  .addGroup(pnCorrelationPropertiesLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
274  .addComponent(correlationPropertiesScrollPane, javax.swing.GroupLayout.DEFAULT_SIZE, 642, Short.MAX_VALUE)
275  .addGroup(pnCorrelationPropertiesLayout.createSequentialGroup()
276  .addComponent(bnManageTypes)
277  .addGap(0, 0, Short.MAX_VALUE)))
278  .addContainerGap())
279  );
280  pnCorrelationPropertiesLayout.setVerticalGroup(
281  pnCorrelationPropertiesLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
282  .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, pnCorrelationPropertiesLayout.createSequentialGroup()
283  .addGap(7, 7, 7)
284  .addComponent(correlationPropertiesScrollPane, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
285  .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
286  .addComponent(bnManageTypes)
287  .addGap(8, 8, 8))
288  );
289 
290  org.openide.awt.Mnemonics.setLocalizedText(lbCentralRepository, org.openide.util.NbBundle.getMessage(GlobalSettingsPanel.class, "GlobalSettingsPanel.lbCentralRepository.text")); // NOI18N
291 
292  javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
293  this.setLayout(layout);
294  layout.setHorizontalGroup(
295  layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
296  .addGroup(layout.createSequentialGroup()
297  .addContainerGap()
298  .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
299  .addComponent(tbOops, javax.swing.GroupLayout.Alignment.TRAILING)
300  .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
301  .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
302  .addComponent(lbCentralRepository, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
303  .addComponent(pnCorrelationProperties, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
304  .addComponent(pnTagManagement, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
305  .addComponent(pnDatabaseConfiguration, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
306  .addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup()
307  .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
308  .addComponent(cbUseCentralRepo, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.PREFERRED_SIZE, 186, javax.swing.GroupLayout.PREFERRED_SIZE)
309  .addComponent(bnImportDatabase, javax.swing.GroupLayout.Alignment.LEADING))
310  .addGap(0, 0, Short.MAX_VALUE)))
311  .addContainerGap())))
312  );
313  layout.setVerticalGroup(
314  layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
315  .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
316  .addComponent(lbCentralRepository)
317  .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
318  .addComponent(cbUseCentralRepo)
319  .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
320  .addComponent(pnDatabaseConfiguration, javax.swing.GroupLayout.PREFERRED_SIZE, 119, javax.swing.GroupLayout.PREFERRED_SIZE)
321  .addGap(0, 0, 0)
322  .addComponent(pnTagManagement, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
323  .addGap(0, 0, 0)
324  .addComponent(pnCorrelationProperties, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
325  .addGap(0, 0, 0)
326  .addComponent(tbOops, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
327  .addGap(0, 0, 0)
328  .addComponent(bnImportDatabase))
329  );
330 
331  pnTagManagement.getAccessibleContext().setAccessibleName("");
332  }// </editor-fold>//GEN-END:initComponents
333 
334  private void bnImportDatabaseActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_bnImportDatabaseActionPerformed
335  store();
336  ImportHashDatabaseDialog dialog = new ImportHashDatabaseDialog();
337  firePropertyChange(OptionsPanelController.PROP_VALID, null, null);
338  }//GEN-LAST:event_bnImportDatabaseActionPerformed
339 
340  private void bnManageTagsActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_bnManageTagsActionPerformed
341  store();
342  ManageTagsDialog dialog = new ManageTagsDialog();
343  firePropertyChange(OptionsPanelController.PROP_VALID, null, null);
344  }//GEN-LAST:event_bnManageTagsActionPerformed
345 
346  private void bnManageTypesActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_bnManageTypesActionPerformed
347  store();
348  ManageCorrelationPropertiesDialog dialog = new ManageCorrelationPropertiesDialog();
349  firePropertyChange(OptionsPanelController.PROP_VALID, null, null);
350  }//GEN-LAST:event_bnManageTypesActionPerformed
351 
352  private void bnDbConfigureActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_bnDbConfigureActionPerformed
353  store();
355  load(); // reload db settings content and update buttons
356  if (dialog.wasConfigurationChanged()) {
357  firePropertyChange(OptionsPanelController.PROP_CHANGED, null, null);
358  }
359  }//GEN-LAST:event_bnDbConfigureActionPerformed
360 
361  private void cbUseCentralRepoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cbUseCentralRepoActionPerformed
362  //if saved setting is disabled checkbox should be disabled already
365  this.ingestStateUpdated();
366  firePropertyChange(OptionsPanelController.PROP_CHANGED, null, null);
367  }//GEN-LAST:event_cbUseCentralRepoActionPerformed
368 
369  private void tbOopsActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_tbOopsActionPerformed
370  // TODO add your handling code here:
371  }//GEN-LAST:event_tbOopsActionPerformed
372 
373  @Override
374  @Messages({"GlobalSettingsPanel.validationerrMsg.mustConfigure=Configure the database to enable this module."})
375  public void load() {
376  tbOops.setText("");
377  enableAllSubComponents(false);
379  cbUseCentralRepo.setSelected(EamDbUtil.useCentralRepo()); // NON-NLS
380  switch (selectedPlatform) {
381  case POSTGRESQL:
382  PostgresEamDbSettings dbSettingsPg = new PostgresEamDbSettings();
383  lbDbPlatformValue.setText(EamDbPlatformEnum.POSTGRESQL.toString());
384  lbDbNameValue.setText(dbSettingsPg.getDbName());
385  lbDbLocationValue.setText(dbSettingsPg.getHost());
387  break;
388  case SQLITE:
389  SqliteEamDbSettings dbSettingsSqlite = new SqliteEamDbSettings();
390  lbDbPlatformValue.setText(EamDbPlatformEnum.SQLITE.toString());
391  lbDbNameValue.setText(dbSettingsSqlite.getDbName());
392  lbDbLocationValue.setText(dbSettingsSqlite.getDbDirectory());
394  break;
395  default:
396  lbDbPlatformValue.setText(EamDbPlatformEnum.DISABLED.toString());
397  lbDbNameValue.setText("");
398  lbDbLocationValue.setText("");
400  tbOops.setText(Bundle.GlobalSettingsPanel_validationerrMsg_mustConfigure());
401  break;
402  }
403 
404  }
405 
406  @Override
407  public void store() { // Click OK or Apply on Options Panel
409  }
410 
416  public boolean valid() {
417  return !cbUseCentralRepo.isSelected() || !lbDbPlatformValue.getText().equals(DISABLED.toString());
418  }
419 
420  @Override
421  public void saveSettings() { // Click OK on Global Settings Panel
422  store();
423  }
424 
425  @Override
426  @SuppressWarnings("FinalizeDeclaration")
427  protected void finalize() throws Throwable {
428  IngestManager.getInstance().removeIngestJobEventListener(ingestJobEventListener);
429  super.finalize();
430  }
431 
436  private class IngestJobEventPropertyChangeListener implements PropertyChangeListener {
437 
444  @Override
445  public void propertyChange(PropertyChangeEvent event) {
446  if (AutopsyEvent.SourceType.LOCAL == ((AutopsyEvent) event).getSourceType()) {
448  }
449  }
450  };
451 
452  @Messages({"GlobalSettingsPanel.validationErrMsg.ingestRunning=You cannot change settings while ingest is running."})
453  private void ingestStateUpdated() {
454  if (!SwingUtilities.isEventDispatchThread()) {
455  SwingUtilities.invokeLater(() -> {
457  });
458 
459  return;
460  }
461 
463  tbOops.setText(Bundle.GlobalSettingsPanel_validationErrMsg_ingestRunning());
464  cbUseCentralRepo.setEnabled(false);
465  } else if (!cbUseCentralRepo.isEnabled()) {
466  cbUseCentralRepo.setEnabled(true);
467  load();
468  }
469  }
470 
479  private boolean enableAllSubComponents(Boolean enable) {
480  enableDatabaseConfigureButton(cbUseCentralRepo.isSelected() && enable);
481  enableButtonSubComponents(cbUseCentralRepo.isSelected() && enable);
482  return true;
483  }
484 
492  private void enableDatabaseConfigureButton(Boolean enable) {
493  boolean ingestRunning = IngestManager.getInstance().isIngestRunning();
494  pnDatabaseConfiguration.setEnabled(enable && !ingestRunning);
495  bnDbConfigure.setEnabled(enable && !ingestRunning);
496  lbDbLocationLabel.setEnabled(enable && !ingestRunning);
497  lbDbLocationValue.setEnabled(enable && !ingestRunning);
498  lbDbNameLabel.setEnabled(enable && !ingestRunning);
499  lbDbNameValue.setEnabled(enable && !ingestRunning);
500  lbDbPlatformTypeLabel.setEnabled(enable && !ingestRunning);
501  lbDbPlatformValue.setEnabled(enable && !ingestRunning);
502  tbOops.setEnabled(enable && !ingestRunning);
503  }
504 
513  private boolean enableButtonSubComponents(Boolean enable) {
514  boolean ingestRunning = IngestManager.getInstance().isIngestRunning();
515  pnCorrelationProperties.setEnabled(enable && !ingestRunning);
516  pnTagManagement.setEnabled(enable && !ingestRunning);
517  bnManageTypes.setEnabled(enable && !ingestRunning);
518  bnImportDatabase.setEnabled(enable && !ingestRunning);
519  bnManageTags.setEnabled(enable && !ingestRunning);
520  manageTagsTextArea.setEnabled(enable && !ingestRunning);
521  correlationPropertiesTextArea.setEnabled(enable && !ingestRunning);
522  return true;
523  }
524 
525  // Variables declaration - do not modify//GEN-BEGIN:variables
526  private javax.swing.JButton bnDbConfigure;
527  private javax.swing.JButton bnImportDatabase;
528  private javax.swing.JButton bnManageTags;
529  private javax.swing.JButton bnManageTypes;
530  private javax.swing.JCheckBox cbUseCentralRepo;
531  private javax.swing.JScrollPane correlationPropertiesScrollPane;
532  private javax.swing.JTextArea correlationPropertiesTextArea;
533  private javax.swing.JLabel lbCentralRepository;
534  private javax.swing.JLabel lbDbLocationLabel;
535  private javax.swing.JLabel lbDbLocationValue;
536  private javax.swing.JLabel lbDbNameLabel;
537  private javax.swing.JLabel lbDbNameValue;
538  private javax.swing.JLabel lbDbPlatformTypeLabel;
539  private javax.swing.JLabel lbDbPlatformValue;
540  private javax.swing.JScrollPane manageTagsScrollPane;
541  private javax.swing.JTextArea manageTagsTextArea;
542  private javax.swing.JPanel pnCorrelationProperties;
543  private javax.swing.JPanel pnDatabaseConfiguration;
544  private javax.swing.JPanel pnTagManagement;
545  private javax.swing.JTextField tbOops;
546  // End of variables declaration//GEN-END:variables
547 }
static synchronized IngestManager getInstance()
void removeIngestJobEventListener(final PropertyChangeListener listener)
void addIngestJobEventListener(final PropertyChangeListener listener)
static void setUseCentralRepo(boolean centralRepoCheckBoxIsSelected)
Definition: EamDbUtil.java:195
synchronized static Logger getLogger(String name)
Definition: Logger.java:161

Copyright © 2012-2016 Basis Technology. Generated on: Fri Sep 29 2017
This work is licensed under a Creative Commons Attribution-Share Alike 3.0 United States License.