Merge branch 'subtree'
[nikiroo-utils.git] / src / be / nikiroo / fanfix / reader / tui / TuiReaderStoryWindow.java
index 04d38c507c46187e3478ee5329b64705a407a2c3..4848ef82afc12f936c1b1eaf3adbf167c926484a 100644 (file)
@@ -1,11 +1,9 @@
 package be.nikiroo.fanfix.reader.tui;
 
-import java.text.ParseException;
-import java.text.SimpleDateFormat;
 import java.util.ArrayList;
 import java.util.Arrays;
-import java.util.Date;
 import java.util.List;
+import java.util.Map;
 
 import jexer.TAction;
 import jexer.TButton;
@@ -19,8 +17,9 @@ import be.nikiroo.fanfix.data.MetaData;
 import be.nikiroo.fanfix.data.Paragraph;
 import be.nikiroo.fanfix.data.Paragraph.ParagraphType;
 import be.nikiroo.fanfix.data.Story;
+import be.nikiroo.fanfix.reader.BasicReader;
+import be.nikiroo.jexer.TSizeConstraint;
 import be.nikiroo.jexer.TTable;
-import be.nikiroo.utils.StringUtils;
 
 /**
  * This window will contain the {@link Story} in a readable format, with a
@@ -172,54 +171,18 @@ class TuiReaderStoryWindow extends TWindow {
 
                setCurrentTitle(meta.getTitle());
 
-               table.setRowData(new String[][] { //
-                               new String[] { " Author", meta.getAuthor() }, //
-                               new String[] { " Publication date", formatDate(meta.getDate()) },
-                               new String[] { " Word count", format(meta.getWords()) },
-                               new String[] { " Source", meta.getSource() } //
-               });
-               table.setHeaders(Arrays.asList("key", "value"), false);
-               table.toTop();
-       }
-
-       private String format(long value) {
-               String display = "";
-
-               while (value > 0) {
-                       if (!display.isEmpty()) {
-                               display = "." + display;
-                       }
-                       display = (value % 1000) + display;
-                       value = value / 1000;
-               }
-
-               return display;
-       }
-
-       private String formatDate(String date) {
-               long ms = 0;
-
-               try {
-                       ms = StringUtils.toTime(date);
-               } catch (ParseException e) {
-               }
-
-               if (ms <= 0) {
-                       SimpleDateFormat sdf = new SimpleDateFormat(
-                                       "yyyy-MM-dd'T'HH:mm:ssXXX");
-                       try {
-                               ms = sdf.parse(date).getTime();
-                       } catch (ParseException e) {
-                       }
+               Map<String, String> metaDesc = BasicReader.getMetaDesc(meta);
+               String[][] metaDescObj = new String[metaDesc.size()][2];
+               int i = 0;
+               for (String key : metaDesc.keySet()) {
+                       metaDescObj[i][0] = " " + key;
+                       metaDescObj[i][1] = metaDesc.get(key);
+                       i++;
                }
 
-               if (ms > 0) {
-                       SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
-                       return sdf.format(new Date(ms));
-               }
-
-               // :(
-               return date;
+               table.setRowData(metaDescObj);
+               table.setHeaders(Arrays.asList("key", "value"), false);
+               table.toTop();
        }
 
        /**