Fix for ONOS-4940
Change-Id: Id4e5913cb69e913190a0b32cd41bac0dbe786729
(cherry picked from commit 924c54ccb05c648afa49c6c2bd509a060b8d174c)
diff --git a/web/api/src/main/java/org/onosproject/rest/resources/TopologyWebResource.java b/web/api/src/main/java/org/onosproject/rest/resources/TopologyWebResource.java
index c01d94f..94fd510 100644
--- a/web/api/src/main/java/org/onosproject/rest/resources/TopologyWebResource.java
+++ b/web/api/src/main/java/org/onosproject/rest/resources/TopologyWebResource.java
@@ -22,6 +22,7 @@
import org.onosproject.net.DeviceId;
import org.onosproject.net.Link;
import org.onosproject.net.PortNumber;
+import org.onosproject.net.device.DeviceService;
import org.onosproject.net.topology.ClusterId;
import org.onosproject.net.topology.Topology;
import org.onosproject.net.topology.TopologyCluster;
@@ -35,7 +36,6 @@
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import java.util.List;
-
import static org.onlab.util.Tools.nullIsNotFound;
/**
@@ -187,9 +187,10 @@
@Path("broadcast/{connectPoint}")
public Response getConnectPointBroadcast(@PathParam("connectPoint") String connectPointString) {
Topology topology = get(TopologyService.class).currentTopology();
-
DeviceId deviceId = DeviceId.deviceId(getDeviceId(connectPointString));
+ nullIsNotFound(get(DeviceService.class).getDevice(deviceId), "Device not found " + connectPointString);
PortNumber portNumber = PortNumber.portNumber(getPortNumber(connectPointString));
+ nullIsNotFound(get(DeviceService.class).getPort(deviceId, portNumber), "Port not found " + connectPointString);
ConnectPoint connectPoint = new ConnectPoint(deviceId, portNumber);
boolean isBroadcast = get(TopologyService.class).isBroadcastPoint(topology, connectPoint);
@@ -211,9 +212,10 @@
@Path("infrastructure/{connectPoint}")
public Response getConnectPointInfrastructure(@PathParam("connectPoint") String connectPointString) {
Topology topology = get(TopologyService.class).currentTopology();
-
DeviceId deviceId = DeviceId.deviceId(getDeviceId(connectPointString));
+ nullIsNotFound(get(DeviceService.class).getDevice(deviceId), "Device not found " + connectPointString);
PortNumber portNumber = PortNumber.portNumber(getPortNumber(connectPointString));
+ nullIsNotFound(get(DeviceService.class).getPort(deviceId, portNumber), "Port not found " + connectPointString);
ConnectPoint connectPoint = new ConnectPoint(deviceId, portNumber);
boolean isInfrastructure = get(TopologyService.class).isInfrastructure(topology, connectPoint);