tom

Formalized TopologyStore in preparation for separating managers and stores.

1 +package org.onlab.onos.net.topology;
2 +
3 +import org.onlab.onos.event.Event;
4 +import org.onlab.onos.net.ConnectPoint;
5 +import org.onlab.onos.net.DeviceId;
6 +import org.onlab.onos.net.Link;
7 +import org.onlab.onos.net.Path;
8 +import org.onlab.onos.net.provider.ProviderId;
9 +
10 +import java.util.List;
11 +import java.util.Set;
12 +
13 +/**
14 + * Manages inventory of topology snapshots. It may do so using whatever
15 + * means appropriate.
16 + */
17 +public interface TopologyStore {
18 +
19 + /**
20 + * Returns the current topology snapshot.
21 + *
22 + * @return current topology descriptor
23 + */
24 + Topology currentTopology();
25 +
26 + /**
27 + * Indicates whether the topology is the latest.
28 + *
29 + * @param topology topology descriptor
30 + * @return true if topology is the most recent one
31 + */
32 + boolean isLatest(Topology topology);
33 +
34 + /**
35 + * Returns the immutable graph view of the current topology.
36 + *
37 + * @param topology topology descriptor
38 + * @return graph view
39 + */
40 + TopologyGraph getGraph(Topology topology);
41 +
42 + /**
43 + * Returns the set of topology SCC clusters.
44 + *
45 + * @param topology topology descriptor
46 + * @return set of clusters
47 + */
48 + Set<TopologyCluster> getClusters(Topology topology);
49 +
50 + /**
51 + * Returns the cluster of the specified topology.
52 + *
53 + * @param topology topology descriptor
54 + * @param clusterId cluster identity
55 + * @return topology cluster
56 + */
57 + TopologyCluster getCluster(Topology topology, ClusterId clusterId);
58 +
59 + /**
60 + * Returns the cluster of the specified topology.
61 + *
62 + * @param topology topology descriptor
63 + * @param cluster topology cluster
64 + * @return set of cluster links
65 + */
66 + Set<DeviceId> getClusterDevices(Topology topology, TopologyCluster cluster);
67 +
68 + /**
69 + * Returns the cluster of the specified topology.
70 + *
71 + * @param topology topology descriptor
72 + * @param cluster topology cluster
73 + * @return set of cluster links
74 + */
75 + Set<Link> getClusterLinks(Topology topology, TopologyCluster cluster);
76 +
77 + /**
78 + * Returns the set of pre-computed shortest paths between src and dest.
79 + *
80 + * @param topology topology descriptor
81 + * @param src source device
82 + * @param dst destination device
83 + * @return set of shortest paths
84 + */
85 + Set<Path> getPaths(Topology topology, DeviceId src, DeviceId dst);
86 +
87 + /**
88 + * Computes and returns the set of shortest paths between src and dest.
89 + *
90 + * @param topology topology descriptor
91 + * @param src source device
92 + * @param dst destination device
93 + * @param weight link weight function
94 + * @return set of shortest paths
95 + */
96 + Set<Path> getPaths(Topology topology, DeviceId src, DeviceId dst,
97 + LinkWeight weight);
98 +
99 + /**
100 + * Indicates whether the given connect point is part of the network fabric.
101 + *
102 + * @param topology topology descriptor
103 + * @param connectPoint connection point
104 + * @return true if infrastructure; false otherwise
105 + */
106 + boolean isInfrastructure(Topology topology, ConnectPoint connectPoint);
107 +
108 + /**
109 + * Indicates whether broadcast is allowed for traffic received on the
110 + * given connection point.
111 + *
112 + * @param topology topology descriptor
113 + * @param connectPoint connection point
114 + * @return true if broadcast allowed; false otherwise
115 + */
116 + boolean isBroadcastPoint(Topology topology, ConnectPoint connectPoint);
117 +
118 + /**
119 + * Generates a new topology snapshot from the specified description.
120 + *
121 + * @param providerId provider identification
122 + * @param graphDescription topology graph description
123 + * @param reasons list of events that triggered the update
124 + * @return topology update event or null if the description is old
125 + */
126 + TopologyEvent updateTopology(ProviderId providerId,
127 + GraphDescription graphDescription,
128 + List<Event> reasons);
129 +}
...@@ -41,7 +41,7 @@ import static org.slf4j.LoggerFactory.getLogger; ...@@ -41,7 +41,7 @@ import static org.slf4j.LoggerFactory.getLogger;
41 */ 41 */
42 @Component(immediate = true) 42 @Component(immediate = true)
43 @Service 43 @Service
44 -public class SimplePathManager implements PathService { 44 +public class PathManager implements PathService {
45 45
46 private static final String ELEMENT_ID_NULL = "Element ID cannot be null"; 46 private static final String ELEMENT_ID_NULL = "Element ID cannot be null";
47 47
......
1 package org.onlab.onos.net.trivial.topology.impl; 1 package org.onlab.onos.net.trivial.topology.impl;
2 2
3 +import org.apache.felix.scr.annotations.Activate;
4 +import org.apache.felix.scr.annotations.Component;
5 +import org.apache.felix.scr.annotations.Deactivate;
6 +import org.apache.felix.scr.annotations.Service;
3 import org.onlab.onos.event.Event; 7 import org.onlab.onos.event.Event;
4 import org.onlab.onos.net.ConnectPoint; 8 import org.onlab.onos.net.ConnectPoint;
5 import org.onlab.onos.net.DeviceId; 9 import org.onlab.onos.net.DeviceId;
...@@ -13,149 +17,94 @@ import org.onlab.onos.net.topology.Topology; ...@@ -13,149 +17,94 @@ import org.onlab.onos.net.topology.Topology;
13 import org.onlab.onos.net.topology.TopologyCluster; 17 import org.onlab.onos.net.topology.TopologyCluster;
14 import org.onlab.onos.net.topology.TopologyEvent; 18 import org.onlab.onos.net.topology.TopologyEvent;
15 import org.onlab.onos.net.topology.TopologyGraph; 19 import org.onlab.onos.net.topology.TopologyGraph;
20 +import org.onlab.onos.net.topology.TopologyStore;
21 +import org.slf4j.Logger;
16 22
17 import java.util.List; 23 import java.util.List;
18 import java.util.Set; 24 import java.util.Set;
19 25
26 +import static org.slf4j.LoggerFactory.getLogger;
27 +
20 /** 28 /**
21 * Manages inventory of topology snapshots using trivial in-memory 29 * Manages inventory of topology snapshots using trivial in-memory
22 * structures implementation. 30 * structures implementation.
23 */ 31 */
24 -class SimpleTopologyStore { 32 +@Component(immediate = true)
33 +@Service
34 +public class SimpleTopologyStore implements TopologyStore {
35 +
36 + private final Logger log = getLogger(getClass());
25 37
26 private volatile DefaultTopology current; 38 private volatile DefaultTopology current;
27 39
28 - /** 40 + @Activate
29 - * Returns the current topology snapshot. 41 + public void activate() {
30 - * 42 + log.info("Started");
31 - * @return current topology descriptor 43 + }
32 - */ 44 +
33 - Topology currentTopology() { 45 + @Deactivate
46 + public void deactivate() {
47 + log.info("Stopped");
48 + }
49 + @Override
50 + public Topology currentTopology() {
34 return current; 51 return current;
35 } 52 }
36 53
37 - /** 54 + @Override
38 - * Indicates whether the topology is the latest. 55 + public boolean isLatest(Topology topology) {
39 - *
40 - * @param topology topology descriptor
41 - * @return true if topology is the most recent one
42 - */
43 - boolean isLatest(Topology topology) {
44 // Topology is current only if it is the same as our current topology 56 // Topology is current only if it is the same as our current topology
45 return topology == current; 57 return topology == current;
46 } 58 }
47 59
48 - /** 60 + @Override
49 - * Returns the immutable graph view of the current topology. 61 + public TopologyGraph getGraph(Topology topology) {
50 - * 62 + return defaultTopology(topology).getGraph();
51 - * @param topology topology descriptor
52 - * @return graph view
53 - */
54 - TopologyGraph getGraph(DefaultTopology topology) {
55 - return topology.getGraph();
56 } 63 }
57 64
58 - /** 65 + @Override
59 - * Returns the set of topology SCC clusters. 66 + public Set<TopologyCluster> getClusters(Topology topology) {
60 - * 67 + return defaultTopology(topology).getClusters();
61 - * @param topology topology descriptor
62 - * @return set of clusters
63 - */
64 - Set<TopologyCluster> getClusters(DefaultTopology topology) {
65 - return topology.getClusters();
66 } 68 }
67 69
68 - /** 70 + @Override
69 - * Returns the cluster of the specified topology. 71 + public TopologyCluster getCluster(Topology topology, ClusterId clusterId) {
70 - * 72 + return defaultTopology(topology).getCluster(clusterId);
71 - * @param topology topology descriptor
72 - * @param clusterId cluster identity
73 - * @return topology cluster
74 - */
75 - TopologyCluster getCluster(DefaultTopology topology, ClusterId clusterId) {
76 - return topology.getCluster(clusterId);
77 } 73 }
78 74
79 - /** 75 + @Override
80 - * Returns the cluster of the specified topology. 76 + public Set<DeviceId> getClusterDevices(Topology topology, TopologyCluster cluster) {
81 - * 77 + return defaultTopology(topology).getClusterDevices(cluster);
82 - * @param topology topology descriptor
83 - * @param cluster topology cluster
84 - * @return set of cluster links
85 - */
86 - Set<DeviceId> getClusterDevices(DefaultTopology topology, TopologyCluster cluster) {
87 - return topology.getClusterDevices(cluster);
88 } 78 }
89 79
90 - /** 80 + @Override
91 - * Returns the cluster of the specified topology. 81 + public Set<Link> getClusterLinks(Topology topology, TopologyCluster cluster) {
92 - * 82 + return defaultTopology(topology).getClusterLinks(cluster);
93 - * @param topology topology descriptor
94 - * @param cluster topology cluster
95 - * @return set of cluster links
96 - */
97 - Set<Link> getClusterLinks(DefaultTopology topology, TopologyCluster cluster) {
98 - return topology.getClusterLinks(cluster);
99 } 83 }
100 84
101 - /** 85 + @Override
102 - * Returns the set of pre-computed shortest paths between src and dest. 86 + public Set<Path> getPaths(Topology topology, DeviceId src, DeviceId dst) {
103 - * 87 + return defaultTopology(topology).getPaths(src, dst);
104 - * @param topology topology descriptor 88 + }
105 - * @param src source device 89 +
106 - * @param dst destination device 90 + @Override
107 - * @return set of shortest paths 91 + public Set<Path> getPaths(Topology topology, DeviceId src, DeviceId dst,
108 - */
109 - Set<Path> getPaths(DefaultTopology topology, DeviceId src, DeviceId dst) {
110 - return topology.getPaths(src, dst);
111 - }
112 -
113 - /**
114 - * Computes and returns the set of shortest paths between src and dest.
115 - *
116 - * @param topology topology descriptor
117 - * @param src source device
118 - * @param dst destination device
119 - * @param weight link weight function
120 - * @return set of shortest paths
121 - */
122 - Set<Path> getPaths(DefaultTopology topology, DeviceId src, DeviceId dst,
123 LinkWeight weight) { 92 LinkWeight weight) {
124 - return topology.getPaths(src, dst, weight); 93 + return defaultTopology(topology).getPaths(src, dst, weight);
125 } 94 }
126 95
127 - /** 96 + @Override
128 - * Indicates whether the given connect point is part of the network fabric. 97 + public boolean isInfrastructure(Topology topology, ConnectPoint connectPoint) {
129 - * 98 + return defaultTopology(topology).isInfrastructure(connectPoint);
130 - * @param topology topology descriptor
131 - * @param connectPoint connection point
132 - * @return true if infrastructure; false otherwise
133 - */
134 - boolean isInfrastructure(DefaultTopology topology, ConnectPoint connectPoint) {
135 - return topology.isInfrastructure(connectPoint);
136 } 99 }
137 100
138 - /** 101 + @Override
139 - * Indicates whether broadcast is allowed for traffic received on the 102 + public boolean isBroadcastPoint(Topology topology, ConnectPoint connectPoint) {
140 - * given connection point. 103 + return defaultTopology(topology).isBroadcastPoint(connectPoint);
141 - *
142 - * @param topology topology descriptor
143 - * @param connectPoint connection point
144 - * @return true if broadcast allowed; false otherwise
145 - */
146 - boolean isBroadcastPoint(DefaultTopology topology, ConnectPoint connectPoint) {
147 - return topology.isBroadcastPoint(connectPoint);
148 } 104 }
149 105
150 - /** 106 + @Override
151 - * Generates a new topology snapshot from the specified description. 107 + public TopologyEvent updateTopology(ProviderId providerId,
152 - *
153 - * @param providerId provider identification
154 - * @param graphDescription topology graph description
155 - * @param reasons list of events that triggered the update
156 - * @return topology update event or null if the description is old
157 - */
158 - TopologyEvent updateTopology(ProviderId providerId,
159 GraphDescription graphDescription, 108 GraphDescription graphDescription,
160 List<Event> reasons) { 109 List<Event> reasons) {
161 // First off, make sure that what we're given is indeed newer than 110 // First off, make sure that what we're given is indeed newer than
...@@ -175,4 +124,13 @@ class SimpleTopologyStore { ...@@ -175,4 +124,13 @@ class SimpleTopologyStore {
175 } 124 }
176 } 125 }
177 126
127 + // Validates the specified topology and returns it as a default
128 + private DefaultTopology defaultTopology(Topology topology) {
129 + if (topology instanceof DefaultTopology) {
130 + return (DefaultTopology) topology;
131 + }
132 + throw new IllegalArgumentException("Topology class " + topology.getClass() +
133 + " not supported");
134 + }
135 +
178 } 136 }
......
...@@ -27,6 +27,7 @@ import org.onlab.onos.net.topology.TopologyProvider; ...@@ -27,6 +27,7 @@ import org.onlab.onos.net.topology.TopologyProvider;
27 import org.onlab.onos.net.topology.TopologyProviderRegistry; 27 import org.onlab.onos.net.topology.TopologyProviderRegistry;
28 import org.onlab.onos.net.topology.TopologyProviderService; 28 import org.onlab.onos.net.topology.TopologyProviderService;
29 import org.onlab.onos.net.topology.TopologyService; 29 import org.onlab.onos.net.topology.TopologyService;
30 +import org.onlab.onos.net.topology.TopologyStore;
30 import org.slf4j.Logger; 31 import org.slf4j.Logger;
31 32
32 import java.util.List; 33 import java.util.List;
...@@ -40,7 +41,7 @@ import static org.slf4j.LoggerFactory.getLogger; ...@@ -40,7 +41,7 @@ import static org.slf4j.LoggerFactory.getLogger;
40 */ 41 */
41 @Component(immediate = true) 42 @Component(immediate = true)
42 @Service 43 @Service
43 -public class SimpleTopologyManager 44 +public class TopologyManager
44 extends AbstractProviderRegistry<TopologyProvider, TopologyProviderService> 45 extends AbstractProviderRegistry<TopologyProvider, TopologyProviderService>
45 implements TopologyService, TopologyProviderRegistry { 46 implements TopologyService, TopologyProviderRegistry {
46 47
...@@ -55,7 +56,8 @@ public class SimpleTopologyManager ...@@ -55,7 +56,8 @@ public class SimpleTopologyManager
55 private final AbstractListenerRegistry<TopologyEvent, TopologyListener> 56 private final AbstractListenerRegistry<TopologyEvent, TopologyListener>
56 listenerRegistry = new AbstractListenerRegistry<>(); 57 listenerRegistry = new AbstractListenerRegistry<>();
57 58
58 - private final SimpleTopologyStore store = new SimpleTopologyStore(); 59 + @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
60 + protected TopologyStore store;
59 61
60 @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) 62 @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
61 protected EventDeliveryService eventDispatcher; 63 protected EventDeliveryService eventDispatcher;
...@@ -81,49 +83,40 @@ public class SimpleTopologyManager ...@@ -81,49 +83,40 @@ public class SimpleTopologyManager
81 @Override 83 @Override
82 public boolean isLatest(Topology topology) { 84 public boolean isLatest(Topology topology) {
83 checkNotNull(topology, TOPOLOGY_NULL); 85 checkNotNull(topology, TOPOLOGY_NULL);
84 - return store.isLatest(defaultTopology(topology)); 86 + return store.isLatest(topology);
85 - }
86 -
87 - // Validates the specified topology and returns it as a default
88 - private DefaultTopology defaultTopology(Topology topology) {
89 - if (topology instanceof DefaultTopology) {
90 - return (DefaultTopology) topology;
91 - }
92 - throw new IllegalArgumentException("Topology class " + topology.getClass() +
93 - " not supported");
94 } 87 }
95 88
96 @Override 89 @Override
97 public Set<TopologyCluster> getClusters(Topology topology) { 90 public Set<TopologyCluster> getClusters(Topology topology) {
98 checkNotNull(topology, TOPOLOGY_NULL); 91 checkNotNull(topology, TOPOLOGY_NULL);
99 - return store.getClusters(defaultTopology(topology)); 92 + return store.getClusters(topology);
100 } 93 }
101 94
102 @Override 95 @Override
103 public TopologyCluster getCluster(Topology topology, ClusterId clusterId) { 96 public TopologyCluster getCluster(Topology topology, ClusterId clusterId) {
104 checkNotNull(topology, TOPOLOGY_NULL); 97 checkNotNull(topology, TOPOLOGY_NULL);
105 checkNotNull(topology, CLUSTER_ID_NULL); 98 checkNotNull(topology, CLUSTER_ID_NULL);
106 - return store.getCluster(defaultTopology(topology), clusterId); 99 + return store.getCluster(topology, clusterId);
107 } 100 }
108 101
109 @Override 102 @Override
110 public Set<DeviceId> getClusterDevices(Topology topology, TopologyCluster cluster) { 103 public Set<DeviceId> getClusterDevices(Topology topology, TopologyCluster cluster) {
111 checkNotNull(topology, TOPOLOGY_NULL); 104 checkNotNull(topology, TOPOLOGY_NULL);
112 checkNotNull(topology, CLUSTER_NULL); 105 checkNotNull(topology, CLUSTER_NULL);
113 - return store.getClusterDevices(defaultTopology(topology), cluster); 106 + return store.getClusterDevices(topology, cluster);
114 } 107 }
115 108
116 @Override 109 @Override
117 public Set<Link> getClusterLinks(Topology topology, TopologyCluster cluster) { 110 public Set<Link> getClusterLinks(Topology topology, TopologyCluster cluster) {
118 checkNotNull(topology, TOPOLOGY_NULL); 111 checkNotNull(topology, TOPOLOGY_NULL);
119 checkNotNull(topology, CLUSTER_NULL); 112 checkNotNull(topology, CLUSTER_NULL);
120 - return store.getClusterLinks(defaultTopology(topology), cluster); 113 + return store.getClusterLinks(topology, cluster);
121 } 114 }
122 115
123 @Override 116 @Override
124 public TopologyGraph getGraph(Topology topology) { 117 public TopologyGraph getGraph(Topology topology) {
125 checkNotNull(topology, TOPOLOGY_NULL); 118 checkNotNull(topology, TOPOLOGY_NULL);
126 - return store.getGraph(defaultTopology(topology)); 119 + return store.getGraph(topology);
127 } 120 }
128 121
129 @Override 122 @Override
...@@ -131,7 +124,7 @@ public class SimpleTopologyManager ...@@ -131,7 +124,7 @@ public class SimpleTopologyManager
131 checkNotNull(topology, TOPOLOGY_NULL); 124 checkNotNull(topology, TOPOLOGY_NULL);
132 checkNotNull(src, DEVICE_ID_NULL); 125 checkNotNull(src, DEVICE_ID_NULL);
133 checkNotNull(dst, DEVICE_ID_NULL); 126 checkNotNull(dst, DEVICE_ID_NULL);
134 - return store.getPaths(defaultTopology(topology), src, dst); 127 + return store.getPaths(topology, src, dst);
135 } 128 }
136 129
137 @Override 130 @Override
...@@ -140,21 +133,21 @@ public class SimpleTopologyManager ...@@ -140,21 +133,21 @@ public class SimpleTopologyManager
140 checkNotNull(src, DEVICE_ID_NULL); 133 checkNotNull(src, DEVICE_ID_NULL);
141 checkNotNull(dst, DEVICE_ID_NULL); 134 checkNotNull(dst, DEVICE_ID_NULL);
142 checkNotNull(weight, "Link weight cannot be null"); 135 checkNotNull(weight, "Link weight cannot be null");
143 - return store.getPaths(defaultTopology(topology), src, dst, weight); 136 + return store.getPaths(topology, src, dst, weight);
144 } 137 }
145 138
146 @Override 139 @Override
147 public boolean isInfrastructure(Topology topology, ConnectPoint connectPoint) { 140 public boolean isInfrastructure(Topology topology, ConnectPoint connectPoint) {
148 checkNotNull(topology, TOPOLOGY_NULL); 141 checkNotNull(topology, TOPOLOGY_NULL);
149 checkNotNull(connectPoint, CONNECTION_POINT_NULL); 142 checkNotNull(connectPoint, CONNECTION_POINT_NULL);
150 - return store.isInfrastructure(defaultTopology(topology), connectPoint); 143 + return store.isInfrastructure(topology, connectPoint);
151 } 144 }
152 145
153 @Override 146 @Override
154 public boolean isBroadcastPoint(Topology topology, ConnectPoint connectPoint) { 147 public boolean isBroadcastPoint(Topology topology, ConnectPoint connectPoint) {
155 checkNotNull(topology, TOPOLOGY_NULL); 148 checkNotNull(topology, TOPOLOGY_NULL);
156 checkNotNull(connectPoint, CONNECTION_POINT_NULL); 149 checkNotNull(connectPoint, CONNECTION_POINT_NULL);
157 - return store.isBroadcastPoint(defaultTopology(topology), connectPoint); 150 + return store.isBroadcastPoint(topology, connectPoint);
158 } 151 }
159 152
160 @Override 153 @Override
......
...@@ -27,8 +27,8 @@ import static org.junit.Assert.assertNotNull; ...@@ -27,8 +27,8 @@ import static org.junit.Assert.assertNotNull;
27 import static org.onlab.junit.TestTools.assertAfter; 27 import static org.onlab.junit.TestTools.assertAfter;
28 import static org.onlab.onos.net.device.DeviceEvent.Type.DEVICE_ADDED; 28 import static org.onlab.onos.net.device.DeviceEvent.Type.DEVICE_ADDED;
29 import static org.onlab.onos.net.link.LinkEvent.Type.LINK_ADDED; 29 import static org.onlab.onos.net.link.LinkEvent.Type.LINK_ADDED;
30 -import static org.onlab.onos.net.trivial.topology.impl.SimpleTopologyManagerTest.device; 30 +import static org.onlab.onos.net.trivial.topology.impl.TopologyManagerTest.device;
31 -import static org.onlab.onos.net.trivial.topology.impl.SimpleTopologyManagerTest.link; 31 +import static org.onlab.onos.net.trivial.topology.impl.TopologyManagerTest.link;
32 32
33 /** 33 /**
34 * Test of the default topology provider implementation. 34 * Test of the default topology provider implementation.
......
...@@ -21,8 +21,8 @@ import static com.google.common.collect.ImmutableSet.of; ...@@ -21,8 +21,8 @@ import static com.google.common.collect.ImmutableSet.of;
21 import static org.junit.Assert.*; 21 import static org.junit.Assert.*;
22 import static org.onlab.onos.net.DeviceId.deviceId; 22 import static org.onlab.onos.net.DeviceId.deviceId;
23 import static org.onlab.onos.net.PortNumber.portNumber; 23 import static org.onlab.onos.net.PortNumber.portNumber;
24 -import static org.onlab.onos.net.trivial.topology.impl.SimpleTopologyManagerTest.device; 24 +import static org.onlab.onos.net.trivial.topology.impl.TopologyManagerTest.device;
25 -import static org.onlab.onos.net.trivial.topology.impl.SimpleTopologyManagerTest.link; 25 +import static org.onlab.onos.net.trivial.topology.impl.TopologyManagerTest.link;
26 26
27 /** 27 /**
28 * Test of the default topology implementation. 28 * Test of the default topology implementation.
......
...@@ -41,11 +41,11 @@ import static org.onlab.onos.net.topology.TopologyEvent.Type.TOPOLOGY_CHANGED; ...@@ -41,11 +41,11 @@ import static org.onlab.onos.net.topology.TopologyEvent.Type.TOPOLOGY_CHANGED;
41 /** 41 /**
42 * Test of the topology subsystem. 42 * Test of the topology subsystem.
43 */ 43 */
44 -public class SimpleTopologyManagerTest { 44 +public class TopologyManagerTest {
45 45
46 private static final ProviderId PID = new ProviderId("of", "foo"); 46 private static final ProviderId PID = new ProviderId("of", "foo");
47 47
48 - private SimpleTopologyManager mgr; 48 + private TopologyManager mgr;
49 49
50 protected TopologyService service; 50 protected TopologyService service;
51 protected TopologyProviderRegistry registry; 51 protected TopologyProviderRegistry registry;
...@@ -55,10 +55,11 @@ public class SimpleTopologyManagerTest { ...@@ -55,10 +55,11 @@ public class SimpleTopologyManagerTest {
55 55
56 @Before 56 @Before
57 public void setUp() { 57 public void setUp() {
58 - mgr = new SimpleTopologyManager(); 58 + mgr = new TopologyManager();
59 service = mgr; 59 service = mgr;
60 registry = mgr; 60 registry = mgr;
61 61
62 + mgr.store = new SimpleTopologyStore();
62 mgr.eventDispatcher = new TestEventDispatcher(); 63 mgr.eventDispatcher = new TestEventDispatcher();
63 mgr.activate(); 64 mgr.activate();
64 65
......