void okButton_actionPerformed(ActionEvent e) { int num_rows = filtersTable.getRowCount(); EditableDefinablePlugin edp = m_data.getPlugin(); for (int row = 0; row < num_rows; row++) { String mimeType = (String) filtersTable.getValueAt(row, 0); String mimeTypeValue = (String) filtersTable.getValueAt(row, 1); try { mimeTypeEditorBuilder.checkValue(edp, mimeType, mimeTypeValue); } catch (DynamicallyLoadedComponentException dlce) { String logMessage = "Failed to set the " + mimeTypeEditorBuilder.getValueName() + " for MIME type " + mimeType + " to " + mimeTypeValue; logger.error(logMessage, dlce); if (!EDPInspectorTableModel.handleDynamicallyLoadedComponentException(this, dlce)) { return; } else { logger.debug("User override; allow " + mimeTypeValue); } } } mimeTypeEditorBuilder.clear(edp); for (int row = 0; row < num_rows; row++) { String mimeType = (String) filtersTable.getValueAt(row, 0); String mimeTypeValue = (String) filtersTable.getValueAt(row, 1); try { mimeTypeEditorBuilder.put(edp, mimeType, mimeTypeValue); } catch (DynamicallyLoadedComponentException dlce) { String logMessage = "Internal error; MIME type " + mimeType + " not set to " + mimeTypeValue; logger.error(logMessage, dlce); } catch (PluginException.InvalidDefinition ex) { JOptionPane.showMessageDialog( this, ex.getMessage(), WordUtils.capitalize(mimeTypeEditorBuilder.getValueName()) + " Warning", JOptionPane.WARNING_MESSAGE); } } setVisible(false); }