19 package org.sleuthkit.autopsy.modules.hashdatabase;
22 import java.io.IOException;
23 import java.nio.file.Paths;
24 import java.util.List;
25 import java.util.logging.Level;
26 import javax.swing.JFileChooser;
27 import javax.swing.JFrame;
28 import javax.swing.JOptionPane;
29 import org.apache.commons.io.FilenameUtils;
30 import org.openide.util.NbBundle;
31 import org.openide.windows.WindowManager;
53 @SuppressWarnings(
"PMD.SingularField")
54 final class HashDbCreateDatabaseDialog extends javax.swing.JDialog {
56 private static final String DEFAULT_FILE_NAME = NbBundle
57 .getMessage(HashDbCreateDatabaseDialog.class,
"HashDbCreateDatabaseDialog.defaultFileName");
58 private JFileChooser fileChooser = null;
59 private HashDb newHashDb = null;
60 private final static String LAST_FILE_PATH_KEY =
"HashDbCreate_Path";
61 private EamOrganization selectedOrg = null;
62 private List<EamOrganization> orgs = null;
69 HashDbCreateDatabaseDialog() {
70 super((JFrame) WindowManager.getDefault().getMainWindow(), NbBundle.getMessage(HashDbCreateDatabaseDialog.class,
"HashDbCreateDatabaseDialog.createHashDbMsg"),
true);
82 HashDb getHashDatabase() {
86 private void initFileChooser() {
87 fileChooser =
new JFileChooser() {
89 public void approveSelection() {
90 File selectedFile = getSelectedFile();
91 if (!FilenameUtils.getExtension(selectedFile.getName()).equalsIgnoreCase(HashDbManager.getHashDatabaseFileExtension())) {
92 if (JOptionPane.showConfirmDialog(
this,
93 NbBundle.getMessage(
this.getClass(),
94 "HashDbCreateDatabaseDialog.hashDbMustHaveFileExtensionMsg",
95 HashDbManager.getHashDatabaseFileExtension()),
96 NbBundle.getMessage(
this.getClass(),
97 "HashDbCreateDatabaseDialog.fileNameErr"),
98 JOptionPane.OK_CANCEL_OPTION) == JOptionPane.CANCEL_OPTION) {
103 if (selectedFile.exists()) {
104 if (JOptionPane.showConfirmDialog(
this,
105 NbBundle.getMessage(
this.getClass(),
106 "HashDbCreateDatabaseDialog.fileNameAlreadyExistsMsg"),
107 NbBundle.getMessage(
this.getClass(),
108 "HashDbCreateDatabaseDialog.fileExistsErr"),
109 JOptionPane.OK_CANCEL_OPTION) == JOptionPane.CANCEL_OPTION) {
114 super.approveSelection();
117 fileChooser.setFileSelectionMode(JFileChooser.FILES_ONLY);
118 fileChooser.setDragEnabled(
false);
119 fileChooser.setMultiSelectionEnabled(
false);
122 private void display() {
123 setLocationRelativeTo(getOwner());
127 private void enableComponents(){
129 if(! EamDb.isEnabled()){
130 centralRepoRadioButton.setEnabled(
false);
131 fileTypeRadioButton.setSelected(
true);
136 boolean isFileType = fileTypeRadioButton.isSelected();
139 databasePathLabel.setEnabled(isFileType);
140 databasePathTextField.setEnabled(isFileType);
141 saveAsButton.setEnabled(isFileType);
144 lbOrg.setEnabled(! isFileType);
145 orgButton.setEnabled(! isFileType);
146 orgComboBox.setEnabled(! isFileType);
149 @NbBundle.Messages({
"HashDbCreateDatabaseDialog.populateOrgsError.message=Failure loading organizations."})
150 private void populateCombobox() {
151 orgComboBox.removeAllItems();
153 EamDb dbManager = EamDb.getInstance();
154 orgs = dbManager.getOrganizations();
155 orgs.forEach((
org) -> {
156 orgComboBox.addItem(
org.getName());
157 if(EamDbUtil.isDefaultOrg(
org)){
158 orgComboBox.setSelectedItem(
org.getName());
162 if ((selectedOrg == null) && (!orgs.isEmpty())) {
163 selectedOrg = orgs.get(0);
165 }
catch (EamDbException ex) {
166 JOptionPane.showMessageDialog(
this, Bundle.HashDbCreateDatabaseDialog_populateOrgsError_message());
167 Logger.getLogger(ImportCentralRepoDbProgressDialog.class.getName()).log(Level.SEVERE,
"Failure loading organizations", ex);
176 @SuppressWarnings(
"unchecked")
178 private
void initComponents() {
180 buttonGroup1 =
new javax.swing.ButtonGroup();
181 storageTypeButtonGroup =
new javax.swing.ButtonGroup();
182 saveAsButton =
new javax.swing.JButton();
183 cancelButton =
new javax.swing.JButton();
184 knownRadioButton =
new javax.swing.JRadioButton();
185 knownBadRadioButton =
new javax.swing.JRadioButton();
186 databasePathLabel =
new javax.swing.JLabel();
187 hashSetNameTextField =
new javax.swing.JTextField();
188 jLabel2 =
new javax.swing.JLabel();
189 sendIngestMessagesCheckbox =
new javax.swing.JCheckBox();
190 jLabel3 =
new javax.swing.JLabel();
191 databasePathTextField =
new javax.swing.JTextField();
192 okButton =
new javax.swing.JButton();
193 jLabel4 =
new javax.swing.JLabel();
194 fileTypeRadioButton =
new javax.swing.JRadioButton();
195 centralRepoRadioButton =
new javax.swing.JRadioButton();
196 lbOrg =
new javax.swing.JLabel();
197 orgComboBox =
new javax.swing.JComboBox<>();
198 orgButton =
new javax.swing.JButton();
200 setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
202 org.openide.awt.Mnemonics.setLocalizedText(saveAsButton,
org.openide.util.NbBundle.getMessage(HashDbCreateDatabaseDialog.class,
"HashDbCreateDatabaseDialog.saveAsButton.text"));
203 saveAsButton.addActionListener(
new java.awt.event.ActionListener() {
204 public void actionPerformed(java.awt.event.ActionEvent evt) {
205 saveAsButtonActionPerformed(evt);
209 org.openide.awt.Mnemonics.setLocalizedText(cancelButton,
org.openide.util.NbBundle.getMessage(HashDbCreateDatabaseDialog.class,
"HashDbCreateDatabaseDialog.cancelButton.text"));
210 cancelButton.addActionListener(
new java.awt.event.ActionListener() {
211 public void actionPerformed(java.awt.event.ActionEvent evt) {
212 cancelButtonActionPerformed(evt);
216 buttonGroup1.add(knownRadioButton);
217 org.openide.awt.Mnemonics.setLocalizedText(knownRadioButton,
org.openide.util.NbBundle.getMessage(HashDbCreateDatabaseDialog.class,
"HashDbCreateDatabaseDialog.knownRadioButton.text"));
218 knownRadioButton.addActionListener(
new java.awt.event.ActionListener() {
219 public void actionPerformed(java.awt.event.ActionEvent evt) {
220 knownRadioButtonActionPerformed(evt);
224 buttonGroup1.add(knownBadRadioButton);
225 knownBadRadioButton.setSelected(
true);
226 org.openide.awt.Mnemonics.setLocalizedText(knownBadRadioButton,
org.openide.util.NbBundle.getMessage(HashDbCreateDatabaseDialog.class,
"HashDbCreateDatabaseDialog.knownBadRadioButton.text"));
227 knownBadRadioButton.addActionListener(
new java.awt.event.ActionListener() {
228 public void actionPerformed(java.awt.event.ActionEvent evt) {
229 knownBadRadioButtonActionPerformed(evt);
233 org.openide.awt.Mnemonics.setLocalizedText(databasePathLabel,
org.openide.util.NbBundle.getMessage(HashDbCreateDatabaseDialog.class,
"HashDbCreateDatabaseDialog.databasePathLabel.text"));
235 hashSetNameTextField.setText(
org.openide.util.NbBundle.getMessage(HashDbCreateDatabaseDialog.class,
"HashDbCreateDatabaseDialog.hashSetNameTextField.text"));
237 org.openide.awt.Mnemonics.setLocalizedText(jLabel2,
org.openide.util.NbBundle.getMessage(HashDbCreateDatabaseDialog.class,
"HashDbCreateDatabaseDialog.jLabel2.text"));
239 sendIngestMessagesCheckbox.setSelected(
true);
240 org.openide.awt.Mnemonics.setLocalizedText(sendIngestMessagesCheckbox,
org.openide.util.NbBundle.getMessage(HashDbCreateDatabaseDialog.class,
"HashDbCreateDatabaseDialog.sendIngestMessagesCheckbox.text"));
241 sendIngestMessagesCheckbox.addActionListener(
new java.awt.event.ActionListener() {
242 public void actionPerformed(java.awt.event.ActionEvent evt) {
243 sendIngestMessagesCheckboxActionPerformed(evt);
247 org.openide.awt.Mnemonics.setLocalizedText(jLabel3,
org.openide.util.NbBundle.getMessage(HashDbCreateDatabaseDialog.class,
"HashDbCreateDatabaseDialog.jLabel3.text"));
249 databasePathTextField.setEditable(
false);
250 databasePathTextField.setText(
org.openide.util.NbBundle.getMessage(HashDbCreateDatabaseDialog.class,
"HashDbCreateDatabaseDialog.databasePathTextField.text"));
252 org.openide.awt.Mnemonics.setLocalizedText(okButton,
org.openide.util.NbBundle.getMessage(HashDbCreateDatabaseDialog.class,
"HashDbCreateDatabaseDialog.okButton.text"));
253 okButton.addActionListener(
new java.awt.event.ActionListener() {
254 public void actionPerformed(java.awt.event.ActionEvent evt) {
255 okButtonActionPerformed(evt);
259 org.openide.awt.Mnemonics.setLocalizedText(jLabel4,
org.openide.util.NbBundle.getMessage(HashDbCreateDatabaseDialog.class,
"HashDbCreateDatabaseDialog.jLabel4.text"));
261 storageTypeButtonGroup.add(fileTypeRadioButton);
262 fileTypeRadioButton.setSelected(
true);
263 org.openide.awt.Mnemonics.setLocalizedText(fileTypeRadioButton,
org.openide.util.NbBundle.getMessage(HashDbCreateDatabaseDialog.class,
"HashDbCreateDatabaseDialog.fileTypeRadioButton.text"));
264 fileTypeRadioButton.addActionListener(
new java.awt.event.ActionListener() {
265 public void actionPerformed(java.awt.event.ActionEvent evt) {
266 fileTypeRadioButtonActionPerformed(evt);
270 storageTypeButtonGroup.add(centralRepoRadioButton);
271 org.openide.awt.Mnemonics.setLocalizedText(centralRepoRadioButton,
org.openide.util.NbBundle.getMessage(HashDbCreateDatabaseDialog.class,
"HashDbCreateDatabaseDialog.centralRepoRadioButton.text"));
272 centralRepoRadioButton.addActionListener(
new java.awt.event.ActionListener() {
273 public void actionPerformed(java.awt.event.ActionEvent evt) {
274 centralRepoRadioButtonActionPerformed(evt);
278 org.openide.awt.Mnemonics.setLocalizedText(lbOrg,
org.openide.util.NbBundle.getMessage(HashDbCreateDatabaseDialog.class,
"HashDbCreateDatabaseDialog.lbOrg.text"));
280 orgComboBox.addActionListener(
new java.awt.event.ActionListener() {
281 public void actionPerformed(java.awt.event.ActionEvent evt) {
282 orgComboBoxActionPerformed(evt);
286 org.openide.awt.Mnemonics.setLocalizedText(orgButton,
org.openide.util.NbBundle.getMessage(HashDbCreateDatabaseDialog.class,
"HashDbCreateDatabaseDialog.orgButton.text"));
287 orgButton.addActionListener(
new java.awt.event.ActionListener() {
288 public void actionPerformed(java.awt.event.ActionEvent evt) {
289 orgButtonActionPerformed(evt);
293 javax.swing.GroupLayout layout =
new javax.swing.GroupLayout(getContentPane());
294 getContentPane().setLayout(layout);
295 layout.setHorizontalGroup(
296 layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
297 .addGroup(layout.createSequentialGroup()
299 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
300 .addGroup(layout.createSequentialGroup()
301 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
302 .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
304 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
305 .addComponent(orgComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
306 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
307 .addComponent(orgButton, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
308 .addGroup(layout.createSequentialGroup()
309 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
310 .addComponent(jLabel3)
311 .addComponent(jLabel4)
312 .addComponent(databasePathLabel))
313 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
314 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
315 .addGroup(layout.createSequentialGroup()
316 .addComponent(fileTypeRadioButton)
318 .addComponent(centralRepoRadioButton))
319 .addComponent(hashSetNameTextField)
320 .addComponent(databasePathTextField))))
321 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
322 .addComponent(saveAsButton))
323 .addGroup(layout.createSequentialGroup()
324 .addGap(0, 0, Short.MAX_VALUE)
325 .addComponent(okButton)
326 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
327 .addComponent(cancelButton)))
329 .addGroup(layout.createSequentialGroup()
330 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
331 .addGroup(layout.createSequentialGroup()
333 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
334 .addComponent(knownRadioButton)
335 .addComponent(knownBadRadioButton)))
336 .addGroup(layout.createSequentialGroup()
338 .addComponent(jLabel2))
339 .addGroup(layout.createSequentialGroup()
341 .addComponent(sendIngestMessagesCheckbox)))
342 .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
345 layout.linkSize(javax.swing.SwingConstants.HORIZONTAL,
new java.awt.Component[] {cancelButton, okButton});
347 layout.setVerticalGroup(
348 layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
349 .addGroup(layout.createSequentialGroup()
351 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
352 .addComponent(jLabel4)
353 .addComponent(fileTypeRadioButton)
354 .addComponent(centralRepoRadioButton))
355 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
356 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
357 .addComponent(jLabel3)
358 .addComponent(hashSetNameTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
359 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
360 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
361 .addComponent(databasePathLabel)
362 .addComponent(databasePathTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
363 .addComponent(saveAsButton))
364 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
365 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
367 .addComponent(orgComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
368 .addComponent(orgButton))
369 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
370 .addComponent(jLabel2)
371 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
372 .addComponent(knownRadioButton)
373 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
374 .addComponent(knownBadRadioButton)
375 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
376 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
377 .addGroup(layout.createSequentialGroup()
378 .addComponent(sendIngestMessagesCheckbox)
379 .addGap(0, 0, Short.MAX_VALUE))
380 .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
381 .addGap(0, 0, Short.MAX_VALUE)
382 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
383 .addComponent(cancelButton)
384 .addComponent(okButton))))
391 private void knownRadioButtonActionPerformed(java.awt.event.ActionEvent evt) {
392 sendIngestMessagesCheckbox.setSelected(
false);
393 sendIngestMessagesCheckbox.setEnabled(
false);
396 private void knownBadRadioButtonActionPerformed(java.awt.event.ActionEvent evt) {
397 sendIngestMessagesCheckbox.setSelected(
true);
398 sendIngestMessagesCheckbox.setEnabled(
true);
401 private void cancelButtonActionPerformed(java.awt.event.ActionEvent evt) {
405 private void saveAsButtonActionPerformed(java.awt.event.ActionEvent evt) {
407 String lastBaseDirectory = Paths.get(PlatformUtil.getUserConfigDirectory(),
"HashDatabases").toString();
408 if (ModuleSettings.settingExists(ModuleSettings.MAIN_SETTINGS, LAST_FILE_PATH_KEY)) {
409 lastBaseDirectory = ModuleSettings.getConfigSetting(ModuleSettings.MAIN_SETTINGS, LAST_FILE_PATH_KEY);
411 StringBuilder path =
new StringBuilder();
412 path.append(lastBaseDirectory);
413 File hashDbFolder =
new File(path.toString());
415 if (!hashDbFolder.exists()){
416 hashDbFolder.mkdir();
418 if (!hashSetNameTextField.getText().isEmpty()) {
419 path.append(File.separator).append(hashSetNameTextField.getText());
421 path.append(File.separator).append(DEFAULT_FILE_NAME);
423 path.append(
".").append(HashDbManager.getHashDatabaseFileExtension());
424 fileChooser.setSelectedFile(
new File(path.toString()));
425 if (fileChooser.showSaveDialog(
this) == JFileChooser.APPROVE_OPTION) {
426 File databaseFile = fileChooser.getSelectedFile();
427 databasePathTextField.setText(databaseFile.getCanonicalPath());
428 ModuleSettings.setConfigSetting(ModuleSettings.MAIN_SETTINGS, LAST_FILE_PATH_KEY, databaseFile.getParent());
430 }
catch (IOException ex) {
431 Logger.getLogger(HashDbCreateDatabaseDialog.class.getName()).log(Level.WARNING,
"Couldn't get selected file path.", ex);
435 @NbBundle.Messages({
"HashDbCreateDatabaseDialog.missingOrg=An organization must be selected",
436 "HashDbCreateDatabaseDialog.duplicateName=A hashset with this name already exists",
437 "HashDbCreateDatabaseDialog.databaseLookupError=Error accessing central repository",
438 "HashDbCreateDatabaseDialog.databaseCreationError=Error creating new hash set"
440 private void okButtonActionPerformed(java.awt.event.ActionEvent evt) {
444 if (hashSetNameTextField.getText().isEmpty()) {
445 JOptionPane.showMessageDialog(
this,
446 NbBundle.getMessage(
this.getClass(),
447 "HashDbCreateDatabaseDialog.mustEnterHashSetNameMsg"),
448 NbBundle.getMessage(
this.getClass(),
449 "HashDbCreateDatabaseDialog.createHashDbErr"),
450 JOptionPane.ERROR_MESSAGE);
454 if(fileTypeRadioButton.isSelected()){
455 if (databasePathTextField.getText().isEmpty()) {
456 JOptionPane.showMessageDialog(
this,
457 NbBundle.getMessage(
this.getClass(),
458 "HashDbCreateDatabaseDialog.mustEnterHashDbPathMsg"),
459 NbBundle.getMessage(
this.getClass(),
460 "HashDbCreateDatabaseDialog.createHashDbErr"),
461 JOptionPane.ERROR_MESSAGE);
465 if(selectedOrg == null){
466 JOptionPane.showMessageDialog(
this,
467 NbBundle.getMessage(
this.getClass(),
468 "HashDbCreateDatabaseDialog.missingOrg"),
469 NbBundle.getMessage(
this.getClass(),
470 "HashDbCreateDatabaseDialog.createHashDbErr"),
471 JOptionPane.ERROR_MESSAGE);
477 TskData.FileKnown fileKnown;
478 if (knownRadioButton.isSelected()) {
479 type = KnownFilesType.KNOWN;
480 fileKnown = TskData.FileKnown.KNOWN;
482 type = KnownFilesType.KNOWN_BAD;
483 fileKnown = TskData.FileKnown.BAD;
486 String errorMessage = NbBundle
487 .getMessage(this.getClass(),
"HashDbCreateDatabaseDialog.errMsg.hashDbCreationErr");
489 if(fileTypeRadioButton.isSelected()){
491 newHashDb = HashDbManager.getInstance().addNewHashDatabaseNoSave(hashSetNameTextField.getText(), fileChooser.getSelectedFile().getCanonicalPath(),
true, sendIngestMessagesCheckbox.isSelected(), type);
492 }
catch (IOException ex) {
493 Logger.getLogger(HashDbCreateDatabaseDialog.class.getName()).log(Level.WARNING, errorMessage, ex);
494 JOptionPane.showMessageDialog(
this,
495 NbBundle.getMessage(
this.getClass(),
496 "HashDbCreateDatabaseDialog.cannotCreateFileAtLocMsg"),
497 NbBundle.getMessage(
this.getClass(),
498 "HashDbCreateDatabaseDialog.createHashDbErr"),
499 JOptionPane.ERROR_MESSAGE);
501 }
catch (HashDbManagerException ex) {
502 Logger.getLogger(HashDbCreateDatabaseDialog.class.getName()).log(Level.WARNING, errorMessage, ex);
503 JOptionPane.showMessageDialog(
this,
505 NbBundle.getMessage(this.getClass(),
506 "HashDbCreateDatabaseDialog.createHashDbErr"),
507 JOptionPane.ERROR_MESSAGE);
513 if(EamDb.getInstance().referenceSetExists(hashSetNameTextField.getText(),
"")){
514 JOptionPane.showMessageDialog(
this,
515 NbBundle.getMessage(
this.getClass(),
516 "HashDbCreateDatabaseDialog.duplicateName"),
517 NbBundle.getMessage(
this.getClass(),
518 "HashDbCreateDatabaseDialog.createHashDbErr"),
519 JOptionPane.ERROR_MESSAGE);
522 }
catch (EamDbException ex){
523 Logger.getLogger(HashDbImportDatabaseDialog.class.getName()).log(Level.SEVERE,
"Error looking up reference set", ex);
524 JOptionPane.showMessageDialog(
this,
525 NbBundle.getMessage(
this.getClass(),
526 "HashDbCreateDatabaseDialog.databaseLookupError"),
527 NbBundle.getMessage(
this.getClass(),
528 "HashDbCreateDatabaseDialog.createHashDbErr"),
529 JOptionPane.ERROR_MESSAGE);
534 int referenceSetID = EamDb.getInstance().newReferenceSet(
new EamGlobalSet(selectedOrg.getOrgID(), hashSetNameTextField.getText(),
535 "", fileKnown,
false, EamDb.getInstance().getCorrelationTypeById(CorrelationAttribute.FILES_TYPE_ID)));
536 newHashDb = HashDbManager.getInstance().addExistingCentralRepoHashSet(hashSetNameTextField.getText(),
538 true, sendIngestMessagesCheckbox.isSelected(), type,
false);
539 }
catch (EamDbException | TskCoreException ex){
540 Logger.getLogger(HashDbImportDatabaseDialog.class.getName()).log(Level.SEVERE,
"Error creating new reference set", ex);
541 JOptionPane.showMessageDialog(
this,
542 NbBundle.getMessage(
this.getClass(),
543 "HashDbCreateDatabaseDialog.databaseCreationError"),
544 NbBundle.getMessage(
this.getClass(),
545 "HashDbCreateDatabaseDialog.createHashDbErr"),
546 JOptionPane.ERROR_MESSAGE);
554 private void sendIngestMessagesCheckboxActionPerformed(java.awt.event.ActionEvent evt) {
558 private void orgButtonActionPerformed(java.awt.event.ActionEvent evt) {
559 ManageOrganizationsDialog dialog =
new ManageOrganizationsDialog();
561 if (dialog.isChanged()) {
566 private void orgComboBoxActionPerformed(java.awt.event.ActionEvent evt) {
567 if (null == orgComboBox.getSelectedItem())
return;
568 String orgName = this.orgComboBox.getSelectedItem().toString();
569 for (EamOrganization
org : orgs) {
570 if (
org.getName().equals(orgName)) {
577 private void fileTypeRadioButtonActionPerformed(java.awt.event.ActionEvent evt) {
581 private void centralRepoRadioButtonActionPerformed(java.awt.event.ActionEvent evt) {
586 private javax.swing.ButtonGroup buttonGroup1;
587 private javax.swing.JButton cancelButton;
588 private javax.swing.JRadioButton centralRepoRadioButton;
589 private javax.swing.JLabel databasePathLabel;
590 private javax.swing.JTextField databasePathTextField;
591 private javax.swing.JRadioButton fileTypeRadioButton;
592 private javax.swing.JTextField hashSetNameTextField;
593 private javax.swing.JLabel jLabel2;
594 private javax.swing.JLabel jLabel3;
595 private javax.swing.JLabel jLabel4;
596 private javax.swing.JRadioButton knownBadRadioButton;
597 private javax.swing.JRadioButton knownRadioButton;
598 private javax.swing.JLabel lbOrg;
599 private javax.swing.JButton okButton;
600 private javax.swing.JButton orgButton;
601 private javax.swing.JComboBox<String> orgComboBox;
602 private javax.swing.JButton saveAsButton;
603 private javax.swing.JCheckBox sendIngestMessagesCheckbox;
604 private javax.swing.ButtonGroup storageTypeButtonGroup;