Merge pull request #2578 from wschaeferB/2367-DisableEditProfile

2367 disable edit profile
This commit is contained in:
Richard Cordovano 2017-03-08 17:10:22 -05:00 committed by GitHub
commit fe54f03e9b

View File

@ -53,6 +53,7 @@ class ProfileSettingsPanel extends IngestModuleGlobalSettingsPanel implements Op
private final DefaultListModel<IngestProfile> profilesListModel; private final DefaultListModel<IngestProfile> profilesListModel;
private Map<String, IngestProfile> profiles; private Map<String, IngestProfile> profiles;
private ProfilePanel panel; private ProfilePanel panel;
private boolean canBeEnabled; //if something can be enabled ingest is not running
/** /**
* Creates new form ProfileOptionsPanel * Creates new form ProfileOptionsPanel
@ -63,8 +64,8 @@ class ProfileSettingsPanel extends IngestModuleGlobalSettingsPanel implements Op
this.profileList.setModel(profilesListModel); this.profileList.setModel(profilesListModel);
this.profileList.addListSelectionListener(new ProfileSettingsPanel.ProfileListSelectionListener()); this.profileList.addListSelectionListener(new ProfileSettingsPanel.ProfileListSelectionListener());
ingestWarningLabel.setVisible(false); ingestWarningLabel.setVisible(false);
editProfileButton.setEnabled(false); canBeEnabled = !IngestManager.getInstance().isIngestRunning();
deleteProfileButton.setEnabled(false); refreshButtons();
} }
/** /**
@ -315,10 +316,9 @@ class ProfileSettingsPanel extends IngestModuleGlobalSettingsPanel implements Op
* @param isEnabled * @param isEnabled
*/ */
void enableButtons(boolean isEnabled) { void enableButtons(boolean isEnabled) {
newProfileButton.setEnabled(isEnabled); canBeEnabled = isEnabled; //update value of canBeEnabled to be used by refresh
editProfileButton.setEnabled(isEnabled); refreshButtons();
deleteProfileButton.setEnabled(isEnabled); ingestWarningLabel.setVisible(!canBeEnabled);
ingestWarningLabel.setVisible(!isEnabled);
} }
/** /**
@ -334,23 +334,20 @@ class ProfileSettingsPanel extends IngestModuleGlobalSettingsPanel implements Op
this.filterNameText.setText(""); this.filterNameText.setText("");
this.selectedModulesArea.setText(""); this.selectedModulesArea.setText("");
} }
refreshEditDeleteButtons(); refreshButtons();
} }
/** /**
* When Ingest is not running this will changed enabled status of the edit * When Ingest is not running this will change the enabled status of the
* and delete buttons to reflect their current availability. * edit and delete buttons to reflect their current availability.
*/ */
private void refreshEditDeleteButtons() { private void refreshButtons() {
if (newProfileButton.isEnabled()) { IngestProfile selectedProfile = ProfileSettingsPanel.this.profileList.getSelectedValue();
if (profilesListModel.isEmpty()) { boolean profileIsSelected = (selectedProfile != null);
editProfileButton.setEnabled(false); newProfileButton.setEnabled(canBeEnabled);
deleteProfileButton.setEnabled(false); editProfileButton.setEnabled(canBeEnabled && profileIsSelected);
} else { deleteProfileButton.setEnabled(canBeEnabled && profileIsSelected);
editProfileButton.setEnabled(true);
deleteProfileButton.setEnabled(true);
}
}
} }
@ -397,7 +394,6 @@ class ProfileSettingsPanel extends IngestModuleGlobalSettingsPanel implements Op
panel.saveSettings(); panel.saveSettings();
load(); load();
} }
} }
@Override @Override
@ -423,7 +419,7 @@ class ProfileSettingsPanel extends IngestModuleGlobalSettingsPanel implements Op
if (currentIndex < 0 || currentIndex >= profilesListModel.getSize()) { if (currentIndex < 0 || currentIndex >= profilesListModel.getSize()) {
currentIndex = 0; currentIndex = 0;
} }
refreshEditDeleteButtons(); refreshButtons();
this.profileList.setSelectedIndex(currentIndex); this.profileList.setSelectedIndex(currentIndex);
} }
@ -437,11 +433,10 @@ class ProfileSettingsPanel extends IngestModuleGlobalSettingsPanel implements Op
// Get the selected interesting files set and populate the set // Get the selected interesting files set and populate the set
// components. // components.
IngestProfile selectedProfile = ProfileSettingsPanel.this.profileList.getSelectedValue(); IngestProfile selectedProfile = ProfileSettingsPanel.this.profileList.getSelectedValue();
refreshButtons();
if (selectedProfile != null) { if (selectedProfile != null) {
profileDescArea.setText(selectedProfile.getDescription()); profileDescArea.setText(selectedProfile.getDescription());
filterNameText.setText(selectedProfile.getFileIngestFilter()); filterNameText.setText(selectedProfile.getFileIngestFilter());
editProfileButton.setEnabled(true);
deleteProfileButton.setEnabled(true);
try { try {
Map<String, FilesSet> fileIngestFilters = FilesSetsManager.getInstance().getCustomFileIngestFilters(); Map<String, FilesSet> fileIngestFilters = FilesSetsManager.getInstance().getCustomFileIngestFilters();
for (FilesSet fSet : FilesSetsManager.getStandardFileIngestFilters()) { for (FilesSet fSet : FilesSetsManager.getStandardFileIngestFilters()) {
@ -455,10 +450,6 @@ class ProfileSettingsPanel extends IngestModuleGlobalSettingsPanel implements Op
for (String moduleName : IngestJobSettings.getEnabledModules(selectedProfile.getName())) { for (String moduleName : IngestJobSettings.getEnabledModules(selectedProfile.getName())) {
selectedModulesArea.append(moduleName + "\n"); selectedModulesArea.append(moduleName + "\n");
} }
} else {
editProfileButton.setEnabled(false);
deleteProfileButton.setEnabled(false);
} }
} }
} }