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