X-Git-Url: http://git.wpitchoune.net/gitweb/?p=pnews.git;a=blobdiff_plain;f=war%2Fsrc%2Fmain%2Fjava%2Fpnews%2Fservlet%2FConfig.java;h=bafb60690084056cf5e6e27d76cef47f4681d089;hp=09a545757f5ffffc19e60a9bd471007f15173688;hb=08ed43939f542770afa3c47522ec914cd300feba;hpb=69746f2a8087043f7548849d78353281fbb5527f diff --git a/war/src/main/java/pnews/servlet/Config.java b/war/src/main/java/pnews/servlet/Config.java index 09a5457..bafb606 100644 --- a/war/src/main/java/pnews/servlet/Config.java +++ b/war/src/main/java/pnews/servlet/Config.java @@ -23,11 +23,16 @@ public class Config { private Feed[] feeds; private Category[] categories; private Language[] languages; + /** + * The key is the language, the value is the default category for this language. + */ + private Map defaultCategories = new HashMap<>(); private static final Logger LOG = Logger.getLogger(Config.class.getName()); private void loadCategories(JsonArray jcats) { List cats; JsonObject jcat; + Category cat; String id, label, title, language; cats = new ArrayList<>(jcats.size()); @@ -38,7 +43,10 @@ public class Config { label = jcat.getString("label"); title = jcat.getString("title"); language = jcat.getString("language"); - cats.add(new Category(id, label, title, language)); + cat = new Category(id, label, title, language); + cats.add(cat); + if (defaultCategories.get(language) == null) + defaultCategories.put(language, cat); } categories = cats.toArray(new Category[0]); @@ -141,8 +149,8 @@ public class Config { return categories; } - public Category getDefaultCategory() { - return categories[0]; + public Category getDefaultCategory(Language lang) { + return defaultCategories.get(lang.getId()); } public Language[] getLanguages() {