19 package org.sleuthkit.autopsy.modules.hashdatabase;
21 import java.awt.Dimension;
22 import java.awt.Toolkit;
24 import java.io.IOException;
25 import java.nio.file.Paths;
26 import java.util.List;
27 import java.util.logging.Level;
28 import javax.swing.JFileChooser;
29 import javax.swing.JFrame;
30 import javax.swing.JOptionPane;
31 import org.apache.commons.io.FilenameUtils;
32 import org.openide.util.NbBundle;
33 import org.openide.windows.WindowManager;
55 final class HashDbCreateDatabaseDialog
extends javax.swing.JDialog {
57 private static final String DEFAULT_FILE_NAME = NbBundle
58 .getMessage(HashDbCreateDatabaseDialog.class,
"HashDbCreateDatabaseDialog.defaultFileName");
59 private JFileChooser fileChooser = null;
60 private HashDb newHashDb = null;
61 private final static String LAST_FILE_PATH_KEY =
"HashDbCreate_Path";
62 private EamOrganization selectedOrg = null;
63 private List<EamOrganization> orgs = null;
70 HashDbCreateDatabaseDialog() {
71 super((JFrame) WindowManager.getDefault().getMainWindow(), NbBundle.getMessage(HashDbCreateDatabaseDialog.class,
"HashDbCreateDatabaseDialog.createHashDbMsg"),
true);
83 HashDb getHashDatabase() {
87 private void initFileChooser() {
88 fileChooser =
new JFileChooser() {
90 public void approveSelection() {
91 File selectedFile = getSelectedFile();
92 if (!FilenameUtils.getExtension(selectedFile.getName()).equalsIgnoreCase(HashDbManager.getHashDatabaseFileExtension())) {
93 if (JOptionPane.showConfirmDialog(
this,
94 NbBundle.getMessage(
this.getClass(),
95 "HashDbCreateDatabaseDialog.hashDbMustHaveFileExtensionMsg",
96 HashDbManager.getHashDatabaseFileExtension()),
97 NbBundle.getMessage(
this.getClass(),
98 "HashDbCreateDatabaseDialog.fileNameErr"),
99 JOptionPane.OK_CANCEL_OPTION) == JOptionPane.CANCEL_OPTION) {
104 if (selectedFile.exists()) {
105 if (JOptionPane.showConfirmDialog(
this,
106 NbBundle.getMessage(
this.getClass(),
107 "HashDbCreateDatabaseDialog.fileNameAlreadyExistsMsg"),
108 NbBundle.getMessage(
this.getClass(),
109 "HashDbCreateDatabaseDialog.fileExistsErr"),
110 JOptionPane.OK_CANCEL_OPTION) == JOptionPane.CANCEL_OPTION) {
115 super.approveSelection();
118 fileChooser.setFileSelectionMode(JFileChooser.FILES_ONLY);
119 fileChooser.setDragEnabled(
false);
120 fileChooser.setMultiSelectionEnabled(
false);
123 private void display() {
124 Dimension screenDimension = Toolkit.getDefaultToolkit().getScreenSize();
125 setLocation((screenDimension.width - getSize().width) / 2, (screenDimension.height - getSize().height) / 2);
129 private void enableComponents(){
131 if(! EamDb.isEnabled()){
132 centralRepoRadioButton.setEnabled(
false);
133 fileTypeRadioButton.setSelected(
true);
138 boolean isFileType = fileTypeRadioButton.isSelected();
141 databasePathLabel.setEnabled(isFileType);
142 databasePathTextField.setEnabled(isFileType);
143 saveAsButton.setEnabled(isFileType);
146 lbOrg.setEnabled(! isFileType);
147 orgButton.setEnabled(! isFileType);
148 orgComboBox.setEnabled(! isFileType);
151 @NbBundle.Messages({
"HashDbCreateDatabaseDialog.populateOrgsError.message=Failure loading organizations."})
152 private void populateCombobox() {
153 orgComboBox.removeAllItems();
155 EamDb dbManager = EamDb.getInstance();
156 orgs = dbManager.getOrganizations();
157 orgs.forEach((
org) -> {
158 orgComboBox.addItem(
org.getName());
159 if(EamDbUtil.isDefaultOrg(
org)){
160 orgComboBox.setSelectedItem(
org.getName());
164 if ((selectedOrg == null) && (!orgs.isEmpty())) {
165 selectedOrg = orgs.get(0);
167 }
catch (EamDbException ex) {
168 JOptionPane.showMessageDialog(null, Bundle.HashDbCreateDatabaseDialog_populateOrgsError_message());
169 Logger.getLogger(ImportCentralRepoDbProgressDialog.class.getName()).log(Level.SEVERE,
"Failure loading organizations", ex);
178 @SuppressWarnings(
"unchecked")
180 private
void initComponents() {
182 buttonGroup1 =
new javax.swing.ButtonGroup();
183 storageTypeButtonGroup =
new javax.swing.ButtonGroup();
184 saveAsButton =
new javax.swing.JButton();
185 cancelButton =
new javax.swing.JButton();
186 knownRadioButton =
new javax.swing.JRadioButton();
187 knownBadRadioButton =
new javax.swing.JRadioButton();
188 databasePathLabel =
new javax.swing.JLabel();
189 hashSetNameTextField =
new javax.swing.JTextField();
190 jLabel2 =
new javax.swing.JLabel();
191 sendIngestMessagesCheckbox =
new javax.swing.JCheckBox();
192 jLabel3 =
new javax.swing.JLabel();
193 databasePathTextField =
new javax.swing.JTextField();
194 okButton =
new javax.swing.JButton();
195 jLabel4 =
new javax.swing.JLabel();
196 fileTypeRadioButton =
new javax.swing.JRadioButton();
197 centralRepoRadioButton =
new javax.swing.JRadioButton();
198 lbOrg =
new javax.swing.JLabel();
199 orgComboBox =
new javax.swing.JComboBox<>();
200 orgButton =
new javax.swing.JButton();
202 setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
204 org.openide.awt.Mnemonics.setLocalizedText(saveAsButton,
org.openide.util.NbBundle.getMessage(HashDbCreateDatabaseDialog.class,
"HashDbCreateDatabaseDialog.saveAsButton.text"));
205 saveAsButton.addActionListener(
new java.awt.event.ActionListener() {
206 public void actionPerformed(java.awt.event.ActionEvent evt) {
207 saveAsButtonActionPerformed(evt);
211 org.openide.awt.Mnemonics.setLocalizedText(cancelButton,
org.openide.util.NbBundle.getMessage(HashDbCreateDatabaseDialog.class,
"HashDbCreateDatabaseDialog.cancelButton.text"));
212 cancelButton.addActionListener(
new java.awt.event.ActionListener() {
213 public void actionPerformed(java.awt.event.ActionEvent evt) {
214 cancelButtonActionPerformed(evt);
218 buttonGroup1.add(knownRadioButton);
219 org.openide.awt.Mnemonics.setLocalizedText(knownRadioButton,
org.openide.util.NbBundle.getMessage(HashDbCreateDatabaseDialog.class,
"HashDbCreateDatabaseDialog.knownRadioButton.text"));
220 knownRadioButton.addActionListener(
new java.awt.event.ActionListener() {
221 public void actionPerformed(java.awt.event.ActionEvent evt) {
222 knownRadioButtonActionPerformed(evt);
226 buttonGroup1.add(knownBadRadioButton);
227 knownBadRadioButton.setSelected(
true);
228 org.openide.awt.Mnemonics.setLocalizedText(knownBadRadioButton,
org.openide.util.NbBundle.getMessage(HashDbCreateDatabaseDialog.class,
"HashDbCreateDatabaseDialog.knownBadRadioButton.text"));
229 knownBadRadioButton.addActionListener(
new java.awt.event.ActionListener() {
230 public void actionPerformed(java.awt.event.ActionEvent evt) {
231 knownBadRadioButtonActionPerformed(evt);
235 org.openide.awt.Mnemonics.setLocalizedText(databasePathLabel,
org.openide.util.NbBundle.getMessage(HashDbCreateDatabaseDialog.class,
"HashDbCreateDatabaseDialog.databasePathLabel.text"));
237 hashSetNameTextField.setText(
org.openide.util.NbBundle.getMessage(HashDbCreateDatabaseDialog.class,
"HashDbCreateDatabaseDialog.hashSetNameTextField.text"));
239 org.openide.awt.Mnemonics.setLocalizedText(jLabel2,
org.openide.util.NbBundle.getMessage(HashDbCreateDatabaseDialog.class,
"HashDbCreateDatabaseDialog.jLabel2.text"));
241 sendIngestMessagesCheckbox.setSelected(
true);
242 org.openide.awt.Mnemonics.setLocalizedText(sendIngestMessagesCheckbox,
org.openide.util.NbBundle.getMessage(HashDbCreateDatabaseDialog.class,
"HashDbCreateDatabaseDialog.sendIngestMessagesCheckbox.text"));
243 sendIngestMessagesCheckbox.addActionListener(
new java.awt.event.ActionListener() {
244 public void actionPerformed(java.awt.event.ActionEvent evt) {
245 sendIngestMessagesCheckboxActionPerformed(evt);
249 org.openide.awt.Mnemonics.setLocalizedText(jLabel3,
org.openide.util.NbBundle.getMessage(HashDbCreateDatabaseDialog.class,
"HashDbCreateDatabaseDialog.jLabel3.text"));
251 databasePathTextField.setEditable(
false);
252 databasePathTextField.setText(
org.openide.util.NbBundle.getMessage(HashDbCreateDatabaseDialog.class,
"HashDbCreateDatabaseDialog.databasePathTextField.text"));
254 org.openide.awt.Mnemonics.setLocalizedText(okButton,
org.openide.util.NbBundle.getMessage(HashDbCreateDatabaseDialog.class,
"HashDbCreateDatabaseDialog.okButton.text"));
255 okButton.addActionListener(
new java.awt.event.ActionListener() {
256 public void actionPerformed(java.awt.event.ActionEvent evt) {
257 okButtonActionPerformed(evt);
261 org.openide.awt.Mnemonics.setLocalizedText(jLabel4,
org.openide.util.NbBundle.getMessage(HashDbCreateDatabaseDialog.class,
"HashDbCreateDatabaseDialog.jLabel4.text"));
263 storageTypeButtonGroup.add(fileTypeRadioButton);
264 fileTypeRadioButton.setSelected(
true);
265 org.openide.awt.Mnemonics.setLocalizedText(fileTypeRadioButton,
org.openide.util.NbBundle.getMessage(HashDbCreateDatabaseDialog.class,
"HashDbCreateDatabaseDialog.fileTypeRadioButton.text"));
266 fileTypeRadioButton.addActionListener(
new java.awt.event.ActionListener() {
267 public void actionPerformed(java.awt.event.ActionEvent evt) {
268 fileTypeRadioButtonActionPerformed(evt);
272 storageTypeButtonGroup.add(centralRepoRadioButton);
273 org.openide.awt.Mnemonics.setLocalizedText(centralRepoRadioButton,
org.openide.util.NbBundle.getMessage(HashDbCreateDatabaseDialog.class,
"HashDbCreateDatabaseDialog.centralRepoRadioButton.text"));
274 centralRepoRadioButton.addActionListener(
new java.awt.event.ActionListener() {
275 public void actionPerformed(java.awt.event.ActionEvent evt) {
276 centralRepoRadioButtonActionPerformed(evt);
280 org.openide.awt.Mnemonics.setLocalizedText(lbOrg,
org.openide.util.NbBundle.getMessage(HashDbCreateDatabaseDialog.class,
"HashDbCreateDatabaseDialog.lbOrg.text"));
282 orgComboBox.addActionListener(
new java.awt.event.ActionListener() {
283 public void actionPerformed(java.awt.event.ActionEvent evt) {
284 orgComboBoxActionPerformed(evt);
288 org.openide.awt.Mnemonics.setLocalizedText(orgButton,
org.openide.util.NbBundle.getMessage(HashDbCreateDatabaseDialog.class,
"HashDbCreateDatabaseDialog.orgButton.text"));
289 orgButton.addActionListener(
new java.awt.event.ActionListener() {
290 public void actionPerformed(java.awt.event.ActionEvent evt) {
291 orgButtonActionPerformed(evt);
295 javax.swing.GroupLayout layout =
new javax.swing.GroupLayout(getContentPane());
296 getContentPane().setLayout(layout);
297 layout.setHorizontalGroup(
298 layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
299 .addGroup(layout.createSequentialGroup()
301 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
302 .addComponent(sendIngestMessagesCheckbox)
303 .addComponent(jLabel2)
304 .addGroup(layout.createSequentialGroup()
306 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
307 .addComponent(knownRadioButton)
308 .addComponent(knownBadRadioButton)))
309 .addGroup(layout.createSequentialGroup()
310 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING,
false)
311 .addGroup(layout.createSequentialGroup()
313 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
314 .addComponent(orgComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, 130, javax.swing.GroupLayout.PREFERRED_SIZE)
315 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
316 .addComponent(orgButton, javax.swing.GroupLayout.DEFAULT_SIZE, 145, Short.MAX_VALUE))
317 .addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup()
318 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
319 .addComponent(jLabel3)
320 .addComponent(jLabel4)
321 .addComponent(databasePathLabel))
322 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
323 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING,
false)
324 .addGroup(layout.createSequentialGroup()
325 .addComponent(fileTypeRadioButton)
327 .addComponent(centralRepoRadioButton))
328 .addComponent(hashSetNameTextField, javax.swing.GroupLayout.DEFAULT_SIZE, 305, Short.MAX_VALUE)
329 .addComponent(databasePathTextField))))
330 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
331 .addComponent(saveAsButton)))
332 .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
333 .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
334 .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
335 .addComponent(okButton)
336 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
337 .addComponent(cancelButton)
341 layout.linkSize(javax.swing.SwingConstants.HORIZONTAL,
new java.awt.Component[] {cancelButton, okButton});
343 layout.setVerticalGroup(
344 layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
345 .addGroup(layout.createSequentialGroup()
347 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
348 .addComponent(jLabel4)
349 .addComponent(fileTypeRadioButton)
350 .addComponent(centralRepoRadioButton))
351 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
352 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
353 .addComponent(jLabel3)
354 .addComponent(hashSetNameTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
355 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
356 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
357 .addComponent(databasePathLabel)
358 .addComponent(databasePathTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
359 .addComponent(saveAsButton))
360 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
361 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
363 .addComponent(orgComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
364 .addComponent(orgButton))
365 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
366 .addComponent(jLabel2)
367 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
368 .addComponent(knownRadioButton)
369 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
370 .addComponent(knownBadRadioButton)
371 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
372 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
373 .addGroup(layout.createSequentialGroup()
374 .addComponent(sendIngestMessagesCheckbox)
375 .addGap(0, 27, Short.MAX_VALUE))
376 .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
377 .addGap(0, 0, Short.MAX_VALUE)
378 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
379 .addComponent(cancelButton)
380 .addComponent(okButton))))
387 private void knownRadioButtonActionPerformed(java.awt.event.ActionEvent evt) {
388 sendIngestMessagesCheckbox.setSelected(
false);
389 sendIngestMessagesCheckbox.setEnabled(
false);
392 private void knownBadRadioButtonActionPerformed(java.awt.event.ActionEvent evt) {
393 sendIngestMessagesCheckbox.setSelected(
true);
394 sendIngestMessagesCheckbox.setEnabled(
true);
397 private void cancelButtonActionPerformed(java.awt.event.ActionEvent evt) {
401 private void saveAsButtonActionPerformed(java.awt.event.ActionEvent evt) {
403 String lastBaseDirectory = Paths.get(PlatformUtil.getUserConfigDirectory(),
"HashDatabases").toString();
404 if (ModuleSettings.settingExists(ModuleSettings.MAIN_SETTINGS, LAST_FILE_PATH_KEY)) {
405 lastBaseDirectory = ModuleSettings.getConfigSetting(ModuleSettings.MAIN_SETTINGS, LAST_FILE_PATH_KEY);
407 StringBuilder path =
new StringBuilder();
408 path.append(lastBaseDirectory);
409 File hashDbFolder =
new File(path.toString());
411 if (!hashDbFolder.exists()){
412 hashDbFolder.mkdir();
414 if (!hashSetNameTextField.getText().isEmpty()) {
415 path.append(File.separator).append(hashSetNameTextField.getText());
417 path.append(File.separator).append(DEFAULT_FILE_NAME);
419 path.append(
".").append(HashDbManager.getHashDatabaseFileExtension());
420 fileChooser.setSelectedFile(
new File(path.toString()));
421 if (fileChooser.showSaveDialog(
this) == JFileChooser.APPROVE_OPTION) {
422 File databaseFile = fileChooser.getSelectedFile();
423 databasePathTextField.setText(databaseFile.getCanonicalPath());
424 ModuleSettings.setConfigSetting(ModuleSettings.MAIN_SETTINGS, LAST_FILE_PATH_KEY, databaseFile.getParent());
426 }
catch (IOException ex) {
427 Logger.getLogger(HashDbCreateDatabaseDialog.class.getName()).log(Level.WARNING,
"Couldn't get selected file path.", ex);
431 @NbBundle.Messages({
"HashDbCreateDatabaseDialog.missingOrg=An organization must be selected",
432 "HashDbCreateDatabaseDialog.duplicateName=A hashset with this name already exists",
433 "HashDbCreateDatabaseDialog.databaseLookupError=Error accessing central repository",
434 "HashDbCreateDatabaseDialog.databaseCreationError=Error creating new hash set"
436 private void okButtonActionPerformed(java.awt.event.ActionEvent evt) {
440 if (hashSetNameTextField.getText().isEmpty()) {
441 JOptionPane.showMessageDialog(
this,
442 NbBundle.getMessage(
this.getClass(),
443 "HashDbCreateDatabaseDialog.mustEnterHashSetNameMsg"),
444 NbBundle.getMessage(
this.getClass(),
445 "HashDbCreateDatabaseDialog.createHashDbErr"),
446 JOptionPane.ERROR_MESSAGE);
450 if(fileTypeRadioButton.isSelected()){
451 if (databasePathTextField.getText().isEmpty()) {
452 JOptionPane.showMessageDialog(
this,
453 NbBundle.getMessage(
this.getClass(),
454 "HashDbCreateDatabaseDialog.mustEnterHashDbPathMsg"),
455 NbBundle.getMessage(
this.getClass(),
456 "HashDbCreateDatabaseDialog.createHashDbErr"),
457 JOptionPane.ERROR_MESSAGE);
461 if(selectedOrg == null){
462 JOptionPane.showMessageDialog(
this,
463 NbBundle.getMessage(
this.getClass(),
464 "HashDbCreateDatabaseDialog.missingOrg"),
465 NbBundle.getMessage(
this.getClass(),
466 "HashDbCreateDatabaseDialog.createHashDbErr"),
467 JOptionPane.ERROR_MESSAGE);
473 TskData.FileKnown fileKnown;
474 if (knownRadioButton.isSelected()) {
475 type = KnownFilesType.KNOWN;
476 fileKnown = TskData.FileKnown.KNOWN;
478 type = KnownFilesType.KNOWN_BAD;
479 fileKnown = TskData.FileKnown.BAD;
482 String errorMessage = NbBundle
483 .getMessage(this.getClass(),
"HashDbCreateDatabaseDialog.errMsg.hashDbCreationErr");
485 if(fileTypeRadioButton.isSelected()){
487 newHashDb = HashDbManager.getInstance().addNewHashDatabaseNoSave(hashSetNameTextField.getText(), fileChooser.getSelectedFile().getCanonicalPath(),
true, sendIngestMessagesCheckbox.isSelected(), type);
488 }
catch (IOException ex) {
489 Logger.getLogger(HashDbCreateDatabaseDialog.class.getName()).log(Level.WARNING, errorMessage, ex);
490 JOptionPane.showMessageDialog(
this,
491 NbBundle.getMessage(
this.getClass(),
492 "HashDbCreateDatabaseDialog.cannotCreateFileAtLocMsg"),
493 NbBundle.getMessage(
this.getClass(),
494 "HashDbCreateDatabaseDialog.createHashDbErr"),
495 JOptionPane.ERROR_MESSAGE);
497 }
catch (HashDbManagerException ex) {
498 Logger.getLogger(HashDbCreateDatabaseDialog.class.getName()).log(Level.WARNING, errorMessage, ex);
499 JOptionPane.showMessageDialog(
this,
501 NbBundle.getMessage(this.getClass(),
502 "HashDbCreateDatabaseDialog.createHashDbErr"),
503 JOptionPane.ERROR_MESSAGE);
509 if(EamDb.getInstance().referenceSetExists(hashSetNameTextField.getText(),
"")){
510 JOptionPane.showMessageDialog(
this,
511 NbBundle.getMessage(
this.getClass(),
512 "HashDbCreateDatabaseDialog.duplicateName"),
513 NbBundle.getMessage(
this.getClass(),
514 "HashDbCreateDatabaseDialog.createHashDbErr"),
515 JOptionPane.ERROR_MESSAGE);
518 }
catch (EamDbException ex){
519 Logger.getLogger(HashDbImportDatabaseDialog.class.getName()).log(Level.SEVERE,
"Error looking up reference set", ex);
520 JOptionPane.showMessageDialog(
this,
521 NbBundle.getMessage(
this.getClass(),
522 "HashDbCreateDatabaseDialog.databaseLookupError"),
523 NbBundle.getMessage(
this.getClass(),
524 "HashDbCreateDatabaseDialog.createHashDbErr"),
525 JOptionPane.ERROR_MESSAGE);
530 int referenceSetID = EamDb.getInstance().newReferenceSet(
new EamGlobalSet(selectedOrg.getOrgID(), hashSetNameTextField.getText(),
531 "", fileKnown,
false, EamDb.getInstance().getCorrelationTypeById(CorrelationAttribute.FILES_TYPE_ID)));
532 newHashDb = HashDbManager.getInstance().addExistingCentralRepoHashSet(hashSetNameTextField.getText(),
534 true, sendIngestMessagesCheckbox.isSelected(), type,
false);
535 }
catch (EamDbException | TskCoreException ex){
536 Logger.getLogger(HashDbImportDatabaseDialog.class.getName()).log(Level.SEVERE,
"Error creating new reference set", ex);
537 JOptionPane.showMessageDialog(
this,
538 NbBundle.getMessage(
this.getClass(),
539 "HashDbCreateDatabaseDialog.databaseCreationError"),
540 NbBundle.getMessage(
this.getClass(),
541 "HashDbCreateDatabaseDialog.createHashDbErr"),
542 JOptionPane.ERROR_MESSAGE);
550 private void sendIngestMessagesCheckboxActionPerformed(java.awt.event.ActionEvent evt) {
554 private void orgButtonActionPerformed(java.awt.event.ActionEvent evt) {
555 ManageOrganizationsDialog dialog =
new ManageOrganizationsDialog();
557 if (dialog.isChanged()) {
562 private void orgComboBoxActionPerformed(java.awt.event.ActionEvent evt) {
563 if (null == orgComboBox.getSelectedItem())
return;
564 String orgName = this.orgComboBox.getSelectedItem().toString();
565 for (EamOrganization
org : orgs) {
566 if (
org.getName().equals(orgName)) {
573 private void fileTypeRadioButtonActionPerformed(java.awt.event.ActionEvent evt) {
577 private void centralRepoRadioButtonActionPerformed(java.awt.event.ActionEvent evt) {
582 private javax.swing.ButtonGroup buttonGroup1;
583 private javax.swing.JButton cancelButton;
584 private javax.swing.JRadioButton centralRepoRadioButton;
585 private javax.swing.JLabel databasePathLabel;
586 private javax.swing.JTextField databasePathTextField;
587 private javax.swing.JRadioButton fileTypeRadioButton;
588 private javax.swing.JTextField hashSetNameTextField;
589 private javax.swing.JLabel jLabel2;
590 private javax.swing.JLabel jLabel3;
591 private javax.swing.JLabel jLabel4;
592 private javax.swing.JRadioButton knownBadRadioButton;
593 private javax.swing.JRadioButton knownRadioButton;
594 private javax.swing.JLabel lbOrg;
595 private javax.swing.JButton okButton;
596 private javax.swing.JButton orgButton;
597 private javax.swing.JComboBox<String> orgComboBox;
598 private javax.swing.JButton saveAsButton;
599 private javax.swing.JCheckBox sendIngestMessagesCheckbox;
600 private javax.swing.ButtonGroup storageTypeButtonGroup;