Use default locale/timezone for GUI formatting.

- fixes regression introduced as part of joda-time deprecation

Change-Id: I336f6dc40f99379349040442511b8718b89b4d7b
diff --git a/core/api/src/main/java/org/onosproject/ui/table/cell/TimeFormatter.java b/core/api/src/main/java/org/onosproject/ui/table/cell/TimeFormatter.java
index adf8ead..f8b9757 100644
--- a/core/api/src/main/java/org/onosproject/ui/table/cell/TimeFormatter.java
+++ b/core/api/src/main/java/org/onosproject/ui/table/cell/TimeFormatter.java
@@ -21,6 +21,7 @@
 import static java.time.temporal.ChronoField.MINUTE_OF_HOUR;
 import static java.time.temporal.ChronoField.SECOND_OF_MINUTE;
 
+import java.time.DateTimeException;
 import java.time.Instant;
 import java.time.ZoneId;
 import java.time.format.DateTimeFormatter;
@@ -30,12 +31,16 @@
 import java.util.Locale;
 
 import org.joda.time.DateTimeZone;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * Formats time values using {@link DateTimeFormatter}.
  */
 public final class TimeFormatter extends AbstractCellFormatter {
 
+    private static final Logger log = LoggerFactory.getLogger(TimeFormatter.class);
+
     private DateTimeFormatter dtf;
 
     // NOTE: Unlike other formatters in this package, this one is not
@@ -58,7 +63,9 @@
                 .optionalStart()
                 .appendLiteral(' ')
                 .appendOffset("+HH:MM", "+00:00")
-                .toFormatter();
+                .toFormatter()
+                .withLocale(Locale.getDefault())
+                .withZone(ZoneId.systemDefault());
     }
 
     /**
@@ -99,7 +106,13 @@
     @Override
     protected String nonNullFormat(Object value) {
         if (value instanceof TemporalAccessor) {
-            return dtf.format((TemporalAccessor) value);
+            try {
+                return dtf.format((TemporalAccessor) value);
+            } catch (DateTimeException e) {
+                log.error("Failed formatting {} [{}]", value, value.getClass().getSimpleName(), e);
+                log.warn("dtf zone was {}", dtf.getZone());
+                throw e;
+            }
         } else if (value instanceof org.joda.time.DateTime) {
             return dtf.format(Instant.ofEpochMilli(((org.joda.time.DateTime) value).getMillis()));
         }