converters in the servlet package
authorJean-Philippe Orsini <orsinije@fr.ibm.com>
Wed, 18 Oct 2017 21:54:20 +0000 (23:54 +0200)
committerJean-Philippe Orsini <orsinije@fr.ibm.com>
Wed, 18 Oct 2017 21:54:20 +0000 (23:54 +0200)
war/src/main/java/pnews/HTML.java [deleted file]
war/src/main/java/pnews/JSON.java [deleted file]
war/src/main/java/pnews/servlet/HTML.java [new file with mode: 0644]
war/src/main/java/pnews/servlet/JSON.java [new file with mode: 0644]
war/src/main/java/pnews/servlet/Pnews.java

diff --git a/war/src/main/java/pnews/HTML.java b/war/src/main/java/pnews/HTML.java
deleted file mode 100644 (file)
index 4b4af8b..0000000
+++ /dev/null
@@ -1,127 +0,0 @@
-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);
-               buf.append("'");
-               if (cl != null) {
-                       buf.append(" class='");
-                       buf.append(cl);
-                       buf.append('\'');
-               }
-               buf.append('>');
-               buf.append(child);
-               buf.append("</a>");
-       }
-       
-       private static void appendDiv(StringBuffer buf, String child) {
-               buf.append("<div>");
-               buf.append(child);
-               buf.append("</div>\n");
-       }
-       
-       private static void appendP(StringBuffer buf, String child) {
-               buf.append("<p>");
-               buf.append(child);
-               buf.append("</p>\n");
-       }
-       
-       private static void append(StringBuffer buf, Article a) throws UnsupportedEncodingException {           
-               buf.append("<div class='article'>\n");
-               
-               buf.append("<div class='article-image'>\n");
-               if (a.thumbnail != null) {
-                       buf.append("<img class='left' src='");
-                       buf.append(a.thumbnail);
-                       buf.append("'/>\n");
-               }
-               buf.append("</div>\n");
-               
-               buf.append("<div class='article-content'>\n");
-
-               buf.append("<div class='article-title'>\n");
-               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>");
-               
-               buf.append("<div class='article-description'>\n");
-               if (a.description != null) {
-                       buf.append("<p>");
-                       buf.append(a.description);
-                       buf.append("</p>");
-               }
-                buf.append("</div>\n");                
-               
-                buf.append("</div>\n");
-                
-               buf.append("</div>\n");         
-       }
-       
-       private static void appendMenu(StringBuffer buf, Category catActive) {
-               String cl;
-               
-               buf.append("<nav>\n");
-               buf.append("<ul>\n");
-
-               for (Category cat: Category.values()) {
-                       buf.append("<li>");
-                       
-                       if (cat.equals(catActive))
-                               cl = "active";
-                       else
-                               cl = null;
-                       
-                       appendA(buf, cat.getId(), cat.getId(), cl);
-                       buf.append("</li>");
-               }
-               
-               buf.append("</ul>\n");
-               buf.append("</nav>\n");
-       }
-       
-       public static String toHTML(List<Article> articles, Category catActive) {
-               StringBuffer buf;
-               int i;
-               
-               buf = new StringBuffer();
-               buf.append("<!DOCTYPE html>\n");
-               buf.append("<html lang='fr'>\n");
-               buf.append("<head>\n");
-               buf.append("<meta charset=\"UTF-8\">\n");
-               buf.append("<link rel='stylesheet' href='style.css' />\n");
-               buf.append("<title>PNews</title>\n");
-               buf.append("</head>\n");
-               buf.append("<body>\n");
-               
-               appendMenu(buf, catActive);
-               
-               i = 0;
-               for (Article e: articles) {
-                       try {
-                                append(buf, e);
-                        } catch (UnsupportedEncodingException e1) {
-                                LOG.log(Level.SEVERE, "fail to convert article to HTML", e1);
-                        }
-                       if (i == 100)
-                               break;
-                       else
-                               i++;
-               }
-               
-               buf.append("</body>\n");
-               buf.append("</html>\n");
-       
-               return buf.toString();
-       }
-}
diff --git a/war/src/main/java/pnews/JSON.java b/war/src/main/java/pnews/JSON.java
deleted file mode 100644 (file)
index d01173d..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-package pnews;
-
-import com.google.gson.Gson;
-import com.google.gson.JsonObject;
-
-import pnews.servlet.ArticleStore;
-
-public class JSON {
-        public static String getStats() {
-                JsonObject jarticles, jreadcounts;   
-                Article[] articles;
-                
-                jarticles = new JsonObject();
-                                
-                jarticles.addProperty("articles-count", ArticleStore.singleton.size());
-                
-                jreadcounts = new JsonObject();
-                jarticles.add("read-counts", jreadcounts);
-                
-                articles = ArticleStore.singleton.getArticles();
-                for (Article a: articles)
-                        if (a.readCount.get() > 0)
-                                jreadcounts.addProperty(a.link, a.readCount);         
-                
-                return new Gson().toJson(jarticles);
-                
-        }
-}
diff --git a/war/src/main/java/pnews/servlet/HTML.java b/war/src/main/java/pnews/servlet/HTML.java
new file mode 100644 (file)
index 0000000..b78d29b
--- /dev/null
@@ -0,0 +1,130 @@
+package pnews.servlet;
+
+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;
+
+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);
+               buf.append("'");
+               if (cl != null) {
+                       buf.append(" class='");
+                       buf.append(cl);
+                       buf.append('\'');
+               }
+               buf.append('>');
+               buf.append(child);
+               buf.append("</a>");
+       }
+       
+       private static void appendDiv(StringBuffer buf, String child) {
+               buf.append("<div>");
+               buf.append(child);
+               buf.append("</div>\n");
+       }
+       
+       private static void appendP(StringBuffer buf, String child) {
+               buf.append("<p>");
+               buf.append(child);
+               buf.append("</p>\n");
+       }
+       
+       private static void append(StringBuffer buf, Article a) throws UnsupportedEncodingException {           
+               buf.append("<div class='article'>\n");
+               
+               buf.append("<div class='article-image'>\n");
+               if (a.thumbnail != null) {
+                       buf.append("<img class='left' src='");
+                       buf.append(a.thumbnail);
+                       buf.append("'/>\n");
+               }
+               buf.append("</div>\n");
+               
+               buf.append("<div class='article-content'>\n");
+
+               buf.append("<div class='article-title'>\n");
+               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>");
+               
+               buf.append("<div class='article-description'>\n");
+               if (a.description != null) {
+                       buf.append("<p>");
+                       buf.append(a.description);
+                       buf.append("</p>");
+               }
+                buf.append("</div>\n");                
+               
+                buf.append("</div>\n");
+                
+               buf.append("</div>\n");         
+       }
+       
+       private static void appendMenu(StringBuffer buf, Category catActive) {
+               String cl;
+               
+               buf.append("<nav>\n");
+               buf.append("<ul>\n");
+
+               for (Category cat: Category.values()) {
+                       buf.append("<li>");
+                       
+                       if (cat.equals(catActive))
+                               cl = "active";
+                       else
+                               cl = null;
+                       
+                       appendA(buf, cat.getId(), cat.getId(), cl);
+                       buf.append("</li>");
+               }
+               
+               buf.append("</ul>\n");
+               buf.append("</nav>\n");
+       }
+       
+       public static String toHTML(List<Article> articles, Category catActive) {
+               StringBuffer buf;
+               int i;
+               
+               buf = new StringBuffer();
+               buf.append("<!DOCTYPE html>\n");
+               buf.append("<html lang='fr'>\n");
+               buf.append("<head>\n");
+               buf.append("<meta charset=\"UTF-8\">\n");
+               buf.append("<link rel='stylesheet' href='style.css' />\n");
+               buf.append("<title>PNews</title>\n");
+               buf.append("</head>\n");
+               buf.append("<body>\n");
+               
+               appendMenu(buf, catActive);
+               
+               i = 0;
+               for (Article e: articles) {
+                       try {
+                                append(buf, e);
+                        } catch (UnsupportedEncodingException e1) {
+                                LOG.log(Level.SEVERE, "fail to convert article to HTML", e1);
+                        }
+                       if (i == 100)
+                               break;
+                       else
+                               i++;
+               }
+               
+               buf.append("</body>\n");
+               buf.append("</html>\n");
+       
+               return buf.toString();
+       }
+}
diff --git a/war/src/main/java/pnews/servlet/JSON.java b/war/src/main/java/pnews/servlet/JSON.java
new file mode 100644 (file)
index 0000000..5167186
--- /dev/null
@@ -0,0 +1,28 @@
+package pnews.servlet;
+
+import com.google.gson.Gson;
+import com.google.gson.JsonObject;
+
+import pnews.Article;
+
+public class JSON {
+        public static String getStats() {
+                JsonObject jarticles, jreadcounts;   
+                Article[] articles;
+                
+                jarticles = new JsonObject();
+                                
+                jarticles.addProperty("articles-count", ArticleStore.singleton.size());
+                
+                jreadcounts = new JsonObject();
+                jarticles.add("read-counts", jreadcounts);
+                
+                articles = ArticleStore.singleton.getArticles();
+                for (Article a: articles)
+                        if (a.readCount.get() > 0)
+                                jreadcounts.addProperty(a.link, a.readCount);         
+                
+                return new Gson().toJson(jarticles);
+                
+        }
+}
index 428ec87..79ee9f6 100644 (file)
@@ -22,8 +22,6 @@ import com.rometools.rome.io.FeedException;
 
 import pnews.Article;
 import pnews.Category;
-import pnews.HTML;
-import pnews.JSON;
 
 public class Pnews extends HttpServlet {
         private static final Logger LOG = Logger.getLogger(Pnews.class.getName());