Check-point before refactoring the topology provider stuff.
diff --git a/core/trivial/src/main/java/org/onlab/onos/net/trivial/topology/impl/SimpleTopologyManager.java b/core/trivial/src/main/java/org/onlab/onos/net/trivial/topology/impl/SimpleTopologyManager.java
index 70f001c..e6e54b8 100644
--- a/core/trivial/src/main/java/org/onlab/onos/net/trivial/topology/impl/SimpleTopologyManager.java
+++ b/core/trivial/src/main/java/org/onlab/onos/net/trivial/topology/impl/SimpleTopologyManager.java
@@ -79,19 +79,28 @@
@Override
public boolean isLatest(Topology topology) {
checkNotNull(topology, TOPOLOGY_NULL);
- return store.isLatest(topology);
+ return store.isLatest(defaultTopology(topology));
+ }
+
+ // Validates the specified topology and returns it as a default
+ private DefaultTopology defaultTopology(Topology topology) {
+ if (topology instanceof DefaultTopology) {
+ return (DefaultTopology) topology;
+ }
+ throw new IllegalArgumentException("Topology class " + topology.getClass() +
+ " not supported");
}
@Override
public Set<TopologyCluster> getClusters(Topology topology) {
checkNotNull(topology, TOPOLOGY_NULL);
- return store.getClusters(topology);
+ return store.getClusters(defaultTopology(topology));
}
@Override
public Graph<TopoVertex, TopoEdge> getGraph(Topology topology) {
checkNotNull(topology, TOPOLOGY_NULL);
- return store.getGraph(topology);
+ return store.getGraph(defaultTopology(topology));
}
@Override
@@ -99,7 +108,7 @@
checkNotNull(topology, TOPOLOGY_NULL);
checkNotNull(src, DEVICE_ID_NULL);
checkNotNull(dst, DEVICE_ID_NULL);
- return store.getPaths(topology, src, dst);
+ return store.getPaths(defaultTopology(topology), src, dst);
}
@Override
@@ -108,21 +117,21 @@
checkNotNull(src, DEVICE_ID_NULL);
checkNotNull(dst, DEVICE_ID_NULL);
checkNotNull(weight, "Link weight cannot be null");
- return store.getPaths(topology, src, dst, weight);
+ return store.getPaths(defaultTopology(topology), src, dst, weight);
}
@Override
public boolean isInfrastructure(Topology topology, ConnectPoint connectPoint) {
checkNotNull(topology, TOPOLOGY_NULL);
checkNotNull(connectPoint, CONNECTION_POINT_NULL);
- return store.isInfrastructure(topology, connectPoint);
+ return store.isInfrastructure(defaultTopology(topology), connectPoint);
}
@Override
public boolean isInBroadcastTree(Topology topology, ConnectPoint connectPoint) {
checkNotNull(topology, TOPOLOGY_NULL);
checkNotNull(connectPoint, CONNECTION_POINT_NULL);
- return store.isInBroadcastTree(topology, connectPoint);
+ return store.isInBroadcastTree(defaultTopology(topology), connectPoint);
}
@Override
@@ -156,7 +165,8 @@
log.info("Topology changed due to: {}", // to be removed soon
reasons == null ? "initial compute" : reasons);
- TopologyEvent event = store.updateTopology(topoDescription, reasons);
+ TopologyEvent event = store.updateTopology(provider().id(),
+ topoDescription, reasons);
if (event != null) {
log.info("Topology changed due to: {}",
reasons == null ? "initial compute" : reasons);