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 javax.swing.JOptionPane;
27 import javax.swing.SwingUtilities;
28 import org.netbeans.spi.options.OptionsPanelController;
29 import org.openide.util.NbBundle;
30 import org.openide.util.NbBundle.Messages;
44 @SuppressWarnings(
"PMD.SingularField")
47 private static final long serialVersionUID = 1L;
59 customizeComponents();
60 addIngestJobEventsListener();
64 setName(NbBundle.getMessage(
GlobalSettingsPanel.class,
"GlobalSettingsPanel.pnCorrelationProperties.border.title"));
72 @Messages({
"GlobalSettingsPanel.updateFailed.title=Update failed",
73 "GlobalSettingsPanel.updateFailed.message=Failed to update database. Central repository has been disabled."
80 setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
84 setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
86 JOptionPane.showMessageDialog(
this,
87 NbBundle.getMessage(
this.getClass(),
88 "GlobalSettingsPanel.updateFailed.message"),
89 NbBundle.getMessage(
this.getClass(),
90 "GlobalSettingsPanel.updateFailed.title"),
91 JOptionPane.WARNING_MESSAGE);
94 setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
103 @SuppressWarnings(
"unchecked")
105 private
void initComponents() {
107 jScrollPane1 =
new javax.swing.JScrollPane();
108 jPanel1 =
new javax.swing.JPanel();
109 lbCentralRepository =
new javax.swing.JLabel();
110 cbUseCentralRepo =
new javax.swing.JCheckBox();
111 pnDatabaseConfiguration =
new javax.swing.JPanel();
112 lbDbPlatformTypeLabel =
new javax.swing.JLabel();
113 lbDbNameLabel =
new javax.swing.JLabel();
114 lbDbLocationLabel =
new javax.swing.JLabel();
115 bnDbConfigure =
new javax.swing.JButton();
116 lbDbPlatformValue =
new javax.swing.JLabel();
117 lbDbNameValue =
new javax.swing.JLabel();
118 lbDbLocationValue =
new javax.swing.JLabel();
119 pnCorrelationProperties =
new javax.swing.JPanel();
120 bnManageTypes =
new javax.swing.JButton();
121 correlationPropertiesScrollPane =
new javax.swing.JScrollPane();
122 correlationPropertiesTextArea =
new javax.swing.JTextArea();
123 organizationPanel =
new javax.swing.JPanel();
124 manageOrganizationButton =
new javax.swing.JButton();
125 organizationScrollPane =
new javax.swing.JScrollPane();
126 organizationTextArea =
new javax.swing.JTextArea();
127 casesPanel =
new javax.swing.JPanel();
128 showCasesButton =
new javax.swing.JButton();
129 casesScrollPane =
new javax.swing.JScrollPane();
130 casesTextArea =
new javax.swing.JTextArea();
131 tbOops =
new javax.swing.JTextField();
132 ingestRunningWarningLabel =
new javax.swing.JLabel();
135 setPreferredSize(
new java.awt.Dimension(1022, 488));
137 jScrollPane1.setBorder(null);
138 jScrollPane1.setPreferredSize(
new java.awt.Dimension(1022, 407));
140 jPanel1.setMinimumSize(
new java.awt.Dimension(0, 0));
141 jPanel1.setPreferredSize(
new java.awt.Dimension(1020, 407));
143 org.openide.awt.Mnemonics.setLocalizedText(lbCentralRepository,
org.openide.util.NbBundle.getMessage(
GlobalSettingsPanel.class,
"GlobalSettingsPanel.lbCentralRepository.text"));
145 org.openide.awt.Mnemonics.setLocalizedText(cbUseCentralRepo,
org.openide.util.NbBundle.getMessage(
GlobalSettingsPanel.class,
"GlobalSettingsPanel.cbUseCentralRepo.text"));
146 cbUseCentralRepo.addActionListener(
new java.awt.event.ActionListener() {
147 public void actionPerformed(java.awt.event.ActionEvent evt) {
148 cbUseCentralRepoActionPerformed(evt);
152 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)));
154 org.openide.awt.Mnemonics.setLocalizedText(lbDbPlatformTypeLabel,
org.openide.util.NbBundle.getMessage(
GlobalSettingsPanel.class,
"GlobalSettingsPanel.lbDbPlatformTypeLabel.text"));
156 org.openide.awt.Mnemonics.setLocalizedText(lbDbNameLabel,
org.openide.util.NbBundle.getMessage(
GlobalSettingsPanel.class,
"GlobalSettingsPanel.lbDbNameLabel.text"));
158 org.openide.awt.Mnemonics.setLocalizedText(lbDbLocationLabel,
org.openide.util.NbBundle.getMessage(
GlobalSettingsPanel.class,
"GlobalSettingsPanel.lbDbLocationLabel.text"));
160 org.openide.awt.Mnemonics.setLocalizedText(bnDbConfigure,
org.openide.util.NbBundle.getMessage(
GlobalSettingsPanel.class,
"GlobalSettingsPanel.bnDbConfigure.text"));
161 bnDbConfigure.addActionListener(
new java.awt.event.ActionListener() {
162 public void actionPerformed(java.awt.event.ActionEvent evt) {
163 bnDbConfigureActionPerformed(evt);
167 javax.swing.GroupLayout pnDatabaseConfigurationLayout =
new javax.swing.GroupLayout(pnDatabaseConfiguration);
168 pnDatabaseConfiguration.setLayout(pnDatabaseConfigurationLayout);
169 pnDatabaseConfigurationLayout.setHorizontalGroup(
170 pnDatabaseConfigurationLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
171 .addGroup(pnDatabaseConfigurationLayout.createSequentialGroup()
173 .addGroup(pnDatabaseConfigurationLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
174 .addGroup(pnDatabaseConfigurationLayout.createSequentialGroup()
175 .addComponent(bnDbConfigure)
177 .addGroup(pnDatabaseConfigurationLayout.createSequentialGroup()
178 .addGroup(pnDatabaseConfigurationLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING,
false)
179 .addComponent(lbDbPlatformTypeLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
180 .addComponent(lbDbNameLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
181 .addComponent(lbDbLocationLabel))
182 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
183 .addGroup(pnDatabaseConfigurationLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
184 .addComponent(lbDbNameValue, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
185 .addComponent(lbDbPlatformValue, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
186 .addComponent(lbDbLocationValue, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))))
188 pnDatabaseConfigurationLayout.setVerticalGroup(
189 pnDatabaseConfigurationLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
190 .addGroup(pnDatabaseConfigurationLayout.createSequentialGroup()
192 .addGroup(pnDatabaseConfigurationLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING,
false)
193 .addComponent(lbDbPlatformTypeLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
194 .addComponent(lbDbPlatformValue, javax.swing.GroupLayout.PREFERRED_SIZE, 14, javax.swing.GroupLayout.PREFERRED_SIZE))
195 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
196 .addGroup(pnDatabaseConfigurationLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING,
false)
197 .addComponent(lbDbNameLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
198 .addComponent(lbDbNameValue, 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(lbDbLocationLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
202 .addComponent(lbDbLocationValue, javax.swing.GroupLayout.PREFERRED_SIZE, 14, javax.swing.GroupLayout.PREFERRED_SIZE))
203 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
204 .addComponent(bnDbConfigure)
208 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)));
209 pnCorrelationProperties.setPreferredSize(
new java.awt.Dimension(674, 93));
211 org.openide.awt.Mnemonics.setLocalizedText(bnManageTypes,
org.openide.util.NbBundle.getMessage(
GlobalSettingsPanel.class,
"GlobalSettingsPanel.bnManageProperties.text"));
212 bnManageTypes.addActionListener(
new java.awt.event.ActionListener() {
213 public void actionPerformed(java.awt.event.ActionEvent evt) {
214 bnManageTypesActionPerformed(evt);
218 correlationPropertiesScrollPane.setBorder(null);
220 correlationPropertiesTextArea.setEditable(
false);
221 correlationPropertiesTextArea.setBackground(
new java.awt.Color(240, 240, 240));
222 correlationPropertiesTextArea.setColumns(20);
223 correlationPropertiesTextArea.setFont(
new java.awt.Font(
"Tahoma", 0, 11));
224 correlationPropertiesTextArea.setLineWrap(
true);
225 correlationPropertiesTextArea.setRows(2);
226 correlationPropertiesTextArea.setText(
org.openide.util.NbBundle.getMessage(
GlobalSettingsPanel.class,
"GlobalSettingsPanel.correlationPropertiesTextArea.text"));
227 correlationPropertiesTextArea.setToolTipText(
"");
228 correlationPropertiesTextArea.setWrapStyleWord(
true);
229 correlationPropertiesTextArea.setBorder(null);
230 correlationPropertiesScrollPane.setViewportView(correlationPropertiesTextArea);
232 javax.swing.GroupLayout pnCorrelationPropertiesLayout =
new javax.swing.GroupLayout(pnCorrelationProperties);
233 pnCorrelationProperties.setLayout(pnCorrelationPropertiesLayout);
234 pnCorrelationPropertiesLayout.setHorizontalGroup(
235 pnCorrelationPropertiesLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
236 .addGroup(pnCorrelationPropertiesLayout.createSequentialGroup()
238 .addGroup(pnCorrelationPropertiesLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
239 .addComponent(correlationPropertiesScrollPane)
240 .addGroup(pnCorrelationPropertiesLayout.createSequentialGroup()
241 .addComponent(bnManageTypes)
242 .addGap(0, 0, Short.MAX_VALUE)))
245 pnCorrelationPropertiesLayout.setVerticalGroup(
246 pnCorrelationPropertiesLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
247 .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, pnCorrelationPropertiesLayout.createSequentialGroup()
249 .addComponent(correlationPropertiesScrollPane, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
250 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
251 .addComponent(bnManageTypes)
255 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)));
257 org.openide.awt.Mnemonics.setLocalizedText(manageOrganizationButton,
org.openide.util.NbBundle.getMessage(
GlobalSettingsPanel.class,
"GlobalSettingsPanel.manageOrganizationButton.text"));
258 manageOrganizationButton.addActionListener(
new java.awt.event.ActionListener() {
259 public void actionPerformed(java.awt.event.ActionEvent evt) {
260 manageOrganizationButtonActionPerformed(evt);
264 organizationScrollPane.setBorder(null);
266 organizationTextArea.setEditable(
false);
267 organizationTextArea.setBackground(
new java.awt.Color(240, 240, 240));
268 organizationTextArea.setColumns(20);
269 organizationTextArea.setFont(
new java.awt.Font(
"Tahoma", 0, 11));
270 organizationTextArea.setLineWrap(
true);
271 organizationTextArea.setRows(2);
272 organizationTextArea.setText(
org.openide.util.NbBundle.getMessage(
GlobalSettingsPanel.class,
"GlobalSettingsPanel.organizationTextArea.text"));
273 organizationTextArea.setWrapStyleWord(
true);
274 organizationTextArea.setBorder(null);
275 organizationScrollPane.setViewportView(organizationTextArea);
277 javax.swing.GroupLayout organizationPanelLayout =
new javax.swing.GroupLayout(organizationPanel);
278 organizationPanel.setLayout(organizationPanelLayout);
279 organizationPanelLayout.setHorizontalGroup(
280 organizationPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
281 .addGroup(organizationPanelLayout.createSequentialGroup()
283 .addGroup(organizationPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
284 .addComponent(organizationScrollPane, javax.swing.GroupLayout.DEFAULT_SIZE, 992, Short.MAX_VALUE)
285 .addGroup(organizationPanelLayout.createSequentialGroup()
286 .addComponent(manageOrganizationButton)
287 .addGap(0, 0, Short.MAX_VALUE)))
290 organizationPanelLayout.setVerticalGroup(
291 organizationPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
292 .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, organizationPanelLayout.createSequentialGroup()
294 .addComponent(organizationScrollPane, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
295 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
296 .addComponent(manageOrganizationButton)
300 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)));
301 casesPanel.setName(
"Case Details");
303 org.openide.awt.Mnemonics.setLocalizedText(showCasesButton,
org.openide.util.NbBundle.getMessage(
GlobalSettingsPanel.class,
"GlobalSettingsPanel.showCasesButton.text"));
304 showCasesButton.addActionListener(
new java.awt.event.ActionListener() {
305 public void actionPerformed(java.awt.event.ActionEvent evt) {
306 showCasesButtonActionPerformed(evt);
310 casesScrollPane.setBorder(null);
312 casesTextArea.setEditable(
false);
313 casesTextArea.setBackground(
new java.awt.Color(240, 240, 240));
314 casesTextArea.setColumns(20);
315 casesTextArea.setFont(
new java.awt.Font(
"Tahoma", 0, 11));
316 casesTextArea.setLineWrap(
true);
317 casesTextArea.setRows(2);
318 casesTextArea.setText(
org.openide.util.NbBundle.getMessage(
GlobalSettingsPanel.class,
"GlobalSettingsPanel.casesTextArea.text"));
319 casesTextArea.setWrapStyleWord(
true);
320 casesTextArea.setBorder(null);
321 casesScrollPane.setViewportView(casesTextArea);
323 javax.swing.GroupLayout casesPanelLayout =
new javax.swing.GroupLayout(casesPanel);
324 casesPanel.setLayout(casesPanelLayout);
325 casesPanelLayout.setHorizontalGroup(
326 casesPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
327 .addGroup(casesPanelLayout.createSequentialGroup()
329 .addGroup(casesPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
330 .addComponent(casesScrollPane)
331 .addGroup(casesPanelLayout.createSequentialGroup()
332 .addComponent(showCasesButton)
333 .addGap(0, 0, Short.MAX_VALUE)))
336 casesPanelLayout.setVerticalGroup(
337 casesPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
338 .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, casesPanelLayout.createSequentialGroup()
340 .addComponent(casesScrollPane, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
341 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
342 .addComponent(showCasesButton)
346 tbOops.setEditable(
false);
347 tbOops.setFont(tbOops.getFont().deriveFont(tbOops.getFont().getStyle() | java.awt.Font.BOLD, 12));
348 tbOops.setText(
org.openide.util.NbBundle.getMessage(
GlobalSettingsPanel.class,
"GlobalSettingsPanel.tbOops.text"));
349 tbOops.setBorder(null);
351 ingestRunningWarningLabel.setFont(ingestRunningWarningLabel.getFont().deriveFont(ingestRunningWarningLabel.getFont().getStyle() & ~java.awt.Font.BOLD, 11));
352 ingestRunningWarningLabel.setIcon(
new javax.swing.ImageIcon(getClass().getResource(
"/org/sleuthkit/autopsy/modules/filetypeid/warning16.png")));
353 org.openide.awt.Mnemonics.setLocalizedText(ingestRunningWarningLabel,
org.openide.util.NbBundle.getMessage(
GlobalSettingsPanel.class,
"GlobalSettingsPanel.ingestRunningWarningLabel.text"));
355 javax.swing.GroupLayout jPanel1Layout =
new javax.swing.GroupLayout(jPanel1);
356 jPanel1.setLayout(jPanel1Layout);
357 jPanel1Layout.setHorizontalGroup(
358 jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
359 .addComponent(lbCentralRepository, javax.swing.GroupLayout.DEFAULT_SIZE, 1022, Short.MAX_VALUE)
360 .addGroup(jPanel1Layout.createSequentialGroup()
361 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
362 .addComponent(pnDatabaseConfiguration, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
363 .addComponent(pnCorrelationProperties, javax.swing.GroupLayout.DEFAULT_SIZE, 1012, Short.MAX_VALUE)
364 .addComponent(organizationPanel, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
365 .addComponent(casesPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
366 .addGroup(jPanel1Layout.createSequentialGroup()
367 .addComponent(cbUseCentralRepo, javax.swing.GroupLayout.PREFERRED_SIZE, 162, javax.swing.GroupLayout.PREFERRED_SIZE)
368 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
369 .addComponent(ingestRunningWarningLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
370 .addGroup(jPanel1Layout.createSequentialGroup()
372 .addComponent(tbOops, javax.swing.GroupLayout.PREFERRED_SIZE, 974, javax.swing.GroupLayout.PREFERRED_SIZE)))
375 jPanel1Layout.setVerticalGroup(
376 jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
377 .addGroup(jPanel1Layout.createSequentialGroup()
378 .addComponent(lbCentralRepository)
379 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
380 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
381 .addComponent(cbUseCentralRepo)
382 .addComponent(ingestRunningWarningLabel))
383 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
384 .addComponent(pnDatabaseConfiguration, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
385 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
386 .addComponent(pnCorrelationProperties, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
387 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
388 .addComponent(organizationPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
389 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
390 .addComponent(casesPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
391 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
392 .addComponent(tbOops, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
396 casesPanel.getAccessibleContext().setAccessibleName(
org.openide.util.NbBundle.getMessage(
GlobalSettingsPanel.class,
"GlobalSettingsPanel.Case Details.AccessibleContext.accessibleName"));
398 jScrollPane1.setViewportView(jPanel1);
400 javax.swing.GroupLayout layout =
new javax.swing.GroupLayout(
this);
401 this.setLayout(layout);
402 layout.setHorizontalGroup(
403 layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
404 .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
406 layout.setVerticalGroup(
407 layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
408 .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 512, Short.MAX_VALUE)
414 ManageCorrelationPropertiesDialog manageCorrelationDialog =
new ManageCorrelationPropertiesDialog();
415 firePropertyChange(OptionsPanelController.PROP_VALID, null, null);
423 if (dialog.wasConfigurationChanged()) {
424 firePropertyChange(OptionsPanelController.PROP_CHANGED, null, null);
433 this.ingestStateUpdated();
434 firePropertyChange(OptionsPanelController.PROP_CHANGED, null, null);
444 ShowCasesDialog showCasesDialog =
new ShowCasesDialog();
448 @Messages({
"GlobalSettingsPanel.validationerrMsg.mustConfigure=Configure the database to enable this module."})
451 enableAllSubComponents(
false);
454 switch (selectedPlatform) {
458 lbDbNameValue.setText(dbSettingsPg.
getDbName());
459 lbDbLocationValue.setText(dbSettingsPg.
getHost());
460 enableAllSubComponents(
true);
465 lbDbNameValue.setText(dbSettingsSqlite.
getDbName());
467 enableAllSubComponents(
true);
471 lbDbNameValue.setText(
"");
472 lbDbLocationValue.setText(
"");
473 enableDatabaseConfigureButton(cbUseCentralRepo.isSelected());
474 tbOops.setText(Bundle.GlobalSettingsPanel_validationerrMsg_mustConfigure());
491 return !cbUseCentralRepo.isSelected() || !lbDbPlatformValue.getText().equals(DISABLED.toString());
500 @SuppressWarnings(
"FinalizeDeclaration")
501 protected
void finalize() throws Throwable {
521 if (isLocalIngestJobEvent(event)) {
522 EventQueue.invokeLater(
new Runnable() {
525 ingestStateUpdated();
543 if (((AutopsyEvent) event).getSourceType() == AutopsyEvent.SourceType.LOCAL) {
544 String eventType =
event.getPropertyName();
553 @Messages({
"GlobalSettingsPanel.validationErrMsg.ingestRunning=You cannot change settings while ingest is running."})
555 if (!SwingUtilities.isEventDispatchThread()) {
556 SwingUtilities.invokeLater(() -> {
557 ingestStateUpdated();
564 tbOops.setText(Bundle.GlobalSettingsPanel_validationErrMsg_ingestRunning());
565 tbOops.setVisible(
true);
566 cbUseCentralRepo.setEnabled(
false);
567 enableAllSubComponents(
false);
568 }
else if (!cbUseCentralRepo.isEnabled()) {
569 cbUseCentralRepo.setEnabled(
true);
583 enableDatabaseConfigureButton(cbUseCentralRepo.isSelected() && enable);
584 enableButtonSubComponents(cbUseCentralRepo.isSelected() && enable);
597 ingestRunningWarningLabel.setVisible(ingestRunning);
598 pnDatabaseConfiguration.setEnabled(enable && !ingestRunning);
599 bnDbConfigure.setEnabled(enable && !ingestRunning);
600 lbDbLocationLabel.setEnabled(enable && !ingestRunning);
601 lbDbLocationValue.setEnabled(enable && !ingestRunning);
602 lbDbNameLabel.setEnabled(enable && !ingestRunning);
603 lbDbNameValue.setEnabled(enable && !ingestRunning);
604 lbDbPlatformTypeLabel.setEnabled(enable && !ingestRunning);
605 lbDbPlatformValue.setEnabled(enable && !ingestRunning);
606 tbOops.setEnabled(enable && !ingestRunning);
619 pnCorrelationProperties.setEnabled(enable && !ingestRunning);
620 bnManageTypes.setEnabled(enable && !ingestRunning);
621 correlationPropertiesTextArea.setEnabled(enable && !ingestRunning);
622 organizationPanel.setEnabled(enable && !ingestRunning);
623 organizationTextArea.setEnabled(enable && !ingestRunning);
624 manageOrganizationButton.setEnabled(enable && !ingestRunning);
625 showCasesButton.setEnabled(enable && !ingestRunning);
626 casesPanel.setEnabled(enable && !ingestRunning);
627 casesTextArea.setEnabled(enable && !ingestRunning);
final IngestJobEventPropertyChangeListener ingestJobEventListener
javax.swing.JLabel lbDbLocationValue
javax.swing.JButton bnManageTypes
static synchronized IngestManager getInstance()
void showCasesButtonActionPerformed(java.awt.event.ActionEvent evt)
javax.swing.JScrollPane organizationScrollPane
void bnManageTypesActionPerformed(java.awt.event.ActionEvent evt)
static boolean useCentralRepo()
javax.swing.JLabel ingestRunningWarningLabel
static boolean upgradeDatabase()
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
void ingestStateUpdated()
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
boolean enableAllSubComponents(Boolean enable)
javax.swing.JPanel casesPanel
void propertyChange(PropertyChangeEvent event)
synchronized static Logger getLogger(String name)
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
javax.swing.JScrollPane casesScrollPane
javax.swing.JPanel pnCorrelationProperties