114 File[] directoryListing = dir.listFiles((file) -> file.getName() !=
null && file.getName().startsWith(getIngestProfilePrefix()) && file.isFile());
115 List<IngestProfile> profileList =
new ArrayList<>();
116 if (directoryListing !=
null) {
117 for (File child : directoryListing) {
118 String resourceName = FilenameUtils.removeExtension(child.getName());
120 String moduleSettingsResource =
IngestJobSettings.getModuleSettingsResource(resourceName);
123 profileList.add(
new IngestProfile(profileName, desc, fileIngestFilter));
143 public static final class IngestProfile {
156 IngestProfile(String
name, String desc, String selectedFilter) {
158 this.description = desc;
159 this.fileIngestFilter = selectedFilter;
204 synchronized static void deleteProfile(
IngestProfile selectedProfile) {
205 deleteProfile(selectedProfile.getName());
213 synchronized static void deleteProfile(String profileName) {
217 Files.deleteIfExists(rootSettingsFile.toPath());
218 FileUtils.deleteDirectory(settingsDirectory);
219 }
catch (IOException ex) {
220 logger.log(Level.WARNING,
"Error deleting directory for profile " + profileName, ex);
230 synchronized static void renameProfile(String oldName, String newName) {
231 if (!oldName.equals(newName)) {
234 oldRootSettings.renameTo(newRootSettings);
238 oldSettingsFolder.renameTo(newSettingsFolder);
247 synchronized static void saveProfile(IngestProfile profile) {
248 String context = IngestJobSettings.getModuleSettingsResource(getExecutionContext(profile.getName()));
249 ModuleSettings.setConfigSetting(context,
PROFILE_NAME_KEY, profile.getName());
250 ModuleSettings.setConfigSetting(context,
PROFILE_DESC_KEY, profile.getDescription());
251 ModuleSettings.setConfigSetting(context,
PROFILE_FILTER_KEY, profile.getFileIngestFilter());