Parse the event time consistently via netconf

Change-Id: I377d3884a6aa7837833b67ece0232474348484b6
diff --git a/drivers/polatis/netconf/src/main/java/org/onosproject/drivers/polatis/netconf/PolatisAlarmConsumer.java b/drivers/polatis/netconf/src/main/java/org/onosproject/drivers/polatis/netconf/PolatisAlarmConsumer.java
index 2421bfe..2b56be2 100644
--- a/drivers/polatis/netconf/src/main/java/org/onosproject/drivers/polatis/netconf/PolatisAlarmConsumer.java
+++ b/drivers/polatis/netconf/src/main/java/org/onosproject/drivers/polatis/netconf/PolatisAlarmConsumer.java
@@ -22,6 +22,7 @@
 import org.onosproject.incubator.net.faultmanagement.alarm.AlarmConsumer;
 import org.onosproject.incubator.net.faultmanagement.alarm.AlarmId;
 import org.onosproject.incubator.net.faultmanagement.alarm.DefaultAlarm;
+import org.onosproject.incubator.net.faultmanagement.alarm.XmlEventParser;
 import org.onosproject.net.DeviceId;
 import org.onosproject.net.driver.AbstractHandlerBehaviour;
 import org.onosproject.net.driver.DriverHandler;
@@ -33,9 +34,6 @@
 
 import java.util.ArrayList;
 import java.util.List;
-import java.time.format.DateTimeFormatter;
-import java.time.DateTimeException;
-import java.time.OffsetDateTime;
 
 import static org.onosproject.incubator.net.faultmanagement.alarm.Alarm.SeverityLevel;
 import static com.google.common.base.Preconditions.checkNotNull;
@@ -116,16 +114,7 @@
     }
 
     private long getTimeRaised(HierarchicalConfiguration cfg) {
-        long timeRaised;
-
         String alarmTime = cfg.getString(ALARM_TIME);
-        try {
-            OffsetDateTime date = OffsetDateTime.parse(alarmTime, DateTimeFormatter.ISO_OFFSET_DATE_TIME);
-            timeRaised = date.toInstant().toEpochMilli();
-            return timeRaised;
-        } catch (DateTimeException e) {
-            log.error("Cannot parse exception {} {}", alarmTime, e);
-        }
-        return System.currentTimeMillis();
+        return XmlEventParser.getEventTime(alarmTime);
     }
 }
diff --git a/incubator/api/src/main/java/org/onosproject/incubator/net/faultmanagement/alarm/XmlEventParser.java b/incubator/api/src/main/java/org/onosproject/incubator/net/faultmanagement/alarm/XmlEventParser.java
index 6ed2d7a..2ebe17e 100644
--- a/incubator/api/src/main/java/org/onosproject/incubator/net/faultmanagement/alarm/XmlEventParser.java
+++ b/incubator/api/src/main/java/org/onosproject/incubator/net/faultmanagement/alarm/XmlEventParser.java
@@ -28,7 +28,8 @@
 import javax.xml.parsers.ParserConfigurationException;
 import java.io.IOException;
 import java.io.InputStream;
-import java.time.Instant;
+import java.time.DateTimeException;
+import java.time.OffsetDateTime;
 import java.time.format.DateTimeFormatter;
 
 /**
@@ -77,10 +78,21 @@
         }
     }
 
+    public static long getEventTime(String dateTime)
+        throws UnsupportedOperationException, IllegalArgumentException {
+        try {
+            OffsetDateTime date = OffsetDateTime.parse(dateTime, DateTimeFormatter.ISO_OFFSET_DATE_TIME);
+            return date.toInstant().toEpochMilli();
+        } catch (DateTimeException e) {
+            log.error("Cannot parse exception {} {}", dateTime, e);
+        }
+        return System.currentTimeMillis();
+    }
+
     public static long getEventTime(Document doc)
         throws UnsupportedOperationException, IllegalArgumentException {
         String dateTime = getEventTimeNode(doc).getTextContent();
-        return DateTimeFormatter.ISO_DATE_TIME.parse(dateTime, Instant::from).getEpochSecond();
+        return getEventTime(dateTime);
     }
 
     public static Node getDescriptionNode(Document doc) {