Committed by
Gerrit Code Review
[ONOS-4946] fix bug: GetTunnelCount cast exception when getting the device prope…
…rty panel details in WEB GUI add a judgement, only OpticalTunnelEndpoint has a deviceId Change-Id: Iff91b0b5f37d2ae838229f4e11e970cd70dd6ae1
Showing
1 changed file
with
17 additions
and
7 deletions
... | @@ -31,6 +31,7 @@ import org.onosproject.incubator.net.tunnel.OpticalTunnelEndPoint; | ... | @@ -31,6 +31,7 @@ import org.onosproject.incubator.net.tunnel.OpticalTunnelEndPoint; |
31 | import org.onosproject.incubator.net.tunnel.Tunnel; | 31 | import org.onosproject.incubator.net.tunnel.Tunnel; |
32 | import org.onosproject.incubator.net.tunnel.TunnelService; | 32 | import org.onosproject.incubator.net.tunnel.TunnelService; |
33 | import org.onosproject.mastership.MastershipService; | 33 | import org.onosproject.mastership.MastershipService; |
34 | +import org.onosproject.net.ElementId; | ||
34 | import org.onosproject.net.Annotated; | 35 | import org.onosproject.net.Annotated; |
35 | import org.onosproject.net.AnnotationKeys; | 36 | import org.onosproject.net.AnnotationKeys; |
36 | import org.onosproject.net.Annotations; | 37 | import org.onosproject.net.Annotations; |
... | @@ -77,6 +78,7 @@ import java.util.Iterator; | ... | @@ -77,6 +78,7 @@ import java.util.Iterator; |
77 | import java.util.List; | 78 | import java.util.List; |
78 | import java.util.Map; | 79 | import java.util.Map; |
79 | import java.util.Set; | 80 | import java.util.Set; |
81 | +import java.util.Optional; | ||
80 | import java.util.concurrent.ConcurrentHashMap; | 82 | import java.util.concurrent.ConcurrentHashMap; |
81 | 83 | ||
82 | import static com.google.common.base.Preconditions.checkNotNull; | 84 | import static com.google.common.base.Preconditions.checkNotNull; |
... | @@ -395,7 +397,7 @@ public abstract class TopologyViewMessageHandlerBase extends UiMessageHandler { | ... | @@ -395,7 +397,7 @@ public abstract class TopologyViewMessageHandlerBase extends UiMessageHandler { |
395 | return new PropertyPanel("ONOS Summary", "node") | 397 | return new PropertyPanel("ONOS Summary", "node") |
396 | .addProp(Properties.VERSION, version) | 398 | .addProp(Properties.VERSION, version) |
397 | .addSeparator() | 399 | .addSeparator() |
398 | - .addProp(Properties.DEVICES, deviceService.getDeviceCount()) | 400 | + .addProp(Properties.DEVICES, deviceService.getDeviceCount()) |
399 | .addProp(Properties.LINKS, topology.linkCount()) | 401 | .addProp(Properties.LINKS, topology.linkCount()) |
400 | .addProp(Properties.HOSTS, hostService.getHostCount()) | 402 | .addProp(Properties.HOSTS, hostService.getHostCount()) |
401 | .addProp(Properties.TOPOLOGY_SSCS, topology.clusterCount()) | 403 | .addProp(Properties.TOPOLOGY_SSCS, topology.clusterCount()) |
... | @@ -457,12 +459,20 @@ public abstract class TopologyViewMessageHandlerBase extends UiMessageHandler { | ... | @@ -457,12 +459,20 @@ public abstract class TopologyViewMessageHandlerBase extends UiMessageHandler { |
457 | int count = 0; | 459 | int count = 0; |
458 | Collection<Tunnel> tunnels = tunnelService.queryAllTunnels(); | 460 | Collection<Tunnel> tunnels = tunnelService.queryAllTunnels(); |
459 | for (Tunnel tunnel : tunnels) { | 461 | for (Tunnel tunnel : tunnels) { |
460 | - OpticalTunnelEndPoint src = (OpticalTunnelEndPoint) tunnel.src(); | 462 | + //Only OpticalTunnelEndPoint has a device |
461 | - OpticalTunnelEndPoint dst = (OpticalTunnelEndPoint) tunnel.dst(); | 463 | + if (!(tunnel.src() instanceof OpticalTunnelEndPoint) || |
462 | - DeviceId srcDevice = (DeviceId) src.elementId().get(); | 464 | + !(tunnel.dst() instanceof OpticalTunnelEndPoint)) { |
463 | - DeviceId dstDevice = (DeviceId) dst.elementId().get(); | 465 | + continue; |
464 | - if (srcDevice.toString().equals(deviceId.toString()) || | 466 | + } |
465 | - dstDevice.toString().equals(deviceId.toString())) { | 467 | + |
468 | + Optional<ElementId> srcElementId = ((OpticalTunnelEndPoint) tunnel.src()).elementId(); | ||
469 | + Optional<ElementId> dstElementId = ((OpticalTunnelEndPoint) tunnel.dst()).elementId(); | ||
470 | + if (!srcElementId.isPresent() || !dstElementId.isPresent()) { | ||
471 | + continue; | ||
472 | + } | ||
473 | + DeviceId srcDeviceId = (DeviceId) srcElementId.get(); | ||
474 | + DeviceId dstDeviceId = (DeviceId) dstElementId.get(); | ||
475 | + if (srcDeviceId.equals(deviceId) || dstDeviceId.equals(deviceId)) { | ||
466 | count++; | 476 | count++; |
467 | } | 477 | } |
468 | } | 478 | } | ... | ... |
-
Please register or login to post a comment