19 package com.basistech.df.cybertriage.autopsy.malwarescan;
 
   23 import java.util.Optional;
 
   31 @SuppressWarnings(
"PMD.SingularField") 
 
   34     private final CTLicensePersistence ctPersistence = CTLicensePersistence.getInstance();
 
   36     MalwareScanIngestSettingsPanel(MalwareScanIngestSettings settings) {
 
   38         customizeComponents(settings);
 
   46     private void customizeComponents(MalwareScanIngestSettings settings) {
 
   47         Optional<LicenseInfo> licenseInfoOpt = ctPersistence.loadLicenseInfo();
 
   48         LicenseInfo licenseInfo = licenseInfoOpt.orElse(null);
 
   49         if (licenseInfo != null) {
 
   50             this.paidLicenseTextArea.setVisible(
false);
 
   51             this.queryFilesCheckbox.setVisible(
true);
 
   52             this.queryFilesCheckbox.setEnabled(
false);
 
   53             this.uploadFilesCheckbox.setVisible(
true);
 
   54             this.queryFilesCheckbox.setSelected(
true);
 
   55             this.uploadFilesCheckbox.setSelected(settings.shouldUploadFiles());
 
   57             this.paidLicenseTextArea.setVisible(
true);
 
   58             this.queryFilesCheckbox.setVisible(
false);
 
   59             this.uploadFilesCheckbox.setVisible(
false);       
 
   65         return new MalwareScanIngestSettings(queryFilesCheckbox.isSelected(), uploadFilesCheckbox.isSelected());
 
   73     @SuppressWarnings(
"unchecked")
 
   75     private 
void initComponents() {
 
   77         queryFilesCheckbox = 
new javax.swing.JCheckBox();
 
   78         uploadFilesCheckbox = 
new javax.swing.JCheckBox();
 
   79         ingestSettingsLabel = 
new javax.swing.JLabel();
 
   80         paidLicenseTextArea = 
new javax.swing.JTextArea();
 
   82         setPreferredSize(
new java.awt.Dimension(300, 155));
 
   84         queryFilesCheckbox.setSelected(
true);
 
   85         org.openide.awt.Mnemonics.setLocalizedText(queryFilesCheckbox, 
org.openide.util.NbBundle.getMessage(MalwareScanIngestSettingsPanel.class, 
"MalwareScanIngestSettingsPanel.queryFilesCheckbox.text")); 
 
   86         queryFilesCheckbox.setEnabled(
false);
 
   88         org.openide.awt.Mnemonics.setLocalizedText(uploadFilesCheckbox, 
org.openide.util.NbBundle.getMessage(MalwareScanIngestSettingsPanel.class, 
"MalwareScanIngestSettingsPanel.uploadFilesCheckbox.text")); 
 
   89         uploadFilesCheckbox.setFocusable(
false);
 
   90         uploadFilesCheckbox.setLabel(
org.openide.util.NbBundle.getMessage(MalwareScanIngestSettingsPanel.class, 
"MalwareScanIngestSettingsPanel.uploadFilesCheckbox.label")); 
 
   92         ingestSettingsLabel.setFont(ingestSettingsLabel.getFont().deriveFont(ingestSettingsLabel.getFont().getStyle() | java.awt.Font.BOLD));
 
   93         org.openide.awt.Mnemonics.setLocalizedText(ingestSettingsLabel, 
org.openide.util.NbBundle.getMessage(MalwareScanIngestSettingsPanel.class, 
"MalwareScanIngestSettingsPanel.ingestSettingsLabel.text")); 
 
   95         paidLicenseTextArea.setColumns(20);
 
   96         paidLicenseTextArea.setFont(
new java.awt.Font(
"Segoe UI", 1, 12)); 
 
   97         paidLicenseTextArea.setRows(5);
 
   98         paidLicenseTextArea.setText(
org.openide.util.NbBundle.getMessage(MalwareScanIngestSettingsPanel.class, 
"MalwareScanIngestSettingsPanel.paidLicenseTextArea.text")); 
 
   99         paidLicenseTextArea.setWrapStyleWord(
true);
 
  100         paidLicenseTextArea.setBorder(null);
 
  101         paidLicenseTextArea.setCursor(
new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
 
  102         paidLicenseTextArea.setFocusable(
false);
 
  103         paidLicenseTextArea.setOpaque(
false);
 
  104         paidLicenseTextArea.setRequestFocusEnabled(
false);
 
  106         javax.swing.GroupLayout layout = 
new javax.swing.GroupLayout(
this);
 
  107         this.setLayout(layout);
 
  108         layout.setHorizontalGroup(
 
  109             layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
 
  110             .addGroup(layout.createSequentialGroup()
 
  111                 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
 
  112                     .addGroup(layout.createSequentialGroup()
 
  114                         .addComponent(ingestSettingsLabel))
 
  115                     .addGroup(layout.createSequentialGroup()
 
  117                         .addComponent(uploadFilesCheckbox))
 
  118                     .addGroup(layout.createSequentialGroup()
 
  120                         .addComponent(queryFilesCheckbox))
 
  121                     .addGroup(layout.createSequentialGroup()
 
  123                         .addComponent(paidLicenseTextArea, javax.swing.GroupLayout.PREFERRED_SIZE, 243, javax.swing.GroupLayout.PREFERRED_SIZE)))
 
  124                 .addGap(185, 185, 185))
 
  126         layout.setVerticalGroup(
 
  127             layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
 
  128             .addGroup(layout.createSequentialGroup()
 
  130                 .addComponent(ingestSettingsLabel)
 
  132                 .addComponent(queryFilesCheckbox)
 
  133                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
 
  134                 .addComponent(uploadFilesCheckbox)
 
  136                 .addComponent(paidLicenseTextArea, javax.swing.GroupLayout.PREFERRED_SIZE, 32, javax.swing.GroupLayout.PREFERRED_SIZE))
 
  139         uploadFilesCheckbox.getAccessibleContext().setAccessibleName(
org.openide.util.NbBundle.getMessage(MalwareScanIngestSettingsPanel.class, 
"MalwareScanIngestSettingsPanel.uploadFilesCheckbox.AccessibleContext.accessibleName")); 
 
  143     private javax.swing.JLabel ingestSettingsLabel;
 
  144     private javax.swing.JTextArea paidLicenseTextArea;
 
  145     private javax.swing.JCheckBox queryFilesCheckbox;
 
  146     private javax.swing.JCheckBox uploadFilesCheckbox;