in languagetool-gui-commons/src/main/java/org/languagetool/gui/Configuration.java [1347:1569]
private void loadCurrentProfile(Properties props, String prefix, String qualifier) {
String useDocLangString = (String) props.get(prefix + USE_DOC_LANG_KEY);
if (useDocLangString != null) {
useDocLanguage = Boolean.parseBoolean(useDocLangString);
}
if (ltVersion == null) {
String motherTongueStr = (String) props.get(prefix + MOTHER_TONGUE_KEY);
if (motherTongueStr != null && !motherTongueStr.equals("xx")) {
if (isOffice) {
fixedLanguage = Languages.getLanguageForShortCode(motherTongueStr);
} else {
motherTongue = Languages.getLanguageForShortCode(motherTongueStr);
}
}
} else {
String fixedLanguageStr = (String) props.get(prefix + FIXED_LANGUAGE_KEY);
if (fixedLanguageStr != null) {
fixedLanguage = Languages.getLanguageForShortCode(fixedLanguageStr);
}
}
if (!useDocLanguage && fixedLanguage != null) {
qualifier = getQualifier(fixedLanguage);
}
disabledRuleIds.addAll(getListFromProperties(props, prefix + DISABLED_RULES_KEY + qualifier));
enabledRuleIds.addAll(getListFromProperties(props, prefix + ENABLED_RULES_KEY + qualifier));
disabledCategoryNames.addAll(getListFromProperties(props, prefix + DISABLED_CATEGORIES_KEY + qualifier));
enabledCategoryNames.addAll(getListFromProperties(props, prefix + ENABLED_CATEGORIES_KEY + qualifier));
enabledRulesOnly = "true".equals(props.get(prefix + ENABLED_RULES_ONLY_KEY));
String languageStr = (String) props.get(prefix + LANGUAGE_KEY);
if (languageStr != null) {
language = Languages.getLanguageForShortCode(languageStr);
}
String ngramDir = (String) props.get(prefix + NGRAM_DIR_KEY);
if (ngramDir != null) {
ngramDirectory = new File(ngramDir);
}
autoDetect = "true".equals(props.get(prefix + AUTO_DETECT_KEY));
taggerShowsDisambigLog = "true".equals(props.get(prefix + TAGGER_SHOWS_DISAMBIG_LOG_KEY));
guiConfig = "true".equals(props.get(prefix + USE_GUI_KEY));
runServer = "true".equals(props.get(prefix + SERVER_RUN_KEY));
fontName = (String) props.get(prefix + FONT_NAME_KEY);
if (props.get(prefix + FONT_STYLE_KEY) != null) {
try {
fontStyle = Integer.parseInt((String) props.get(prefix + FONT_STYLE_KEY));
} catch (NumberFormatException e) {
// Ignore
}
}
if (props.get(prefix + FONT_SIZE_KEY) != null) {
try {
fontSize = Integer.parseInt((String) props.get(prefix + FONT_SIZE_KEY));
} catch (NumberFormatException e) {
// Ignore
}
}
lookAndFeelName = (String) props.get(prefix + LF_NAME_KEY);
String serverPortString = (String) props.get(prefix + SERVER_PORT_KEY);
if (serverPortString != null) {
serverPort = Integer.parseInt(serverPortString);
}
String extRules = (String) props.get(prefix + EXTERNAL_RULE_DIRECTORY);
if (extRules != null) {
externalRuleDirectory = extRules;
}
String paraCheckString = (String) props.get(prefix + NO_DEFAULT_CHECK_KEY);
if (Boolean.parseBoolean(paraCheckString)) {
paraCheckString = (String) props.get(prefix + PARA_CHECK_KEY);
if (paraCheckString != null) {
numParasToCheck = Integer.parseInt(paraCheckString);
}
}
String resetCheckString = (String) props.get(prefix + RESET_CHECK_KEY);
if (resetCheckString != null) {
doResetCheck = Boolean.parseBoolean(resetCheckString);
}
String useTextLevelQueueString = (String) props.get(prefix + USE_QUEUE_KEY);
if (useTextLevelQueueString != null) {
useTextLevelQueue = Boolean.parseBoolean(useTextLevelQueueString);
}
String noBackgroundCheckString = (String) props.get(prefix + NO_BACKGROUND_CHECK_KEY);
if (noBackgroundCheckString != null) {
noBackgroundCheck = Boolean.parseBoolean(noBackgroundCheckString);
}
String switchOffString = (String) props.get(prefix + LT_SWITCHED_OFF_KEY);
if (switchOffString != null) {
switchOff = Boolean.parseBoolean(switchOffString);
}
String isMultiThreadString = (String) props.get(prefix + IS_MULTI_THREAD_LO_KEY);
if (isMultiThreadString != null) {
isMultiThreadLO = Boolean.parseBoolean(isMultiThreadString);
}
String doRemoteCheckString = (String) props.get(prefix + DO_REMOTE_CHECK_KEY);
if (doRemoteCheckString != null) {
doRemoteCheck = Boolean.parseBoolean(doRemoteCheckString);
}
String useOtherServerString = (String) props.get(prefix + USE_OTHER_SERVER_KEY);
if (useOtherServerString != null) {
useOtherServer = Boolean.parseBoolean(useOtherServerString);
}
otherServerUrl = (String) props.get(prefix + OTHER_SERVER_URL_KEY);
if (otherServerUrl != null && !isValidServerUrl(otherServerUrl)) {
otherServerUrl = null;
}
String isPremiumString = (String) props.get(prefix + IS_PREMIUM_KEY);
if (isPremiumString != null) {
isPremium = Boolean.parseBoolean(isPremiumString);
}
remoteUsername = (String) props.get(prefix + REMOTE_USERNAME_KEY);
remoteApiKey = (String) props.get(prefix + REMOTE_APIKEY_KEY);
String markSingleCharBoldString = (String) props.get(prefix + MARK_SINGLE_CHAR_BOLD_KEY);
if (markSingleCharBoldString != null) {
markSingleCharBold = Boolean.parseBoolean(markSingleCharBoldString);
}
String useLtSpellCheckerString = (String) props.get(prefix + USE_LT_SPELL_CHECKER_KEY);
if (useLtSpellCheckerString != null) {
useLtSpellChecker = Boolean.parseBoolean(useLtSpellCheckerString);
}
String noSynonymsAsSuggestionsString = (String) props.get(prefix + NO_SYNONYMS_AS_SUGGESTIONS_KEY);
if (noSynonymsAsSuggestionsString != null) {
noSynonymsAsSuggestions = Boolean.parseBoolean(noSynonymsAsSuggestionsString);
}
String includeTrackedChangesString = (String) props.get(prefix + INCLUDE_TRACKED_CHANGES_KEY);
if (includeTrackedChangesString != null) {
includeTrackedChanges = Boolean.parseBoolean(includeTrackedChangesString);
}
String enableTmpOffRulesString = (String) props.get(prefix + ENABLE_TMP_OFF_RULES_KEY);
if (enableTmpOffRulesString != null) {
enableTmpOffRules = Boolean.parseBoolean(enableTmpOffRulesString);
}
String enableGoalSpecificRulesString = (String) props.get(prefix + ENABLE_GOAL_SPECIFIC_RULES_KEY);
if (enableGoalSpecificRulesString != null) {
enableGoalSpecificRules = Boolean.parseBoolean(enableGoalSpecificRulesString);
}
String filterOverlappingMatchesString = (String) props.get(prefix + FILTER_OVERLAPPING_MATCHES_KEY);
if (filterOverlappingMatchesString != null) {
filterOverlappingMatches = Boolean.parseBoolean(filterOverlappingMatchesString);
}
String saveLoCacheString = (String) props.get(prefix + SAVE_LO_CACHE_KEY);
if (saveLoCacheString != null) {
saveLoCache = Boolean.parseBoolean(saveLoCacheString);
}
String aiString = (String) props.get(prefix + AI_URL_KEY);
if (aiString != null) {
aiUrl = aiString;
}
aiString = (String) props.get(prefix + AI_MODEL_KEY);
if (aiString != null) {
aiModel = aiString;
}
aiString = (String) props.get(prefix + AI_APIKEY_KEY);
if (aiString != null) {
aiApiKey = aiString;
}
aiString = (String) props.get(prefix + AI_USE_AI_SUPPORT_KEY);
if (aiString != null) {
useAiSupport = Boolean.parseBoolean(aiString);
}
aiString = (String) props.get(prefix + AI_AUTO_CORRECT_KEY);
if (aiString != null) {
aiAutoCorrect = Boolean.parseBoolean(aiString);
}
aiString = (String) props.get(prefix + AI_SHOW_STYLISTIC_CHANGES_KEY);
if (aiString != null) {
aiShowStylisticChanges = Boolean.parseBoolean(aiString);
}
String rulesValuesString = (String) props.get(prefix + CONFIGURABLE_RULE_VALUES_KEY + qualifier);
if (rulesValuesString == null) {
rulesValuesString = (String) props.get(prefix + CONFIGURABLE_RULE_VALUES_KEY);
}
parseConfigurableRuleValues(rulesValuesString);
String colorsString = (String) props.get(prefix + ERROR_COLORS_KEY);
parseErrorColors(colorsString);
String underlineColorsString = (String) props.get(prefix + UNDERLINE_COLORS_KEY);
parseUnderlineColors(underlineColorsString, underlineColors);
String underlineRuleColorsString = (String) props.get(prefix + UNDERLINE_RULE_COLORS_KEY);
parseUnderlineColors(underlineRuleColorsString, underlineRuleColors);
String underlineTypesString = (String) props.get(prefix + UNDERLINE_TYPES_KEY);
parseUnderlineTypes(underlineTypesString, underlineTypes);
String underlineRulesTypesString = (String) props.get(prefix + UNDERLINE_RULE_TYPES_KEY);
parseUnderlineTypes(underlineRulesTypesString, underlineRuleTypes);
//store config for other languages
loadConfigForOtherLanguages(lang, props, prefix);
}