354 List<IngestModuleFactory> moduleFactories =
new ArrayList<>();
355 List<IngestModuleFactory> allModuleFactories = IngestModuleFactoryLoader.getIngestModuleFactories();
356 HashSet<String> loadedModuleNames =
new HashSet<>();
361 moduleFactories.add(moduleFactory);
363 moduleFactories.add(moduleFactory);
364 }
else if (this.ingestType.equals(
IngestType.
FILES_ONLY) && moduleFactory.isFileIngestModuleFactory()) {
365 moduleFactories.add(moduleFactory);
370 loadedModuleNames.add(moduleFactory.getModuleDisplayName());
374 Set<String> defaultEnabledAndLoaded =
new HashSet<>();
375 Set<String> defaultDisabledAndLoaded =
new HashSet<>();
376 for (String loadedModule: loadedModuleNames) {
378 defaultDisabledAndLoaded.add(loadedModule);
380 defaultEnabledAndLoaded.add(loadedModule);
392 for (String loadedModule : loadedModuleNames) {
394 if (!enabledModuleNames.contains(loadedModule) && !disabledModuleNames.contains(loadedModule)) {
396 disabledModuleNames.add(loadedModule);
398 enabledModuleNames.add(loadedModule);
406 List<String> missingModuleNames =
new ArrayList<>();
407 for (String moduleName : enabledModuleNames) {
408 if (!loadedModuleNames.contains(moduleName)) {
409 missingModuleNames.add(moduleName);
412 for (String moduleName : disabledModuleNames) {
413 if (!loadedModuleNames.contains(moduleName)) {
414 logger.log(Level.WARNING, MessageFormat.format(
"A module marked as disabled in the ingest job settings, ''{0}'', could not be found.", moduleName));
417 for (String moduleName : missingModuleNames) {
418 enabledModuleNames.remove(moduleName);
419 disabledModuleNames.remove(moduleName);
420 String warning = NbBundle.getMessage(
IngestJobSettings.class,
"IngestJobSettings.missingModule.warning", moduleName);
421 logger.log(Level.WARNING, warning);
422 this.warnings.add(warning);
432 if (enabledModuleNames.contains(moduleName)) {
434 }
else if (disabledModuleNames.contains(moduleName)) {
441 enabledModuleNames.add(moduleName);
443 this.moduleTemplates.add(moduleTemplate);
450 String ingestModuleResource = getModuleSettingsResource(this.executionContext);
464 fileIngestFilters.put(fSet.getName(), fSet);
469 logger.log(Level.SEVERE,
"Failed to get file filter from .properties file, default filter being used", ex);
489 HashSet<String> moduleNames =
new HashSet<>();
491 if (!modulesSetting.isEmpty()) {
492 String[] settingNames = modulesSetting.split(
", ");
493 for (String name : settingNames) {
499 case "Thunderbird Parser":
501 moduleNames.add(
"Email Parser");
503 case "File Extension Mismatch Detection":
504 moduleNames.add(
"Extension Mismatch Detector");
509 moduleNames.add(
"Data Source Integrity");
511 case "Archive Extractor":
512 moduleNames.add(
"Embedded File Extractor");
514 case "Correlation Engine":
515 moduleNames.add(
"Central Repository");
518 moduleNames.add(
"Picture Analyzer");
520 case "Drone Analyzer":
521 moduleNames.add(
"DJI Drone Analyzer");
524 moduleNames.add(name);
604 HashSet<String> enabledModuleNames =
new HashSet<>();
605 HashSet<String> disabledModuleNames =
new HashSet<>();
607 saveModuleSettings(moduleTemplate.getModuleFactory(), moduleTemplate.getModuleSettings());
608 String moduleName = moduleTemplate.getModuleName();
609 if (moduleTemplate.isEnabled()) {
610 enabledModuleNames.add(moduleName);
612 disabledModuleNames.add(moduleName);
616 String ingestModuleResource = getModuleSettingsResource(this.executionContext);