3710 editing a file filter without adding any new ones no longer uses stale filter

This commit is contained in:
William Schaefer 2018-03-30 17:24:56 -04:00
parent 90f41884dc
commit 2ea0cb0bb0

View File

@ -72,8 +72,8 @@ public final class IngestJobSettingsPanel extends javax.swing.JPanel {
private static final Logger logger = Logger.getLogger(IngestJobSettingsPanel.class.getName());
/**
* Construct a panel to allow a user to make ingest job settings.
* This constructor assumes there is no ingest history.
* Construct a panel to allow a user to make ingest job settings. This
* constructor assumes there is no ingest history.
*
* @param settings The initial settings for the ingest job.
*/
@ -88,8 +88,8 @@ public final class IngestJobSettingsPanel extends javax.swing.JPanel {
}
/**
* Construct a panel to allow a user to make ingest job settings.
* This constructor enables tracking of ingest job history.
* Construct a panel to allow a user to make ingest job settings. This
* constructor enables tracking of ingest job history.
*
* @param settings The initial settings for the ingest job.
* @param dataSources The data sources ingest is being run on.
@ -423,16 +423,20 @@ public final class IngestJobSettingsPanel extends javax.swing.JPanel {
} catch (FilesSetsManager.FilesSetsManagerException ex) {
logger.log(Level.SEVERE, "Failed to get user created file ingest filters, only default available for selection", ex); //NON-NLS
}
String filterToSelect = settings.getFileFilter().getName();
for (FilesSet filter : newFilterList) { //getting one of the recently created filters
if (!oldFilterList.contains(filter.getName())) {
//set newly created filter to selected filter
settings.setFileFilter(filter);
filterToSelect = filter.getName();
break;
}
}
fileIngestFilterComboBox.setModel(new DefaultComboBoxModel<>(getComboBoxContents()));
//set the selected filter after the comboBox Contents were updated to include it
fileIngestFilterComboBox.setSelectedItem(settings.getFileFilter().getName());
fileIngestFilterComboBox.setSelectedItem(filterToSelect);
//refresh the saved filter in use case where the selected modified filter
//has the same name as a previously existing filter
updateSelectedFilter(filterToSelect);
dialog.close();
}
);
@ -440,6 +444,11 @@ public final class IngestJobSettingsPanel extends javax.swing.JPanel {
//return to saved selection in case they cancel out of filter creation
fileIngestFilterComboBox.setSelectedItem(settings.getFileFilter().getName());
} else if (evt.getActionCommand().equals("comboBoxChanged")) {
updateSelectedFilter(fileIngestFilterComboBox.getSelectedItem().toString());
}
}//GEN-LAST:event_fileIngestFilterComboBoxActionPerformed
private void updateSelectedFilter(String filterName) {
try {
Map<String, FilesSet> fileIngestFilters = FilesSetsManager.getInstance()
.getCustomFileIngestFilters();
@ -447,13 +456,12 @@ public final class IngestJobSettingsPanel extends javax.swing.JPanel {
fileIngestFilters.put(fSet.getName(), fSet);
}
settings.setFileFilter(fileIngestFilters
.get(fileIngestFilterComboBox.getSelectedItem().toString()));
.get(filterName));
} catch (FilesSetsManager.FilesSetsManagerException ex) {
settings.setFileFilter(FilesSetsManager.getDefaultFilter());
logger.log(Level.SEVERE, "Failed to get file ingest filter from combobox selection, default filter being used", ex); //NON-NLS
}
}
}//GEN-LAST:event_fileIngestFilterComboBoxActionPerformed
/**
* Returns an array which will contain the names of all options which should