Index: lams_common/src/java/org/lamsfoundation/lams/util/LanguageUtil.java =================================================================== diff -u -r12c8fb2a9d17f5e0483664b0e06b5ef6439c8687 -rb02b8bc25e7d8feeed8978ebdc148500d762d148 --- lams_common/src/java/org/lamsfoundation/lams/util/LanguageUtil.java (.../LanguageUtil.java) (revision 12c8fb2a9d17f5e0483664b0e06b5ef6439c8687) +++ lams_common/src/java/org/lamsfoundation/lams/util/LanguageUtil.java (.../LanguageUtil.java) (revision b02b8bc25e7d8feeed8978ebdc148500d762d148) @@ -29,6 +29,7 @@ import java.util.Map; import java.util.TimeZone; +import org.apache.commons.lang.StringUtils; import org.lamsfoundation.lams.usermanagement.SupportedLocale; import org.lamsfoundation.lams.usermanagement.service.IUserManagementService; import org.lamsfoundation.lams.web.util.HttpSessionManager; @@ -138,23 +139,26 @@ public static SupportedLocale getSupportedLocale(String langIsoCode, String countryIsoCode) { SupportedLocale locale = null; Map properties = new HashMap(); - if(countryIsoCode.trim().length()>0 && langIsoCode.trim().length()>0){ - properties.put("languageIsoCode", langIsoCode); - properties.put("countryIsoCode", countryIsoCode); - }else if(langIsoCode.trim().length()>0){ - properties.put("languageIsoCode", langIsoCode); - }else if(countryIsoCode.trim().length()>0){ - properties.put("countryIsoCode", countryIsoCode); - }else{ + + if (StringUtils.isNotBlank(countryIsoCode)) { + properties.put("countryIsoCode", countryIsoCode.trim()); + } + if (StringUtils.isNotBlank(langIsoCode)) { + properties.put("languageIsoCode", langIsoCode.trim()); + } + + if (properties.isEmpty()) { return getDefaultLocale(); - } + } + List list = getService().findByProperties(SupportedLocale.class, properties); - if(list!=null && list.size()>0){ + if (list != null && list.size() > 0){ Collections.sort(list); locale = (SupportedLocale)list.get(0); - }else{ + } else { locale = getDefaultLocale(); } + return locale; }