private void adjustLanguage() { Language lang = (Language) getValue(ConfigEntryType.LANG); if (lang == null) { lang = Language.DEFAULT_LANG; add(ConfigEntryType.LANG, lang.toString()); } testLanguage(internal, lang); Language langFrom = (Language) getValue(ConfigEntryType.GLOSSARY_FROM); Language langTo = (Language) getValue(ConfigEntryType.GLOSSARY_TO); // If we have either langFrom or langTo, we are dealing with a glossary if (langFrom != null || langTo != null) { if (langFrom == null) { log.warn( "Missing data for " + internal + ". Assuming " + ConfigEntryType.GLOSSARY_FROM.getName() + '=' + Languages.DEFAULT_LANG_CODE); langFrom = Language.DEFAULT_LANG; add(ConfigEntryType.GLOSSARY_FROM, lang.getCode()); } testLanguage(internal, langFrom); if (langTo == null) { log.warn( "Missing data for " + internal + ". Assuming " + ConfigEntryType.GLOSSARY_TO.getName() + '=' + Languages.DEFAULT_LANG_CODE); langTo = Language.DEFAULT_LANG; add(ConfigEntryType.GLOSSARY_TO, lang.getCode()); } testLanguage(internal, langTo); // At least one of the two languages should match the lang entry if (!langFrom.equals(lang) && !langTo.equals(lang)) { log.error( "Data error in " + internal + ". Neither " + ConfigEntryType.GLOSSARY_FROM.getName() + " or " + ConfigEntryType.GLOSSARY_FROM.getName() + " match " + ConfigEntryType.LANG.getName()); } else if (!langFrom.equals(lang)) { // The LANG field should match the GLOSSARY_FROM field /* * log.error("Data error in " + internal + ". " + * ConfigEntryType.GLOSSARY_FROM.getName() + " (" * + langFrom.getCode() + ") does not match " + * ConfigEntryType.LANG.getName() + " (" + lang.getCode() + * ")"); */ lang = langFrom; add(ConfigEntryType.LANG, lang.getCode()); } } }