コード例 #1
0
ファイル: TskData.java プロジェクト: WalKnDude/sleuthkit
 /**
  * Convert object type short value to the enum type
  *
  * @param objectType long value to convert
  * @return the enum type
  */
 public static ObjectType valueOf(short objectType) {
   for (ObjectType v : ObjectType.values()) {
     if (v.objectType == objectType) {
       return v;
     }
   }
   throw new IllegalArgumentException("No ObjectType of value: " + objectType);
 }
コード例 #2
0
  // region Constructor
  public ImportTableDialog(
      final Connection connection,
      String tableName,
      Iterable<TypedColumn> columns,
      final Iterable<String> columnFamilies) {
    setContentPane(this.contentPane);
    setModal(true);
    setTitle("Import table from file");
    getRootPane().setDefaultButton(this.btImport);

    this.tfTableName.setText(tableName);
    this.tfFilePath.setText(String.format("%s.csv", tableName));

    this.tableModel = new DefaultTableModel();
    this.rowsTable.setModel(this.tableModel);

    this.tableModel.addColumn("Column Name");
    this.tableModel.addColumn("Column Type");
    this.rowsTable.setRowHeight(this.rowsTable.getFont().getSize() + 8);
    this.rowsTable.setAutoResizeMode(JTable.AUTO_RESIZE_SUBSEQUENT_COLUMNS);

    JComboBox comboBox = new JComboBox();

    for (ObjectType objectType : ObjectType.values()) {
      comboBox.addItem(objectType);
    }

    this.rowsTable.getColumn("Column Name").setCellEditor(new JCellEditor(null, false));
    this.rowsTable.getColumn("Column Type").setCellEditor(new DefaultCellEditor(comboBox));

    for (TypedColumn typedColumn : columns) {
      this.tableModel.addRow(new Object[] {typedColumn.getColumn(), typedColumn.getType(), null});
    }

    this.rowsTable
        .getSelectionModel()
        .addListSelectionListener(
            new ListSelectionListener() {
              @Override
              public void valueChanged(ListSelectionEvent e) {
                ImportTableDialog.this.btRemoveColumn.setEnabled(e.getFirstIndex() != -1);
              }
            });

    this.btImport.addActionListener(
        new ActionListener() {
          @Override
          public void actionPerformed(ActionEvent e) {
            if (validateInput()) {
              onImport(connection);
            }
          }
        });

    this.btClose.addActionListener(
        new ActionListener() {
          @Override
          public void actionPerformed(ActionEvent e) {
            dispose();
          }
        });

    // call onCancel() when cross is clicked
    setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
    addWindowListener(
        new WindowAdapter() {
          @Override
          public void windowClosing(WindowEvent e) {
            dispose();
          }
        });

    // call onCancel() on ESCAPE
    this.contentPane.registerKeyboardAction(
        new ActionListener() {
          @Override
          public void actionPerformed(ActionEvent e) {
            dispose();
          }
        },
        KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0),
        JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT);

    this.btBrowse.addActionListener(
        new ActionListener() {
          @Override
          public void actionPerformed(ActionEvent e) {
            JFileChooser dialog = new JFileChooser();
            dialog.setCurrentDirectory(new File("."));
            dialog.setSelectedFile(new File(ImportTableDialog.this.tfFilePath.getText()));

            int returnVal = dialog.showSaveDialog(ImportTableDialog.this.contentPane);

            if (returnVal == JFileChooser.APPROVE_OPTION) {
              ImportTableDialog.this.tfFilePath.setText(dialog.getSelectedFile().getAbsolutePath());
            }
          }
        });

    this.btAddColumn.addActionListener(
        new ActionListener() {
          @Override
          public void actionPerformed(ActionEvent e) {
            stopCellEditing(ImportTableDialog.this.rowsTable);

            AddColumnDialog dialog = new AddColumnDialog(columnFamilies);
            dialog.showDialog(ImportTableDialog.this);

            String columnName = dialog.getColumnName();
            if (columnName != null) {
              int rowIndex = getRowIndex(ImportTableDialog.this.rowsTable, 1, columnName);
              if (rowIndex == -1) {
                ImportTableDialog.this.tableModel.addRow(
                    new Object[] {columnName, ObjectType.String, null});
                rowIndex = ImportTableDialog.this.tableModel.getRowCount() - 1;
              }

              ImportTableDialog.this.rowsTable.setRowSelectionInterval(rowIndex, rowIndex);
            }
          }
        });

    this.btRemoveColumn.addActionListener(
        new ActionListener() {
          @Override
          public void actionPerformed(ActionEvent e) {
            int selectedRow = ImportTableDialog.this.rowsTable.getSelectedRow();

            while (selectedRow != -1) {
              ImportTableDialog.this.tableModel.removeRow(selectedRow);
              selectedRow = ImportTableDialog.this.rowsTable.getSelectedRow();
            }

            ImportTableDialog.this.btRemoveColumn.setEnabled(false);
          }
        });

    this.btCancel.addActionListener(
        new ActionListener() {
          @Override
          public void actionPerformed(ActionEvent e) {
            ImportTableDialog.this.canceled = true;
          }
        });
  }