This is an automated email from the ASF dual-hosted git repository. mbien pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/roller.git
commit 6577ba24fd3c968ea80da04daee272af87b07f7c Author: Michael Bien <[email protected]> AuthorDate: Fri Jul 9 05:08:50 2021 +0200 ui package: compiler warning fixes combined with collection improvements. --- .../weblogger/ui/core/plugins/UIPluginManager.java | 2 +- .../ui/core/plugins/UIPluginManagerImpl.java | 19 ++++---- .../ui/rendering/servlets/CommentServlet.java | 35 +++++---------- .../ui/rendering/servlets/PreviewServlet.java | 6 +-- .../ui/rendering/servlets/SearchServlet.java | 4 +- .../ui/rendering/util/WeblogFeedRequest.java | 6 +-- .../ui/rendering/util/WeblogPageRequest.java | 15 ++++--- .../weblogger/ui/struts2/editor/MediaFileAdd.java | 9 ++-- .../weblogger/ui/struts2/editor/WeblogConfig.java | 33 +++++++------- .../roller/weblogger/ui/struts2/util/UIAction.java | 52 ++++++++++------------ .../roller/weblogger/ui/struts2/util/UIUtils.java | 27 +++++------ 11 files changed, 93 insertions(+), 115 deletions(-) diff --git a/app/src/main/java/org/apache/roller/weblogger/ui/core/plugins/UIPluginManager.java b/app/src/main/java/org/apache/roller/weblogger/ui/core/plugins/UIPluginManager.java index 7aecef6..234506b 100644 --- a/app/src/main/java/org/apache/roller/weblogger/ui/core/plugins/UIPluginManager.java +++ b/app/src/main/java/org/apache/roller/weblogger/ui/core/plugins/UIPluginManager.java @@ -31,7 +31,7 @@ public interface UIPluginManager { * * @return List of all configure WeblogEntryEditor objects. */ - List getWeblogEntryEditors(); + List<WeblogEntryEditor> getWeblogEntryEditors(); /** diff --git a/app/src/main/java/org/apache/roller/weblogger/ui/core/plugins/UIPluginManagerImpl.java b/app/src/main/java/org/apache/roller/weblogger/ui/core/plugins/UIPluginManagerImpl.java index cc5f6cd..51f96c3 100644 --- a/app/src/main/java/org/apache/roller/weblogger/ui/core/plugins/UIPluginManagerImpl.java +++ b/app/src/main/java/org/apache/roller/weblogger/ui/core/plugins/UIPluginManagerImpl.java @@ -33,13 +33,13 @@ import org.apache.commons.lang3.StringUtils; */ public final class UIPluginManagerImpl implements UIPluginManager { - private static Log log = LogFactory.getLog(UIPluginManagerImpl.class); + private static final Log log = LogFactory.getLog(UIPluginManagerImpl.class); // singleton instance - private static UIPluginManagerImpl instance = null; + private static final UIPluginManagerImpl instance; // list of configured WeblogEntryEditor classes - private Map editors = new LinkedHashMap(); + private final Map<String, WeblogEntryEditor> editors = new LinkedHashMap<>(); // the default WeblogEntryEditor WeblogEntryEditor defaultEditor = null; @@ -63,19 +63,19 @@ public final class UIPluginManagerImpl implements UIPluginManager { @Override - public List getWeblogEntryEditors() { + public List<WeblogEntryEditor> getWeblogEntryEditors() { // TODO: sort list of returned editors - return new ArrayList(this.editors.values()); + return new ArrayList<>(this.editors.values()); } @Override public WeblogEntryEditor getWeblogEntryEditor(String id) { - WeblogEntryEditor editor = null; + WeblogEntryEditor editor; // see if this editor is configured - editor = (id == null) ? null : (WeblogEntryEditor) this.editors.get(id); + editor = (id == null) ? null : this.editors.get(id); if(editor == null) { editor = this.defaultEditor; } @@ -124,7 +124,7 @@ public final class UIPluginManagerImpl implements UIPluginManager { // make sure the default editor is defined String defaultEditorId = WebloggerConfig.getProperty("plugins.defaultEditor"); if(defaultEditorId != null) { - this.defaultEditor = (WeblogEntryEditor) this.editors.get(defaultEditorId); + this.defaultEditor = this.editors.get(defaultEditorId); } if(this.defaultEditor == null) { @@ -132,8 +132,7 @@ public final class UIPluginManagerImpl implements UIPluginManager { // guess we'll just have to pick one for them log.warn("Default editor was not properly configured, picking one at random instead."); - Object editor = this.editors.values().iterator().next(); - this.defaultEditor = (WeblogEntryEditor) editor; + this.defaultEditor = this.editors.values().iterator().next(); } } diff --git a/app/src/main/java/org/apache/roller/weblogger/ui/rendering/servlets/CommentServlet.java b/app/src/main/java/org/apache/roller/weblogger/ui/rendering/servlets/CommentServlet.java index 8be89ad..fbb6263 100644 --- a/app/src/main/java/org/apache/roller/weblogger/ui/rendering/servlets/CommentServlet.java +++ b/app/src/main/java/org/apache/roller/weblogger/ui/rendering/servlets/CommentServlet.java @@ -109,39 +109,28 @@ public class CommentServlet extends HttpServlet { int threshold = 25; try { - threshold = Integer.parseInt(WebloggerConfig - .getProperty("comment.throttle.threshold")); - } catch (Exception e) { - log.warn( - "bad input for config property comment.throttle.threshold", - e); + threshold = Integer.parseInt(WebloggerConfig.getProperty("comment.throttle.threshold")); + } catch (NumberFormatException e) { + log.warn("bad input for config property comment.throttle.threshold", e); } int interval = RollerConstants.MIN_IN_MS; try { - interval = Integer.parseInt(WebloggerConfig - .getProperty("comment.throttle.interval")); + interval = Integer.parseInt(WebloggerConfig.getProperty("comment.throttle.interval")); // convert from seconds to milliseconds interval = interval * RollerConstants.SEC_IN_MS; - } catch (Exception e) { - log.warn( - "bad input for config property comment.throttle.interval", - e); + } catch (NumberFormatException e) { + log.warn("bad input for config property comment.throttle.interval", e); } int maxEntries = 250; try { - maxEntries = Integer.parseInt(WebloggerConfig - .getProperty("comment.throttle.maxentries")); - } catch (Exception e) { - log.warn( - "bad input for config property comment.throttle.maxentries", - e); + maxEntries = Integer.parseInt(WebloggerConfig.getProperty("comment.throttle.maxentries")); + } catch (NumberFormatException e) { + log.warn("bad input for config property comment.throttle.maxentries", e); } - commentThrottle = new GenericThrottle(threshold, interval, - maxEntries); - + commentThrottle = new GenericThrottle(threshold, interval, maxEntries); log.info("Comment Throttling ENABLED"); } else { log.info("Comment Throttling DISABLED"); @@ -346,13 +335,13 @@ public class CommentServlet extends HttpServlet { // add specific error messages if they exist if (messages.getErrorCount() > 0) { - Iterator errors = messages.getErrors(); + Iterator<RollerMessage> errors = messages.getErrors(); RollerMessage errorKey; StringBuilder buf = new StringBuilder(); buf.append("<ul>"); while (errors.hasNext()) { - errorKey = (RollerMessage) errors.next(); + errorKey = errors.next(); buf.append("<li>"); if (errorKey.getArgs() != null) { diff --git a/app/src/main/java/org/apache/roller/weblogger/ui/rendering/servlets/PreviewServlet.java b/app/src/main/java/org/apache/roller/weblogger/ui/rendering/servlets/PreviewServlet.java index 54dca83..c24c642 100644 --- a/app/src/main/java/org/apache/roller/weblogger/ui/rendering/servlets/PreviewServlet.java +++ b/app/src/main/java/org/apache/roller/weblogger/ui/rendering/servlets/PreviewServlet.java @@ -59,7 +59,7 @@ import org.apache.roller.weblogger.ui.rendering.mobile.MobileDeviceRepository; */ public class PreviewServlet extends HttpServlet { - private static Log log = LogFactory.getLog(PreviewServlet.class); + private static final Log log = LogFactory.getLog(PreviewServlet.class); /** @@ -208,7 +208,7 @@ public class PreviewServlet extends HttpServlet { } // looks like we need to render content - Map model = new HashMap(); + Map<String, Object> model = new HashMap<>(); try { PageContext pageContext = JspFactory.getDefaultFactory().getPageContext( this, request, response,"", false, RollerConstants.EIGHT_KB_IN_BYTES, true); @@ -217,7 +217,7 @@ public class PreviewServlet extends HttpServlet { request.setAttribute("pageRequest", previewRequest); // populate the rendering model - Map initData = new HashMap(); + Map<String, Object> initData = new HashMap<>(); initData.put("parsedRequest", previewRequest); initData.put("pageContext", pageContext); diff --git a/app/src/main/java/org/apache/roller/weblogger/ui/rendering/servlets/SearchServlet.java b/app/src/main/java/org/apache/roller/weblogger/ui/rendering/servlets/SearchServlet.java index 729d3bb..8c49557 100644 --- a/app/src/main/java/org/apache/roller/weblogger/ui/rendering/servlets/SearchServlet.java +++ b/app/src/main/java/org/apache/roller/weblogger/ui/rendering/servlets/SearchServlet.java @@ -174,14 +174,14 @@ public class SearchServlet extends HttpServlet { response.setContentType("text/html; charset=utf-8"); // looks like we need to render content - Map model = new HashMap(); + Map<String, Object> model = new HashMap<>(); try { PageContext pageContext = JspFactory.getDefaultFactory() .getPageContext(this, request, response, "", false, RollerConstants.EIGHT_KB_IN_BYTES, true); // populate the rendering model - Map initData = new HashMap(); + Map<String, Object> initData = new HashMap<>(); initData.put("request", request); initData.put("pageContext", pageContext); diff --git a/app/src/main/java/org/apache/roller/weblogger/ui/rendering/util/WeblogFeedRequest.java b/app/src/main/java/org/apache/roller/weblogger/ui/rendering/util/WeblogFeedRequest.java index 5a10855..2c0832f 100644 --- a/app/src/main/java/org/apache/roller/weblogger/ui/rendering/util/WeblogFeedRequest.java +++ b/app/src/main/java/org/apache/roller/weblogger/ui/rendering/util/WeblogFeedRequest.java @@ -52,7 +52,7 @@ public class WeblogFeedRequest extends WeblogRequest { private String type = null; private String format = null; private String weblogCategoryName = null; - private List tags = null; + private List<String> tags = null; private int page = 0; private boolean excerpts = false; private String term = null; @@ -190,11 +190,11 @@ public class WeblogFeedRequest extends WeblogRequest { this.weblogCategoryName = weblogCategory; } - public List getTags() { + public List<String> getTags() { return tags; } - public void setTags(List tags) { + public void setTags(List<String> tags) { this.tags = tags; } diff --git a/app/src/main/java/org/apache/roller/weblogger/ui/rendering/util/WeblogPageRequest.java b/app/src/main/java/org/apache/roller/weblogger/ui/rendering/util/WeblogPageRequest.java index f2a7125..4e7dc7c 100644 --- a/app/src/main/java/org/apache/roller/weblogger/ui/rendering/util/WeblogPageRequest.java +++ b/app/src/main/java/org/apache/roller/weblogger/ui/rendering/util/WeblogPageRequest.java @@ -18,6 +18,7 @@ package org.apache.roller.weblogger.ui.rendering.util; +import java.util.Collections; import org.apache.commons.lang3.StringUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -57,9 +58,9 @@ public class WeblogPageRequest extends WeblogRequest { private String weblogPageName = null; private String weblogCategoryName = null; private String weblogDate = null; - private List tags = null; + private List<String> tags = null; private int pageNum = 0; - private Map customParams = new HashMap(); + private Map<String, String[]> customParams = Collections.emptyMap(); // heavyweight attributes private WeblogEntry weblogEntry = null; @@ -247,7 +248,7 @@ public class WeblogPageRequest extends WeblogRequest { // build customParams Map, we remove built-in params because we only // want this map to represent params defined by the template author - customParams = new HashMap(request.getParameterMap()); + customParams = new HashMap<>(request.getParameterMap()); customParams.remove("entry"); customParams.remove("anchor"); customParams.remove("date"); @@ -324,19 +325,19 @@ public class WeblogPageRequest extends WeblogRequest { this.pageNum = pageNum; } - public Map getCustomParams() { + public Map<String, String[]> getCustomParams() { return customParams; } - public void setCustomParams(Map customParams) { + public void setCustomParams(Map<String, String[]> customParams) { this.customParams = customParams; } - public List getTags() { + public List<String> getTags() { return tags; } - public void setTags(List tags) { + public void setTags(List<String> tags) { this.tags = tags; } diff --git a/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/MediaFileAdd.java b/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/MediaFileAdd.java index e48c80a..881dad7 100644 --- a/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/MediaFileAdd.java +++ b/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/MediaFileAdd.java @@ -36,7 +36,6 @@ import org.apache.roller.weblogger.pojos.MediaFileDirectory; import org.apache.roller.weblogger.util.RollerMessages; import org.apache.roller.weblogger.util.RollerMessages.RollerMessage; import org.apache.roller.weblogger.util.Utilities; -import org.apache.struts2.convention.annotation.AllowedMethods; import org.apache.struts2.interceptor.validation.SkipValidation; /** @@ -46,7 +45,7 @@ import org.apache.struts2.interceptor.validation.SkipValidation; // TODO: make this work @AllowedMethods({"execute","save"}) public class MediaFileAdd extends MediaFileBase { - private static Log log = LogFactory.getLog(MediaFileAdd.class); + private static final Log log = LogFactory.getLog(MediaFileAdd.class); private MediaFileBean bean = new MediaFileBean(); private MediaFileDirectory directory; @@ -136,7 +135,7 @@ public class MediaFileAdd extends MediaFileBase { MediaFileManager manager = WebloggerFactory.getWeblogger().getMediaFileManager(); RollerMessages errors = new RollerMessages(); - List<MediaFile> uploaded = new ArrayList(); + List<MediaFile> uploaded = new ArrayList<>(); File[] uploads = getUploadedFiles(); if (uploads != null && uploads.length > 0) { @@ -209,8 +208,8 @@ public class MediaFileAdd extends MediaFileBase { } } - for (Iterator it = errors.getErrors(); it.hasNext();) { - RollerMessage msg = (RollerMessage) it.next(); + for (Iterator<RollerMessage> it = errors.getErrors(); it.hasNext();) { + RollerMessage msg = it.next(); addError(msg.getKey(), Arrays.asList(msg.getArgs())); } diff --git a/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/WeblogConfig.java b/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/WeblogConfig.java index 8e25a65..912ffe1 100644 --- a/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/WeblogConfig.java +++ b/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/WeblogConfig.java @@ -19,10 +19,10 @@ package org.apache.roller.weblogger.ui.struts2.editor; import java.util.ArrayList; -import java.util.Arrays; import java.util.Collections; import java.util.List; import java.util.Map; +import java.util.regex.Pattern; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.roller.weblogger.business.plugins.PluginManager; @@ -31,8 +31,10 @@ import org.apache.roller.weblogger.business.WeblogEntryManager; import org.apache.roller.weblogger.business.plugins.entry.WeblogEntryPlugin; import org.apache.roller.weblogger.config.WebloggerRuntimeConfig; import org.apache.roller.weblogger.pojos.Weblog; +import org.apache.roller.weblogger.pojos.WeblogCategory; import org.apache.roller.weblogger.ui.core.RollerContext; import org.apache.roller.weblogger.ui.core.plugins.UIPluginManager; +import org.apache.roller.weblogger.ui.core.plugins.WeblogEntryEditor; import org.apache.roller.weblogger.ui.struts2.util.UIAction; import org.apache.roller.weblogger.util.Bannedwordslist; import org.apache.roller.weblogger.util.cache.CacheManager; @@ -46,19 +48,19 @@ import org.apache.struts2.interceptor.validation.SkipValidation; // TODO: make this work @AllowedMethods({"execute","save"}) public class WeblogConfig extends UIAction { - private static Log log = LogFactory.getLog(WeblogConfig.class); + private static final Log log = LogFactory.getLog(WeblogConfig.class); // bean for managing submitted data private WeblogConfigBean bean = new WeblogConfigBean(); // categories list - private List weblogCategories = Collections.emptyList(); + private List<WeblogCategory> weblogCategories = Collections.emptyList(); // list of available editors - private List editorsList = Collections.emptyList(); + private List<WeblogEntryEditor> editorsList = Collections.emptyList(); // list of available plugins - private List pluginsList = Collections.emptyList(); + private List<WeblogEntryPlugin> pluginsList = Collections.emptyList(); public WeblogConfig() { @@ -78,7 +80,7 @@ public class WeblogConfig extends UIAction { // set the Editor Page list UIPluginManager pmgr = RollerContext.getUIPluginManager(); - List editorList = pmgr.getWeblogEntryEditors(); + List<WeblogEntryEditor> editorList = pmgr.getWeblogEntryEditors(); if(editorList != null) { setEditorsList(editorList); } @@ -186,13 +188,12 @@ public class WeblogConfig extends UIAction { } // check bannedwordslist - List regexRules = new ArrayList(); - List stringRules = new ArrayList(); + List<Pattern> regexRules = new ArrayList<>(); + List<String> stringRules = new ArrayList<>(); try { // just for testing/counting, this does not persist rules in any way Bannedwordslist.populateSpamRules(getBean().getBannedwordslist(), stringRules, regexRules, null); - addMessage("websiteSettings.acceptedBannedwordslist", - Arrays.asList(new String[] {""+stringRules.size(), ""+regexRules.size()})); + addMessage("websiteSettings.acceptedBannedwordslist", List.of(""+stringRules.size(), ""+regexRules.size())); } catch (Exception e) { addError("websiteSettings.error.processingBannedwordslist", e.getMessage()); } @@ -207,27 +208,27 @@ public class WeblogConfig extends UIAction { this.bean = bean; } - public List getWeblogCategories() { + public List<WeblogCategory> getWeblogCategories() { return weblogCategories; } - public void setWeblogCategories(List weblogCategories) { + public void setWeblogCategories(List<WeblogCategory> weblogCategories) { this.weblogCategories = weblogCategories; } - public List getEditorsList() { + public List<WeblogEntryEditor> getEditorsList() { return editorsList; } - public void setEditorsList(List editorsList) { + public void setEditorsList(List<WeblogEntryEditor> editorsList) { this.editorsList = editorsList; } - public List getPluginsList() { + public List<WeblogEntryPlugin> getPluginsList() { return pluginsList; } - public void setPluginsList(List pluginsList) { + public void setPluginsList(List<WeblogEntryPlugin> pluginsList) { this.pluginsList = pluginsList; } diff --git a/app/src/main/java/org/apache/roller/weblogger/ui/struts2/util/UIAction.java b/app/src/main/java/org/apache/roller/weblogger/ui/struts2/util/UIAction.java index fd5d7c1..d025e70 100644 --- a/app/src/main/java/org/apache/roller/weblogger/ui/struts2/util/UIAction.java +++ b/app/src/main/java/org/apache/roller/weblogger/ui/struts2/util/UIAction.java @@ -35,9 +35,13 @@ import org.apache.struts2.interceptor.RequestAware; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.ArrayList; +import java.util.Arrays; import java.util.Collections; import java.util.List; +import java.util.Locale; import java.util.Map; +import java.util.stream.Collectors; +import java.util.stream.IntStream; /** * Extends the Struts2 ActionSupport class to add in support for handling an @@ -203,20 +207,12 @@ public abstract class UIAction extends ActionSupport @Override public String getText(String aTextName, List<?> args) { - List<Object> cleanedArgs = new ArrayList<>(args.size()); - for (Object el : args) { - cleanedArgs.add(el instanceof String ? cleanTextArg((String) el) : el); - } - return super.getText(cleanTextKey(aTextName), cleanedArgs); + return super.getText(cleanTextKey(aTextName), cleanArgs(args)); } @Override public String getText(String key, String[] args) { - String[] cleanedArgs = new String[args.length]; - for (int i = 0; i < args.length; ++i) { - cleanedArgs[i] = cleanTextArg(args[i]); - } - return super.getText(cleanTextKey(key), cleanedArgs); + return super.getText(cleanTextKey(key), cleanArgs(Arrays.asList(args))); } @Override @@ -338,8 +334,7 @@ public abstract class UIAction extends ActionSupport public String getShortDateFormat() { - DateFormat sdf = DateFormat.getDateInstance( - DateFormat.SHORT, getLocale()); + DateFormat sdf = DateFormat.getDateInstance(DateFormat.SHORT, getLocale()); if (sdf instanceof SimpleDateFormat) { return ((SimpleDateFormat)sdf).toPattern(); } @@ -347,39 +342,30 @@ public abstract class UIAction extends ActionSupport } public String getMediumDateFormat() { - DateFormat sdf = DateFormat.getDateInstance( - DateFormat.MEDIUM, getLocale()); + DateFormat sdf = DateFormat.getDateInstance(DateFormat.MEDIUM, getLocale()); if (sdf instanceof SimpleDateFormat) { return ((SimpleDateFormat)sdf).toPattern(); } return "MMM dd, yyyy"; } - public List getLocalesList() { + public List<Locale> getLocalesList() { return UIUtils.getLocales(); } - public List getTimeZonesList() { + public List<String> getTimeZonesList() { return UIUtils.getTimeZones(); } - public List getHoursList() { - List ret = new ArrayList(); - for (int i=0; i<24; i++) { - ret.add(i); - } - return ret; + public List<Integer> getHoursList() { + return IntStream.range(0, 24).boxed().collect(Collectors.toList()); } - public List getMinutesList() { - List ret = new ArrayList(); - for (int i=0; i<60; i++) { - ret.add(i); - } - return ret; + public List<Integer> getMinutesList() { + return IntStream.range(0, 60).boxed().collect(Collectors.toList()); } - public List getSecondsList() { + public List<Integer> getSecondsList() { return getMinutesList(); } @@ -417,4 +403,12 @@ public abstract class UIAction extends ActionSupport } return StringEscapeUtils.escapeHtml4(s); } + + private List<?> cleanArgs(List<?> args) { + List<Object> cleanedArgs = new ArrayList<>(args.size()); + for (Object arg : args) { + cleanedArgs.add(arg instanceof String ? cleanTextArg((String) arg) : arg); + } + return cleanedArgs; + } } diff --git a/app/src/main/java/org/apache/roller/weblogger/ui/struts2/util/UIUtils.java b/app/src/main/java/org/apache/roller/weblogger/ui/struts2/util/UIUtils.java index 1171838..713d4b1 100644 --- a/app/src/main/java/org/apache/roller/weblogger/ui/struts2/util/UIUtils.java +++ b/app/src/main/java/org/apache/roller/weblogger/ui/struts2/util/UIUtils.java @@ -31,8 +31,8 @@ import java.util.TimeZone; */ public final class UIUtils { - private static final List LOCALES; - private static final List TIME_ZONES; + private static final List<Locale> LOCALES; + private static final List<String> TIME_ZONES; // load up the locales and time zones lists @@ -48,11 +48,11 @@ public final class UIUtils { public static String getLocale(String localeName) { - Locale locale = new Locale(localeName,localeName); + Locale locale = new Locale(localeName, localeName); // TODO: is this a bug? return locale.toString(); } - public static List getLocales() { + public static List<Locale> getLocales() { return LOCALES; } @@ -60,25 +60,20 @@ public final class UIUtils { return TimeZone.getTimeZone(timeZoneName).getID(); } - public static List getTimeZones() { + public static List<String> getTimeZones() { return TIME_ZONES; } // special comparator for sorting LOCALES - private static final class LocaleComparator implements Comparator { + private static final class LocaleComparator implements Comparator<Locale> { @Override - public int compare(Object obj1, Object obj2) { - if (obj1 instanceof Locale && obj2 instanceof Locale) { - Locale locale1 = (Locale)obj1; - Locale locale2 = (Locale)obj2; - int compName = locale1.getDisplayName().compareTo(locale2.getDisplayName()); - if (compName == 0) { - return locale1.toString().compareTo(locale2.toString()); - } - return compName; + public int compare(Locale locale1, Locale locale2) { + int compName = locale1.getDisplayName().compareTo(locale2.getDisplayName()); + if (compName == 0) { + return locale1.toString().compareTo(locale2.toString()); } - return 0; + return compName; } }
