Skip to content
Snippets Groups Projects
Commit b4778d2c authored by Greg DiCristofaro's avatar Greg DiCristofaro
Browse files

ingest installer

parent 962699c0
No related branches found
No related tags found
No related merge requests found
...@@ -24,9 +24,13 @@ ...@@ -24,9 +24,13 @@
import java.io.InputStream; import java.io.InputStream;
import java.nio.file.Path; import java.nio.file.Path;
import java.nio.file.Paths; import java.nio.file.Paths;
import java.util.Map;
import java.util.Properties; import java.util.Properties;
import java.util.stream.Collectors;
import org.apache.commons.io.FileUtils;
import org.openide.modules.ModuleInstall; import org.openide.modules.ModuleInstall;
import org.sleuthkit.autopsy.coreutils.Logger; import org.sleuthkit.autopsy.coreutils.Logger;
import org.sleuthkit.autopsy.coreutils.ModuleSettings;
import org.sleuthkit.autopsy.coreutils.PlatformUtil; import org.sleuthkit.autopsy.coreutils.PlatformUtil;
/** /**
...@@ -71,23 +75,33 @@ private void upgradeSettings() { ...@@ -71,23 +75,33 @@ private void upgradeSettings() {
File settingsFolder = new File(IngestJobSettings.getBaseSettingsPath()); File settingsFolder = new File(IngestJobSettings.getBaseSettingsPath());
File legacySettingsFolder = new File(LEGACY_INGEST_SETTINGS_PATH); File legacySettingsFolder = new File(LEGACY_INGEST_SETTINGS_PATH);
if (legacySettingsFolder.exists() && !settingsFolder.exists()) { if (legacySettingsFolder.exists() && !settingsFolder.exists()) {
for (File moduleSettings : legacySettingsFolder.listFiles()) { for (File moduleSettingsFolder : legacySettingsFolder.listFiles()) {
if (moduleSettings.isDirectory()) { if (moduleSettingsFolder.isDirectory()) {
// get the settings name from the folder name (will be the same for any properties files). // get the settings name from the folder name (will be the same for any properties files).
String settingsName = moduleSettings.getName(); String settingsName = moduleSettingsFolder.getName();
Path configPropsPath = Paths.get(PlatformUtil.getUserConfigDirectory(), settingsName + PROPERTIES_EXT); try {
Path profilePropsPath = Paths.get(LEGACY_INGEST_PROFILES_PATH, settingsName + PROPERTIES_EXT); Path configPropsPath = Paths.get(PlatformUtil.getUserConfigDirectory(), settingsName + PROPERTIES_EXT);
boolean isProfile = profilePropsPath.toFile().exists(); Path profilePropsPath = Paths.get(LEGACY_INGEST_PROFILES_PATH, settingsName + PROPERTIES_EXT);
boolean isProfile = profilePropsPath.toFile().exists();
// load properties
Properties configProps = loadProps(configPropsPath.toFile()); // load properties
Properties configProps = loadProps(configPropsPath.toFile());
if (isProfile) {
configProps.putAll(loadProps(profilePropsPath.toFile())); if (isProfile) {
configProps.putAll(loadProps(profilePropsPath.toFile()));
}
Map<String, String> moduleSettingsToSave = configProps.entrySet().stream()
.filter(e -> e.getKey() != null)
.collect(Collectors.toMap(e -> e.getKey().toString(), e -> e.getValue() == null ? null : e.getValue().toString(), (v1, v2) -> v1));
ModuleSettings.setConfigSettings(IngestJobSettings.getModuleSettingsResource(settingsName), moduleSettingsToSave);
FileUtils.copyDirectory(moduleSettingsFolder, IngestJobSettings.getSavedModuleSettingsFolder(settingsName).toFile());
} catch (IOException ex) {
logger.log(Level.WARNING, "There was an error upgrading settings for: " + settingsName, ex);
} }
} }
} }
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment