X-Git-Url: https://git.wpitchoune.net/gitweb/?p=pnews.git;a=blobdiff_plain;f=war%2Fsrc%2Fmain%2Fjava%2Fpnews%2Fservlet%2FHTML.java;h=ac7a749b3db7e4499ba22c798d1c90427edc79e2;hp=321c5a7822f560548583ba79c3a3255ab2441174;hb=aff83c8798602b535d13edeaffdb8f4238e2bbf5;hpb=892111b2ecf385bd28bbe93ff6113cbc1e04409e
diff --git a/war/src/main/java/pnews/servlet/HTML.java b/war/src/main/java/pnews/servlet/HTML.java
index 321c5a7..ac7a749 100644
--- a/war/src/main/java/pnews/servlet/HTML.java
+++ b/war/src/main/java/pnews/servlet/HTML.java
@@ -1,13 +1,19 @@
package pnews.servlet;
+import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
-import pnews.Article;
-import pnews.Category;
+import com.rometools.rome.io.FeedException;
+
+import net.wpitchoune.pnews.Article;
+import net.wpitchoune.pnews.Category;
+import net.wpitchoune.pnews.Config;
+import net.wpitchoune.pnews.EntityStat;
+import net.wpitchoune.pnews.Language;
public class HTML {
private static final String CLASS_NAME= HTML.class.getName();
@@ -43,9 +49,9 @@ public class HTML {
buf.append("
\n");
buf.append("
\n");
- if (a.thumbnail != null) {
+ if (a.getThumbnail() != null) {
buf.append("
\n");
}
buf.append("
\n");
@@ -53,15 +59,20 @@ public class HTML {
buf.append("
\n");
buf.append("
\n");
- appendA(buf, a.title, "/redirect?url=" + URLEncoder.encode(a.link, "UTF-8"), null);
+ appendA(buf, a.getTitle(), "/redirect?url=" + URLEncoder.encode(a.getLink(), "UTF-8"), null);
buf.append("
\n");
- buf.append("
" + a.website + " - " + a.publicationDate + "
");
+ buf.append("
" + a.getWebsite() + " - " + a.getPublicationDate() + "
");
buf.append("
\n");
- if (a.description != null) {
+ if (a.getDescription() != null) {
buf.append("
");
- buf.append(a.description);
+ if (a.getDescription().length() < 512) {
+ buf.append(a.getDescription());
+ } else {
+ buf.append(a.getDescription().substring(0, 512));
+ buf.append("[..]");
+ }
buf.append("
");
}
buf.append("
\n");
@@ -71,13 +82,16 @@ public class HTML {
buf.append("
\n");
}
- private static void appendMenu(StringBuffer buf, Category catActive, Category[] cats) {
+ private static void appendMenu(StringBuffer buf, Category catActive, Config cfg) {
String cl;
buf.append("
\n");
}
- public static String toHTML(List
articles, Category catActive, Category[] cats) {
+ private static String toURL(Category catActive, String entity) {
+ try {
+ return catActive.getURL() + "?entity=" + URLEncoder.encode(entity, "UTF-8");
+ } catch (UnsupportedEncodingException e) {
+ LOG.log(Level.SEVERE, "Failed to generate link to entity " + entity, e);
+ return catActive.getURL();
+ }
+ }
+
+ public static String toHTML(List articles, Category catActive, String entityActive, Config cfg, ArticleProvider provider) {
StringBuffer buf;
int i;
+ List entities;
+ String cl;
buf = new StringBuffer();
buf.append("\n");
@@ -111,7 +138,33 @@ public class HTML {
buf.append("\n");
buf.append("\n");
- appendMenu(buf, catActive, cats);
+ appendMenu(buf, catActive, cfg);
+
+ try {
+ entities = provider.getEntityStats(catActive);
+
+ if (entities.size() > 0) {
+ buf.append("\n");
+ }
+ } catch (IllegalArgumentException | FeedException | IOException e2) {
+ LOG.log(Level.SEVERE, "Failed to get entities", e2);
+ }
i = 0;
for (Article e: articles) {