provide some stats as json
[pnews.git] / war / src / main / java / pnews / HTML.java
index 9478fa2..4b4af8b 100644 (file)
@@ -1,8 +1,15 @@
 package pnews;
 
+import java.io.UnsupportedEncodingException;
+import java.net.URLEncoder;
 import java.util.List;
+import java.util.logging.Level;
+import java.util.logging.Logger;
 
 public class HTML {
+        private static final String CLASS_NAME= HTML.class.getName();
+        private static final Logger LOG = Logger.getLogger(CLASS_NAME);
+        
        private static void appendA(StringBuffer buf, String child, String href, String cl) {
                buf.append("<a href='");
                buf.append(href);
@@ -29,7 +36,7 @@ public class HTML {
                buf.append("</p>\n");
        }
        
-       private static void append(StringBuffer buf, Article a) {               
+       private static void append(StringBuffer buf, Article a) throws UnsupportedEncodingException {           
                buf.append("<div class='article'>\n");
                
                buf.append("<div class='article-image'>\n");
@@ -43,7 +50,7 @@ public class HTML {
                buf.append("<div class='article-content'>\n");
 
                buf.append("<div class='article-title'>\n");
-               appendA(buf, a.title, "redirect?url="+a.link, null);
+               appendA(buf, a.title, "redirect?url=" + URLEncoder.encode(a.link, "UTF-8"), null);
                buf.append("</div>\n");
                
                buf.append("<div class='article-info'>" + a.website + " - " + a.publicationDate + "</div>");
@@ -101,7 +108,11 @@ public class HTML {
                
                i = 0;
                for (Article e: articles) {
-                       append(buf, e);
+                       try {
+                                append(buf, e);
+                        } catch (UnsupportedEncodingException e1) {
+                                LOG.log(Level.SEVERE, "fail to convert article to HTML", e1);
+                        }
                        if (i == 100)
                                break;
                        else