sorted by pub date
authorJean-Philippe Orsini <orsinije@fr.ibm.com>
Tue, 10 Oct 2017 15:45:46 +0000 (17:45 +0200)
committerJean-Philippe Orsini <orsinije@fr.ibm.com>
Tue, 10 Oct 2017 15:45:46 +0000 (17:45 +0200)
src/main/java/pnews/Article.java
src/main/java/pnews/HTML.java
src/main/java/pnews/Main.java

index 6bfe61b..0b54205 100644 (file)
@@ -1,17 +1,23 @@
 package pnews;
 
+import java.util.Date;
+
 public class Article {
         public final String title;
         public final String description;
         public final String thumbnail;
         public final String link;
         public final Category category;
+        public final Date publicationDate;
+        public final String website;
         
-        public Article(String link, Category category, String title, String description, String thumbnail) {
+        public Article(String link, Category category, String title, String description, String thumbnail, Date publicationDate, String website) {
                 this.link = link;
                 this.title = title;
                 this.description = description;
                 this.thumbnail = thumbnail;
                 this.category = category;
+                this.publicationDate = publicationDate;
+                this.website = website;
         }
 }
index b919cf1..5f089cc 100644 (file)
@@ -23,23 +23,23 @@ public class HTML {
                buf.append("</p>\n");
        }
        
-       private static void append(StringBuffer buf, Article entry) {
-               
+       private static void append(StringBuffer buf, Article a) {               
                buf.append("<section>\n");
                buf.append("<h2>");
-               appendA(buf, entry.title, entry.link);
+               appendA(buf, a.title, a.link);
                buf.append("</h2>\n");
                                
                buf.append("<img class='left' src='");
-               buf.append(entry.thumbnail);
+               buf.append(a.thumbnail);
                buf.append("'/>\n");
                
+               buf.append("<p>" + a.website + " - " + a.publicationDate + "</p>");
+               
                buf.append("<p>");
-               buf.append(entry.description);
+               buf.append(a.description);
                buf.append("</p>");
                
-               buf.append("</section>\n");
-               
+               buf.append("</section>\n");             
        }
        
        private static void appendMenu(StringBuffer buf) {
index 35962bc..064d597 100644 (file)
@@ -8,6 +8,7 @@ import java.net.URL;
 import java.nio.charset.StandardCharsets;
 import java.nio.file.Files;
 import java.util.ArrayList;
+import java.util.Comparator;
 import java.util.List;
 
 import com.rometools.rome.feed.synd.SyndEnclosure;
@@ -16,6 +17,8 @@ import com.rometools.rome.feed.synd.SyndFeed;
 import com.rometools.rome.io.FeedException;
 import com.rometools.rome.io.SyndFeedInput;
 import com.rometools.rome.io.XmlReader;
+import com.sun.xml.internal.ws.policy.privateutil.PolicyUtils.Collections;
+
 import org.jsoup.*;
 
 public class Main {
@@ -40,7 +43,9 @@ public class Main {
                                                 cat,
                                                 entry.getTitle(),
                                                 desc,
-                                                thumbnail));
+                                                thumbnail,
+                                                entry.getPublishedDate(),
+                                                feed.getTitle()));
                 }               
        }
        
@@ -76,6 +81,13 @@ public class Main {
                        throw new IllegalArgumentException();
                }
                
+               articles.sort(new Comparator<Article> () {
+                        @Override
+                        public int compare(Article o1, Article o2) {
+                                return o2.publicationDate.compareTo(o1.publicationDate);
+                        }                      
+               });
+               
                return articles;
        }