projects
/
pnews.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (from parent 1:
3ce88c3
)
multi languages support
author
Jean-Philippe Orsini
<orsinije@fr.ibm.com>
Sun, 29 Oct 2017 20:25:30 +0000
(21:25 +0100)
committer
Jean-Philippe Orsini
<orsinije@fr.ibm.com>
Sun, 29 Oct 2017 20:25:30 +0000
(21:25 +0100)
war/src/main/java/pnews/servlet/Config.java
patch
|
blob
|
history
war/src/main/java/pnews/servlet/HTML.java
patch
|
blob
|
history
war/src/main/java/pnews/servlet/Pnews.java
patch
|
blob
|
history
war/src/main/resources/feeds.json
patch
|
blob
|
history
diff --git
a/war/src/main/java/pnews/servlet/Config.java
b/war/src/main/java/pnews/servlet/Config.java
index
7e2b642
..
5bce897
100644
(file)
--- a/
war/src/main/java/pnews/servlet/Config.java
+++ b/
war/src/main/java/pnews/servlet/Config.java
@@
-21,6
+21,7
@@
import pnews.Feed;
public class Config {
private Feed[] feeds;
private Category[] categories;
public class Config {
private Feed[] feeds;
private Category[] categories;
+ private final String[] languages = { "fr", "en" };
private static final Logger LOG = Logger.getLogger(Config.class.getName());
private void loadCategories(JsonArray jcats) {
private static final Logger LOG = Logger.getLogger(Config.class.getName());
private void loadCategories(JsonArray jcats) {
@@
-127,6
+128,10
@@
public class Config {
return categories[0];
}
return categories[0];
}
+ public String[] getLanguages() {
+ return languages;
+ }
+
public static void main(String[] args) throws UnsupportedEncodingException {
Config cfg;
Feed[] feeds;
public static void main(String[] args) throws UnsupportedEncodingException {
Config cfg;
Feed[] feeds;
diff --git
a/war/src/main/java/pnews/servlet/HTML.java
b/war/src/main/java/pnews/servlet/HTML.java
index
ad0c24a
..
321c5a7
100644
(file)
--- a/
war/src/main/java/pnews/servlet/HTML.java
+++ b/
war/src/main/java/pnews/servlet/HTML.java
@@
-88,8
+88,10
@@
public class HTML {
appendA(buf, cat.getLabel(), cat.getURL(), cl);
buf.append("</li>");
}
appendA(buf, cat.getLabel(), cat.getURL(), cl);
buf.append("</li>");
}
-
+ buf.append("<li><a href='/en'>EN</a></li>");
+ buf.append("<li><a href='/fr'>FR</a></li>");
buf.append("</ul>\n");
buf.append("</ul>\n");
+
buf.append("</nav>\n");
}
buf.append("</nav>\n");
}
diff --git
a/war/src/main/java/pnews/servlet/Pnews.java
b/war/src/main/java/pnews/servlet/Pnews.java
index
63040c8
..
fc08d13
100644
(file)
--- a/
war/src/main/java/pnews/servlet/Pnews.java
+++ b/
war/src/main/java/pnews/servlet/Pnews.java
@@
-90,6
+90,11
@@
public class Pnews extends HttpServlet {
LOG.exiting(Pnews.class.getName(), "redirect");
}
LOG.exiting(Pnews.class.getName(), "redirect");
}
+
+ private static void doTemporaryRedirect(String newURL, HttpServletResponse rp) {
+ rp.setHeader("Location", newURL);
+ rp.setStatus(HttpServletResponse.SC_TEMPORARY_REDIRECT);
+ }
private void writeStats(HttpServletResponse rp) throws IOException {
rp.setContentType("application/json;charset=utf-8");
private void writeStats(HttpServletResponse rp) throws IOException {
rp.setContentType("application/json;charset=utf-8");
@@
-173,7
+178,6
@@
public class Pnews extends HttpServlet {
}
try {
}
try {
-
if (path.equals("/stats")) {
writeStats(resp);
return ;
if (path.equals("/stats")) {
writeStats(resp);
return ;
@@
-185,6
+189,13
@@
public class Pnews extends HttpServlet {
return ;
}
}
return ;
}
}
+
+ for (String l: config.getLanguages()) {
+ if (path.equals("/" + l) || path.equals("/" + l + "/")) {
+ doTemporaryRedirect(config.getDefaultCategory().getURL(), resp);
+ return ;
+ }
+ }
resp.getWriter().write("Not found " + req.getPathInfo());
resp.setStatus(HttpServletResponse.SC_NOT_FOUND);
resp.getWriter().write("Not found " + req.getPathInfo());
resp.setStatus(HttpServletResponse.SC_NOT_FOUND);
diff --git
a/war/src/main/resources/feeds.json
b/war/src/main/resources/feeds.json
index
a0aa0f0
..
34631f2
100644
(file)
--- a/
war/src/main/resources/feeds.json
+++ b/
war/src/main/resources/feeds.json
@@
-75,6
+75,7
@@
"http://www.purepeople.com/rss/news_t0.xml": { "categories": ["people"] },
"http://www.generation-nt.com/export/rss.xml": { "categories": ["technologie"] },
"http://www.europe1.fr/var/export/rss/europe1/sciences.xml": { "categories": ["technologie"] },
"http://www.purepeople.com/rss/news_t0.xml": { "categories": ["people"] },
"http://www.generation-nt.com/export/rss.xml": { "categories": ["technologie"] },
"http://www.europe1.fr/var/export/rss/europe1/sciences.xml": { "categories": ["technologie"] },
+ "http://www.europe1.fr/var/export/rss/europe1/technologies.xml": { "categories": ["technologie"]},
"http://feeds.feedburner.com/lesnumeriques/news": { "categories": ["technologie"] },
"http://www.zdnet.fr/feeds/rss/actualites/": { "categories": ["technologie"] },
"http://www.frandroid.com/feed": { "categories": ["technologie"] },
"http://feeds.feedburner.com/lesnumeriques/news": { "categories": ["technologie"] },
"http://www.zdnet.fr/feeds/rss/actualites/": { "categories": ["technologie"] },
"http://www.frandroid.com/feed": { "categories": ["technologie"] },