diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchIngestModule.java b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchIngestModule.java index 884edb85a2..34911ec088 100644 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchIngestModule.java +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchIngestModule.java @@ -338,16 +338,21 @@ public final class KeywordSearchIngestModule implements IngestModuleAbstractFile ingester = Server.getIngester(); + //use the settings files to set values + + + + //initialize extractors stringExtractor = new AbstractFileStringExtract(); - stringExtractor.setScripts(KeywordSearchSettings.stringExtractScripts); - stringExtractor.setOptions(KeywordSearchSettings.stringExtractOptions); + stringExtractor.setScripts(KeywordSearchSettings.getStringExtractScripts()); + stringExtractor.setOptions(KeywordSearchSettings.getStringExtractOptions()); //log the scripts used for debugging final StringBuilder sbScripts = new StringBuilder(); - for (SCRIPT s : KeywordSearchSettings.stringExtractScripts) { + for (SCRIPT s : KeywordSearchSettings.getStringExtractScripts()) { sbScripts.append(s.name()).append(" "); } logger.log(Level.INFO, "Using string extract scripts: " + sbScripts.toString()); diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchSettings.java b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchSettings.java index 36b8de0fc6..1802b19329 100644 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchSettings.java +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchSettings.java @@ -41,8 +41,8 @@ public class KeywordSearchSettings { private static boolean skipKnown = true; private static final Logger logger = Logger.getLogger(KeywordSearchSettings.class.getName()); private static UpdateFrequency UpdateFreq = UpdateFrequency.AVG; - static List stringExtractScripts = new ArrayList(); - static Map stringExtractOptions = new HashMap(); + private static List stringExtractScripts = new ArrayList(); + private static Map stringExtractOptions = new HashMap(); @@ -101,11 +101,13 @@ public class KeywordSearchSettings { stringExtractScripts.clear(); stringExtractScripts.addAll(scripts); + //Disabling scripts that weren't selected for(String s : ModuleSettings.getConfigSettings(PROPERTIES_SCRIPTS).keySet()){ if (! scripts.contains(StringExtract.StringExtractUnicodeTable.SCRIPT.valueOf(s))){ ModuleSettings.setConfigSetting(PROPERTIES_SCRIPTS, s, "false"); } } + //Writing and enabling selected scripts for(StringExtract.StringExtractUnicodeTable.SCRIPT s : stringExtractScripts){ ModuleSettings.setConfigSetting(PROPERTIES_SCRIPTS, s.name(), "true"); } @@ -158,6 +160,20 @@ public class KeywordSearchSettings { return stringExtractOptions.get(key); } } + + /** + * get the map of string extract options. + * @return Map of extract options. + */ + static Map getStringExtractOptions(){ + Map settings = ModuleSettings.getConfigSettings(PROPERTIES_OPTIONS); + if(settings == null){ + logger.log(Level.WARNING, "Could not read properties for " + PROPERTIES_OPTIONS + ".properties, returning backup values"); + settings.clear(); + settings.putAll(stringExtractOptions); + } + return settings; + } /** * Sets the default values of the KeywordSearch properties files if none already exist. */