19 package org.sleuthkit.autopsy.core;
21 import java.nio.file.Paths;
23 import java.util.prefs.BackingStoreException;
25 import java.util.prefs.PreferenceChangeListener;
26 import java.util.prefs.Preferences;
27 import org.openide.util.NbPreferences;
28 import org.python.icu.util.TimeZone;
75 private static final String
APP_NAME =
"AppName";
77 private static final String
MODE =
"AutopsyMode";
149 preferences.addPreferenceChangeListener(listener);
153 preferences.removePreferenceChangeListener(listener);
157 return preferences.getBoolean(KEEP_PREFERRED_VIEWER,
false);
161 preferences.putBoolean(KEEP_PREFERRED_VIEWER, value);
165 return preferences.getBoolean(HIDE_KNOWN_FILES_IN_DATA_SRCS_TREE,
false);
169 preferences.putBoolean(HIDE_KNOWN_FILES_IN_DATA_SRCS_TREE, value);
173 return preferences.getBoolean(HIDE_KNOWN_FILES_IN_VIEWS_TREE,
true);
177 preferences.putBoolean(HIDE_KNOWN_FILES_IN_VIEWS_TREE, value);
181 return preferences.getBoolean(HIDE_SLACK_FILES_IN_DATA_SRCS_TREE,
true);
185 preferences.putBoolean(HIDE_SLACK_FILES_IN_DATA_SRCS_TREE, value);
189 return preferences.getBoolean(HIDE_SLACK_FILES_IN_VIEWS_TREE,
true);
193 preferences.putBoolean(HIDE_SLACK_FILES_IN_VIEWS_TREE, value);
197 return preferences.getBoolean(DISPLAY_TIMES_IN_LOCAL_TIME,
true);
201 preferences.putBoolean(DISPLAY_TIMES_IN_LOCAL_TIME, value);
205 return preferences.get(TIME_ZONE_FOR_DISPLAYS, TimeZone.GMT_ZONE.getID());
209 preferences.put(TIME_ZONE_FOR_DISPLAYS, timeZone);
213 return preferences.getInt(NUMBER_OF_FILE_INGEST_THREADS, 2);
217 preferences.putInt(NUMBER_OF_FILE_INGEST_THREADS, value);
222 return preferences.getBoolean(GROUP_ITEMS_IN_TREE_BY_DATASOURCE,
false);
227 preferences.putBoolean(GROUP_ITEMS_IN_TREE_BY_DATASOURCE, value);
237 return preferences.getBoolean(SHOW_ONLY_CURRENT_USER_TAGS,
false);
247 preferences.putBoolean(SHOW_ONLY_CURRENT_USER_TAGS, value);
258 return preferences.getBoolean(HIDE_SCO_COLUMNS,
false);
269 preferences.putBoolean(HIDE_SCO_COLUMNS, value);
273 preferences.putBoolean(DISPLAY_TRANSLATED_NAMES, value);
277 return preferences.getBoolean(DISPLAY_TRANSLATED_NAMES, DISPLAY_TRANSLATED_NAMES_DEFAULT);
290 dbType = DbType.valueOf(preferences.get(EXTERNAL_DATABASE_TYPE,
"POSTGRESQL"));
291 }
catch (Exception ex) {
292 dbType = DbType.SQLITE;
295 return new CaseDbConnectionInfo(
296 preferences.get(EXTERNAL_DATABASE_HOSTNAME_OR_IP,
""),
297 preferences.get(EXTERNAL_DATABASE_PORTNUMBER,
"5432"),
298 preferences.get(EXTERNAL_DATABASE_USER,
""),
302 throw new UserPreferencesException(
"Failure converting password hex text to text.", ex);
315 preferences.put(EXTERNAL_DATABASE_HOSTNAME_OR_IP, connectionInfo.getHost());
316 preferences.put(EXTERNAL_DATABASE_PORTNUMBER, connectionInfo.getPort());
317 preferences.put(EXTERNAL_DATABASE_USER, connectionInfo.getUserName());
323 preferences.put(EXTERNAL_DATABASE_TYPE, connectionInfo.getDbType().toString());
327 preferences.putBoolean(IS_MULTI_USER_MODE_ENABLED, enabled);
331 return preferences.getBoolean(IS_MULTI_USER_MODE_ENABLED,
false);
335 return preferences.get(SOLR8_SERVER_HOST,
"");
339 preferences.put(SOLR8_SERVER_HOST, hostName);
343 return preferences.get(SOLR8_SERVER_PORT,
"8983");
347 preferences.putInt(SOLR8_SERVER_PORT, port);
351 return preferences.get(SOLR4_SERVER_HOST,
"");
355 preferences.put(SOLR4_SERVER_HOST, hostName);
359 return preferences.get(SOLR4_SERVER_PORT,
"");
363 preferences.put(SOLR4_SERVER_PORT, port);
367 return preferences.get(ZK_SERVER_HOST,
"");
371 preferences.put(ZK_SERVER_HOST, hostName);
375 return preferences.get(ZK_SERVER_PORT,
"9983");
379 preferences.put(ZK_SERVER_PORT, port);
383 preferences.put(TEXT_TRANSLATOR_NAME, textTranslatorName);
387 return preferences.get(TEXT_TRANSLATOR_NAME, null);
391 preferences.putBoolean(OCR_TRANSLATION_ENABLED, enableOcr);
395 return preferences.getBoolean(OCR_TRANSLATION_ENABLED,
true);
406 preferences.put(MESSAGE_SERVICE_HOST, info.getHost());
407 preferences.put(MESSAGE_SERVICE_PORT, Integer.toString(info.getPort()));
408 preferences.put(MESSAGE_SERVICE_USER, info.getUserName());
426 port = Integer.parseInt(preferences.get(MESSAGE_SERVICE_PORT, DEFAULT_PORT_STRING));
427 }
catch (NumberFormatException ex) {
434 preferences.get(MESSAGE_SERVICE_HOST,
""),
436 preferences.get(MESSAGE_SERVICE_USER,
""),
439 throw new UserPreferencesException(
"Failed to convert password hex text to text.", ex);
449 int timeOut = preferences.getInt(PROCESS_TIME_OUT_HOURS, DEFAULT_PROCESS_TIMEOUT_HR);
465 preferences.putInt(PROCESS_TIME_OUT_HOURS, value);
476 boolean enabled = preferences.getBoolean(PROCESS_TIME_OUT_ENABLED,
false);
488 preferences.putBoolean(PROCESS_TIME_OUT_ENABLED, enabled);
506 preferences.put(APP_NAME, name);
515 return preferences.getInt(MAX_NUM_OF_LOG_FILE, LOG_FILE_NUM_INT);
533 preferences.putInt(MAX_NUM_OF_LOG_FILE, count);
542 return preferences.getInt(SOLR_MAX_JVM_SIZE, DEFAULT_SOLR_HEAP_SIZE_MB);
551 preferences.putInt(SOLR_MAX_JVM_SIZE, maxSize);
560 return preferences.getInt(RESULTS_TABLE_PAGE_SIZE, 10_000);
569 preferences.putInt(RESULTS_TABLE_PAGE_SIZE, pageSize);
578 preferences.put(EXTERNAL_HEX_EDITOR_PATH, executablePath);
588 return preferences.get(EXTERNAL_HEX_EDITOR_PATH, Paths.get(
"C:",
"Program Files",
"HxD",
"HxD.exe").toString());
597 preferences.putInt(GEO_TILE_OPTION, option);
606 return preferences.getInt(GEO_TILE_OPTION, 0);
615 preferences.put(GEO_OSM_TILE_ZIP_PATH, absolutePath);
625 return preferences.get(GEO_OSM_TILE_ZIP_PATH,
"");
634 preferences.put(GEO_OSM_SERVER_ADDRESS, address);
643 return preferences.get(GEO_OSM_SERVER_ADDRESS,
"");
652 preferences.put(GEO_MBTILES_FILE_PATH, absolutePath);
661 return preferences.get(GEO_MBTILES_FILE_PATH,
"");
671 .toAbsolutePath().toString();
680 preferences.put(HEALTH_MONITOR_REPORT_PATH, reportPath);
689 return preferences.get(HEALTH_MONITOR_REPORT_PATH,
"");
static void setZkServerHost(String hostName)
static synchronized String getConfigSetting(String moduleName, String settingName)
static final int DEFAULT_SOLR_HEAP_SIZE_MB
static boolean getUseOcrInTranslation()
static final String HIDE_SLACK_FILES_IN_VIEWS_TREE
static int getDefaultLogFileCount()
static void setGroupItemsInTreeByDatasource(boolean value)
static final boolean DISPLAY_TRANSLATED_NAMES_DEFAULT
static String getGeolocationOsmZipPath()
static final String HIDE_KNOWN_FILES_IN_VIEWS_TREE
static void setProcessTimeOutHrs(int value)
static void setZkServerPort(String port)
static void setKeepPreferredContentViewer(boolean value)
static String getExternalHexEditorPath()
static String getAppTempDirectory()
static int getProcessTimeOutHrs()
static String getSolr4ServerPort()
static String getTextTranslatorName()
static final String HIDE_SCO_COLUMNS
static boolean hideSlackFilesInDataSourcesTree()
static final int DEFAULT_PROCESS_TIMEOUT_HR
static String getIndexingServerPort()
static String getZkServerPort()
static final String SOLR_MAX_JVM_SIZE
static final String GROUP_ITEMS_IN_TREE_BY_DATASOURCE
static void setNumberOfFileIngestThreads(int value)
static String getAppName()
static void reloadFromStorage()
static void setGeolocationTileOption(int option)
static void setDisplayTimesInLocalTime(boolean value)
static final String EXTERNAL_DATABASE_NAME
static final String EXTERNAL_DATABASE_USER
static int getLogFileCount()
static final String TEXT_TRANSLATOR_NAME
static void setMode(SelectedMode mode)
static final String GEO_OSM_TILE_ZIP_PATH
static boolean groupItemsInTreeByDatasource()
static final String DEFAULT_PORT_STRING
static void setUseOcrInTranslation(boolean enableOcr)
static boolean getIsMultiUserModeEnabled()
static void setHideSlackFilesInViewsTree(boolean value)
static void setHealthMonitorReportPath(String reportPath)
static CaseDbConnectionInfo getDatabaseConnectionInfo()
static final String SHOW_ONLY_CURRENT_USER_TAGS
static boolean keepPreferredContentViewer()
static String getZkServerHost()
static boolean hideKnownFilesInViewsTree()
static void setHideSCOColumns(boolean value)
static void setIsTimeOutEnabled(boolean enabled)
static void setMaxSolrVMSize(int maxSize)
static void setSolr4ServerPort(String port)
static void setResultsTablePageSize(int pageSize)
static String getGeolocationMBTilesFilePath()
static final String HIDE_KNOWN_FILES_IN_DATA_SRCS_TREE
static int getMaxSolrVMSize()
static final String EXTERNAL_HEX_EDITOR_PATH
static void setIsMultiUserModeEnabled(boolean enabled)
static final String SETTINGS_PROPERTIES
static void removeChangeListener(PreferenceChangeListener listener)
static void setMessageServiceConnectionInfo(MessageServiceConnectionInfo info)
static synchronized boolean settingExists(String moduleName, String settingName)
static final String IS_MULTI_USER_MODE_ENABLED
static final String NUMBER_OF_FILE_INGEST_THREADS
static boolean showOnlyCurrentUserTags()
static void setHideKnownFilesInViewsTree(boolean value)
static boolean getIsTimeOutEnabled()
static int numberOfFileIngestThreads()
static final Preferences preferences
static final String DISPLAY_TIMES_IN_LOCAL_TIME
static void setTextTranslatorName(String textTranslatorName)
static final String SOLR8_SERVER_PORT
static void setAppName(String name)
static final String OCR_TRANSLATION_ENABLED
static boolean displayTranslatedFileNames()
static String getHealthMonitorReportPath()
static final int DEFAULT_PORT_INT
static void setDatabaseConnectionInfo(CaseDbConnectionInfo connectionInfo)
static final String EXTERNAL_DATABASE_PORTNUMBER
static final String PROCESS_TIME_OUT_ENABLED
static void setTimeZoneForDisplays(String timeZone)
static final String KEEP_PREFERRED_VIEWER
static synchronized void setConfigSetting(String moduleName, String settingName, String settingVal)
static final String SOLR8_SERVER_HOST
static final String RESULTS_TABLE_PAGE_SIZE
static final String GEO_MBTILES_FILE_PATH
static final String MESSAGE_SERVICE_PORT
static void saveToStorage()
static void setIndexingServerHost(String hostName)
static void setDisplayTranslatedFileNames(boolean value)
static final String SOLR4_SERVER_PORT
static final String DISPLAY_TRANSLATED_NAMES
static final String MESSAGE_SERVICE_PASSWORD
static boolean getHideSCOColumns()
static String getBaseTempDirectory()
static boolean hideSlackFilesInViewsTree()
static String getSolr4ServerHost()
static final String HIDE_SLACK_FILES_IN_DATA_SRCS_TREE
static int getGeolocationtTileOption()
static final String ZK_SERVER_PORT
static void setHideSlackFilesInDataSourcesTree(boolean value)
static void setHideKnownFilesInDataSourcesTree(boolean value)
static void setIndexingServerPort(int port)
static void setGeolocationOsmZipPath(String absolutePath)
static final String PROCESS_TIME_OUT_HOURS
static void setLogFileCount(int count)
static final int LOG_FILE_NUM_INT
static final String MESSAGE_SERVICE_HOST
static final String APP_NAME
static int getResultsTablePageSize()
static String getGeolocationOsmServerAddress()
static boolean hideKnownFilesInDataSourcesTree()
static String getTimeZoneForDisplays()
static void setExternalHexEditorPath(String executablePath)
static final String MESSAGE_SERVICE_USER
static final String HEALTH_MONITOR_REPORT_PATH
static final String GEO_TILE_OPTION
static void addChangeListener(PreferenceChangeListener listener)
static final String ZK_SERVER_HOST
static final String EXTERNAL_DATABASE_TYPE
static void setGeolocationMBTilesFilePath(String absolutePath)
static void setSolr4ServerHost(String hostName)
static void setShowOnlyCurrentUserTags(boolean value)
static String convertTextToHexText(String property)
static final String GEO_OSM_SERVER_ADDRESS
static void setGeolocationOsmServerAddress(String address)
static SelectedMode getMode()
static String getIndexingServerHost()
static final String TIME_ZONE_FOR_DISPLAYS
static boolean displayTimesInLocalTime()
static final String EXTERNAL_DATABASE_PASSWORD
static final String SOLR4_SERVER_HOST
static final String MAX_NUM_OF_LOG_FILE
static final String EXTERNAL_DATABASE_HOSTNAME_OR_IP
static MessageServiceConnectionInfo getMessageServiceConnectionInfo()
static String convertHexTextToText(String property)