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) {