From bca5e9084dccefb91da8b600b1fe6b44413580c2 Mon Sep 17 00:00:00 2001 From: Rob Adams <rob.adams@bigswitch.com> Date: Mon, 30 Apr 2012 13:50:15 -0700 Subject: [PATCH] Fix null pointer exception in device manager and add last seen to device serializer --- .../internal/DeviceManagerImpl.java | 25 +++++++++++-------- .../devicemanager/web/DeviceSerializer.java | 2 ++ 2 files changed, 16 insertions(+), 11 deletions(-) diff --git a/src/main/java/net/floodlightcontroller/devicemanager/internal/DeviceManagerImpl.java b/src/main/java/net/floodlightcontroller/devicemanager/internal/DeviceManagerImpl.java index dcc1b4783..895bab089 100755 --- a/src/main/java/net/floodlightcontroller/devicemanager/internal/DeviceManagerImpl.java +++ b/src/main/java/net/floodlightcontroller/devicemanager/internal/DeviceManagerImpl.java @@ -267,20 +267,23 @@ public class DeviceManagerImpl implements else { long e1ts = e1t.getTime(); long e2ts = e2t.getTime(); - if (topology. - isBroadcastDomainPort(e1.getSwitchDPID(), - e1.getSwitchPort(). + if (e1.getSwitchDPID() != null && + e2.getSwitchPort() != null) { + if (topology. + isBroadcastDomainPort(e1.getSwitchDPID(), + e1.getSwitchPort(). shortValue())) { - e1ts -= NBD_TO_BD_TIMEDIFF_MS; - } - if (topology. - isBroadcastDomainPort(e2.getSwitchDPID(), - e2.getSwitchPort(). + e1ts -= NBD_TO_BD_TIMEDIFF_MS; + } + if (topology. + isBroadcastDomainPort(e2.getSwitchDPID(), + e2.getSwitchPort(). shortValue())) { - e2ts -= NBD_TO_BD_TIMEDIFF_MS; + e2ts -= NBD_TO_BD_TIMEDIFF_MS; + } + + r = Long.valueOf(e1ts).compareTo(e2ts); } - - r = Long.valueOf(e1ts).compareTo(e2ts); } return r; diff --git a/src/main/java/net/floodlightcontroller/devicemanager/web/DeviceSerializer.java b/src/main/java/net/floodlightcontroller/devicemanager/web/DeviceSerializer.java index fe93761e2..e34b0b40d 100644 --- a/src/main/java/net/floodlightcontroller/devicemanager/web/DeviceSerializer.java +++ b/src/main/java/net/floodlightcontroller/devicemanager/web/DeviceSerializer.java @@ -64,6 +64,8 @@ public class DeviceSerializer extends JsonSerializer<Device> { } jGen.writeEndArray(); + jGen.writeNumberField("lastSeen", device.getLastSeen().getTime()); + jGen.writeEndObject(); } -- GitLab