19 package org.sleuthkit.autopsy.ingest;
22 import java.io.FileInputStream;
23 import java.io.IOException;
24 import java.io.InputStream;
25 import java.nio.file.Path;
26 import java.nio.file.Paths;
28 import java.util.Properties;
29 import java.util.logging.Level;
30 import java.util.stream.Collectors;
31 import org.apache.commons.io.FileUtils;
32 import org.openide.modules.ModuleInstall;
51 if (instance == null) {
71 IngestMessageTopComponent.findInstance().close();
77 File legacySettingsFolder =
new File(LEGACY_INGEST_SETTINGS_PATH);
78 if (legacySettingsFolder.exists() && !settingsFolder.exists()) {
79 for (File moduleSettingsFolder : legacySettingsFolder.listFiles()) {
80 if (moduleSettingsFolder.isDirectory()) {
82 String settingsName = moduleSettingsFolder.getName();
86 Path profilePropsPath = Paths.get(LEGACY_INGEST_PROFILES_PATH, settingsName + PROPERTIES_EXT);
87 boolean isProfile = profilePropsPath.toFile().exists();
90 Properties configProps =
loadProps(configPropsPath.toFile());
93 configProps.putAll(
loadProps(profilePropsPath.toFile()));
96 Map<String, String> moduleSettingsToSave = configProps.entrySet().stream()
97 .filter(e -> e.getKey() != null)
98 .collect(Collectors.toMap(e -> e.getKey().toString(), e -> e.getValue() == null ? null : e.getValue().toString(), (v1, v2) -> v1));
100 String resourceName = isProfile ?
IngestProfiles.getExecutionContext(settingsName) : settingsName;
103 FileUtils.copyDirectory(moduleSettingsFolder,
IngestJobSettings.getSavedModuleSettingsFolder(settingsName).toFile());
104 }
catch (IOException ex) {
105 logger.log(Level.WARNING,
"There was an error upgrading settings for: " + settingsName, ex);
112 private static Properties
loadProps(File propFile)
throws IOException {
113 Properties props =
new Properties();
114 if (propFile.exists()) {
115 try (InputStream inputStream =
new FileInputStream(propFile)) {
116 props.load(inputStream);
static final String LEGACY_INGEST_PROFILES_PATH
static synchronized IngestManager getInstance()
static Properties loadProps(File propFile)
static final String PROPERTIES_EXT
static synchronized void setConfigSettings(String moduleName, Map< String, String > settings)
static final String LEGACY_INGEST_SETTINGS_PATH
static synchronized Installer getDefault()
synchronized static Logger getLogger(String name)
static final Logger logger
static Installer instance