Author: thomas.heute(a)jboss.com
Date: 2007-05-10 10:55:41 -0400 (Thu, 10 May 2007)
New Revision: 7236
Modified:
trunk/core/src/main/org/jboss/portal/core/portlet/user/UserPortlet.java
Log:
Order locales
Modified: trunk/core/src/main/org/jboss/portal/core/portlet/user/UserPortlet.java
===================================================================
--- trunk/core/src/main/org/jboss/portal/core/portlet/user/UserPortlet.java 2007-05-10
12:07:08 UTC (rev 7235)
+++ trunk/core/src/main/org/jboss/portal/core/portlet/user/UserPortlet.java 2007-05-10
14:55:41 UTC (rev 7236)
@@ -29,6 +29,10 @@
import java.io.PrintWriter;
import java.io.StringWriter;
import java.net.URL;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Comparator;
import java.util.Date;
import java.util.HashMap;
import java.util.HashSet;
@@ -297,7 +301,11 @@
//
//String selectedLocale =
(String)user.getProfile().get(User.INFO_USER_LOCALE);
String selectedLocale = (String)getProperty(user, User.INFO_USER_LOCALE);
- for (Iterator i = LocaleManager.getLocales().iterator(); i.hasNext();)
+
+ ArrayList locales = new ArrayList(LocaleManager.getLocales());
+ Collections.sort(locales, new LocaleComparator());
+
+ for (Iterator i = locales.iterator(); i.hasNext();)
{
Locale locale = (Locale)i.next();
DelegateContext localeCtx = ctx.next("locale");
@@ -1291,6 +1299,23 @@
return null;
}
+ private class LocaleComparator implements Comparator
+ {
+
+ public int compare(Object arg0, Object arg1)
+ {
+ Locale locale1 = (Locale)arg0;
+ Locale locale2 = (Locale)arg1;
+ int compare =
locale1.getDisplayLanguage().compareTo(locale2.getDisplayLanguage());
+ if (compare == 0)
+ {
+ compare =
locale1.getDisplayCountry().compareTo(locale2.getDisplayCountry());
+ }
+ return compare;
+ }
+
+ }
+
/*
* private String getTimezoneOffsetString(short timezoneOffset) {
* StringBuffer timeZone = new StringBuffer(); for (int i = 0; i <
Show replies by date