X-Git-Url: http://git.wpitchoune.net/gitweb/?p=pnews.git;a=blobdiff_plain;f=war%2Fsrc%2Fmain%2Fjava%2Fpnews%2Fservlet%2FHTML.java;h=d20d415c33c9a5894be6019c3a90b992c0cb09cd;hp=e9aae267dcc233edb78452aba4350dbecae60169;hb=975f59a4767a4fc4f298b87abf2a5b415e988726;hpb=386f46525e32212ac5f3653135a6539c1b2639eb diff --git a/war/src/main/java/pnews/servlet/HTML.java b/war/src/main/java/pnews/servlet/HTML.java index e9aae26..d20d415 100644 --- a/war/src/main/java/pnews/servlet/HTML.java +++ b/war/src/main/java/pnews/servlet/HTML.java @@ -1,13 +1,18 @@ 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 com.rometools.rome.io.FeedException; + import pnews.Article; import pnews.Category; +import pnews.EntityStat; +import pnews.Language; public class HTML { private static final String CLASS_NAME= HTML.class.getName(); @@ -61,7 +66,12 @@ public class HTML { buf.append("
\n"); if (a.description != null) { buf.append("

"); - buf.append(a.description); + if (a.description.length() < 512) { + buf.append(a.description); + } else { + buf.append(a.description.substring(0, 512)); + buf.append("[..]"); + } buf.append("

"); } buf.append("
\n"); @@ -71,13 +81,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"); @@ -109,14 +137,40 @@ 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) { try { append(buf, e); } catch (UnsupportedEncodingException e1) { - LOG.log(Level.SEVERE, "fail to convert article to HTML", e1); + LOG.log(Level.SEVERE, "Failed to convert article to HTML", e1); } if (i == 100) break;