19 package org.sleuthkit.autopsy.ingest;
21 import java.awt.GraphicsEnvironment;
23 import java.io.FileInputStream;
24 import java.io.IOException;
25 import java.io.InputStream;
26 import java.nio.file.Path;
27 import java.nio.file.Paths;
29 import java.util.Properties;
30 import java.util.logging.Level;
31 import java.util.stream.Collectors;
32 import org.apache.commons.io.FileUtils;
33 import org.openide.modules.ModuleInstall;
52 if (instance == null) {
72 if (!GraphicsEnvironment.isHeadless()) {
73 IngestMessageTopComponent.findInstance().close();
80 File legacySettingsFolder =
new File(LEGACY_INGEST_SETTINGS_PATH);
81 if (legacySettingsFolder.exists() && !settingsFolder.
exists()) {
82 for (
File moduleSettingsFolder : legacySettingsFolder.
listFiles()) {
83 if (moduleSettingsFolder.isDirectory()) {
85 String settingsName = moduleSettingsFolder.getName();
89 Path profilePropsPath = Paths.get(LEGACY_INGEST_PROFILES_PATH, settingsName + PROPERTIES_EXT);
90 boolean isProfile = profilePropsPath.toFile().exists();
93 Properties configProps =
loadProps(configPropsPath.toFile());
96 configProps.putAll(
loadProps(profilePropsPath.toFile()));
99 Map<String, String> moduleSettingsToSave = configProps.entrySet().stream()
100 .filter(e -> e.getKey() != null)
101 .collect(Collectors.toMap(e -> e.getKey().toString(), e -> e.getValue() == null ? null : e.getValue().toString(), (v1, v2) -> v1));
103 String resourceName = isProfile ?
IngestProfiles.getExecutionContext(settingsName) : settingsName;
106 FileUtils.copyDirectory(moduleSettingsFolder,
IngestJobSettings.getSavedModuleSettingsFolder(settingsName).toFile());
107 }
catch (IOException ex) {
108 logger.log(Level.WARNING,
"There was an error upgrading settings for: " + settingsName, ex);
116 Properties props =
new Properties();
117 if (propFile.exists()) {
118 try (InputStream inputStream =
new FileInputStream(propFile)) {
119 props.load(inputStream);
static final String LEGACY_INGEST_PROFILES_PATH
static synchronized IngestManager getInstance()
static Properties loadProps(File propFile)
List< AbstractFile > listFiles()
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