19 package org.sleuthkit.autopsy.core;
22 import java.nio.file.Paths;
24 import java.util.prefs.BackingStoreException;
26 import java.util.prefs.PreferenceChangeListener;
27 import java.util.prefs.Preferences;
28 import org.apache.commons.lang3.StringUtils;
29 import org.openide.util.NbPreferences;
30 import org.python.icu.util.TimeZone;
78 private static final String
APP_NAME =
"AppName";
80 private static final String
MODE =
"AutopsyMode";
154 preferences.addPreferenceChangeListener(listener);
158 preferences.removePreferenceChangeListener(listener);
162 return preferences.getBoolean(KEEP_PREFERRED_VIEWER,
false);
166 preferences.putBoolean(KEEP_PREFERRED_VIEWER, value);
170 return preferences.getBoolean(HIDE_KNOWN_FILES_IN_DATA_SRCS_TREE,
false);
174 preferences.putBoolean(HIDE_KNOWN_FILES_IN_DATA_SRCS_TREE, value);
178 return preferences.getBoolean(HIDE_KNOWN_FILES_IN_VIEWS_TREE,
true);
182 preferences.putBoolean(HIDE_KNOWN_FILES_IN_VIEWS_TREE, value);
186 return preferences.getBoolean(HIDE_SLACK_FILES_IN_DATA_SRCS_TREE,
true);
190 preferences.putBoolean(HIDE_SLACK_FILES_IN_DATA_SRCS_TREE, value);
194 return preferences.getBoolean(HIDE_SLACK_FILES_IN_VIEWS_TREE,
true);
198 preferences.putBoolean(HIDE_SLACK_FILES_IN_VIEWS_TREE, value);
202 return preferences.getBoolean(DISPLAY_TIMES_IN_LOCAL_TIME,
true);
206 preferences.putBoolean(DISPLAY_TIMES_IN_LOCAL_TIME, value);
210 return preferences.get(TIME_ZONE_FOR_DISPLAYS, TimeZone.GMT_ZONE.getID());
214 preferences.put(TIME_ZONE_FOR_DISPLAYS, timeZone);
218 return preferences.getInt(NUMBER_OF_FILE_INGEST_THREADS, 2);
222 preferences.putInt(NUMBER_OF_FILE_INGEST_THREADS, value);
227 return preferences.getBoolean(GROUP_ITEMS_IN_TREE_BY_DATASOURCE,
false);
232 preferences.putBoolean(GROUP_ITEMS_IN_TREE_BY_DATASOURCE, value);
242 return preferences.getBoolean(SHOW_ONLY_CURRENT_USER_TAGS,
false);
252 preferences.putBoolean(SHOW_ONLY_CURRENT_USER_TAGS, value);
263 return preferences.getBoolean(HIDE_SCO_COLUMNS,
false);
274 preferences.putBoolean(HIDE_SCO_COLUMNS, value);
278 preferences.putBoolean(DISPLAY_TRANSLATED_NAMES, value);
282 return preferences.getBoolean(DISPLAY_TRANSLATED_NAMES, DISPLAY_TRANSLATED_NAMES_DEFAULT);
295 dbType = DbType.valueOf(preferences.get(EXTERNAL_DATABASE_TYPE,
"POSTGRESQL"));
296 }
catch (Exception ex) {
297 dbType = DbType.SQLITE;
300 return new CaseDbConnectionInfo(
301 preferences.get(EXTERNAL_DATABASE_HOSTNAME_OR_IP,
""),
302 preferences.get(EXTERNAL_DATABASE_PORTNUMBER,
"5432"),
303 preferences.get(EXTERNAL_DATABASE_USER,
""),
307 throw new UserPreferencesException(
"Failure converting password hex text to text.", ex);
320 preferences.put(EXTERNAL_DATABASE_HOSTNAME_OR_IP, connectionInfo.getHost());
321 preferences.put(EXTERNAL_DATABASE_PORTNUMBER, connectionInfo.getPort());
322 preferences.put(EXTERNAL_DATABASE_USER, connectionInfo.getUserName());
328 preferences.put(EXTERNAL_DATABASE_TYPE, connectionInfo.getDbType().toString());
332 preferences.putBoolean(IS_MULTI_USER_MODE_ENABLED, enabled);
336 return preferences.getBoolean(IS_MULTI_USER_MODE_ENABLED,
false);
340 return preferences.get(SOLR8_SERVER_HOST,
"");
344 preferences.put(SOLR8_SERVER_HOST, hostName);
348 return preferences.get(SOLR8_SERVER_PORT,
"8983");
352 preferences.putInt(SOLR8_SERVER_PORT, port);
356 return preferences.get(SOLR4_SERVER_HOST,
"");
360 preferences.put(SOLR4_SERVER_HOST, hostName);
364 return preferences.get(SOLR4_SERVER_PORT,
"");
368 preferences.put(SOLR4_SERVER_PORT, port);
372 return preferences.get(ZK_SERVER_HOST,
"");
376 preferences.put(ZK_SERVER_HOST, hostName);
380 return preferences.get(ZK_SERVER_PORT,
"9983");
384 preferences.put(ZK_SERVER_PORT, port);
388 preferences.put(TEXT_TRANSLATOR_NAME, textTranslatorName);
392 return preferences.get(TEXT_TRANSLATOR_NAME, null);
396 preferences.putBoolean(OCR_TRANSLATION_ENABLED, enableOcr);
400 return preferences.getBoolean(OCR_TRANSLATION_ENABLED,
true);
411 preferences.put(MESSAGE_SERVICE_HOST, info.getHost());
412 preferences.put(MESSAGE_SERVICE_PORT, Integer.toString(info.getPort()));
413 preferences.put(MESSAGE_SERVICE_USER, info.getUserName());
431 port = Integer.parseInt(preferences.get(MESSAGE_SERVICE_PORT, DEFAULT_PORT_STRING));
432 }
catch (NumberFormatException ex) {
439 preferences.get(MESSAGE_SERVICE_HOST,
""),
441 preferences.get(MESSAGE_SERVICE_USER,
""),
444 throw new UserPreferencesException(
"Failed to convert password hex text to text.", ex);
454 int timeOut = preferences.getInt(PROCESS_TIME_OUT_HOURS, DEFAULT_PROCESS_TIMEOUT_HR);
470 preferences.putInt(PROCESS_TIME_OUT_HOURS, value);
481 boolean enabled = preferences.getBoolean(PROCESS_TIME_OUT_ENABLED,
false);
493 preferences.putBoolean(PROCESS_TIME_OUT_ENABLED, enabled);
511 preferences.put(APP_NAME, name);
520 return preferences.getInt(MAX_NUM_OF_LOG_FILE, LOG_FILE_NUM_INT);
538 preferences.putInt(MAX_NUM_OF_LOG_FILE, count);
550 return preferences.getInt(SOLR_MAX_JVM_SIZE, DEFAULT_SOLR_HEAP_SIZE_MB_64BIT_PLATFORM);
552 return preferences.getInt(SOLR_MAX_JVM_SIZE, DEFAULT_SOLR_HEAP_SIZE_MB_32BIT_PLATFORM);
562 preferences.putInt(SOLR_MAX_JVM_SIZE, maxSize);
571 return preferences.getInt(RESULTS_TABLE_PAGE_SIZE, 10_000);
580 preferences.putInt(RESULTS_TABLE_PAGE_SIZE, pageSize);
589 preferences.put(EXTERNAL_HEX_EDITOR_PATH, executablePath);
599 return preferences.get(EXTERNAL_HEX_EDITOR_PATH, Paths.get(
"C:",
"Program Files",
"HxD",
"HxD.exe").toString());
608 preferences.putInt(GEO_TILE_OPTION, option);
618 return preferences.getInt(GEO_TILE_OPTION, 0);
627 preferences.put(GEO_OSM_TILE_ZIP_PATH, absolutePath);
637 return preferences.get(GEO_OSM_TILE_ZIP_PATH,
"");
647 preferences.put(GEO_OSM_SERVER_ADDRESS, address);
656 return preferences.get(GEO_OSM_SERVER_ADDRESS,
"");
665 preferences.put(GEO_MBTILES_FILE_PATH, absolutePath);
674 return preferences.get(GEO_MBTILES_FILE_PATH,
"");
693 File appTempDir = null;
697 appTempDir = (StringUtils.isBlank(customDirectory))
699 : Paths.get(customDirectory,
getAppName(), TEMP_FOLDER).toFile();
711 if (!appTempDir.exists()) {
715 return appTempDir.getAbsolutePath();
724 preferences.put(HEALTH_MONITOR_REPORT_PATH, reportPath);
734 return preferences.get(HEALTH_MONITOR_REPORT_PATH,
"");
static void setZkServerHost(String hostName)
static synchronized String getConfigSetting(String moduleName, String settingName)
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 String getCustomTempDirectory()
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 final int DEFAULT_SOLR_HEAP_SIZE_MB_64BIT_PLATFORM
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 File getSystemTempDirFile()
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 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 int DEFAULT_SOLR_HEAP_SIZE_MB_32BIT_PLATFORM
static TempDirChoice getTempDirChoice()
static final String TEMP_FOLDER
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)