X-Git-Url: https://wpitchoune.net/gitweb/?a=blobdiff_plain;f=war%2Fsrc%2Fmain%2Fjava%2Fpnews%2Fservlet%2FConfig.java;h=09a545757f5ffffc19e60a9bd471007f15173688;hb=69746f2a8087043f7548849d78353281fbb5527f;hp=e4c5fed668318ec5fbb185df3ddf314b0a957867;hpb=d7e96345fdfabf8e66a94fdb5895f6b3b1cd45ac;p=pnews.git diff --git a/war/src/main/java/pnews/servlet/Config.java b/war/src/main/java/pnews/servlet/Config.java index e4c5fed..09a5457 100644 --- a/war/src/main/java/pnews/servlet/Config.java +++ b/war/src/main/java/pnews/servlet/Config.java @@ -17,11 +17,12 @@ import javax.json.JsonValue; import pnews.Category; import pnews.Feed; +import pnews.Language; public class Config { private Feed[] feeds; private Category[] categories; - private final String[] languages = { "fr", "en" }; + private Language[] languages; private static final Logger LOG = Logger.getLogger(Config.class.getName()); private void loadCategories(JsonArray jcats) { @@ -42,6 +43,22 @@ public class Config { categories = cats.toArray(new Category[0]); } + + private void loadLanguages(JsonArray jlangs) { + List langs; + JsonObject jlang; + String id; + + langs = new ArrayList<>(jlangs.size()); + + for (JsonValue v: jlangs) { + jlang = (JsonObject)v; + id = jlang.getString("id"); + langs.add(new Language(id)); + } + + languages = langs.toArray(new Language[0]); + } private Category getCategory(String id) { for (Category c: categories) @@ -65,7 +82,7 @@ public class Config { try { r.close(); } catch (IOException e) { }; } - + loadLanguages(jroot.getJsonArray("languages")); loadCategories(jroot.getJsonArray("categories")); jfeeds = jroot.getJsonObject("feeds"); @@ -128,11 +145,11 @@ public class Config { return categories[0]; } - public String[] getLanguages() { + public Language[] getLanguages() { return languages; } - public String getDefaultLanguage() { + public Language getDefaultLanguage() { return languages[0]; }