Index: lams_common/src/java/org/lamsfoundation/lams/util/LanguageUtil.java =================================================================== RCS file: /usr/local/cvsroot/lams_common/src/java/org/lamsfoundation/lams/util/LanguageUtil.java,v diff -u -r1.8 -r1.9 --- lams_common/src/java/org/lamsfoundation/lams/util/LanguageUtil.java 5 Nov 2007 01:15:10 -0000 1.8 +++ lams_common/src/java/org/lamsfoundation/lams/util/LanguageUtil.java 21 Apr 2008 06:08:04 -0000 1.9 @@ -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; }