Index: lams_common/src/java/org/lamsfoundation/lams/timezone/util/TimezoneComparator.java =================================================================== RCS file: /usr/local/cvsroot/lams_common/src/java/org/lamsfoundation/lams/timezone/util/TimezoneComparator.java,v diff -u -r1.1.2.2 -r1.1.2.3 --- lams_common/src/java/org/lamsfoundation/lams/timezone/util/TimezoneComparator.java 1 Apr 2010 20:13:48 -0000 1.1.2.2 +++ lams_common/src/java/org/lamsfoundation/lams/timezone/util/TimezoneComparator.java 5 Apr 2010 13:13:25 -0000 1.1.2.3 @@ -40,7 +40,9 @@ if (o1 != null && o2 != null && o1.getId() != null && o2.getId() != null) { TimeZone o1TimeZone = TimeZone.getTimeZone(o1.getId()); TimeZone o2TimeZone = TimeZone.getTimeZone(o2.getId()); - return o1TimeZone.getRawOffset() - o2TimeZone.getRawOffset(); + int rawOffsetDifference = o1TimeZone.getRawOffset() - o2TimeZone.getRawOffset(); + int compareResult = (rawOffsetDifference != 0) ? rawOffsetDifference : o1TimeZone.getID().compareTo(o2TimeZone.getID()); + return compareResult; } else if (o1 != null) { return 1; } else { Index: lams_common/src/java/org/lamsfoundation/lams/timezone/util/TimezoneDTOComparator.java =================================================================== RCS file: /usr/local/cvsroot/lams_common/src/java/org/lamsfoundation/lams/timezone/util/TimezoneDTOComparator.java,v diff -u -r1.1.2.3 -r1.1.2.4 --- lams_common/src/java/org/lamsfoundation/lams/timezone/util/TimezoneDTOComparator.java 1 Apr 2010 20:13:48 -0000 1.1.2.3 +++ lams_common/src/java/org/lamsfoundation/lams/timezone/util/TimezoneDTOComparator.java 5 Apr 2010 13:13:25 -0000 1.1.2.4 @@ -39,7 +39,9 @@ if (o1 != null && o2 != null && o1.getTimeZoneId() != null && o2.getTimeZoneId() != null) { TimeZone o1TimeZone = TimeZone.getTimeZone(o1.getTimeZoneId()); TimeZone o2TimeZone = TimeZone.getTimeZone(o2.getTimeZoneId()); - return o1TimeZone.getRawOffset() - o2TimeZone.getRawOffset(); + int rawOffsetDifference = o1TimeZone.getRawOffset() - o2TimeZone.getRawOffset(); + int compareResult = (rawOffsetDifference != 0) ? rawOffsetDifference : o1TimeZone.getID().compareTo(o2TimeZone.getID()); + return compareResult; } else if (o1 != null) { return 1; } else {