Fixing a couple of NPEs
Change-Id: I19b5a2787b26e67e05640f6c64a13b58f2dc089a
diff --git a/apps/segmentrouting/src/main/java/org/onosproject/segmentrouting/config/DeviceConfiguration.java b/apps/segmentrouting/src/main/java/org/onosproject/segmentrouting/config/DeviceConfiguration.java
index 5d48b6d..11c3d38 100644
--- a/apps/segmentrouting/src/main/java/org/onosproject/segmentrouting/config/DeviceConfiguration.java
+++ b/apps/segmentrouting/src/main/java/org/onosproject/segmentrouting/config/DeviceConfiguration.java
@@ -264,12 +264,16 @@
}
@Override
- public Map<Ip4Prefix, List<PortNumber>> getSubnetPortsMap(DeviceId deviceId) {
- Map<Ip4Prefix, List<PortNumber>> subnetPortMap = new HashMap<>();
-
+ public Map<Ip4Prefix, List<PortNumber>> getSubnetPortsMap(DeviceId deviceId)
+ throws DeviceConfigNotFoundException {
+ SegmentRouterInfo srinfo = deviceConfigMap.get(deviceId);
+ if (srinfo == null) {
+ String message = "getSubnetPortsMap fails for device: " + deviceId + ".";
+ throw new DeviceConfigNotFoundException(message);
+ }
// Construct subnet-port mapping from port-subnet mapping
- SetMultimap<PortNumber, Ip4Prefix> portSubnetMap =
- this.deviceConfigMap.get(deviceId).subnets;
+ SetMultimap<PortNumber, Ip4Prefix> portSubnetMap = srinfo.subnets;
+ Map<Ip4Prefix, List<PortNumber>> subnetPortMap = new HashMap<>();
portSubnetMap.entries().forEach(entry -> {
PortNumber port = entry.getKey();