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