Return text for unknown date from accessor.
authorDavid ‘Bombe’ Roden <bombe@pterodactylus.net>
Wed, 31 Aug 2011 04:00:22 +0000 (06:00 +0200)
committerDavid ‘Bombe’ Roden <bombe@pterodactylus.net>
Wed, 31 Aug 2011 04:00:22 +0000 (06:00 +0200)
src/main/java/net/pterodactylus/sone/template/SoneAccessor.java
src/main/java/net/pterodactylus/sone/web/ajax/GetStatusAjaxPage.java
src/main/java/net/pterodactylus/sone/web/ajax/GetTimesAjaxPage.java

index 76fdcc1..ead6066 100644 (file)
@@ -100,7 +100,7 @@ public class SoneAccessor extends ReflectionAccessor {
                } else if (member.equals("locked")) {
                        return core.isLocked(sone);
                } else if (member.equals("lastUpdatedText")) {
-                       return GetTimesAjaxPage.getTime((WebInterface) templateContext.get("webInterface"), System.currentTimeMillis() - sone.getTime());
+                       return GetTimesAjaxPage.getTime((WebInterface) templateContext.get("webInterface"), sone.getTime());
                } else if (member.equals("trust")) {
                        Sone currentSone = (Sone) templateContext.get("currentSone");
                        if (currentSone == null) {
index c55939d..f704905 100644 (file)
@@ -186,7 +186,7 @@ public class GetStatusAjaxPage extends JsonPage {
                synchronized (dateFormat) {
                        jsonSone.put("lastUpdated", dateFormat.format(new Date(sone.getTime())));
                }
-               jsonSone.put("lastUpdatedText", GetTimesAjaxPage.getTime(webInterface, System.currentTimeMillis() - sone.getTime()).getText());
+               jsonSone.put("lastUpdatedText", GetTimesAjaxPage.getTime(webInterface, sone.getTime()).getText());
                return jsonSone;
        }
 
index 0be0c46..31ec399 100644 (file)
@@ -62,9 +62,8 @@ public class GetTimesAjaxPage extends JsonPage {
                                if (post == null) {
                                        continue;
                                }
-                               long age = now - post.getTime();
                                JsonObject postTime = new JsonObject();
-                               Time time = getTime(age);
+                               Time time = getTime(post.getTime());
                                postTime.put("timeText", time.getText());
                                postTime.put("refreshTime", time.getRefresh() / Time.SECOND);
                                postTime.put("tooltip", dateFormat.format(new Date(post.getTime())));
@@ -113,14 +112,14 @@ public class GetTimesAjaxPage extends JsonPage {
        //
 
        /**
-        * Returns the formatted relative time for a given age.
+        * Returns the formatted relative time for a given time.
         *
-        * @param age
-        *            The age to format (in milliseconds)
+        * @param time
+        *            The time to format the difference from (in milliseconds)
         * @return The formatted age
         */
-       private Time getTime(long age) {
-               return getTime(webInterface, age);
+       private Time getTime(long time) {
+               return getTime(webInterface, time);
        }
 
        //
@@ -128,15 +127,19 @@ public class GetTimesAjaxPage extends JsonPage {
        //
 
        /**
-        * Returns the formatted relative time for a given age.
+        * Returns the formatted relative time for a given time.
         *
         * @param webInterface
         *            The Sone web interface (for l10n access)
-        * @param age
-        *            The age to format (in milliseconds)
+        * @param time
+        *            The time to format the difference from (in milliseconds)
         * @return The formatted age
         */
-       public static Time getTime(WebInterface webInterface, long age) {
+       public static Time getTime(WebInterface webInterface, long time) {
+               if (time == 0) {
+                       return new Time(webInterface.getL10n().getString("View.Sone.Text.UnknownDate"), 12 * Time.HOUR);
+               }
+               long age = System.currentTimeMillis() - time;
                String text;
                long refresh;
                if (age < 0) {