private void openDD() {
   FileOpenDialog dialog = new FileOpenDialog(frame);
   dialog.setVisible(true);
   final File file = dialog.getFile();
   dialog.dispose();
   try {
     DataDictionary d = new DataDictionary(file.getAbsolutePath());
     dataDictionary.setDataDictionary(d);
     currentModel.viewAll();
     //            TableColumnModel columnModel = currentTable.getColumnModel();
     //            int columnCount = columnModel.getColumnCount();
     //            for (int i = 0; i < columnCount; i++) {
     //
     // columnModel.getColumn(i).setHeaderValue(columnModel.getColumn(i).getHeaderValue());
     //            }
     //            currentModel.fireTableChanged(new TableModelEvent(currentModel, 0,
     // currentModel.getRowCount()));
     //            currentTable.repaint();
   } catch (Exception e) {
     e.printStackTrace();
   }
 }
  private boolean applyFilter(FieldFilter fieldFilter) {
    if (currentModel == null) return false;

    boolean result = false;
    ArrayList filter = (ArrayList) currentModel.getFilter().clone();
    if (fieldFilter != null) filter.add(fieldFilter);

    CustomFilterDialog dialog =
        new CustomFilterDialog(
            frame, filter, currentModel.getTags(), dataDictionary.getDataDictionary());

    dialog.setVisible(true);
    filter = dialog.getFilter();
    if (filter != null) {
      currentModel.filter(filter);
      result = true;
    } else {
      menuBar.undo();
      result = false;
    }
    dialog.dispose();
    return result;
  }