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;
46 @SuppressWarnings(
"PMD.SingularField")
49 private static final long serialVersionUID = 1L;
61 customizeComponents();
62 addIngestJobEventsListener();
65 ingestStateUpdated(evt.getNewValue() != null);
70 setName(NbBundle.getMessage(
GlobalSettingsPanel.class,
"GlobalSettingsPanel.pnCorrelationProperties.border.title"));
78 @Messages({
"GlobalSettingsPanel.updateFailed.title=Update failed",
79 "GlobalSettingsPanel.updateFailed.message=Failed to update database. Central repository has been disabled."
86 setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
90 setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
92 JOptionPane.showMessageDialog(
this,
93 NbBundle.getMessage(
this.getClass(),
94 "GlobalSettingsPanel.updateFailed.message"),
95 NbBundle.getMessage(
this.getClass(),
96 "GlobalSettingsPanel.updateFailed.title"),
97 JOptionPane.WARNING_MESSAGE);
100 setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
109 @SuppressWarnings(
"unchecked")
111 private
void initComponents() {
113 jScrollPane1 =
new javax.swing.JScrollPane();
114 jPanel1 =
new javax.swing.JPanel();
115 lbCentralRepository =
new javax.swing.JLabel();
116 cbUseCentralRepo =
new javax.swing.JCheckBox();
117 pnDatabaseConfiguration =
new javax.swing.JPanel();
118 lbDbPlatformTypeLabel =
new javax.swing.JLabel();
119 lbDbNameLabel =
new javax.swing.JLabel();
120 lbDbLocationLabel =
new javax.swing.JLabel();
121 bnDbConfigure =
new javax.swing.JButton();
122 lbDbPlatformValue =
new javax.swing.JLabel();
123 lbDbNameValue =
new javax.swing.JLabel();
124 lbDbLocationValue =
new javax.swing.JLabel();
125 pnCorrelationProperties =
new javax.swing.JPanel();
126 bnManageTypes =
new javax.swing.JButton();
127 correlationPropertiesScrollPane =
new javax.swing.JScrollPane();
128 correlationPropertiesTextArea =
new javax.swing.JTextArea();
129 organizationPanel =
new javax.swing.JPanel();
130 manageOrganizationButton =
new javax.swing.JButton();
131 organizationScrollPane =
new javax.swing.JScrollPane();
132 organizationTextArea =
new javax.swing.JTextArea();
133 casesPanel =
new javax.swing.JPanel();
134 showCasesButton =
new javax.swing.JButton();
135 casesScrollPane =
new javax.swing.JScrollPane();
136 casesTextArea =
new javax.swing.JTextArea();
137 tbOops =
new javax.swing.JTextField();
138 ingestRunningWarningLabel =
new javax.swing.JLabel();
141 setPreferredSize(
new java.awt.Dimension(1022, 488));
143 jScrollPane1.setBorder(null);
144 jScrollPane1.setPreferredSize(
new java.awt.Dimension(1022, 407));
146 jPanel1.setMinimumSize(
new java.awt.Dimension(0, 0));
147 jPanel1.setPreferredSize(
new java.awt.Dimension(1020, 407));
149 org.openide.awt.Mnemonics.setLocalizedText(lbCentralRepository,
org.openide.util.NbBundle.getMessage(
GlobalSettingsPanel.class,
"GlobalSettingsPanel.lbCentralRepository.text"));
151 org.openide.awt.Mnemonics.setLocalizedText(cbUseCentralRepo,
org.openide.util.NbBundle.getMessage(
GlobalSettingsPanel.class,
"GlobalSettingsPanel.cbUseCentralRepo.text"));
152 cbUseCentralRepo.addActionListener(
new java.awt.event.ActionListener() {
153 public void actionPerformed(java.awt.event.ActionEvent evt) {
154 cbUseCentralRepoActionPerformed(evt);
158 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)));
160 org.openide.awt.Mnemonics.setLocalizedText(lbDbPlatformTypeLabel,
org.openide.util.NbBundle.getMessage(
GlobalSettingsPanel.class,
"GlobalSettingsPanel.lbDbPlatformTypeLabel.text"));
162 org.openide.awt.Mnemonics.setLocalizedText(lbDbNameLabel,
org.openide.util.NbBundle.getMessage(
GlobalSettingsPanel.class,
"GlobalSettingsPanel.lbDbNameLabel.text"));
164 org.openide.awt.Mnemonics.setLocalizedText(lbDbLocationLabel,
org.openide.util.NbBundle.getMessage(
GlobalSettingsPanel.class,
"GlobalSettingsPanel.lbDbLocationLabel.text"));
166 org.openide.awt.Mnemonics.setLocalizedText(bnDbConfigure,
org.openide.util.NbBundle.getMessage(
GlobalSettingsPanel.class,
"GlobalSettingsPanel.bnDbConfigure.text"));
167 bnDbConfigure.addActionListener(
new java.awt.event.ActionListener() {
168 public void actionPerformed(java.awt.event.ActionEvent evt) {
169 bnDbConfigureActionPerformed(evt);
173 javax.swing.GroupLayout pnDatabaseConfigurationLayout =
new javax.swing.GroupLayout(pnDatabaseConfiguration);
174 pnDatabaseConfiguration.setLayout(pnDatabaseConfigurationLayout);
175 pnDatabaseConfigurationLayout.setHorizontalGroup(
176 pnDatabaseConfigurationLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
177 .addGroup(pnDatabaseConfigurationLayout.createSequentialGroup()
179 .addGroup(pnDatabaseConfigurationLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
180 .addGroup(pnDatabaseConfigurationLayout.createSequentialGroup()
181 .addComponent(bnDbConfigure)
182 .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
183 .addGroup(pnDatabaseConfigurationLayout.createSequentialGroup()
184 .addGroup(pnDatabaseConfigurationLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING,
false)
185 .addComponent(lbDbPlatformTypeLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
186 .addComponent(lbDbNameLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
187 .addComponent(lbDbLocationLabel))
188 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
189 .addGroup(pnDatabaseConfigurationLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
190 .addComponent(lbDbNameValue, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 936, Short.MAX_VALUE)
191 .addComponent(lbDbPlatformValue, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
192 .addComponent(lbDbLocationValue, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))))
194 pnDatabaseConfigurationLayout.setVerticalGroup(
195 pnDatabaseConfigurationLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
196 .addGroup(pnDatabaseConfigurationLayout.createSequentialGroup()
198 .addGroup(pnDatabaseConfigurationLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING,
false)
199 .addComponent(lbDbPlatformTypeLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
200 .addComponent(lbDbPlatformValue, javax.swing.GroupLayout.PREFERRED_SIZE, 14, javax.swing.GroupLayout.PREFERRED_SIZE))
201 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
202 .addGroup(pnDatabaseConfigurationLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING,
false)
203 .addComponent(lbDbNameLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
204 .addComponent(lbDbNameValue, javax.swing.GroupLayout.PREFERRED_SIZE, 14, javax.swing.GroupLayout.PREFERRED_SIZE))
205 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
206 .addGroup(pnDatabaseConfigurationLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING,
false)
207 .addComponent(lbDbLocationLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
208 .addComponent(lbDbLocationValue, javax.swing.GroupLayout.PREFERRED_SIZE, 14, javax.swing.GroupLayout.PREFERRED_SIZE))
209 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
210 .addComponent(bnDbConfigure)
214 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)));
215 pnCorrelationProperties.setPreferredSize(
new java.awt.Dimension(674, 93));
217 org.openide.awt.Mnemonics.setLocalizedText(bnManageTypes,
org.openide.util.NbBundle.getMessage(
GlobalSettingsPanel.class,
"GlobalSettingsPanel.bnManageProperties.text"));
218 bnManageTypes.addActionListener(
new java.awt.event.ActionListener() {
219 public void actionPerformed(java.awt.event.ActionEvent evt) {
220 bnManageTypesActionPerformed(evt);
224 correlationPropertiesScrollPane.setBorder(null);
226 correlationPropertiesTextArea.setEditable(
false);
227 correlationPropertiesTextArea.setBackground(
new java.awt.Color(240, 240, 240));
228 correlationPropertiesTextArea.setColumns(20);
229 correlationPropertiesTextArea.setFont(
new java.awt.Font(
"Tahoma", 0, 11));
230 correlationPropertiesTextArea.setLineWrap(
true);
231 correlationPropertiesTextArea.setRows(1);
232 correlationPropertiesTextArea.setText(
org.openide.util.NbBundle.getMessage(
GlobalSettingsPanel.class,
"GlobalSettingsPanel.correlationPropertiesTextArea.text"));
233 correlationPropertiesTextArea.setToolTipText(
"");
234 correlationPropertiesTextArea.setWrapStyleWord(
true);
235 correlationPropertiesTextArea.setBorder(null);
236 correlationPropertiesTextArea.setOpaque(
false);
237 correlationPropertiesScrollPane.setViewportView(correlationPropertiesTextArea);
239 javax.swing.GroupLayout pnCorrelationPropertiesLayout =
new javax.swing.GroupLayout(pnCorrelationProperties);
240 pnCorrelationProperties.setLayout(pnCorrelationPropertiesLayout);
241 pnCorrelationPropertiesLayout.setHorizontalGroup(
242 pnCorrelationPropertiesLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
243 .addGroup(pnCorrelationPropertiesLayout.createSequentialGroup()
245 .addGroup(pnCorrelationPropertiesLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
246 .addGroup(pnCorrelationPropertiesLayout.createSequentialGroup()
247 .addComponent(bnManageTypes)
248 .addGap(0, 0, Short.MAX_VALUE))
249 .addComponent(correlationPropertiesScrollPane))
252 pnCorrelationPropertiesLayout.setVerticalGroup(
253 pnCorrelationPropertiesLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
254 .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, pnCorrelationPropertiesLayout.createSequentialGroup()
255 .addComponent(correlationPropertiesScrollPane, javax.swing.GroupLayout.DEFAULT_SIZE, 32, Short.MAX_VALUE)
256 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
257 .addComponent(bnManageTypes)
261 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)));
263 org.openide.awt.Mnemonics.setLocalizedText(manageOrganizationButton,
org.openide.util.NbBundle.getMessage(
GlobalSettingsPanel.class,
"GlobalSettingsPanel.manageOrganizationButton.text"));
264 manageOrganizationButton.addActionListener(
new java.awt.event.ActionListener() {
265 public void actionPerformed(java.awt.event.ActionEvent evt) {
266 manageOrganizationButtonActionPerformed(evt);
270 organizationScrollPane.setBorder(null);
272 organizationTextArea.setEditable(
false);
273 organizationTextArea.setBackground(
new java.awt.Color(240, 240, 240));
274 organizationTextArea.setColumns(20);
275 organizationTextArea.setFont(
new java.awt.Font(
"Tahoma", 0, 11));
276 organizationTextArea.setLineWrap(
true);
277 organizationTextArea.setRows(2);
278 organizationTextArea.setText(
org.openide.util.NbBundle.getMessage(
GlobalSettingsPanel.class,
"GlobalSettingsPanel.organizationTextArea.text"));
279 organizationTextArea.setWrapStyleWord(
true);
280 organizationTextArea.setBorder(null);
281 organizationTextArea.setOpaque(
false);
282 organizationScrollPane.setViewportView(organizationTextArea);
284 javax.swing.GroupLayout organizationPanelLayout =
new javax.swing.GroupLayout(organizationPanel);
285 organizationPanel.setLayout(organizationPanelLayout);
286 organizationPanelLayout.setHorizontalGroup(
287 organizationPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
288 .addGroup(organizationPanelLayout.createSequentialGroup()
290 .addGroup(organizationPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
291 .addComponent(organizationScrollPane)
292 .addGroup(organizationPanelLayout.createSequentialGroup()
293 .addComponent(manageOrganizationButton)
294 .addGap(0, 0, Short.MAX_VALUE)))
297 organizationPanelLayout.setVerticalGroup(
298 organizationPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
299 .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, organizationPanelLayout.createSequentialGroup()
301 .addComponent(organizationScrollPane, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
302 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
303 .addComponent(manageOrganizationButton)
307 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)));
308 casesPanel.setName(
"Case Details");
310 org.openide.awt.Mnemonics.setLocalizedText(showCasesButton,
org.openide.util.NbBundle.getMessage(
GlobalSettingsPanel.class,
"GlobalSettingsPanel.showCasesButton.text"));
311 showCasesButton.addActionListener(
new java.awt.event.ActionListener() {
312 public void actionPerformed(java.awt.event.ActionEvent evt) {
313 showCasesButtonActionPerformed(evt);
317 casesScrollPane.setBorder(null);
319 casesTextArea.setEditable(
false);
320 casesTextArea.setBackground(
new java.awt.Color(240, 240, 240));
321 casesTextArea.setColumns(20);
322 casesTextArea.setFont(
new java.awt.Font(
"Tahoma", 0, 11));
323 casesTextArea.setLineWrap(
true);
324 casesTextArea.setRows(2);
325 casesTextArea.setText(
org.openide.util.NbBundle.getMessage(
GlobalSettingsPanel.class,
"GlobalSettingsPanel.casesTextArea.text"));
326 casesTextArea.setWrapStyleWord(
true);
327 casesTextArea.setBorder(null);
328 casesTextArea.setOpaque(
false);
329 casesScrollPane.setViewportView(casesTextArea);
331 javax.swing.GroupLayout casesPanelLayout =
new javax.swing.GroupLayout(casesPanel);
332 casesPanel.setLayout(casesPanelLayout);
333 casesPanelLayout.setHorizontalGroup(
334 casesPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
335 .addGroup(casesPanelLayout.createSequentialGroup()
337 .addGroup(casesPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
338 .addComponent(casesScrollPane)
339 .addGroup(casesPanelLayout.createSequentialGroup()
340 .addComponent(showCasesButton)
341 .addGap(0, 0, Short.MAX_VALUE)))
344 casesPanelLayout.setVerticalGroup(
345 casesPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
346 .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, casesPanelLayout.createSequentialGroup()
348 .addComponent(casesScrollPane, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
349 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
350 .addComponent(showCasesButton)
354 tbOops.setEditable(
false);
355 tbOops.setFont(tbOops.getFont().deriveFont(tbOops.getFont().getStyle() | java.awt.Font.BOLD, 12));
356 tbOops.setText(
org.openide.util.NbBundle.getMessage(
GlobalSettingsPanel.class,
"GlobalSettingsPanel.tbOops.text"));
357 tbOops.setBorder(null);
359 ingestRunningWarningLabel.setFont(ingestRunningWarningLabel.getFont().deriveFont(ingestRunningWarningLabel.getFont().getStyle() & ~java.awt.Font.BOLD, 11));
360 ingestRunningWarningLabel.setIcon(
new javax.swing.ImageIcon(getClass().getResource(
"/org/sleuthkit/autopsy/modules/filetypeid/warning16.png")));
361 org.openide.awt.Mnemonics.setLocalizedText(ingestRunningWarningLabel,
org.openide.util.NbBundle.getMessage(
GlobalSettingsPanel.class,
"GlobalSettingsPanel.ingestRunningWarningLabel.text"));
363 javax.swing.GroupLayout jPanel1Layout =
new javax.swing.GroupLayout(jPanel1);
364 jPanel1.setLayout(jPanel1Layout);
365 jPanel1Layout.setHorizontalGroup(
366 jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
367 .addComponent(lbCentralRepository, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
368 .addGroup(jPanel1Layout.createSequentialGroup()
369 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
370 .addComponent(pnDatabaseConfiguration, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
371 .addComponent(pnCorrelationProperties, javax.swing.GroupLayout.DEFAULT_SIZE, 1012, Short.MAX_VALUE)
372 .addComponent(organizationPanel, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
373 .addComponent(casesPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
374 .addGroup(jPanel1Layout.createSequentialGroup()
375 .addComponent(cbUseCentralRepo, javax.swing.GroupLayout.PREFERRED_SIZE, 162, javax.swing.GroupLayout.PREFERRED_SIZE)
376 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
377 .addComponent(ingestRunningWarningLabel, javax.swing.GroupLayout.DEFAULT_SIZE, 844, Short.MAX_VALUE))
378 .addGroup(jPanel1Layout.createSequentialGroup()
380 .addComponent(tbOops, javax.swing.GroupLayout.PREFERRED_SIZE, 974, javax.swing.GroupLayout.PREFERRED_SIZE)))
383 jPanel1Layout.setVerticalGroup(
384 jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
385 .addGroup(jPanel1Layout.createSequentialGroup()
386 .addComponent(lbCentralRepository)
387 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
388 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
389 .addComponent(cbUseCentralRepo)
390 .addComponent(ingestRunningWarningLabel))
391 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
392 .addComponent(pnDatabaseConfiguration, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
394 .addComponent(pnCorrelationProperties, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
396 .addComponent(organizationPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
398 .addComponent(casesPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
400 .addComponent(tbOops, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
404 casesPanel.getAccessibleContext().setAccessibleName(
org.openide.util.NbBundle.getMessage(
GlobalSettingsPanel.class,
"GlobalSettingsPanel.Case Details.AccessibleContext.accessibleName"));
406 jScrollPane1.setViewportView(jPanel1);
408 javax.swing.GroupLayout layout =
new javax.swing.GroupLayout(
this);
409 this.setLayout(layout);
410 layout.setHorizontalGroup(
411 layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
412 .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
414 layout.setVerticalGroup(
415 layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
416 .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 512, Short.MAX_VALUE)
422 ManageCorrelationPropertiesDialog manageCorrelationDialog =
new ManageCorrelationPropertiesDialog();
423 firePropertyChange(OptionsPanelController.PROP_VALID, null, null);
431 if (dialog.wasConfigurationChanged()) {
432 firePropertyChange(OptionsPanelController.PROP_CHANGED, null, null);
442 firePropertyChange(OptionsPanelController.PROP_CHANGED, null, null);
452 ManageCasesDialog.displayManageCasesDialog();
456 @Messages({
"GlobalSettingsPanel.validationerrMsg.mustConfigure=Configure the database to enable this module."})
459 enableButtonSubComponents(
false);
462 switch (selectedPlatform) {
466 lbDbNameValue.setText(dbSettingsPg.
getDbName());
467 lbDbLocationValue.setText(dbSettingsPg.
getHost());
468 enableButtonSubComponents(cbUseCentralRepo.isSelected());
473 lbDbNameValue.setText(dbSettingsSqlite.
getDbName());
475 enableButtonSubComponents(cbUseCentralRepo.isSelected());
479 lbDbNameValue.setText(
"");
480 lbDbLocationValue.setText(
"");
481 tbOops.setText(Bundle.GlobalSettingsPanel_validationerrMsg_mustConfigure());
498 return !cbUseCentralRepo.isSelected() || !lbDbPlatformValue.getText().equals(DISABLED.toString());
507 @SuppressWarnings(
"FinalizeDeclaration")
508 protected
void finalize() throws Throwable {
528 if (isLocalIngestJobEvent(event)) {
529 EventQueue.invokeLater(
new Runnable() {
550 if (((AutopsyEvent) event).getSourceType() == AutopsyEvent.SourceType.LOCAL) {
551 String eventType =
event.getPropertyName();
560 @Messages({
"GlobalSettingsPanel.validationErrMsg.ingestRunning=You cannot change settings while ingest is running."})
562 if (!SwingUtilities.isEventDispatchThread()) {
563 SwingUtilities.invokeLater(() -> {
564 ingestStateUpdated(caseIsOpen);
570 cbUseCentralRepo.setEnabled(!caseIsOpen);
572 tbOops.setText(Bundle.GlobalSettingsPanel_validationErrMsg_ingestRunning());
573 tbOops.setVisible(
true);
574 enableButtonSubComponents(cbUseCentralRepo.isSelected());
577 enableDatabaseConfigureButton(cbUseCentralRepo.isSelected() && !caseIsOpen);
591 ingestRunningWarningLabel.setVisible(ingestRunning);
592 pnDatabaseConfiguration.setEnabled(enable && !ingestRunning);
593 bnDbConfigure.setEnabled(enable && !ingestRunning);
594 lbDbLocationLabel.setEnabled(enable && !ingestRunning);
595 lbDbLocationValue.setEnabled(enable && !ingestRunning);
596 lbDbNameLabel.setEnabled(enable && !ingestRunning);
597 lbDbNameValue.setEnabled(enable && !ingestRunning);
598 lbDbPlatformTypeLabel.setEnabled(enable && !ingestRunning);
599 lbDbPlatformValue.setEnabled(enable && !ingestRunning);
600 tbOops.setEnabled(enable && !ingestRunning);
613 pnCorrelationProperties.setEnabled(enable && !ingestRunning);
614 bnManageTypes.setEnabled(enable && !ingestRunning);
615 correlationPropertiesTextArea.setEnabled(enable && !ingestRunning);
616 organizationPanel.setEnabled(enable && !ingestRunning);
617 organizationTextArea.setEnabled(enable && !ingestRunning);
618 manageOrganizationButton.setEnabled(enable && !ingestRunning);
619 showCasesButton.setEnabled(enable && !ingestRunning);
620 casesPanel.setEnabled(enable && !ingestRunning);
621 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
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
javax.swing.JPanel pnCorrelationProperties