Autopsy  4.19.0
Graphical digital forensics platform for The Sleuth Kit and other tools.
UserPreferences.java
Go to the documentation of this file.
1 /*
2  * Autopsy Forensic Browser
3  *
4  * Copyright 2014-2020 Basis Technology Corp.
5  * Contact: carrier <at> sleuthkit <dot> org
6  *
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  *
11  * http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  */
19 package org.sleuthkit.autopsy.core;
20 
21 import java.io.File;
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;
36 import org.sleuthkit.datamodel.CaseDbConnectionInfo;
37 import org.sleuthkit.datamodel.TskData.DbType;
38 
43 public final class UserPreferences {
44 
45  private static final Preferences preferences = NbPreferences.forModule(UserPreferences.class);
46  public static final String KEEP_PREFERRED_VIEWER = "KeepPreferredViewer"; // NON-NLS
47  public static final String HIDE_KNOWN_FILES_IN_DATA_SRCS_TREE = "HideKnownFilesInDataSourcesTree"; //NON-NLS
48  public static final String HIDE_KNOWN_FILES_IN_VIEWS_TREE = "HideKnownFilesInViewsTree"; //NON-NLS
49  public static final String HIDE_SLACK_FILES_IN_DATA_SRCS_TREE = "HideSlackFilesInDataSourcesTree"; //NON-NLS
50  public static final String HIDE_SLACK_FILES_IN_VIEWS_TREE = "HideSlackFilesInViewsTree"; //NON-NLS
51  public static final String DISPLAY_TIMES_IN_LOCAL_TIME = "DisplayTimesInLocalTime"; //NON-NLS
52  public static final String TIME_ZONE_FOR_DISPLAYS = "TimeZoneForDisplays"; //NON-NLS
53  public static final String NUMBER_OF_FILE_INGEST_THREADS = "NumberOfFileIngestThreads"; //NON-NLS
54  public static final String IS_MULTI_USER_MODE_ENABLED = "IsMultiUserModeEnabled"; //NON-NLS
55  public static final String EXTERNAL_DATABASE_HOSTNAME_OR_IP = "ExternalDatabaseHostnameOrIp"; //NON-NLS
56  public static final String EXTERNAL_DATABASE_PORTNUMBER = "ExternalDatabasePortNumber"; //NON-NLS
57  public static final String EXTERNAL_DATABASE_NAME = "ExternalDatabaseName"; //NON-NLS
58  public static final String EXTERNAL_DATABASE_USER = "ExternalDatabaseUsername"; //NON-NLS
59  public static final String EXTERNAL_DATABASE_PASSWORD = "ExternalDatabasePassword"; //NON-NLS
60  public static final String EXTERNAL_DATABASE_TYPE = "ExternalDatabaseType"; //NON-NLS
61  private static final String SOLR8_SERVER_HOST = "Solr8ServerHost"; //NON-NLS
62  private static final String SOLR8_SERVER_PORT = "Solr8ServerPort"; //NON-NLS
63  private static final String SOLR4_SERVER_HOST = "IndexingServerHost"; //NON-NLS
64  private static final String SOLR4_SERVER_PORT = "IndexingServerPort"; //NON-NLS
65  private static final String ZK_SERVER_HOST = "ZookeeperServerHost"; //NON-NLS
66  private static final String ZK_SERVER_PORT = "ZookeeperServerPort"; //NON-NLS
67  private static final String MESSAGE_SERVICE_PASSWORD = "MessageServicePassword"; //NON-NLS
68  private static final String MESSAGE_SERVICE_USER = "MessageServiceUser"; //NON-NLS
69  private static final String MESSAGE_SERVICE_HOST = "MessageServiceHost"; //NON-NLS
70  private static final String MESSAGE_SERVICE_PORT = "MessageServicePort"; //NON-NLS
71  public static final String TEXT_TRANSLATOR_NAME = "TextTranslatorName";
72  public static final String OCR_TRANSLATION_ENABLED = "OcrTranslationEnabled";
73  public static final String PROCESS_TIME_OUT_ENABLED = "ProcessTimeOutEnabled"; //NON-NLS
74  public static final String PROCESS_TIME_OUT_HOURS = "ProcessTimeOutHours"; //NON-NLS
75  private static final int DEFAULT_PROCESS_TIMEOUT_HR = 60;
76  private static final String DEFAULT_PORT_STRING = "61616";
77  private static final int DEFAULT_PORT_INT = 61616;
78  private static final String APP_NAME = "AppName";
79  public static final String SETTINGS_PROPERTIES = "AutoIngest";
80  private static final String MODE = "AutopsyMode"; // NON-NLS
81  private static final String MAX_NUM_OF_LOG_FILE = "MaximumNumberOfLogFiles";
82  private static final int LOG_FILE_NUM_INT = 10;
83  public static final String GROUP_ITEMS_IN_TREE_BY_DATASOURCE = "GroupItemsInTreeByDataSource"; //NON-NLS
84  public static final String SHOW_ONLY_CURRENT_USER_TAGS = "ShowOnlyCurrentUserTags";
85  public static final String HIDE_SCO_COLUMNS = "HideCentralRepoCommentsAndOccurrences"; //The key for this setting pre-dates the settings current functionality //NON-NLS
86  public static final String DISPLAY_TRANSLATED_NAMES = "DisplayTranslatedNames";
87  private static final boolean DISPLAY_TRANSLATED_NAMES_DEFAULT = true;
88  public static final String EXTERNAL_HEX_EDITOR_PATH = "ExternalHexEditorPath";
89  public static final String SOLR_MAX_JVM_SIZE = "SolrMaxJVMSize";
90  private static final int DEFAULT_SOLR_HEAP_SIZE_MB_64BIT_PLATFORM = 2048;
91  private static final int DEFAULT_SOLR_HEAP_SIZE_MB_32BIT_PLATFORM = 512;
92  public static final String RESULTS_TABLE_PAGE_SIZE = "ResultsTablePageSize";
93  private static final String GEO_TILE_OPTION = "GeolocationTileOption";
94  private static final String GEO_OSM_TILE_ZIP_PATH = "GeolocationOsmZipPath";
95  private static final String GEO_OSM_SERVER_ADDRESS = "GeolocationOsmServerAddress";
96  private static final String GEO_MBTILES_FILE_PATH = "GeolcoationMBTilesFilePath";
97  private static final String HEALTH_MONITOR_REPORT_PATH = "HealthMonitorReportPath";
98  private static final String TEMP_FOLDER = "Temp";
99 
100  // Prevent instantiation.
101  private UserPreferences() {
102  }
103 
104  public enum SelectedMode {
105 
107  AUTOINGEST
108  };
109 
115  public static SelectedMode getMode() {
116  if (ModuleSettings.settingExists(SETTINGS_PROPERTIES, MODE)) {
117  int ordinal = Integer.parseInt(ModuleSettings.getConfigSetting(SETTINGS_PROPERTIES, MODE));
118  return UserPreferences.SelectedMode.values()[ordinal];
119  }
121  }
122 
128  public static void setMode(SelectedMode mode) {
129  ModuleSettings.setConfigSetting(SETTINGS_PROPERTIES, MODE, Integer.toString(mode.ordinal()));
130  }
131 
138  public static void reloadFromStorage() throws BackingStoreException {
139  preferences.sync();
140  }
141 
149  public static void saveToStorage() throws BackingStoreException {
150  preferences.flush();
151  }
152 
153  public static void addChangeListener(PreferenceChangeListener listener) {
154  preferences.addPreferenceChangeListener(listener);
155  }
156 
157  public static void removeChangeListener(PreferenceChangeListener listener) {
158  preferences.removePreferenceChangeListener(listener);
159  }
160 
161  public static boolean keepPreferredContentViewer() {
162  return preferences.getBoolean(KEEP_PREFERRED_VIEWER, false);
163  }
164 
165  public static void setKeepPreferredContentViewer(boolean value) {
166  preferences.putBoolean(KEEP_PREFERRED_VIEWER, value);
167  }
168 
169  public static boolean hideKnownFilesInDataSourcesTree() {
170  return preferences.getBoolean(HIDE_KNOWN_FILES_IN_DATA_SRCS_TREE, false);
171  }
172 
173  public static void setHideKnownFilesInDataSourcesTree(boolean value) {
174  preferences.putBoolean(HIDE_KNOWN_FILES_IN_DATA_SRCS_TREE, value);
175  }
176 
177  public static boolean hideKnownFilesInViewsTree() {
178  return preferences.getBoolean(HIDE_KNOWN_FILES_IN_VIEWS_TREE, true);
179  }
180 
181  public static void setHideKnownFilesInViewsTree(boolean value) {
182  preferences.putBoolean(HIDE_KNOWN_FILES_IN_VIEWS_TREE, value);
183  }
184 
185  public static boolean hideSlackFilesInDataSourcesTree() {
186  return preferences.getBoolean(HIDE_SLACK_FILES_IN_DATA_SRCS_TREE, true);
187  }
188 
189  public static void setHideSlackFilesInDataSourcesTree(boolean value) {
190  preferences.putBoolean(HIDE_SLACK_FILES_IN_DATA_SRCS_TREE, value);
191  }
192 
193  public static boolean hideSlackFilesInViewsTree() {
194  return preferences.getBoolean(HIDE_SLACK_FILES_IN_VIEWS_TREE, true);
195  }
196 
197  public static void setHideSlackFilesInViewsTree(boolean value) {
198  preferences.putBoolean(HIDE_SLACK_FILES_IN_VIEWS_TREE, value);
199  }
200 
201  public static boolean displayTimesInLocalTime() {
202  return preferences.getBoolean(DISPLAY_TIMES_IN_LOCAL_TIME, true);
203  }
204 
205  public static void setDisplayTimesInLocalTime(boolean value) {
206  preferences.putBoolean(DISPLAY_TIMES_IN_LOCAL_TIME, value);
207  }
208 
209  public static String getTimeZoneForDisplays() {
210  return preferences.get(TIME_ZONE_FOR_DISPLAYS, TimeZone.GMT_ZONE.getID());
211  }
212 
213  public static void setTimeZoneForDisplays(String timeZone) {
214  preferences.put(TIME_ZONE_FOR_DISPLAYS, timeZone);
215  }
216 
217  public static int numberOfFileIngestThreads() {
218  return preferences.getInt(NUMBER_OF_FILE_INGEST_THREADS, 2);
219  }
220 
221  public static void setNumberOfFileIngestThreads(int value) {
222  preferences.putInt(NUMBER_OF_FILE_INGEST_THREADS, value);
223  }
224 
225  @Deprecated
226  public static boolean groupItemsInTreeByDatasource() {
227  return preferences.getBoolean(GROUP_ITEMS_IN_TREE_BY_DATASOURCE, false);
228  }
229 
230  @Deprecated
231  public static void setGroupItemsInTreeByDatasource(boolean value) {
232  preferences.putBoolean(GROUP_ITEMS_IN_TREE_BY_DATASOURCE, value);
233  }
234 
241  public static boolean showOnlyCurrentUserTags() {
242  return preferences.getBoolean(SHOW_ONLY_CURRENT_USER_TAGS, false);
243  }
244 
251  public static void setShowOnlyCurrentUserTags(boolean value) {
252  preferences.putBoolean(SHOW_ONLY_CURRENT_USER_TAGS, value);
253  }
254 
262  public static boolean getHideSCOColumns() {
263  return preferences.getBoolean(HIDE_SCO_COLUMNS, false);
264  }
265 
273  public static void setHideSCOColumns(boolean value) {
274  preferences.putBoolean(HIDE_SCO_COLUMNS, value);
275  }
276 
277  public static void setDisplayTranslatedFileNames(boolean value) {
278  preferences.putBoolean(DISPLAY_TRANSLATED_NAMES, value);
279  }
280 
281  public static boolean displayTranslatedFileNames() {
282  return preferences.getBoolean(DISPLAY_TRANSLATED_NAMES, DISPLAY_TRANSLATED_NAMES_DEFAULT);
283  }
284 
292  public static CaseDbConnectionInfo getDatabaseConnectionInfo() throws UserPreferencesException {
293  DbType dbType;
294  try {
295  dbType = DbType.valueOf(preferences.get(EXTERNAL_DATABASE_TYPE, "POSTGRESQL")); //NON-NLS
296  } catch (Exception ex) {
297  dbType = DbType.SQLITE;
298  }
299  try {
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, ""),
304  TextConverter.convertHexTextToText(preferences.get(EXTERNAL_DATABASE_PASSWORD, "")),
305  dbType);
306  } catch (TextConverterException ex) {
307  throw new UserPreferencesException("Failure converting password hex text to text.", ex); // NON-NLS
308  }
309  }
310 
319  public static void setDatabaseConnectionInfo(CaseDbConnectionInfo connectionInfo) throws UserPreferencesException {
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());
323  try {
324  preferences.put(EXTERNAL_DATABASE_PASSWORD, TextConverter.convertTextToHexText(connectionInfo.getPassword()));
325  } catch (TextConverterException ex) {
326  throw new UserPreferencesException("Failure converting text to password hext text", ex); // NON-NLS
327  }
328  preferences.put(EXTERNAL_DATABASE_TYPE, connectionInfo.getDbType().toString());
329  }
330 
331  public static void setIsMultiUserModeEnabled(boolean enabled) {
332  preferences.putBoolean(IS_MULTI_USER_MODE_ENABLED, enabled);
333  }
334 
335  public static boolean getIsMultiUserModeEnabled() {
336  return preferences.getBoolean(IS_MULTI_USER_MODE_ENABLED, false);
337  }
338 
339  public static String getIndexingServerHost() {
340  return preferences.get(SOLR8_SERVER_HOST, "");
341  }
342 
343  public static void setIndexingServerHost(String hostName) {
344  preferences.put(SOLR8_SERVER_HOST, hostName);
345  }
346 
347  public static String getIndexingServerPort() {
348  return preferences.get(SOLR8_SERVER_PORT, "8983");
349  }
350 
351  public static void setIndexingServerPort(int port) {
352  preferences.putInt(SOLR8_SERVER_PORT, port);
353  }
354 
355  public static String getSolr4ServerHost() {
356  return preferences.get(SOLR4_SERVER_HOST, "");
357  }
358 
359  public static void setSolr4ServerHost(String hostName) {
360  preferences.put(SOLR4_SERVER_HOST, hostName);
361  }
362 
363  public static String getSolr4ServerPort() {
364  return preferences.get(SOLR4_SERVER_PORT, "");
365  }
366 
367  public static void setSolr4ServerPort(String port) {
368  preferences.put(SOLR4_SERVER_PORT, port);
369  }
370 
371  public static String getZkServerHost() {
372  return preferences.get(ZK_SERVER_HOST, "");
373  }
374 
375  public static void setZkServerHost(String hostName) {
376  preferences.put(ZK_SERVER_HOST, hostName);
377  }
378 
379  public static String getZkServerPort() {
380  return preferences.get(ZK_SERVER_PORT, "9983");
381  }
382 
383  public static void setZkServerPort(String port) {
384  preferences.put(ZK_SERVER_PORT, port);
385  }
386 
387  public static void setTextTranslatorName(String textTranslatorName) {
388  preferences.put(TEXT_TRANSLATOR_NAME, textTranslatorName);
389  }
390 
391  public static String getTextTranslatorName() {
392  return preferences.get(TEXT_TRANSLATOR_NAME, null);
393  }
394 
395  public static void setUseOcrInTranslation(boolean enableOcr) {
396  preferences.putBoolean(OCR_TRANSLATION_ENABLED, enableOcr);
397  }
398 
399  public static boolean getUseOcrInTranslation() {
400  return preferences.getBoolean(OCR_TRANSLATION_ENABLED, true);
401  }
402 
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());
414  try {
415  preferences.put(MESSAGE_SERVICE_PASSWORD, TextConverter.convertTextToHexText(info.getPassword()));
416  } catch (TextConverterException ex) {
417  throw new UserPreferencesException("Failed to convert password text to hex text.", ex);
418  }
419  }
420 
429  int port;
430  try {
431  port = Integer.parseInt(preferences.get(MESSAGE_SERVICE_PORT, DEFAULT_PORT_STRING));
432  } catch (NumberFormatException ex) {
433  // if there is an error parsing the port number, use the default port number
434  port = DEFAULT_PORT_INT;
435  }
436 
437  try {
438  return new MessageServiceConnectionInfo(
439  preferences.get(MESSAGE_SERVICE_HOST, ""),
440  port,
441  preferences.get(MESSAGE_SERVICE_USER, ""),
442  TextConverter.convertHexTextToText(preferences.get(MESSAGE_SERVICE_PASSWORD, "")));
443  } catch (TextConverterException ex) {
444  throw new UserPreferencesException("Failed to convert password hex text to text.", ex);
445  }
446  }
447 
453  public static int getProcessTimeOutHrs() {
454  int timeOut = preferences.getInt(PROCESS_TIME_OUT_HOURS, DEFAULT_PROCESS_TIMEOUT_HR);
455  if (timeOut < 0) {
456  timeOut = 0;
457  }
458  return timeOut;
459  }
460 
466  public static void setProcessTimeOutHrs(int value) {
467  if (value < 0) {
468  value = 0;
469  }
470  preferences.putInt(PROCESS_TIME_OUT_HOURS, value);
471  }
472 
480  public static boolean getIsTimeOutEnabled() {
481  boolean enabled = preferences.getBoolean(PROCESS_TIME_OUT_ENABLED, false);
482  return enabled;
483  }
484 
492  public static void setIsTimeOutEnabled(boolean enabled) {
493  preferences.putBoolean(PROCESS_TIME_OUT_ENABLED, enabled);
494  }
495 
501  public static String getAppName() {
502  return preferences.get(APP_NAME, Version.getName());
503  }
504 
510  public static void setAppName(String name) {
511  preferences.put(APP_NAME, name);
512  }
513 
519  public static int getLogFileCount() {
520  return preferences.getInt(MAX_NUM_OF_LOG_FILE, LOG_FILE_NUM_INT);
521  }
522 
528  public static int getDefaultLogFileCount() {
529  return LOG_FILE_NUM_INT;
530  }
531 
537  public static void setLogFileCount(int count) {
538  preferences.putInt(MAX_NUM_OF_LOG_FILE, count);
539  }
540 
548  public static int getMaxSolrVMSize() {
549  if (PlatformUtil.is64BitJVM()) {
550  return preferences.getInt(SOLR_MAX_JVM_SIZE, DEFAULT_SOLR_HEAP_SIZE_MB_64BIT_PLATFORM);
551  } else {
552  return preferences.getInt(SOLR_MAX_JVM_SIZE, DEFAULT_SOLR_HEAP_SIZE_MB_32BIT_PLATFORM);
553  }
554  }
555 
561  public static void setMaxSolrVMSize(int maxSize) {
562  preferences.putInt(SOLR_MAX_JVM_SIZE, maxSize);
563  }
564 
570  public static int getResultsTablePageSize() {
571  return preferences.getInt(RESULTS_TABLE_PAGE_SIZE, 10_000);
572  }
573 
579  public static void setResultsTablePageSize(int pageSize) {
580  preferences.putInt(RESULTS_TABLE_PAGE_SIZE, pageSize);
581  }
582 
588  public static void setExternalHexEditorPath(String executablePath) {
589  preferences.put(EXTERNAL_HEX_EDITOR_PATH, executablePath);
590  }
591 
598  public static String getExternalHexEditorPath() {
599  return preferences.get(EXTERNAL_HEX_EDITOR_PATH, Paths.get("C:", "Program Files", "HxD", "HxD.exe").toString());
600  }
601 
607  public static void setGeolocationTileOption(int option) {
608  preferences.putInt(GEO_TILE_OPTION, option);
609  }
610 
617  public static int getGeolocationtTileOption() {
618  return preferences.getInt(GEO_TILE_OPTION, 0);
619  }
620 
626  public static void setGeolocationOsmZipPath(String absolutePath) {
627  preferences.put(GEO_OSM_TILE_ZIP_PATH, absolutePath);
628  }
629 
636  public static String getGeolocationOsmZipPath() {
637  return preferences.get(GEO_OSM_TILE_ZIP_PATH, "");
638  }
639 
646  public static void setGeolocationOsmServerAddress(String address) {
647  preferences.put(GEO_OSM_SERVER_ADDRESS, address);
648  }
649 
655  public static String getGeolocationOsmServerAddress() {
656  return preferences.get(GEO_OSM_SERVER_ADDRESS, "");
657  }
658 
664  public static void setGeolocationMBTilesFilePath(String absolutePath) {
665  preferences.put(GEO_MBTILES_FILE_PATH, absolutePath);
666  }
667 
673  public static String getGeolocationMBTilesFilePath() {
674  return preferences.get(GEO_MBTILES_FILE_PATH, "");
675  }
676 
680  private static File getSystemTempDirFile() {
681  return Paths.get(System.getProperty("java.io.tmpdir"), getAppName(), TEMP_FOLDER).toFile();
682  }
683 
690  public static String getAppTempDirectory() {
691  // NOTE: If this code changes, Case.getTempDirectory() should likely be checked
692  // as well. See JIRA 7505 for more information.
693  File appTempDir = null;
695  case CUSTOM:
696  String customDirectory = UserMachinePreferences.getCustomTempDirectory();
697  appTempDir = (StringUtils.isBlank(customDirectory))
698  ? null
699  : Paths.get(customDirectory, getAppName(), TEMP_FOLDER).toFile();
700  break;
701  case SYSTEM:
702  default:
703  // at this level, if the case directory is specified for a temp
704  // directory, return the system temp directory instead.
705  appTempDir = getSystemTempDirFile();
706  break;
707  }
708 
709  appTempDir = appTempDir == null ? getSystemTempDirFile() : appTempDir;
710 
711  if (!appTempDir.exists()) {
712  appTempDir.mkdirs();
713  }
714 
715  return appTempDir.getAbsolutePath();
716  }
717 
723  public static void setHealthMonitorReportPath(String reportPath) {
724  preferences.put(HEALTH_MONITOR_REPORT_PATH, reportPath);
725  }
726 
733  public static String getHealthMonitorReportPath() {
734  return preferences.get(HEALTH_MONITOR_REPORT_PATH, "");
735  }
736 }
static void setZkServerHost(String hostName)
static synchronized String getConfigSetting(String moduleName, String settingName)
static void setGroupItemsInTreeByDatasource(boolean value)
static void setKeepPreferredContentViewer(boolean value)
static void setDisplayTimesInLocalTime(boolean value)
static void setMode(SelectedMode mode)
static void setUseOcrInTranslation(boolean enableOcr)
static void setHideSlackFilesInViewsTree(boolean value)
static void setHealthMonitorReportPath(String reportPath)
static CaseDbConnectionInfo getDatabaseConnectionInfo()
static void setHideSCOColumns(boolean value)
static void setIsTimeOutEnabled(boolean enabled)
static void setResultsTablePageSize(int pageSize)
static void setIsMultiUserModeEnabled(boolean enabled)
static void removeChangeListener(PreferenceChangeListener listener)
static void setMessageServiceConnectionInfo(MessageServiceConnectionInfo info)
static synchronized boolean settingExists(String moduleName, String settingName)
static void setHideKnownFilesInViewsTree(boolean value)
static void setTextTranslatorName(String textTranslatorName)
static void setDatabaseConnectionInfo(CaseDbConnectionInfo connectionInfo)
static void setTimeZoneForDisplays(String timeZone)
static synchronized void setConfigSetting(String moduleName, String settingName, String settingVal)
static void setIndexingServerHost(String hostName)
static void setDisplayTranslatedFileNames(boolean value)
static void setHideSlackFilesInDataSourcesTree(boolean value)
static void setHideKnownFilesInDataSourcesTree(boolean value)
static void setGeolocationOsmZipPath(String absolutePath)
static void setExternalHexEditorPath(String executablePath)
static void addChangeListener(PreferenceChangeListener listener)
static void setGeolocationMBTilesFilePath(String absolutePath)
static void setSolr4ServerHost(String hostName)
static void setShowOnlyCurrentUserTags(boolean value)
static String convertTextToHexText(String property)
static void setGeolocationOsmServerAddress(String address)
static MessageServiceConnectionInfo getMessageServiceConnectionInfo()
static String convertHexTextToText(String property)

Copyright © 2012-2021 Basis Technology. Generated on: Fri Aug 6 2021
This work is licensed under a Creative Commons Attribution-Share Alike 3.0 United States License.